标志寄存器(2)

滴水逆向三期-标志寄存器

ADC指令,带进位加法
格式:ADC R/M,R/M/IMM 两边不能同时为内存,宽度要一样

在这里插入图片描述
先给AL和CL付值然后一个给1一个给2 ADC后发现是4 和ADD 3不一样 多了一个1,所以定义ADC是带进位的加法,运算的指令会影响标志寄存器,高位没有溢出所以C的位置是0

SBB指令,带错位减法
格式:SSB R/M,R/M/IMM 两边不能同时为内存 宽度要一样

在这里插入图片描述
看到变成了1 和上面的原理一样
ADC的C是carry SBB的B是borrow

XCHG指令:交换数据
格式:XCHG R/M,R/M 两边不能同时为内存 宽度要一样
在这里插入图片描述
交换指令里面是不能有立即数的

MOVS指令:移动数据 内存-内存
BYTE/WORD/DWORD
可以两边都存在内存
MOVS BYTE PTR DS:[ESI],BYTE PTR DS:[ESI] 简写为:MOVSB
两边的宽度得一样
在这里插入图片描述
从DC移动到D0的值,四个字节挪过去后,ESI变了变成了E0,EDI变成了D4,他们的地址都加了4 改成word地址加2

标志寄存器的D位 direction 方向标志DF,增长方向,0的时候地址是加

STOS指令:将AL/AX/EAX的值存储到[EDI]指定内存单元
跟宽度有关
STOS BYTE PTR ES:[EDI]
EDI增长方向受位的影响

在这里插入图片描述
D位是1 然后减去了4个
REP指令:按计数寄存器ECX中指定的次数重复执行字符串指令 遍历
在这里插入图片描述
ECX中10,然后按照里面的值执行次数16次 因为里面是16进制

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值