IDIV汇编语言的问题

时间:2013-10-24 23:16:48

标签: assembly emulation x86-16

CX等于14 AX等于16

IDIV CX

但是为什么在AL有37个。 在该行之前没有错误或错误。 我犯了哪个错误? 谢谢! 附:写在Emu8086上

1 个答案:

答案 0 :(得分:1)

IDIV CX将32位值DX:AX除以CX,并将商存储在AX中,余数存储在DX中。

因此DX指令之前IDIV的值很重要,您应该使用AX指令将DX签名扩展为CWD(在IDIV之前),或使用例如清除DX XOR DX,DXDIV之前)。

相关问题