汇编语言笔记
汇编语言笔记
一、传送指令
1 、通用数据传送指令
| 指令 | 英文全称 |
|---|---|
| MOV | move |
| MOVSX | extended move with sign data |
| MOVZX | extended move with zero data |
| PUSH | push |
| POP | pop |
| PUSHA | push all |
| POPA | pop all |
| PUSHAD | push all data |
| POPAD | pop all data |
| BSWAP | byte swap |
| XCHG | exchange |
| CMPXCHG | compare and change |
| XADD | exchange and add |
| XLAT | translate |
2 、输入输出端口传送指令
| 指令 | 英文全称 |
|---|---|
| IN | input |
| OUT | output |
3 、目的地址传送指令
| 指令 | 英文全称 |
|---|---|
| LEA | load effective address |
| LDS | load DS |
| LES | load ES |
| LFS | load FS |
| LGS | load GS |
| LSS | load SS |
4 、标志传送指令
| 指令 | 英文全称 |
|---|---|
| LAHF | load AH from flag |
| SAHF | save AH to flag |
| PUSHF | push flag |
| POPF | pop flag |
| PUSHD | push dword flag |
| POPD | pop dword flag |
二、 运算指令
1 、算术运算指令
| 指令 | 英文全称 |
|---|---|
| ADD | add |
| ADC | add with carry |
| INC | increase 1 |
| AAA | ascii add with adjust |
| DAA | decimal add with adjust |
| SUB | substract |
| SBB | substract with borrow |
| DEC | decrease 1 |
| NEC | negative |
| CMP | compare |
| AAS | ascii adjust on substract |
| DAS | decimal adjust on substract |
| MUL | multiplication |
| IMUL | integer multiplication |
| AAM | ascii adjust on multiplication |
| DIV | divide |
| IDIV | integer divide |
| AAD | ascii adjust on divide |
| CBW | change byte to word |
| CWD | change word to double word |
| CWDE | change word to double word with sign to EAX |
| CDQ | change double word to quadrate word |
2 、逻辑运算指令
| 指令 | 英文全称 |
|---|---|
| AND | and |
| OR | or |
| XOR | xor |
| NOT | not |
| TEST | test |
| SHL | shift left |
| SAL | arithmatic shift left |
| SHR | shift right |
| SAR | arithmatic shift right |
| ROL | rotate left |
| ROR | rotate right |
| RCL | rotate left with carry |
| RCR | rotate right with carry |
三、字符串操作指令
| 指令 | 英文全称 |
|---|---|
| MOVS | move string |
| CMPS | compare string |
| SCAS | scan string |
| LODS | load string |
| STOS | store string |
| REP | repeat |
| REPE | repeat when equal |
| REPZ | repeat when zero flag |
| REPNE | repeat when not equal |
| REPNZ | repeat when zero flag |
| REPC | repeat when carry flag |
| REPNC | repeat when not carry flag |
四、程序转移指令
1 、 无条件转移指令 ( 长转移 )
| 指令 | 英文全称 |
|---|---|
| JMP | jump |
| CALL | call |
| RET | return |
| RETF | return far |
2 、 条件转移指令 ( 短转移 ,128 到 +127 的距离内 )
| 指令 | 英文全称 |
|---|---|
| JAE | jump when above or equal |
| JNB | jump when not below |
| JB | jump when below |
| JNAE | jump when not above or equal |
| JBE | jump when below or equal |
| JNA | jump when not above |
| JG | jump when greater |
| JNLE | jump when not less or equal |
| JGE | jump when greater or equal |
| JNL | jump when not less |
| JL | jump when less |
| JNGE | jump when not greater or equal |
| JLE | jump when less or equal |
| JNG | jump when not greater |
| JE | jump when equal |
| JZ | jump when has zero flag |
| JNE | jump when not equal |
| JNZ | jump when not has zero flag |
| JC | jump when has carry flag |
| JNC | jump when not has carry flag |
| JNO | jump when not has overflow flag |
| JNP | jump when not has parity flag |
| JPO | jump when parity flag is odd |
| JNS | jump when not has sign flag |
| JO | jump when has overflow flag |
| JP | jump when has parity flag |
| JPE | jump when parity flag is even |
| JS | jump when has sign flag |
3 、 循环控制指令 ( 短转移 )
| 指令 | 英文全称 |
|---|---|
| LOOP | loop |
| LOOPE | loop equal |
| LOOPZ | loop zero |
| LOOPNE | loop not equal |
| LOOPNZ | loop not zero |
| JCXZ | jump when CX is zero |
| JECXZ | jump when ECX is zero |
五 、中断指令
| 指令 | 英文全称 |
|---|---|
| INT | interrupt |
| INTO | overflow interrupt |
| IRET | interrupt return |
六、 处理器控制指令
| 指令 | 英文全称 |
|---|---|
| HLT | halt |
| WAIT | wait |
| ESC | escape |
| LOCK | lock |
| NOP | no operation |
| STC | set carry |
| CLC | clear carry |
| CMC | carry make change |
| STD | set direction |
| CLD | clear direction |
| STI | set interrupt |
| CLI | clear interrupt |
七、 伪指令
| 指令 | 英文全称 |
|---|---|
| DW | define word |
| PROC | procedure |
| ENDP | end of procedure |
| SEGMENT | segment |
| ASSUME | assume |
| ENDS | end segment |
| END | end |

All articles in this blog are licensed under CC BY-NC-SA 4.0 unless stating additionally.