关于汇编语言中的除法指令

刚接触汇编,很多问题不大明白,请高手赐教:书上说字节除法指令的余数放AL中,商放AH中,那么如果商的二进制数大于8位那该怎么办啊?如:DIVBH已知:BH=50HAX=9... 刚接触汇编,很多问题不大明白,请高手赐教:书上说字节除法指令的余数放AL中,商放AH中,那么如果商的二进制数大于8位那该怎么办啊?如:
DIV BH
已知:BH=50H AX=904AH
算出来商是9位的,该怎么办?

另外,希望各位能提供些练习题,尽量简单点的,网上题很少,我都找不到,谢谢啦!
这种情况是不是作为除数为0来处理啊?产生0中断?

有没有练习题啊?怎么都没人理我的问题啊……
展开
 我来答
竹兰濮妆
2019-01-21 · TA获得超过3.7万个赞
知道大有可为答主
回答量:1.4万
采纳率:34%
帮助的人:757万
展开全部
DIV
(unsigned
divide)
无符号数除法
格式:DIV
SRC
执行的操作:
  字节操作:16位被除数在AX,8位除数为源操作数,结果的8位商在AL中,8位余数在AH中。表示为
  (AL)<-(AX)/(SRC)
的商
  
(AH)
<-(AX)/(SRC)
的余数
  字操作:32位被除数放在DX,AX中。其中DX为高位字,16位除数为源操作数,结果的16位端在AX中,16位余数在DX中。表示为
  (AX)<-(DX,AX)/(SRC)
的商
  (DX)<-(DX,AX)/(SRC)
的余数
  双字操作:64位被除数在EDX,EAX中,其中EDX为高位双字,32位除数为源操作数,结果的32位商在EAX中,32位余数在EDX中,表示为
  (EAX)<-(EDX,EAX)/(SRC)
的商
  (EDX)<-(EDX,EAX)/(SRC)
的余数。
商和余数均为无符号数。
IDIV
带符号除法指令
格式:IDIV
SRC
执行的操作:与DIV相同,但操作数必须是带符号的数,商和余数也都是带符号的数,且余数的符号和被除数的符号相同
意法半导体(中国)投资有限公司
2023-06-12 广告
单片机种类:按通用性可分为通用型和专用型;按总线结构可分为总线型和非总线型;按应用领域可分为家电类、工控类、通信类、个人信息终端类等等;按单片机数据总线位数可分为4位、8位、16位和32位单片机。 意法半导体致力于引领单片机技术和产品的创新... 点击进入详情页
本回答由意法半导体(中国)投资有限公司提供
鲲鹏展翅LHY
推荐于2018-02-26 · TA获得超过2637个赞
知道小有建树答主
回答量:642
采纳率:0%
帮助的人:962万
展开全部
汇编语言中除法指令有两种溢出的情况:一是被0除,产生0号中断;二是当除得的商超出范围时,即你所的除以字节时商超出了字节或者除以字时商超出了字,都会产生溢出。
本回答被提问者和网友采纳
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
做而论道
高能答主

2022-09-24 · 把复杂的事情简单说给你听
知道大有可为答主
回答量:3万
采纳率:80%
帮助的人:1.1亿
展开全部

80x86 的除法指令(DIV SRC)有三种:

  被除数在 AX,除数为源操作数,商在 AL,余数在 AH。

  被除数在 DX_AX,除数为源操作数,商在 AX,余数在 DX。

  被除数在 EDX_EAX,除数为源操作数,商在 EAX,余数在 EDX。

商,必须小于指定的寄存器的容量,否则就会出错,CPU 给出溢出标志。

除数为 0,必然就会溢出。

不为零时,为了防止溢出,可以采用“多字节相除的方法”。

这就需要编写一段程序了。

已赞过 已踩过<
你对这个回答的评价是?
评论 收起
百度网友691e2e7
2015-12-08 · TA获得超过107个赞
知道答主
回答量:54
采纳率:0%
帮助的人:18.9万
展开全部
div 啊怎么了
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
百度网友6fa3859
2016-01-04 · TA获得超过3349个赞
知道小有建树答主
回答量:1148
采纳率:85%
帮助的人:415万
展开全部
DIV (unsigned divide) 无符号数除法
格式:DIV SRC
执行的操作:
  字节操作:16位被除数在AX,8位除数为源操作数,结果的8位商在AL中,8位余数在AH中。表示为
  (AL)<-(AX)/(SRC) 的商
   (AH) <-(AX)/(SRC) 的余数
  字操作:32位被除数放在DX,AX中。其中DX为高位字,16位除数为源操作数,结果的16位端在AX中,16位余数在DX中。表示为
  (AX)<-(DX,AX)/(SRC) 的商
  (DX)<-(DX,AX)/(SRC) 的余数
  双字操作:64位被除数在EDX,EAX中,其中EDX为高位双字,32位除数为源操作数,结果的32位商在EAX中,32位余数在EDX中,表示为
  (EAX)<-(EDX,EAX)/(SRC) 的商
  (EDX)<-(EDX,EAX)/(SRC) 的余数。
商和余数均为无符号数。

IDIV 带符号除法指令
格式:IDIV SRC
执行的操作:与DIV相同,但操作数必须是带符号的数,商和余数也都是带符号的数,且余数的符号和被除数的符号相同
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 2条折叠回答
收起 更多回答(3)
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式