diff --git a/04-addr-methods/task1.asm b/04-addr-methods/task1.asm new file mode 100644 index 0000000..05673ac --- /dev/null +++ b/04-addr-methods/task1.asm @@ -0,0 +1,33 @@ + global _start + + section .data + + %macro FILL_ASC 1 + %assign NUM 0 + %rep %1 + db NUM + %assign NUM NUM + 1 + %endrep + %endmacro + + example: FILL_ASC 256 + + section .text + + _start: + ; В качестве базы возьму inc + ; регистровая + inc ecx + mov rax, example + ; косвенно-регистровая + inc byte [rax] + ; "Индексно-базовая", хотя у меня почти все может быть базой + inc byte [rax + rbx] + ; "Индексно-базовая" со смещением + inc byte [rax + rbx + 122] + + ; Ну в целом... все + mov rax, 60 + mov rdi, 0 + syscall +