x86 汇编 BCD 码调整指令详解 在 x86 汇编语言中,BCD 码调整指令是一种重要的指令,用于调整二进制编码十进制数(BCD 码)的值,以便正确地进行十进制数的运算。下面详细介绍五种常用的 BCD 码调整指令:AAA、AAS、AAM、AAD 和 DAA/DAS。 1. ASCII 码加调整指令 AAA AAA 指令用于调整 AL 之值,该值是二个 ASCII 码字节相加之和。其调整规则如下:若 AL 的低四位大于 9,或标志位 AF=1,则,AH=AH+1,AL=AL+6,并置 AF 和 CF 为 1,否则,只置 AF 和 CF 为 0;清除 AL 的高四位。例如,编写一段程序,完成二个 15 位十进制数 X 和 Y 之和,并把计算结果存入 X 之中。 2. ASCII 码减调整指令 AAS AAS 指令用于调整 AL 之值,该值是二个 ASCII 码字节相减之差。其调整规则如下:若 AL 的低四位大于 9,或标志位 CF=1,则,AH=AH-1,AL=AL-6,并置 AF 和 CF 为 1,否则,只置 AF 和 CF 为 0;清除 AL 的高四位。 3. ASCII 码乘调整指令 AAM AAM 指令用于调整寄存器 AL 之值,该值是由二个单 BCD 码字节用无符号乘指令 MUL 所得的积。其调整规则如下:AH←AL/10(商),AL←AL%10(余数)。 4. ASCII 码除调整指令 AAD AAD 指令是在作除法前用于调整寄存器 AH 和 AL 之值,它是把二个寄存器中单 BCD 码组成一个十进制数值,为下面的除法作准备的。其调整规则如下:AL←AH*10+AL,AH←0。 5. 十进制数加调整指令 DAA DAA 指令是用于调整 AL 的值,该值是由指令 ADD 或 ADC 运算二个压缩型 BCD 码所得到的结果。压缩型 BCD 码是一个字节存放二个 BCD 码,低四位和高四位都是一个 BCD 码。其调整规则如下:如果 AL 的低四位大于 9,或标志位 AF=1,那么,AL=AL+6,并置 AF=1;如果 AL 的高四位大于 9,或 CF=1,那么,AL=AL+60H,并置 CF=1;如果以上两点都不成立,则,清除标志位 AF 和 CF。 6. 十进制数减调整指令 DAS DAS 指令也是用于调整 AL 的值,该值是由指令 SUB 或 SBB 运算二个压缩型 BCD 码所得到的结果。其调整规则与 DAA 指令相似。 BCD 码调整指令是 x86 汇编语言中非常重要的一部分,正确地使用这些指令可以确保十进制数的运算结果正确。
- longnovas2012-02-22内容太过简单了,只有5页,根本不值5分
- 粉丝: 5
- 资源: 34
- 我的内容管理 展开
- 我的资源 快来上传第一个资源
- 我的收益 登录查看自己的收益
- 我的积分 登录查看自己的积分
- 我的C币 登录后查看C币余额
- 我的收藏
- 我的下载
- 下载帮助
最新资源
- 厚壁压力容器的焊接质量控制.pdf
- 厚壁管焊接接头中间射线检验技术.pdf
- 厚大件35CrMo的焊接 - .pdf
- 厚钢板对接焊接三维有限元数值模拟与分析- .pdf
- 弧形闸门安装施工中的焊接变形控制.pdf
- 华恒机器人焊接系统应用 - .pdf
- 化工工程中现场设备与工艺管道的焊接质量控制.pdf
- 化工设备安装中焊接质量控制.pdf
- 化工焊工工艺学.pdf
- 换热器高压外壳的焊接.pdf
- 换热管-管板焊接接头射线照像技术试验研究.pdf
- 化工用厚壁铜管件焊接裂纹及质量控制研究.pdf
- 换热管与管板的焊接工艺规程.pdf
- 换热器管板堆焊的焊接操作和变形控制 - .pdf
- 换热器管板先胀后焊的焊接工艺.pdf
- 换热器管板焊接变形的控制.pdf