汇编
大约 1 分钟
汇编
x86汇编指令集
数据传输指令
| 指令 | 解释 |
|---|---|
| MOV | |
| PUSH | |
| POP |
算数运算指令集
| 指令 | 解释 |
|---|---|
| add | 加法 |
| sub | 减法(subtract) |
| mul | 乘法(multiply) |
| div | 除法(divide) |
逻辑运算符
| 指令 | 解释 |
|---|---|
| or | 或 |
| and | 与 |
| xor | 亦或 |
| not | 不等于 |
比较指令
| 指令 | 解释 |
|---|---|
| CMP | CMP指令主要用于比较两个操作数的大小关系,可以比较寄存器和内存单元中的值。CMP指令执行后,会将比较结果保存到标志寄存器中,但不会修改操作数的值。通常情况下,CMP指令会与条件跳转指令一起使用,根据比较结果来控制程序的执行流程。 |
| TEST | TEST指令则用于测试两个操作数的位是否都为1,可以比较寄存器和内存单元中的值。TEST指令执行后,会将比较结果保存到标志寄存器中,但不会修改操作数的值。TEST指令通常用于位操作和掩码操作,例如清除一个字节中的某些位。 |
分支跳转指令
| 指令 | 解释 |
|---|---|
| JMP | |
| JZ | |
| JE | |
| JNE |
循环指令
| 指令 | 解释 |
|---|---|
| LOOP | |
| LOOPZ | |
| LOOPNZ |
函数调用指令
| 指令 | 解释 |
|---|---|
| CALL | |
| CALL |
字符串操作指令
| 指令 | 解释 |
|---|---|
| MOVSB | |
| MOVSW | |
| SCASB | |
| SCASW |
浮点运算指令
| 指令 | 解释 |
|---|---|
| FADD | |
| FSUB | |
| FMUL | |
| FDIV |