ASCII 和 未压缩十进制整数算术指令 ASCII and Unpacked Decimal Arithmetic

                                未压缩的十进制数字3412             ASCII    '3412'就是字符

在内存中的表示    03 04 01 02h                                   33 34 31 32h

对乘法和除法调整只能用于 未压缩十进制数

AAA ---ASCII adjust after addition  直接对字符数字进行+   然后用该指令调整

mov    ah,0
mov    al,'8'          ;ax=0038h
add    al,'2'          ;ax=006Ah
aaa                    ;ax=0100h
or     ax,3030h        ;ax=3130h='10'

AAS ---ASCII adjust after subtraction
.data
val1 byte '8'
val2 byte '9'
.code
mov  ah,0
mov  al,val1    ;ax=0038h
sub  al,val2    ;ax=00ffh
aas             ;ax=ff09h
pushf           ;保存进位标志
or   al,30h     ;ax=ff39h
popf            ;恢复进位标志


AAM ---ASCII adjust after multiplication

.data
val byte 05h,06h
.code
mov  bl,val
mov  al,val+1
mul  bl        ;ax=001eh
aam            ;ax=0300h   将二进制转成十进制整数


AAD ---ASCII adjust before division

.data
quotient   byte ?
remainder  byte ?
.code
mov  ax,0307h     ;ax=0307h
aad               ;ax=0025h  将十进制整数转成二进制
mov  bl,5
div  bl
mov  quotient,al
mov  remainder,ah


评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值