재미를 위해 어셈블리를 약간 흘려 보면서 이제는 프로 시저를 호출하는 데 어려움이 있습니다.스택을 통한 어셈블리 전달 변수
...
_start:
push dword len
push dword msg
call print
mov eax, SYS_EXIT
mov ebx, 0
int 80h
print: ; *char (message), int (len) -> push len, then message
mov eax, SYS_WRITE
mov ebx, STDOUT
pop ecx
pop edx
int 80h
ret
나는 어셈블리의이 조각을 실행하면
nasm -f elf program.asm && ld -m elf_i386 -o program program.o && ./program
내가 인쇄 기능의 내용으로 "전화 인쇄"를 대체 할 경우 동시에 그것은 모든 후, 프로그램의 내용 독방 감금 오류를 출력합니다 , 그것은 잘 작동합니다.
있습니다됩니다 호출이 스택에 값을 넣는다는 것을 알고 있습니까? – rcd