section .bss
SSEG: resb 128 * 10
section .data
B_TAB: db 0x1A, 0x2B, 0x3C, 0x4D, 0x5E, 0x6F, 0x7A, 0x8B
W_TAB: dw 0x1A2B, 0x3C4D, 0x5E6F, 0x7A8B
B_TAB1: db 0x0A, 0x0A, 0x0A, 0x0A, 0x0A, 0x0A, 0x0A, 0x0A
W_TAB1: dw 1, 1, 1, 1, 1, 1, 1, 1
W_TAB2: dw 0x11, 0x12, 0x13, 0x14, 0x15, 0x16, 0x17, 0x18
section .text
global _start
_start:
; Непосредственная адресация
mov al, -3
mov ax, 3
mov byte [B_TAB], -3
mov word [W_TAB], -3
mov ax, 0x2A1B
; Регистровая адресация
mov bl, al
mov bh, al
sub ax, bx
sub ax, ax
; Прямая адресация
mov ax, [W_TAB]
mov ax, [W_TAB + 3]
mov ax, [W_TAB + 5]
mov al, byte [W_TAB + 6]
mov al, byte [B_TAB]
mov al, byte [B_TAB - 2]
mov ax, word [B_TAB]
mov word [W_TAB2 + 4], ax
; Косвенная адресация
mov rbx, B_TAB
mov rsi, B_TAB + 1
mov rdi, B_TAB - 2
mov dl, byte [rbx]
mov dl, byte [rsi]
mov dl, byte [rdi]
mov ax, word [rdi]
mov rbp, rbx
mov al, byte [rbp]
mov al, byte [rbp]
mov al, byte [rbx]
mov ax, word [rbx]
; Базовая адресация
mov ax, word [rbx - 2]
mov ax, word [rbx + 4]
mov ax, word [rbx - 2]
mov ax, word [rbx + 4]
mov ax, word [rbx - 2]
mov ax, word [rbx - 4]
mov al, byte [rbx - 2]
mov rbp, rbx
mov ax, word [rbp + 2]
mov ax, word [rbp + 2]
mov ax, word [rbx + 2]
; Индексная адресация
mov esi, 2
mov ah, byte [B_TAB + rsi]
mov al, byte [B_TAB + rsi]
mov bh, byte [rsi + B_TAB]
mov bl, byte [rsi + B_TAB]
mov ebx, dword [W_TAB2 + rsi]
mov edi, 4
mov bl, byte [W_TAB2 + rdi]
mov bl, byte [B_TAB + rsi]
; Базовая индексная
mov rbx, B_TAB
mov eax, 60
xor edi, edi
syscall
c2VjdGlvbiAuYnNzCiAgIFNTRUc6IHJlc2IgMTI4ICogMTAKCnNlY3Rpb24gLmRhdGEKICAgQl9UQUI6IGRiIDB4MUEsIDB4MkIsIDB4M0MsIDB4NEQsIDB4NUUsIDB4NkYsIDB4N0EsIDB4OEIKICAgV19UQUI6IGR3IDB4MUEyQiwgMHgzQzRELCAweDVFNkYsIDB4N0E4QgogICBCX1RBQjE6IGRiIDB4MEEsIDB4MEEsIDB4MEEsIDB4MEEsIDB4MEEsIDB4MEEsIDB4MEEsIDB4MEEKICAgV19UQUIxOiBkdyAxLCAxLCAxLCAxLCAxLCAxLCAxLCAxCgogICBXX1RBQjI6IGR3IDB4MTEsIDB4MTIsIDB4MTMsIDB4MTQsIDB4MTUsIDB4MTYsIDB4MTcsIDB4MTgKCnNlY3Rpb24gLnRleHQKICAgZ2xvYmFsIF9zdGFydAoKX3N0YXJ0OgogICA7INCd0LXQv9C+0YHRgNC10LTRgdGC0LLQtdC90L3QsNGPINCw0LTRgNC10YHQsNGG0LjRjwogICBtb3YgYWwsIC0zCiAgIG1vdiBheCwgMwogICBtb3YgYnl0ZSBbQl9UQUJdLCAtMwogICBtb3Ygd29yZCBbV19UQUJdLCAtMwogICBtb3YgYXgsIDB4MkExQgoKICAgOyDQoNC10LPQuNGB0YLRgNC+0LLQsNGPINCw0LTRgNC10YHQsNGG0LjRjwogICBtb3YgYmwsIGFsCiAgIG1vdiBiaCwgYWwKICAgc3ViIGF4LCBieAogICBzdWIgYXgsIGF4CgogICA7INCf0YDRj9C80LDRjyDQsNC00YDQtdGB0LDRhtC40Y8KICAgbW92IGF4LCBbV19UQUJdCiAgIG1vdiBheCwgW1dfVEFCICsgM10KICAgbW92IGF4LCBbV19UQUIgKyA1XQogICBtb3YgYWwsIGJ5dGUgW1dfVEFCICsgNl0KICAgbW92IGFsLCBieXRlIFtCX1RBQl0KICAgbW92IGFsLCBieXRlIFtCX1RBQiAtIDJdCiAgIG1vdiBheCwgd29yZCBbQl9UQUJdCiAgIG1vdiB3b3JkIFtXX1RBQjIgKyA0XSwgYXgKCiAgIDsg0JrQvtGB0LLQtdC90L3QsNGPINCw0LTRgNC10YHQsNGG0LjRjwogICBtb3YgcmJ4LCBCX1RBQgogICBtb3YgcnNpLCBCX1RBQiArIDEKICAgbW92IHJkaSwgQl9UQUIgLSAyCiAgIG1vdiBkbCwgYnl0ZSBbcmJ4XQogICBtb3YgZGwsIGJ5dGUgW3JzaV0KICAgbW92IGRsLCBieXRlIFtyZGldCiAgIG1vdiBheCwgd29yZCBbcmRpXQogICBtb3YgcmJwLCByYngKICAgbW92IGFsLCBieXRlIFtyYnBdCiAgIG1vdiBhbCwgYnl0ZSBbcmJwXQogICBtb3YgYWwsIGJ5dGUgW3JieF0KICAgbW92IGF4LCB3b3JkIFtyYnhdCgogICA7INCR0LDQt9C+0LLQsNGPINCw0LTRgNC10YHQsNGG0LjRjwogICBtb3YgYXgsIHdvcmQgW3JieCAtIDJdCiAgIG1vdiBheCwgd29yZCBbcmJ4ICsgNF0KICAgbW92IGF4LCB3b3JkIFtyYnggLSAyXQogICBtb3YgYXgsIHdvcmQgW3JieCArIDRdCiAgIG1vdiBheCwgd29yZCBbcmJ4IC0gMl0KICAgbW92IGF4LCB3b3JkIFtyYnggLSA0XQogICBtb3YgYWwsIGJ5dGUgW3JieCAtIDJdCiAgIG1vdiByYnAsIHJieAogICBtb3YgYXgsIHdvcmQgW3JicCArIDJdCiAgIG1vdiBheCwgd29yZCBbcmJwICsgMl0KICAgbW92IGF4LCB3b3JkIFtyYnggKyAyXQoKICAgOyDQmNC90LTQtdC60YHQvdCw0Y8g0LDQtNGA0LXRgdCw0YbQuNGPCiAgIG1vdiBlc2ksIDIKICAgbW92IGFoLCBieXRlIFtCX1RBQiArIHJzaV0KICAgbW92IGFsLCBieXRlIFtCX1RBQiArIHJzaV0KICAgbW92IGJoLCBieXRlIFtyc2kgKyBCX1RBQl0KICAgbW92IGJsLCBieXRlIFtyc2kgKyBCX1RBQl0KICAgbW92IGVieCwgZHdvcmQgW1dfVEFCMiArIHJzaV0KICAgbW92IGVkaSwgNAogICBtb3YgYmwsIGJ5dGUgW1dfVEFCMiArIHJkaV0KICAgbW92IGJsLCBieXRlIFtCX1RBQiArIHJzaV0KCiAgIDsg0JHQsNC30L7QstCw0Y8g0LjQvdC00LXQutGB0L3QsNGPCiAgIG1vdiByYngsIEJfVEFCCgogICBtb3YgZWF4LCA2MAogICB4b3IgZWRpLCBlZGkKICAgc3lzY2FsbA==