写一个比较得到最大数的汇编, 注意:
$
真是耗费了我好些经历, 写了一整天, 每次都报错
segment fault
(其实是因为对数的范围和寻址不敏感, 导致访问了非法内存). 为此还学习了一番gdb调试, 真不戳!
耶鲁x86汇编教程, 很不错的教程, 很清晰.
文中提到, 大部分寄存器都没有特殊用途, 除了rbp
和rsp
是用作栈的(64位系统). rip
指向当前执行的指令.
我们以一个简单例子说明:
gdb调试一下, 先运行两次nexti
, 也就是执行两次push
, 然后查看寄存器情况:
rip
指向当前的指令, rsp
指向的位置保存了5. rbp
为0(为什么呢?)
gdb调试