DIV指令到底是用AX作为被除数还是AX+DX作为被除数,如何区分?

llkjkk 2011-01-03 11:02:42
DIV 20这句话的意思
到底是AX/20呢,还是(DX*63356+AX)/20呢

如何区别不同长度的除法?

谢谢!
...全文
410 9 打赏 收藏 转发到动态 举报
写回复
用AI写文章
9 条回复
切换为时间正序
请发表友善的回复…
发表回复
linzuohui 2011-10-18
  • 打赏
  • 举报
回复
36H是8位么?
zara 2011-01-04
  • 打赏
  • 举报
回复
386 也不可以直接使用立即数吧。必须能够通过操作数来确定其数据尺寸的,到底是 8 位、16 位,甚或是 32 位。
leetow2003 2011-01-04
  • 打赏
  • 举报
回复
看div后面跟的是8位还是16位寄存器,如果是8位,则被除数是AX,最后余数在AH,商在AL中
znxllyuan 2011-01-04
  • 打赏
  • 举报
回复
[Quote=引用 1 楼 masmaster 的回复:]
首先, div 20 这样的指令是非法的。
其次, 至于如何区分, 可以看除数的长度。 如果除数是8位的, 那么,AL=商,AH=余数;如果除数是16位的,那么AX是商,DX=余数。
[/Quote]
386 可以用立即数吧
JeanLove 2011-01-04
  • 打赏
  • 举报
回复
http://blog.csdn.net/w_shun/archive/2010/05/01/5548967.aspx
JeanLove 2011-01-04
  • 打赏
  • 举报
回复
TEST指令和AND指令差不多,只是AND指令执行后会把结果送到目的操作数,而TEST却不会,只是影响标志位
例如:测试AL中的bit3位,使用TEST AL,08H.若ZF=1,表示该位是0,若ZF=0,那么该位表示1.
用哪个数来测试寄存器的位,例如本例,08H表示二进制数00001000B,bit3位是1,其余是0,所以用
08H,你明白了吗?CF和OF清0,影响SF和ZF还有PF
JeanLove 2011-01-04
  • 打赏
  • 举报
回复
TEST指令和AND指令差不多,只是AND指令执行后会把结果送到目的操作数,而TEST却不会,只是影响标志位
例如:测试AL中的bit3位,使用TEST AL,08H.若ZF=1,表示该位是0,若ZF=0,那么该位表示1.
用哪个数来测试寄存器的位,例如本例,08H表示二进制数00001000B,bit3位是1,其余是0,所以用
08H,你明白了吗?CF和OF清0,影响SF和ZF还有PF
masmaster 2011-01-03
  • 打赏
  • 举报
回复
首先, div 20 这样的指令是非法的。
其次, 至于如何区分, 可以看除数的长度。 如果除数是8位的, 那么,AL=商,AH=余数;如果除数是16位的,那么AX是商,DX=余数。

21,459

社区成员

发帖
与我相关
我的任务
社区描述
汇编语言(Assembly Language)是任何一种用于电子计算机、微处理器、微控制器或其他可编程器件的低级语言,亦称为符号语言。
社区管理员
  • 汇编语言
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧