Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- Here are some examples of the allowed addressing modes:
- xor cx, [59507] ; Direct mode (XOR CX with word at DS:E873)
- push word [bx] ; Register-indirect mode (Push word at DS:BX onto stack)
- mov ax, [bp-4] ; Base mode (Move word at SS:(BP-4) into AX)
- sub [si+2], bx ; Indexed mode (Subtract BX from word at DS:(SI+2))
- not byte [bp+di] ; Base-indexed mode (Invert bits of byte at SS:(BP+DI))
- add [bx+si+2], dx ; Base-indexed mode with dispacement (Add DX to word at DS:(BX+SI+2))
- The five addressing modes available are outlined more precisely for your reference below:
- Direct Mode: [constant]
- constant: 16-bit unsigned value
- Register-Indirect Mode: [register]
- register: bx, si, or di
- Note: bp technically isn't allowed. If used, assembler will generate [bp+0] instead.
- Base Mode: [constant + baseReg]
- constant: 8-bit or 16-bit signed value
- baseReg: bp or bx
- Indexed Mode: [constant + indexReg]
- constant: 8-bit or 16-bit signed value
- indexReg: si or di
- Base-Indexed Mode: [baseReg + indexReg]
- baseReg: bp or bx
- indexReg: si or di
- Base-Indexed Mode with Displacement: [constant + baseReg + indexReg]
- constant: 8-bit or 16-bit signed value
- baseReg: bp or bx
- indexReg: si or di
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement