OpenEuler中C语言中的函数调用测试(选做)
OpenEuler中C语言中的函数调用测试(选做)
在X86_64架构下实践2.4中的内容
使用gcc -m32 4.c -o 4指令在64位机器上产生32位汇编
通过GDB查看寄存器的内容,把教材中的图填入具体的值
- 进入gdb调试器:gdb 4
- 在main函数处设断点: b main
- 运行:r
- 查看各寄存器地址与值: i r
- 获取汇编代码:disassemble
call指令将sub函数地址入栈以备调用,调用之前u、v被压入栈,所以u和v在栈中的地址为0x56556239、0x5655623c
longjump
- 使用gcc -m32 4.c -o 4指令在64位机器上产生32位汇编
- 按照上述方法查看汇编代码