汇编语言AAS指令:减法后的ASXII调整

< 上一页AAA指令 AAM和AAD指令下一页 >

32 位模式下,AAS(减法后的 ASCII 调整)指令紧随 SUB 或 SBB 指令之后,这两条指令执行两个非压缩十进制数的减法,并将结果保存到 AL 中。AAS 指令将 AL 转换为 ASCII 码的数字形式。

只有减法结果为负时,调整才是必需的。比如,下面的语句实现 ASCII 码 数字 8 减去 9:
.data
val1 BYTE '8'
val2 BYTE '9'
.code
mov ah, 0
mov al,val1            ; AX = 0038h
sub al,val2            ; AX = OOFFh
aas                    ; AX = FF09h
pushf                  ; 保存进位标志位
or al,30h              ; AX = FF39h
popf                   ; 恢复进位标志位
执行 SUB 指令后,AX 等于 00FFh。AAS 指令将 AL 转换为 09h,AH 减 1 等于 FFh,并且把进位标志位置 1。
< 上一页AAA指令 AAM和AAD指令下一页 >

爱面试的程序媛,一个分享面试经验的公众号。跟着站长一起学习,每天都有进步。

通俗易懂,深入浅出,定时分享程序员面试的那点事。

面试如何造火箭?工作如何拧螺丝?都在这个公号哦。

扫描二维码关注公众号,免费领取价值 1000 元的求职面试资料(限时免费)!

当你决定关注「爱面试的程序媛」,你已然超越了90%的程序员!

爱面试的程序媛二维码
微信扫描二维码关注