具有间接寻址的SIGSEGV

时间:2014-08-13 15:56:31

标签: assembly x86 sigsegv mov

我在嵌入c程序中的汇编代码有问题。

jmp    0x8048408 <main+44>
0x080483e4 <+8>:    pop    %esi
0x080483e5 <+9>:    xor    %eax,%eax
=> 0x080483e7 <+11>:    mov    %ah,0x7(%esi)
0x080483ea <+14>:   mov    $0xffffffff,%ebx
0x080483ef <+19>:   sub    $0xfffffffe,%ebx
0x080483f2 <+22>:   mov    $0xffffffff,%eax
0x080483f7 <+27>:   sub    $0xfffffffb,%eax
0x080483fa <+30>:   int    $0x80
0x080483fc <+32>:   xor    %ebx,%ebx
0x080483fe <+34>:   mov    $0xffffffff,%eax
0x08048403 <+39>:   sub    $0xfffffffe,%eax
0x08048406 <+42>:   int    $0x80
0x08048408 <+44>:   call   0x80483e4 <main+8>

问题是&lt; + 11&gt; mov line:每次我在寄存器上使用括号来获取内存位置而不是寄存器本身时,我得到一个SIGSEGV。 我开始认为这不是代码的错,你有什么想法吗? 即使我尝试类似:mov%eax,(%eax);我得到了sigsegv错误

PLZ帮忙!

0 个答案:

没有答案