安防监控知识
电气知识|十进制调整指令
2017-01-13  浏览:59
安防之家讯:十进制调整指令对二进制运算结果进行十进制调整,以得到十进制的运算结果。十进制在计算机中也要用二进制表示,这就是十进制编码的十进制数: BCD 码。 8086 支持压缩的 BCD 码和非压缩的 BCD 码,相应的十进制调整指令分为压缩 BCD 码调整指令和非压缩 BCD 码调整指令。

1 .压缩 BCD 码调整指令

(1)加法的十进制调整指令 DAA 语句

格式: DAA

功能:如果 AL 寄存器中低 4 位大于 9 或辅助进位( AF ) =1 ,则( AL ) = ( AL ) +6 且( AF ) =1 ;如果( AL ) >= 0A 0H 或( CF ) =1 ,则( AL ) = ( AL ) +60H 且( CF ) =1 。同时, SF 、 ZF 、 PF 均有影响。

【例】压缩 BCD 码的加法运算。

MOV AL , 68H ;( AL ) =68H ,表示压缩 BCD 码 68

MOV BL , 28H ;( BL ) =28H ,表示压缩 BCD 码 28

ADD AL , BL ;二进制加法 :( AL )=68H+28H=90H

DAA ;十进制调整:( AL ) =96H

;实现压缩 BCD 码加法: 68+28=96(2) 减法的十进制调整指令 DAS 语句

格式: DAS

功能:如果( AF ) =1 或 AL 寄存器中低 4 位大于 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 码 67

MOV BL , 28H ;(BL)=28H, 表示压缩 BCD 码 28

SUB AL , BL ; ( AL )=67H-28H=3FH

DAS ;十进制调整:( AL ) =39H;

 ;实现压缩 BCD 码减法: 67 - 28=39



2 .非压缩 BCD 码调整指令

(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 位清零。

否则:( 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

即把非压缩型十进制数变成二进制数。安防之家专注于各种家居的安防,监控,防盗,安防监控,安防器材,安防设备的新闻资讯和O2O电商导购服务,敬请登陆安防之家:http://anfang.jc68.com/
更多»您可能感兴趣的文章:
更多»有关 防盗 的产品:
  • 安防监控资讯
  • 发表评论 | 0评
  • 评论登陆
  • 移动社区 天花之家 木门之家 灯具之家 铁艺之家 幕墙之家 五金头条 楼梯头条 墙纸头条 壁纸头条 玻璃头条 老姚之家 灯饰之家 电气之家 全景头条 照明之家 防水之家 防盗之家 区快洞察 建材 枣庄建材 临沂建材 南昌建材 上饶建材 抚州建材 宜春建材 吉安建材 赣州建材 鹰潭建材 新余建材 九江建材 萍乡建材 景德镇陶瓷 石家庄建材 衡水建材 廊坊建材 沧州建材 承德建材 建材之家 企业之家 720全景
    (c)2015-2017 Bybc.cn SYSTEM All Rights Reserved