社区
汇编语言
帖子详情
汇编语言乘除法问题
fwx0413
2009-04-12 11:53:40
1.AL=FEH,CL=11H,两数均为有符号数,求AL与CL的乘积。
2.用除法指令计算7FA2H÷03DDH。
要求有具体步骤和结果,刚学汇编语言,希望大家多多指教。
...全文
1634
9
打赏
收藏
汇编语言乘除法问题
1.AL=FEH,CL=11H,两数均为有符号数,求AL与CL的乘积。 2.用除法指令计算7FA2H÷03DDH。 要求有具体步骤和结果,刚学汇编语言,希望大家多多指教。
复制链接
扫一扫
分享
转发到动态
举报
写回复
配置赞助广告
用AI写文章
9 条
回复
切换为时间正序
请发表友善的回复…
发表回复
打赏红包
tzs7008
2012-05-21
打赏
举报
回复
求解,16位有符号数除以8位得到的商的符号位在哪里?比如:
ax是-9
bx是3
ax除以bx:
idiv bx
其中ah是余数,al是商,但是商的符号位在哪里?求解答。。。
cnzdgs
2009-04-14
打赏
举报
回复
友情提示:CSDN论坛是禁止倒分了,如果倒分被人举报,所有得分都会被扣除。
「已注销」
2009-04-13
打赏
举报
回复
1.AL=FEH=-2,CL=11H=17
结果保存在AX=FFDEH=-34
2.AX=7FA2H,BX=03DDH
商AX=0021H,余数DX=0025H
先全部化成十进制数进行除法计算,得到的商和余数再分别化为十六进制即为结果
cnzdgs
2009-04-12
打赏
举报
回复
1.
IMUL CL,结果在AX里面。
2.
MOV AX,7FA2H
CWD
MOV CX,03DDH
IDIV CX
执行后AX是商,DX是余数。
rookie001
2009-04-12
打赏
举报
回复
帮你找了些资料:
1. 乘法指令
在乘法指令中,一个操作数总是隐含在寄存器AL(8位)或AX(16位)中
另一个操作数可采用除立即寻址之外的任一寻址方式
(1)无符号数乘法指令MUL
MUL OPRD
两个8位数相乘得16位放在AX中,两个16位数相乘得32位,高位字放在DX,低位字存放AX中。
若乘积高半部分不等于0,则CF=1,OF=1,否则CF=OF=0
(2)有符号数乘法指令IMUL
IMUL OPRD
把乘数和被乘数均作为有符号数对待
操作与MUL类似
如果乘积的高半部分不是低半部分的符号扩展,则CF=OF=1,否则CF=OF=0
2. 除法指令
被除数总是隐含在AX(除数是8位)或DX和AX(除数是16位)中,寻址方式同乘法指令。
(1)无符号数除法指令DIV
DIV OPRD
16位: AX / OPRD(8位) = AL(商) … AH(余数)
32位:DXAX / OPRD(16位) = AX(商)… DX(余数)
若除数为0,或在8位数除时商超过8位,或16位时商超过16位,则认为是溢出,引起0号中断。
(2)有符号数除法指令IDIV
IDIV OPRD
把被除数和除数作为有符号数,操作与DIV类似
当除数为0,或商太大((8位)>127,(16位)>32767),或商太小((8位)<-127,(16位)<-32767),引起0号中断
3. 符号扩展指令
不影响标志位
(1)字节转换为字指令CBW
CBW
把AL中的符号扩展到AH
AL>0,则(AH)=00H;若AL>0,则(AH)=FFH
(2)字转换为双字指令CWD
CWD
把AX中的符号到DX
类似CBW。
rookie001
2009-04-12
打赏
举报
回复
有符号数乘法用imul,除法用idiv
1.MOV AL,0FEH
MOV CL,11H
IMUL CL
因为源操作数cl是字节,结果在AX中
ps:有符号是补码系统
2.无符号数的:
SUB DX,DX
MOV AX,7FA2H
MOV BX,03DDH
DIV BX
结果:商在AX中,余数在DX中
有符号数同理
chenweiqing2008
2009-04-12
打赏
举报
回复
支持一下吧。2楼3楼说得很清楚了。
wujianwxj
2009-04-12
打赏
举报
回复
请教楼上各位,为什么在51的乘除法指令前加个I啊?使用的哪款单片机啊?
小弟一直只用过PIC和C51的单片机。
IMUL使用的是PC上的汇编语言吗?
huayangcvj
2009-04-12
打赏
举报
回复
1,2楼已经说得很好,不在多说了
C51
汇编语言
多字节加法,减法,
除法
,乘法子程序
51汇编多字节加减乘除子程序,及进制转换等子程序
汇编语言
十以内带输入输出加法运算
汇编语言
简单的10以内数相加(带输入与输出)
51单片机 _msr2_ch451驱动_简易乘
除法
计算器
沈阳工业大学单片机课程设计 千以内的简易乘
除法
,用
汇编语言
实现的.hex文件
汇编语言
复习课件 希望对初学
汇编语言
的同学有点帮助
总 复 习 总复习提示: 第2,3,4章是基础,重点掌握:8086/8088CPU内部的14个 寄存器的功能及用途;逻辑地址与物理地址的概念;堆栈 及堆栈操作;寻址方式;传送指令、算术运算指令、位操 作指令和处理器控制指令;语句种类;变量的定义及其三 种属性;主要伪指令(如DB、DW、DD、EQU、SEGMENT/ENDS、 ASSUME、ORG和$)的应用. 第5章是重点,着重掌握:条件转移指令、循环指令、子 程序的调用和返回指令;程序的4种基本结构形式及其设计 方法;DOS功能子程序的调用(主要是1,2,9,A号功能). 第6章重点是:BCD码校正指令及其应用;乘
除法
指令及 其应用;多精度数运算程序的编写. 第7章重点是:串操作指令及其应用(7.2节的例子);表 的插入/删除;排序. 第8章重点是:代码转换程序的编写,二进制数与十进制 之间的转换方法,十六进制数的ASCII码与二进制数之间 的转换方法及程序设计. 第9章重点是:结构的定义,结构变量及其字段的操作; 宏功能的使用过程,要求能写出指定功能的宏定义. 第10章重点掌握输入/输出指令(IN和OUT)的格式. 另外,对上机操作的步骤要熟悉,要掌握DEBUG的几个主 要命令(如D、U、R、T、G、Q命令)的应用.
用
汇编语言
编写的一个简单计算器(绝对符合初学者看)
任意输入两个数,能完成加,减,乘,除运算。其中输入1实行加法功能,输入2实行减法功能,输入3实行乘法功能,输入4实行
除法
功能,输入5退出。一般的初学者都能看的懂。这是自己写的。我也是一个初学者。网上有的都是一些难看懂的。对大家绝对有用。
汇编语言
21,459
社区成员
41,600
社区内容
发帖
与我相关
我的任务
汇编语言
汇编语言(Assembly Language)是任何一种用于电子计算机、微处理器、微控制器或其他可编程器件的低级语言,亦称为符号语言。
复制链接
扫一扫
分享
社区描述
汇编语言(Assembly Language)是任何一种用于电子计算机、微处理器、微控制器或其他可编程器件的低级语言,亦称为符号语言。
社区管理员
加入社区
获取链接或二维码
近7日
近30日
至今
加载中
查看更多榜单
社区公告
暂无公告
试试用AI创作助手写篇文章吧
+ 用AI写文章