Figures Fig.17
Fig.17-1 80386 Instruction Format
Figure 17-1. 80386 Instruction Format
+---------------------------------------------------------------+
| INSTRUCTION | ADDRESS- | OPERAND- | SEGMENT |
| PREFIX | SIZE PREFIX | SIZE PREFIX | OVERRIDE |
|---------------------------------------------------------------|
| 0 OR 1 0 OR 1 0 OR 1 0 OR 1 |
|- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -|
| NUMBER OF BYTES |
+---------------------------------------------------------------+
+---------------------------------------------------------------+
| OPCODE | MODR/M | SIB | DISPLACEMENT | IMMEDIATE |
| | | | | |
|---------------------------------------------------------------|
| 1 OR 2 0 OR 1 0 OR 1 0,1,2 OR 4 0,1,2 OR 4 |
|- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -|
| NUMBER OF BYTES |
+---------------------------------------------------------------+
Fig.17-2 ModR/M and SIB Byte Formats
Figure 17-2. ModR/M and SIB Byte Formats
MODR/M BYTE
7 6 5 4 3 2 1 0
+------------------------------------+
| MOD | REG/OPCODE | R/M |
+------------------------------------+
SIB (SCALE INDEX BASE) BYTE
7 6 5 4 3 2 1 0
+------------------------------------+
| SS | INDEX | BASE |
+------------------------------------+
Fig.17-3 Bit Offset for BIT[EAX, 21]
Figure 17-3. Bit Offset for BIT[EAX, 21]
31 21 0
+-----------------------------------------------------------------------+
| | | |
+-----------------------------------------------------------------------+
^ ^
+--------------------BITOFFSET = 21--------------+
Fig.17-4 Memory Bit Indexing
Figure 17-4. Memory Bit Indexing
BIT INDEXING (POSITIVE OFFSET)
7 6 5 4 3 2 1 0 7 6 5 4 3 2 1 0 7 6 5 4 3 2 1 0
+-------------------------------------------------+
| | | | | |
+--------------------------------+----------------+
| BITBASE + 1 | BITBASE | BITBASE - 1 |
^ |
+--------OFFSET = 13-------+
BIT INDEXING (NEGATIVE OFFSET)
7 6 5 4 3 2 1 0 7 6 5 4 3 2 1 0 7 6 5 4 3 2 1 0
+-------------------------------------------------+
| | | | | |
+----------------+--------------------------------+
| BITBASE | BITBASE - 1 | BITBASE - 2 |
| ^
+-----OFFSET = -11---+