在线时间:8:00-16:00
迪恩网络APP
随时随地掌握行业动态
扫描二维码
关注迪恩网络微信公众号
那么剩下的 EBX ESP EBP ESI EDI 五个寄存器就是应该保护的! 所谓保护, 并不是不可以使用, 而是在使用前先把其中的值寄存在另外一个地方, 用完后再恢复其值. 如果不这样做, 有可能会发生意想不到的错误. 举例: //使用应该保护的 ebx 寄存器 function Fun(x: Integer): Integer; asm push ebx {push 是入栈指令, 栈就是系统自动分配的内存} mov ebx, x inc ebx mov @Result, ebx pop ebx {pop 是出栈指令, 也就是恢复 ebx 寄存器原来的值} end; //测试 procedure TForm1.Button1Click(Sender: TObject); var i: Integer; begin i := Fun(8); ShowMessage(IntToStr(i)); {9} end; |
2023-10-27
2022-08-15
2022-08-17
2022-09-23
2022-08-13
请发表评论