Subject: "No Memory Indirect Action" in Memory Indirect Addressing Mode?
To: None <macbsd-development@NetBSD.ORG, port-m68k@NetBSD.ORG>
From: Ken Nakata <kxn3796@hertz.njit.edu>
List: port-m68k
Date: 11/22/1994 19:29:05
Hi,

I'm in the midst of the process implementing operand fetch module for
FPE for NetBSD/Mac68k and I've got some question.  I appreciate if any
68k expert could help me out.

Followings are 68k instruction word format taken from _M68000
Programmer's Reference Manual_ (M68000PM/AD Rev.1), page 2-2:

single effective address operation word
 15       12           8           4           0
+--+--+--+--+--+--+--+--+--+--+--+--+--+--+--+--+
| X| X| X| X| X| X| X| X| X| X|  MODE  |  REG#  |
+--+--+--+--+--+--+--+--+--+--+--+--+--+--+--+--+

full extension word
 15       12           8           4           0
+--+--+--+--+--+--+--+--+--+--+--+--+--+--+--+--+
|DA| IDXREG |WL|SCALE| 1|BS|IS|BDSIZ| 0|  I/IS  |
+--+--+--+--+--+--+--+--+--+--+--+--+--+--+--+--+
|         base displacement words (0-2)         |
+--+--+--+--+--+--+--+--+--+--+--+--+--+--+--+--+
|        outer displacement words (0-2)         |
+--+--+--+--+--+--+--+--+--+--+--+--+--+--+--+--+

And either when MODE=110 or when MODE=111 and REG=011 in the first
word, the addressing mode selected is memory indirect mode, i.e.
operand's effective address is fetched from memory.

Here's what puzzles me; so far I understand Preindexed and Postindexed
Memory Indirect modes, but in Table 2-2, page 2-4, there are entries
that say "No Memory Indirect Action" when I/IS field in the extension
word is 000.  What is the proper interpretation of this mode?  Is it
just another variation of Register Indirect modes?

I have some experience with 68k assembly programming (in Motorola
syntax... "yuck"?) but never used memory indirect modes before.

Thanks in advance for you help

Ken