版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
1、BCDBCD码运算的十进制调整指令码运算的十进制调整指令 专用于对专用于对BCD码运算的结果进行调整码运算的结果进行调整 包括:包括:AAAAAA、DAADAA、AASAAS、DASDAS、AAMAAM、AADAAD 均为隐含寻址,隐含的操作数为均为隐含寻址,隐含的操作数为ALAL和和AHAH 为何要对为何要对BCD码的运算结果进行调整?码的运算结果进行调整? BCD码本质上是十进制数,即应遵循逢十码本质上是十进制数,即应遵循逢十进一的规则。而计算机是按二进制(十六进一的规则。而计算机是按二进制(十六进制)进行运算,并未按十进制规则进行进制)进行运算,并未按十进制规则进行运算。运算。18088
2、8088的调整指令主要用于十进制数的调整。这些指令包括:的调整指令主要用于十进制数的调整。这些指令包括: AAAAAA:对对ALAL中非压缩中非压缩BCDBCD码求和的结果进行调整。码求和的结果进行调整。 AASAAS:对对ALAL中非压缩中非压缩BCDBCD码求差的结果进行调整。码求差的结果进行调整。 AADAAD:在实现十进制除法时,在除法指令前对在实现十进制除法时,在除法指令前对AXAX用中非压缩用中非压缩BCDBCD码表示的十进制数进行调整。码表示的十进制数进行调整。 AAMAAM:在实现十进制乘法时,对在实现十进制乘法时,对AXAX中两个非压缩中两个非压缩BCDBCD码相乘码相乘的结
3、果进行调整。的结果进行调整。 DAADAA:对对ALAL中的两个压缩中的两个压缩BCDBCD码相加之和进行调整,得到用码相加之和进行调整,得到用压缩压缩BCDBCD码表示的十进制和。码表示的十进制和。 DASDAS:对对ALAL中的两个压缩中的两个压缩BCDBCD码相减之差进行调整,得到用码相减之差进行调整,得到用压缩压缩BCDBCD码表示的十进制差。码表示的十进制差。 2加法的十进制调整指令加法的十进制调整指令非压缩非压缩BCDBCD码加法调整码加法调整AAA本指令对在本指令对在ALAL中的由两个未组合的中的由两个未组合的BCDBCD码相码相加后的结果进行调正,得到一个正确的未加后的结果进行
4、调正,得到一个正确的未组合的组合的BCDBCD码。码。AAAAAA指令只影响指令只影响AFAF和和CFCF,其余标志无定义。,其余标志无定义。AAAAAA指令应紧跟在指令应紧跟在ADDADD或或ADCADC指令之后。指令之后。3AAAAAA指令的操作如下:指令的操作如下:4如果如果ALAL的低的低4 4位位9 9AF=1AF=1,则:,则: AL(AL)+6,(AH)(AH)+1,AF1AL(AL)+6,(AH)(AH)+1,AF1 AL(AL)0FH) AL(AL)0FH) CFAF CFAF否则否则AL(AL)0FHAL(AL)0FH调整原理:先看一个例子调整原理:先看一个例子 计算计算8
5、 89 0000 10009 0000 1000 见右式见右式 +0000 1001 +0000 1001 000 0001 1 0001 0001 1111 结果应为结果应为1717,而计算机相加为,而计算机相加为1111,原因在于,原因在于运算过程中,如遇到低运算过程中,如遇到低4 4位往高位往高4 4位产生进位位产生进位时(此时时(此时AF=1AF=1)是按逢十六进一的规则,但)是按逢十六进一的规则,但BCDBCD码要求逢十进一,因此只要产生进位,个码要求逢十进一,因此只要产生进位,个位就会少位就会少6 6,这就要进行加,这就要进行加6 6调正。调正。5这个这个1代表了代表了16,而实际
6、上,而实际上仅应为仅应为10,即多进了,即多进了6。 实际上当低实际上当低4 4位的结果位的结果9(9(即即A AF F之间之间) )时,时,也应进行加也应进行加6 6调正调正 ( (原因是逢十没有进位,故原因是逢十没有进位,故用加用加6 6的方法强行产生进位的方法强行产生进位) ) 。如对上例的结果进行加如对上例的结果进行加6 6: 0001 00010001 0001 11 11 + 0000 0110 + 0000 0110 6 6 0000 0111 17 0000 0111 17 0000 1111 0000 1111- - 1 0000 1111 1 0000 11116压缩压缩B
7、CDBCD码加法调整码加法调整DAA 两个压缩两个压缩BCDBCD码相加结果在码相加结果在ALAL中,通过中,通过DAADAA调整得到一个正确的压缩调整得到一个正确的压缩BCDBCD码码. . 指令操作指令操作( (调整方法调整方法) ): 若若ALAL的低的低4 4位位99AF=1AF=1 则则(AL)(AL)+6(AL)(AL)+6,AF1AF1 若若ALAL的高的高4 4位位99CF=1CF=1 则则(AL)(AL)+60H(AL)(AL)+60H,CF1CF1 除除OFOF外,外,DAADAA指令影响所有其它标志。指令影响所有其它标志。DAADAA指令应紧跟在指令应紧跟在ADDADD或
8、或ADCADC指令之后。指令之后。7例:例: 0100 1000 48H0100 1000 48H MOV ALMOV AL,48H 48H + 0111 0100+ 0111 0100 74H74H MOV BLMOV BL,74H 1011 1100 BCH74H 1011 1100 BCH ADD AL ADD AL,BL BL + 0110 0110+ 0110 0110 66H66H DAA DAA 1 1 0010 0010 0010 0010 1 1 22H 22H ( (进位进位) ) ( (进位进位) ) 执行执行ADDADD后,后,( (AL)=BCHAL)=BCH,高,高
9、4 4位低位低4 4位均大于位均大于9 9,故,故DAADAA指令指令执行加执行加66H66H调整,最后结果为:调整,最后结果为: (AL)=22H, CF=1, AF=1(AL)=22H, CF=1, AF=1893) 3) 乘法的十进制调正指令乘法的十进制调正指令AAMAAM 对对AXAX中由两个非压缩中由两个非压缩BCDBCD码相乘的结果进行码相乘的结果进行调整。调整操作为:调整。调整操作为: (AL)/0AH, (AH)(AL)/0AH, (AH)商,商,(AL)(AL)余数余数隐含的操作寄存器为隐含的操作寄存器为ALAL和和AHAH;AAMAAM跟在跟在MULMUL指令之后使用;指令
10、之后使用;影响标志位影响标志位PFPF、SFSF、ZFZF,其它其它无定义无定义; ;用用AAMAAM可实现可实现9999的二的二- -十进制转换。十进制转换。10例例1 1:按十进制乘法计算:按十进制乘法计算7 78=?8=? 程序段如下:程序段如下:MOVMOVAL,07HAL,07H;(AL)=07H(AL)=07HMOVMOVCL,08HCL,08H;(CL)=08H(CL)=08HMULMULCLCL;(AX)=0038H(AX)=0038HAAMAAM;(AH)=05H,(AL)=06H (AH)=05H,(AL)=06H 所得结果为非压缩的所得结果为非压缩的BCDBCD码。码。例
11、例2 2:把:把3AH3AH转换成等值的十进制数。转换成等值的十进制数。 MOV ALMOV AL,3AH 3AH ;5858 AAM AAM ;(AH)=05H(AH)=05H,(AL)=08H(AL)=08H114) 4) 除法的十进制调正指令除法的十进制调正指令AADAAD对非压缩对非压缩BCDBCD除法运算进行调整。调整操作除法运算进行调整。调整操作为:为: (AL)(AH)(AL)(AH)0AH0AH(AL)(AL) AH 0 AH 0隐含的操作寄存器为隐含的操作寄存器为AHAH,ALAL;AADAAD要在要在DIVDIV指令指令之前之前使用;使用;影响标志位影响标志位PFPF、SFSF、ZFZF,其它,其它无定义无定义; ;用用AADAAD可实现可实现9999的十的十- -二进制转换。二进制转换。12例例1:按十进制除法计算:按十进制除法计算557=? 程序段如下:程序段如下:MOV AX, 050
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 基础护理学知到智慧树章节测试课后答案2024年秋上海东海职业技术学院
- 国际法学(山东联盟)知到智慧树章节测试课后答案2024年秋烟台大学
- 消防整改报告(30篇)
- 邻居建房我家房子裂缝协议书
- 联合国国际货物销售合同公约使用条件
- 合同水泥国际标准名称代号
- 房屋租赁合同到期退还押金补充条款
- 《把握考试的功能》课件
- 四年级上苏教版《春联》课件
- 《上班族理财宝典》课件
- 《电站炉水循环泵电机运行导则》
- 《小学小古文》课件
- (高清版)DZT 0388-2021 矿区地下水监测规范
- 南美白对虾高位池无公害养殖技术
- 孤独症谱系障碍培训课件
- 露天煤矿地质类型划分报告编制细则
- 2023-2024学年高考英语专项真题练习-名词性从句(附解析)
- 高中物理教学经验分享
- 小学数学面积单位换算练习200题附答案
- T-SHNA 0003-2023 消化内镜诊疗前消化道准备
- 传统文化的创新与发展
评论
0/150
提交评论