实验四 乘除指令及BCD运算程序.docx
- 文档编号:16684559
- 上传时间:2023-07-16
- 格式:DOCX
- 页数:10
- 大小:351.35KB
实验四 乘除指令及BCD运算程序.docx
《实验四 乘除指令及BCD运算程序.docx》由会员分享,可在线阅读,更多相关《实验四 乘除指令及BCD运算程序.docx(10页珍藏版)》请在冰点文库上搜索。
实验四乘除指令及BCD运算程序
实验四乘除指令及BCD运算程序
一、任务与目的
1.实验任务:
(1)熟悉和掌握乘除指令及BCD运算指令的用法;
(2)掌握BCD码运算程序的编写方法。
2.实验目的:
(1).掌握有符号数与无符号数乘除指令的运算方法;
(2)熟悉BCD码运算的运算方法。
二、原理(条件)
1.相关知识:
(1)无符号数与有符号数乘除指令的格式;
(2)BCD码运算的调整方法。
2.实验条件:
MASM汇编程序及TD调试软件。
三、内容步骤
1.启动TD(TurboDebugger)输入程序段,观察乘法指令的执行情况、标志位
变化并分析结果:
(1)MOVAL,0FBH
MOVBL,23H
MULBL
(2)MOVAL,0FBH
MOVBL,23H
IMULBL
2.启动TD(TurboDebugger)输入程序段,观察除法指令的执行情况、标志位只能16位除以8位或32除以16位
变化并分析结果:
(1)MOVAX,0FE7BH
MOVBL,23H
DIVBL
改进后:
MOVAX,0FE7BH
MOVDX,0000H
MOVBX,0023H
DIVBX
(2)MOVAX,0A9H
MOVBX,23H
CBW
IDIVBX
(3)MOVAX,0D7A9H
MOVBX,1123H
CWD
IDIVBX
3.编写2个6位十进制数(6字节非压缩BCD码)加法程序,并最终把结果转换为ASCII码,存放到数据段RESULT地址所指位置区域。
XX9732+651048=?
XX为组号。
参考程序如下,请在参考程序之上改写。
DATASEGMENT
FBCD1DB020307090500
FBCD2DB08H,04H,00H,01H,05H,06H
RESULTDB6DUP(?
)
DATAENDS
CODESEGMENT
ASSUMECS:
CODE,DS:
DATA
START:
MOVAX,DATA
MOVDS,AX
LEASI,FBCD1
LEADI,FBCD2
LEABX,RESULT
MOVCX,6
CLC
NEXT:
MOVAL,[SI]
ADCAL,[DI]
AAA ;非压缩BCD码加法调整指令
MOV[BX],AL
INCSI
INCDI
INCBX
DECCX
JNZNEXT
①LEASI,RESULT
MOVCX,6
TBA:
MOVAL,[SI];把结果转换为ASCII码
ADDAL,30H
MOV[SI],AL
INCSI
DECCX
JNZTBA
②MOVAH,4CH
INT21H
CODEENDS
ENDSTART
(1)在①处设置断点,观察RESULT所在存储空间内容;
(2)在②处设置断点,观察RESULT所在存储空间内容;
(3)其他条件不变,改成非压缩BCD码减法,如何更改程序;回家做?
加法改减法AAA非加改成AAS非减
(4)其他条件不变,改成压缩BCD码加/减法,如何更改程序。
变为三个字节的DAS压缩减DAA压缩加
压缩加法
压缩减法
四、数据处理(现象分析)
五、结论
六、参考资料
《微型计算机原理与接口技术》实验指导书
七、评语
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 实验四 乘除指令及BCD运算程序 实验 乘除 指令 BCD 运算 程序