저는 어셈블리가 새로 생겼고 x86에서 함수 호출과 관련하여 저의 고민을 해결하려고합니다.X86 - 함수가 정의되지 않았습니다.
read_integer:
push ebp
mov ebp, esp
sub esp, 8
mov dword [ebp-4], '0'
mov dword [ebp-8], 0
push ebx
push ecx
push edx
.read_loop:
mov eax, 10
mul dword [ebp-8]
add eax, [ebp-4]
sub eax, '0'
mov [ebp-8], eax
mov eax, 3
mov ebx, 0
lea ecx, [ebp-4]
mov edx, 1
int 0x80
cmp dword [ebp-4], 10
jne .read_loop
ret
내가 call read_integer
를 사용하여 read_integer
함수를 호출 할 수 있습니다 : 나는 다음과 같은 코드를 제공하고 있습니다.
.read_loop이 정의되지 않은 : 나는
call .read_loop
를 사용.read_loop
에 대해 동일한 작업을 수행하려고하지만 때이 오류가 발생합니다.
내가 뭘 잘못하고 있니?
당신이해야'call' 확신 :
또는를? 그 모습으로'read_integer'의 로컬 부분으로 작성되었습니다. – Michael