我是x86_64汇编语言的新手,正在try 学习跳转条件. 在我的代码中,当我使用JUMP IF EQUAL调用时,我得到一个分段错误, 但如果我调用函数然后返回没有错误,为什么会发生这种情况? 我在堆栈上推的并不比我弹出的更多,或者它只可能退出 skip 如果我调用另一个函数F.E.出口函数?
section .data
success db "yeah"
section .text
global _start
print_juhu:
push rsi
push rdx
push rax
push rdi
mov rax,1
mov rsi,success
mov rdx,4
syscall
pop rdi
pop rax
pop rdx
pop rsi
ret
_start:
mov r12,3
mov r14,3
cmp r12,r14
je print_juhu
; Exit the program
mov rax, 60
mov rdi, 0
syscall