十进制调整指令

上传人:鲁** 文档编号:458392763 上传时间:2023-05-06 格式:DOCX 页数:3 大小:17.63KB
返回 下载 相关 举报
十进制调整指令_第1页
第1页 / 共3页
十进制调整指令_第2页
第2页 / 共3页
十进制调整指令_第3页
第3页 / 共3页
亲,该文档总共3页,全部预览完了,如果喜欢就下载吧!
资源描述

《十进制调整指令》由会员分享,可在线阅读,更多相关《十进制调整指令(3页珍藏版)》请在金锄头文库上搜索。

1、本文格式为Word版,下载可任意编辑十进制调整指令 十进制调整指令对二进制运算结果进行十进制调整,以得到十进制的运算结果。十进制在计算机中也要用二进制表示,这就是十进制编码的十进制数: BCD 码。 8086 支持压缩的 BCD 码和非压缩的 BCD 码,相应的十进制调整指令分为压缩 BCD 码调整指令和非压缩 BCD 码调整指令。 1 压缩 BCD 码调整指令(1)加法的十进制调整指令 DAA 语句格式: DAA功能:假如 AL 寄存器中低 4 位大于 9 或帮助进位( AF ) =1 ,则( AL ) = ( AL ) +6 且( AF ) =1 ;假如( AL ) = 0A 0H 或(

2、CF ) =1 ,则( AL ) = ( AL ) +60H 且( CF ) =1 。同时, SF 、 ZF 、 PF 均有影响。【例】压缩 BCD 码的加法运算。MOV AL , 68H ;( AL ) =68H ,表示压缩 BCD 码 68MOV BL , 28H ;( BL ) =28H ,表示压缩 BCD 码 28ADD AL , BL ;二进制加法 :( AL )=68H+28H=90HDAA ;十进制调整:( AL ) =96H;实现压缩 BCD 码加法: 68+28=96(2) 减法的十进制调整指令 DAS 语句格式: DAS功能:假如( AF ) =1 或 AL 寄存器中低 4

3、 位大于 9 ,则( AL ) = ( AL ) 6 且( AF ) =1 ;假如( AL ) = 0A 0H 或( CF ) =1 ,则( AL ) = ( AL ) 60H 且( CF ) =1 。同时 SF 、 ZF 、 PF 均受影响。【例】压缩 BCD 码的减法运算。MOV AL , 67H ;(AL)=67H, 表示压缩 BCD 码 67MOV BL , 28H ;(BL)=28H, 表示压缩 BCD 码 28SUB AL , BL ; ( AL )=67H-28H=3FHDAS ;十进制调整:( AL ) =39H;;实现压缩 BCD 码减法: 67 28=392 非压缩 BCD

4、 码调整指令(1)加法的非压缩 BCD 码调整指令 AAA语句格式: AAA功能:假如 AL 的低 4 位大于 9 或( AF ) =1 ,则:( AL ) = ( AL ) +6 ( AH ) = ( AH ) +1 ( AF ) = ( CF ) =1且 AL 高 4 位清零。否则:( CF ) = ( AF ) =0 AL 高 4 位清零。(2)减法的非压缩 BCD 码调整指令 AAS语句格式: AAS功能:假如 AL 的低 4 位大于 9 或( AF) =1 ,则:(AL) = ( AL ) 6( AH ) = ( AH ) 1 ( AF ) = ( CF ) =1 AL 高 4 位清

5、零。否则:( CF ) = ( AF ) =0 AL 高 4 位清零。其他标志位 OF 、 PF 、 SF 、 ZF 不确定。(3)乘法的非压缩 BCD 码调整指令 AAM语句格式: AAM功能:被调整的乘积在 AX 中,对 AL 按 10 取模,则:( AL ) 0AH AH (商): AL (余数)其中 AH 为商, AL 为余数,标志位 AF 、 CF 、 OF 、 PF 、 SF 、 ZF 受影响。(4)除法的非压缩 BCD 码调整指令 AAD语句格式: AAD功能:除法运算前,先调整被除数 AX 内容,使:( AL ) = ( AL ) + ( AH ) *0AH ( AH ) =0即把非压缩型十进制数变成二进制数。第 1 页 共 1 页

展开阅读全文
相关资源
相关搜索

当前位置:首页 > 行业资料 > 国内外标准规范

电脑版 |金锄头文库版权所有
经营许可证:蜀ICP备13022795号 | 川公网安备 51140202000112号