
ARCHITECTURE AND INSTRUCTIONS
FIRST OPERAND CHOICE DEPENDS ON ADDRESSING MODE:'
| FIRST OPERAND IN MEMORY | |
INDIRECT ADDRj:SSING | DIRECT ADDRESSING | |
00';DISP = 0 | MOD = 00 | |
MOD=01 | ; OISP = | AND |
| EXTENDED | R/M = 110 |
10 ; DISP = | OPERAND EFFECTIVE | |
|
| |
| OPERAND | "ADDRESS = |
RIM: | EFFECTIVE ADDRESS |
000(BX) + (SI) + DISP
001(BX) + (DI) + DISP
010(BP) + (SI) + DISP
011(BP) + (DI) + DISP
100(SI) + DISP
101 (DI) + DISP
i110 (BP) + DISP
-, 111 (BX) + DISP
,
Where ( ) means "contents of"
Figure 2-5. Determining First Operand
FIRST OPERAND
IN REGISTER
| MOD = 11 |
|
| REGISTER | |
RIM: | ||
| (W = 0) | (W = 1)' |
000 | AL | AX |
001 | CL | CX |
010 | DL | DX |
011 | BL | BX |
100 | AH | SP |
101 | CH | BP |
110 | DH | SI |
111 | BH ' | DI |
,DATA
STRUCTURE
SIMPLE VARIABLE
ARRAYS
ARRAYS
OF RECORDS
DATA MEMORY | STACK | ||
,WITHOUT BASE | WITH BASE | ||
| |||
DIRECT | BX +: OFFSET | BP + OFFSET | |
SI | BX + SI | BP | |
DI | BX + DI | BP + DI, | |
SI + OFFSET | BX + SI + OFFSET | BP + SI+ OFFSET | |
DI + OFFSET | BX + DI +: 9FFSET | BP + DI + OFFSET |
Figure 2~6. Effective Addresses Used with Different Data Structures'
TYPE OF MEMORY REFERENCE | DEFAULT | ALTERNATE | LOGICAL ADDRESS |
SEGMENT | SEGMENT | ||
| BASE | BASE |
|
Instruction Fetch | CS | NONE. | IP |
Stack Operation | SS | NONE | SP |
String, Source | DS | CS,ES,SS | SI |
String Destination | ES | NONE | DI |
BP Used As Base Register | SS | CS,DS,ES | Effective Address |
General Data Read/Write | DS | CS,ES,SS | Effective Address |
Figure |
|