Dav*_*mes 6 linux x86 assembly
mov eax, 0x01 mov ecx, 0x02 div ecx ; Divide AX/CX, saves remainder in DX cmp dx, 0 je OddNumber int 80h
当我尝试除1/2时,它返回"浮点异常",而不是标记OddNumber.我知道1/2是一个浮子,但我怎么能处理呢?谢谢.
GDB说"程序收到信号SIGFPE,算术异常." 顺便说说.
dus*_*uff 11
edx在打电话之前你需要归零div ecx.当使用32位除数(例如ecx)时,div将64位值除edx:eax以其参数,因此如果存在垃圾edx,则将其视为被除数的一部分.
edx
div ecx
ecx
div
edx:eax
之后div,你可能想比较edx,而不仅仅是dx.
dx
归档时间:
14 年,1 月 前
查看次数:
4453 次
最近记录: