汇编 Day5 (CPU的存储模式)
大端模式:数据高位在低位,数据低位在高位
小端模式:数据高位在高位,数据低位在低位
如何查看自己电脑是 大端模式 还是 小端模式
常用汇编指令
MOV 指令
格式 | 含义 |
---|---|
mov r/m8,r8 | r 通用寄存器 |
mov r/m16,r16 | m 代表内存 |
mov r/m32,r32 | imm 代表立即数 |
mov r8,r/m8 | r8 代表8位通用寄存器 |
mov r16,r/m16 | m8 代表8位内存 |
mov r32,r/m32 | imm 代表8位立即数 |
mov r8,imm8 | |
mov r16,imm16 | |
mov r32,imm32 |
ADD 指令
格式 |
---|
add r/m8,r8 |
add r/m16,r16 |
add r/m32,r32 |
add r8,r/m8 |
add r16,r/m16 |
add r32,r/m32 |
add r8,imm8 |
add r16,imm16 |
add r32,imm32 |
add r/m16,imm8 |
add r/m32,imm8 |
SUB 指令
格式 |
---|
sub r/m8,r8 |
sub r/m16,r16 |
sub r/m32,r32 |
sub r8,r/m8 |
sub r16,r/m16 |
sub r32,r/m32 |
sub r8,imm8 |
sub r16,imm16 |
sub r32,imm32 |
sub r/m16,imm8 |
sub r/m32,imm8 |
AND指令
OR指令
XOR指令
…
NOT指令
格式 |
---|
not r/m8 |
not r/m16 |
not r/m32 |
MOVS指令 ( 数据移动 内存 – 内存 )
格式 |
---|
movs byet ptr es:[edi] ,byet ptr es:[esi] |
movs word ptr es:[edi] ,word ptr es:[esi] |
movs dword ptr es:[edi] , dword ptr es:[esi] |
每当执行一次MOVS指令时,edi,esi寄存器里的内存地址也会加上被复制内存的地址大小
STOS指令 ( 将AL/AX/EAX的值存储到[EDI]指定的内存单元 )
格式 |
---|
stos byet ptr es:[edi] ,byet ptr es:[esi] |
stos word ptr es:[edi] ,word ptr es:[esi] |
stos dword ptr es:[edi] , dword ptr es:[esi] |
REP指令 (按计数寄存器(ECX)中指定的次数重复执行指令)
MOV ECX,10
REP MOVSD
REP STOSD
...