汇编系列文章:
https://www.jianshu.com/nb/29822876
Primitive instructions
1 | MOVSB、MOVSW、MOVSD |
MOVSD
之前给ESI、EDI赋值(target在edi),之后ESI、EDI会自动加/减4(MOVSB自动加/减1)- DF用于控制方向,有CLD(clear)和STD(set),0为加
- 重复使用
rep movsd
,前面给ecx赋值
CMPSD
REPE/REPZ
、REPNE/REPNZ
,配合DF和ecx- 之后使用
ja
、jb
等
SCA..
- 类似TEST,可以使用
je
、jne
等
- 类似TEST,可以使用
STO..
- EDI中的偏移量表示一个地址,可以把AL/AX/EAX的内容写进EDI中存储的偏移量代表的内存位置中(D为destination),同时EDI会递增/递减
LOD..
- 从ESI指向的内存地址加载到AL/AX/EAX,S为source,ESI会递增/递减
二维数组
- 用基址变址操作数
[base+index]
、基址变址偏移量操作数[base+index+displacement]
或者displacement[base+index]
- 使用的是
ebx, esi
,64位用rbx, rsi
。ebx
是行首地址 STRUCT
,ENDS
定义结构体