汇编语言指令集
1.算术运算符 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:结束堆栈帧 |