AT&T ASM 学习7

-----------------------------------------

整数运算

-----------------------------------------

加法:

addx

adcx            #带进位处理,多字节加法

-----------------------------------------

xor指令清零

-----------------------------------------

减法:

subx

对于无符号整数相减使用进位标志来判断是否为负数

对于有符号整数相减使用溢出标志来检测溢出情况

sbbx           #带借位处理,多字节减法

-----------------------------------------

inc     递增

dec   递减

-----------------------------------------

乘法:

mul               #占用eax,edx,只能用于无符号数

imul               #可用于无符号数和有符号数

-----------------------------------------

除法:

div               #占用eax,edx,只能用于无符号数

idiv               #可用于无符号数和有符号数

结果包括商和余数

-----------------------------------------

移位:

---------------

左移

salx        #向左算术移位

shlx        #向左逻辑移位,结果与salx一样

移出的位保存在进位标志,移进的位补0

---------------

右移

sarx        #向右算术移位,移进的位补符号位

shrx        #向右逻辑移位,移进的位补0

移出的位保存在进位标志

---------------

循环移位

rol

ror

rcl             #进位标志位也作为其中一位

rcr             #进位标志位也作为其中一位

-----------------------------------------

十进制运算:

---------------

不打包BCD的运算

aaa       处理加法操作的结果

aas       处理减法操作的结果

aam      处理乘法操作的结果

aad      处理除法操作的结果

与add,adc,sub,sbb,mul,div组合使用

---------------

打包BCD的运算

daa            处理加法操作的结果

das            处理减法操作的结果

-----------------------------------------

逻辑操作:

---------------

布尔逻辑:按位操作

and

not

or

xor               #快速清0

---------------

位测试

test        按位与操作(and),不改变目标对象的值       #常用于测试eflags寄存器的值

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值