feat: решен первый пункт
Этот пункт действительно предполагает просто воспользоваться всеми типами адресации
This commit is contained in:
33
04-addr-methods/task1.asm
Normal file
33
04-addr-methods/task1.asm
Normal file
@ -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
|
||||||
|
|
||||||
Reference in New Issue
Block a user