A
Size: a a a
A
E
E
MS
E
MS
E
ВВ
ВВ
driver.c: In function ‘main’:
driver.c:5:15: warning: implicit declaration of function ‘_asm_main’ [-Wimplicit-function-declaration]
ret_status = _asm_main();
^~~~~~~~~
/usr/bin/ld: i386 architecture of input file
first.o' is incompatible with i386:x86-64 outputasm_io.o' is incompatible with i386:x86-64 output
/usr/bin/ld: first.o: in function
_asm_main': first.asm:(.text+0xb): undefined reference to print_string'
/usr/bin/ld: first.asm:(.text+0x10): undefined reference to
read_int'print_string'
/usr/bin/ld: first.asm:(.text+0x24): undefined reference to
read_int'sub_dump_regs'
/usr/bin/ld: first.asm:(.text+0x4b): undefined reference to
sub_dump_mem'print_string'
/usr/bin/ld: first.asm:(.text+0x5f): undefined reference to
print_int'print_string'
/usr/bin/ld: first.asm:(.text+0x73): undefined reference to
print_int'print_string'
/usr/bin/ld: first.asm:(.text+0x84): undefined reference to
print_int'print_nl'
collect2: error: ld returned 1 exit status
ВВ
ВВ
E
E
enter - создать кадр стека.Идентично:
leave - выход из процедуры (удалить кадр стека)
; enter op1, op2Инструкция сделана для упрощения работы с процедурами в ЯВУ
; enter 0, 0
push ebp
mov ebp, esp
; sub esp, op1
; sub esp, 0
; op1 - сколько места выделять в стеке (под локальные переменные)
; op2 = уровень вложенности (сколько кадров стека будет вложено в новые кадры стека)
; leave
mov esp, ebp
pop ebp
ret
; ret X
ВВ