我试图在x86中编写一个程序,它给了我分段错误。我已将其缩小到这一部分。为什么会出现分段错误?没有程序我做了同样的事情(即编写相同的控制流程)并且没有错误
segment .bss
a resb 4
b resb 4
m resb 4
section .text
global _start ;must be declared for using gcc
toh :
pop eax
mov [a],eax
mov eax, 1
mov [b],eax
mov eax, [b]
push eax
ret
_start: ;tell linker entry point
mov eax,2
push eax
call toh
pop eax
mov [m],eax
mov eax,1
int 0x80