fork download
  1. section .bss
  2. SSEG: resb 128 * 10
  3.  
  4. section .data
  5. B_TAB: db 0x1A, 0x2B, 0x3C, 0x4D, 0x5E, 0x6F, 0x7A, 0x8B
  6. W_TAB: dw 0x1A2B, 0x3C4D, 0x5E6F, 0x7A8B
  7. B_TAB1: db 0x0A, 0x0A, 0x0A, 0x0A, 0x0A, 0x0A, 0x0A, 0x0A
  8. W_TAB1: dw 1, 1, 1, 1, 1, 1, 1, 1
  9.  
  10. W_TAB2: dw 0x11, 0x12, 0x13, 0x14, 0x15, 0x16, 0x17, 0x18
  11.  
  12. section .text
  13. global _start
  14.  
  15. _start:
  16. ; Непосредственная адресация
  17. mov al, -3
  18. mov ax, 3
  19. mov byte [B_TAB], -3
  20. mov word [W_TAB], -3
  21. mov ax, 0x2A1B
  22.  
  23. ; Регистровая адресация
  24. mov bl, al
  25. mov bh, al
  26. sub ax, bx
  27. sub ax, ax
  28.  
  29. ; Прямая адресация
  30. mov ax, [W_TAB]
  31. mov ax, [W_TAB + 3]
  32. mov ax, [W_TAB + 5]
  33. mov al, byte [W_TAB + 6]
  34. mov al, byte [B_TAB]
  35. mov al, byte [B_TAB - 2]
  36. mov ax, word [B_TAB]
  37. mov word [W_TAB2 + 4], ax
  38.  
  39. ; Косвенная адресация
  40. mov rbx, B_TAB
  41. mov rsi, B_TAB + 1
  42. mov rdi, B_TAB - 2
  43. mov dl, byte [rbx]
  44. mov dl, byte [rsi]
  45. mov dl, byte [rdi]
  46. mov ax, word [rdi]
  47. mov rbp, rbx
  48. mov al, byte [rbp]
  49. mov al, byte [rbp]
  50. mov al, byte [rbx]
  51. mov ax, word [rbx]
  52.  
  53. ; Базовая адресация
  54. mov ax, word [rbx - 2]
  55. mov ax, word [rbx + 4]
  56. mov ax, word [rbx - 2]
  57. mov ax, word [rbx + 4]
  58. mov ax, word [rbx - 2]
  59. mov ax, word [rbx - 4]
  60. mov al, byte [rbx - 2]
  61.  
  62. mov rbp, rbx
  63. mov ax, word [rbp + 2]
  64. mov ax, word [rbp + 2]
  65. mov ax, word [rbx + 2]
  66.  
  67. ; Индексная адресация
  68. mov esi, 2
  69. mov ah, byte [B_TAB + rsi]
  70. mov al, byte [B_TAB + rsi]
  71. mov bh, byte [rsi + B_TAB]
  72. mov bl, byte [rsi + B_TAB]
  73. mov ebx, dword [W_TAB2 + rsi]
  74. mov edi, 4
  75. mov bl, byte [W_TAB2 + rdi]
  76. mov bl, byte [B_TAB + rsi]
  77.  
  78. ; Базовая индексная
  79. mov rbx, B_TAB
  80.  
  81. mov eax, 60
  82. xor edi, edi
  83. syscall
Success #stdin #stdout 0s 5316KB
stdin
Standard input is empty
stdout
Standard output is empty