;压缩十进制实例
;演示十进制加法
include irvine32.inc
.data
packed_1 WORD 4536h
packed_2 WORD 7270h
sum DWORD ?
.code
main PROC
;初始化和属与索引
mov sum,0
mov esi,0
;低字节相加
mov al,BYTE PTR packed_1[esi]
add al,BYTE PTR packed_2[esi]
daa ;将结果转化为压缩十进制
mov BYTE PTR sum[esi],al
;高字节相加,包括进位标志位
inc esi
mov al,BYTE PTR packed_1[esi]
adc al,BYTE PTR packed_2[esi]
daa ;将结果转化为压缩十进制
mov BYTE PTR sum[esi],al
;若还有进位,加上进位置
inc esi
mov al,0
adc al,0
mov BYTE PTR sum[esi],al
;用十六进制显示合数
mov eax,sum
call WriteHex
call Crlf
call WaitMsg
exit
main ENDP
end main
043.基于DAA指令压缩十进制数加法的演示实例
猜你喜欢
转载自blog.csdn.net/dosdiosas_/article/details/106342331
今日推荐
周排行