实验2两个两位十进制数相加

  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

MOV
SUB
AL, 54H
AL, 39H ; (AL)=3BH
DAS
; (AL)=3BH-06H=35H
AAA 加法的ASCII调整指令 格式:AAA 执行操作: (AL) 把AL中的和调整到 未组合的BCD码格式
说明:执行该指令前必须执行ADD或ADC指令,加 法指令必须把两个未组合的BCD码相加,并把结果 存放在AL寄存中。 指令的调整步骤: (1)如AL寄存器中的低4位在十六进制数A~F之间或 AF为1,则 AL寄存器的内容加6,AH寄存器的内容加 1,并将AF位置1,CF位置1 (2)清除AL寄存器的高4位
AAS
减法的ASCII码调整指令 把AL中的差调整到 未组合BCD格式
格式:AAS 执行操作:(AL)
说明:执行该指令前必须执行SUB或SBB指令,减法 指令必须把两个未组合的BCD码相减,并把结果存放 在AL寄存中。
指令的调整步骤: (1)如AL寄存器中的低4位在十六进制数A~F之间或AF
为1,则 AL寄存器的内容减去6,AH寄存器的内容减1,
指令 的调整方法是: (1)如果AF标志位为1,或者AL寄存器的低4位是十 六进制的A~F,则AL寄存器的内容加06H,且将AF位 置 1; (2)如果CF 标志位为1,或者AL寄存器的高4位是十 六进制的A~F,则AL寄存器内容加60H,并将CF位置 1。
DAS
减法的十进制调整指令
格式:DAS 执行操作:(AL)
(2)非压缩的BCD码调整指令 ● AAA ● AAS 加法的ASCII码调整指令 减法的ASCII码调整指令
● AAM
● AAD
乘法的ASCII码调整指令
除法的ASCII码调整指令
DAA 加法的十进制调整指令 格式:DAA 执行操作: (AL) 把AL中的和调整到 组合的BCD码格式 说明:执行该指令前必须执行ADD或ADC指令,加法 指令必须把两个组合的BCD 码相加,并把结果存放在 AL寄存中。
数字的 ASCII 码是一种 非压缩的 BCD 码 DIGIT ASCII BCD 0 30H 0011 0000 1 31H 0011 0001 2 32H 0011 0010 … … … 9 39H 0011 1001
(1)压缩的BCD码调整指令
● DAA
● DAS
加法的十进制调整指令
减法的十进制调整指令
并将AF位置1,CF位置1
(2)清除AL寄存器的高4位
精品课件!
精品课件!
Βιβλιοθήκη Baidu
非压缩BCD运算举例:
(1) 计算6+7=? MOV AL, 06H ADD AL, 07H ; (AL)=0DH AAA ;(AH)=01H,(AL)=03H
(2)计算55-9=? MOV AH,05H MOV AL, 05H SUB AL, 09H ; (AL)=FCH , AAS ; (AH)=04H,(AL)=06H
是十六进制的A~F,则AL寄存器内容减去60H,并
将CF位置1。
压缩BCD运算举例:
(1)计算59+64=113
MOV ADD DAA AL, 59H AL, 34H ; (AL)=BDH ; BDH+06H=B3H ;B3H+60H=13H,CF=1, ;CF表示结果的百位值 (2)计算74-39=35
四、源程序(加注释) 五、实验步骤 写出上机操作的具体步骤,每一步要求仅写出具体 命令,屏幕显示信息不用写。 提示:生成EXE文件后,将EXE文件调入DEBUG调 试,用U命令查看MOV AX,XXXX(DATA)语句,即 得数据段段地址XXXX。 用G命令运行后,用D XXXX:0000 L3命令检查 DATA1、DATA2和DATA3单元的内容,要求把屏幕 显示的结果写出来,然后对实验结果进行分析,看 结果是否正确(写出在DEBUG环境下调试程序的具 体步骤)。
把AL中的差调整到 组合的 BCD码格式
说明:执行该指令前必须执行SUB或SBB指令, 减法指令必须把两个组合的BCD 码相减,并把
结果存放在AL寄存中。
指令 的调整方法是:
(1)如果AF标志位为1,或者AL寄存器的低4位是
十六进制的A~F,则AL寄存器的内容减去06H,且
将AF位置1;
(2)如果CF 标志位为1,或者AL寄存器的高4位
提示: 十进制调整指令 BCD码:用二进制编码的十进制数,又称二--十进制数 压缩的BCD码:用 4 位二进制数表示 1 位十进制数 例:( 59 )10 =( 0101 1001 )BCD=59H 非压缩的BCD码:用 8 位二进制数表示 1 位十进制数 例:( 59 )10 =( 0000 0101 0000 1001 )BCD=0509H
相关文档
最新文档