尝试在程序集中使用div时获取浮点异常

我试图在程序集中运行以下代码:

  mov        %si, %ax
  mov        $15, %si
  div        %si
  mov        %eax, %esi

当我编写程序时,它会编译,但在运行时它会给我一个浮点异常.
我试图用%ah和%si替换最后一行的参数.

简而言之,我试图将%esi除以15.我只想要一个int,而不需要一个double.

谢谢

div指令将操作数除以双字参数dx / ax.如果商太大而不适合单词,它将抛出该异常.

参考:http://siyobik.info.gf/main/reference/instruction/DIV

你在dx寄存器里有什么?最有可能dx / ax除以15不适合16位字.

https://stackoverflow.com/questions/9793060/getting-floating-point-exception-while-trying-to-use-div-in-assembly

转载注明原文:尝试在程序集中使用div时获取浮点异常