汇编语言指令集

算术运算符

  • ADC:带进位加法
  • ADD:二进制数加法
  • DEC:减一
  • DIV:无符号数除法
  • IDIV:带符号数(整数)除法
  • IMUL:带符号数(整数)乘法
  • INC:加一
  • MUL:无符号书乘法
  • NEG:求补
  • SBB:带借位减法
  • SUB:二进制减法
  • XADD:交换并相加

2.ASCII-BCD转换

  • AAA:加后ASCII调整
  • AAD:除前ASCII调整
  • AAM:乘后ASCII调整
  • AAC:减后ASCII调整
  • DAA:加后十进制调整
  • DAS:减后十进制调整

3.移位

  • RCL:带进位循环左移
  • RCR:带进位循环右移
  • ROL:循环左移
  • ROR:循环右移
  • SAL:算术左移
  • SAR:算术右移
  • SHL:逻辑左移
  • SHR:逻辑右移
  • SHLD:双精度左移
  • SHRD:双精度右移

4.比较

  • BSF/BSR:位扫描
  • BT/BTC/BR/BB:位测试
  • CMP:比较
  • CMPSN:串比较
  • CMPXCHG:比较交换
  • CMPXCHG8B:比较并换?lt;br>TEST:测试位

5.数据传送

  • LDS:装如数据段寄存器
  • LEA:装入有效地址
  • LES:装入附加段寄存器
  • LODS:从串取
  • LSS:装入堆栈段寄存器
  • MOV:传送数据
  • MOVS:串传送
  • MOVSX:带符号扩展传送
  • MOVZX:带零扩展传送
  • STOS:存入串
  • XCHG:交换
  • XLAT:换码

6.标志操作

  • CLC:清除位标志
  • CLD:清除方向标志
  • CLI:清除中断标志
  • CMC:进位标志求反
  • LAHF:标志送AH
  • POPF:标志出栈
  • PUSHF:标志进栈
  • SAHF:AH送标志寄存器
  • STC:进位标志置1
  • CTD:方向标志置1
  • STI:中断标志置1

7.输入/输出

  • IN:输入字节或字
  • INSN:串输入
  • OUT:输出字节或字
  • OUTSN:穿输出

8.逻辑操作

  • AND:逻辑与
  • NOT:逻辑非
  • OR:逻辑或
  • XOR:异或

9.循环

  • LOOP:循环直到完成
  • LOOPE:相等时循环
  • LOOPZ:为零是循环
  • LOOPNE:不相等时循环
  • LOOPPNZ:不为零是循环
  • LOOPPNEW:不相等时循环
  • LOOPNZW:不为零时循环

10.处理器控制

  • HLT:进入暂停状态
  • LOCK:封锁总线
  • NOP:无操作
  • WAIT:置处理器于等待状态

11.堆栈操作

  • ENTER:建立堆栈帧
  • LEAVE:结束堆栈帧
  • POP:字出栈
  • POPF:标志出栈
  • POPA:所有通用寄存器出栈
  • PUSH:字进栈
  • PUSHA:所有通用积存器进栈
  • PUSHF:标志进栈

12.串操作

  • CMPS:串比较
  • LODS:从串取
  • MOVS:串传送
  • REP:串重复
  • REPE:相等时重复
  • REPZ:为零时重复
  • REPNE:不相等时重复
  • REPNZ:不为零时重复
  • SCAS:串扫描
  • STDS:存入串

13.转移(条件)

  • INT溢出中断
  • JA:高于则转移
  • JAE:高于或等于则转移
  • JB:低于则转移
  • JBE:低于或等于则转移
  • JC:进位为1则转移
  • JCXZ:CX为零则转移
  • JE:相等则转移
  • JG:大于则转移
  • JGE:大于或等于则转移
  • JL:小于则转移
  • JLE:小于或等于
  • JNC:进位为零则转移
  • JNE:不相等则转移
  • JNG:不大于则转移
  • JNGE:不大于或等于则转移
  • JNL:不小于则转移
  • JNLE:不小于或等于则转移
  • JNA:不高于则转移
  • JNB:不低于则转移
  • JNBE:不低于或等于则转移
  • JNAE:不高于或等于则转移
  • JN不溢出则转移
  • JNP:奇偶位为0则转移
  • JNZ:结果不为零则转移
  • JNS:结果为正则转移
  • J若溢出则转移
  • JP:奇偶位为1则转移
  • JPE:奇偶性为偶则转移
  • JP奇偶性为奇则转移
  • JS:结果为负则转移
  • JZ:结果为零则转移

14.转移(无条件)

  • CALL:调用过程
  • INT:中断
  • IRET:中断返回
  • JMP:无条件转移
  • RET:返回
  • RETN/RETF:近返回/远返回

15.类型转换

  • CBW:字节转换为字
  • CDQ:双字转换为四字
  • CWD:字转换为双字
  • CWDE:字转换为扩展

作者:spike

分类: Net

创作时间:2023-06-25

更新时间:2024-12-08

联系方式放在中括号之中例如[[email protected]],回复评论在开头加上标号例如:#1