Advertisement
Guest User

Untitled

a guest
Jun 26th, 2017
72
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 1.23 KB | None | 0 0
  1. Here are some examples of the allowed addressing modes:
  2.  
  3. xor cx, [59507] ; Direct mode (XOR CX with word at DS:E873)
  4. push word [bx] ; Register-indirect mode (Push word at DS:BX onto stack)
  5. mov ax, [bp-4] ; Base mode (Move word at SS:(BP-4) into AX)
  6. sub [si+2], bx ; Indexed mode (Subtract BX from word at DS:(SI+2))
  7. not byte [bp+di] ; Base-indexed mode (Invert bits of byte at SS:(BP+DI))
  8. add [bx+si+2], dx ; Base-indexed mode with dispacement (Add DX to word at DS:(BX+SI+2))
  9. The five addressing modes available are outlined more precisely for your reference below:
  10. Direct Mode: [constant]
  11. constant: 16-bit unsigned value
  12.  
  13. Register-Indirect Mode: [register]
  14. register: bx, si, or di
  15. Note: bp technically isn't allowed. If used, assembler will generate [bp+0] instead.
  16.  
  17. Base Mode: [constant + baseReg]
  18. constant: 8-bit or 16-bit signed value
  19. baseReg: bp or bx
  20.  
  21. Indexed Mode: [constant + indexReg]
  22. constant: 8-bit or 16-bit signed value
  23. indexReg: si or di
  24.  
  25. Base-Indexed Mode: [baseReg + indexReg]
  26. baseReg: bp or bx
  27. indexReg: si or di
  28.  
  29. Base-Indexed Mode with Displacement: [constant + baseReg + indexReg]
  30. constant: 8-bit or 16-bit signed value
  31. baseReg: bp or bx
  32. indexReg: si or di
  33.  
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement