主题:朋友,帮个忙吧!
yxzmarsm
[专家分:50] 发布于 2006-04-22 19:08:00
能不能告诉我AAA指令的功能呀,最好能举个例子,我找了一些资料可是都没有例子,到现在还是不怎么明白
回复列表 (共3个回复)
沙发
C语言爱好者 [专家分:19410] 发布于 2006-04-22 20:48:00
AAA是ASCII码算术指令,用于两个ASCII码表示的30h--39h之间的数字的加减,AAA对相加的结果进行调整,最后结果需要加上3030h。例如:
mov al, 31h
add al, 39h
aaa
add ax, 3030h
结果为3130h,相当于1+9=10。
板凳
Runking [专家分:370] 发布于 2006-04-22 21:05:00
aaa就是非压缩bcd码调整指令
3 楼
C语言爱好者 [专家分:19410] 发布于 2006-04-22 21:27:00
国内有些书把AAA、AAS、AAM、AAD叫做非压缩BCD码调整指令,这不太好,虽然它们的确可以用于非压缩BCD码的运算。它们的正式名称在IA32手册里面是:
5.1.3 Decimal Arithmetic Instructions
The decimal arithmetic instructions perform decimal arithmetic on binary coded decimal (BCD) data.
DAA Decimal adjust after addition
DAS Decimal adjust after subtraction
AAA ASCII adjust after addition
AAS ASCII adjust after subtraction
AAM ASCII adjust after multiplication
AAD ASCII adjust before division
我来回复