资源描述:
《常用汇编指令 大全》由会员上传分享,免费在线阅读,更多相关内容在行业资料-天天文库。
1、常用汇编指令查看文章 汇编常用指令查询2009-05-2016:50汇编常用指令查询一、数据传输指令它们在存贮器和寄存器、寄存器和输入输出端口之间传送数据.1.通用数据传送指令.MOV 双操作数指令,两个操作数中必须有一个是寄存器.MOVSX 先符号扩展,再传送.MOVZX 先零扩展,再传送.PUSH 把字压入堆栈.POP 把字弹出堆栈.PUSHA 把AX,CX,DX,BX,SP,BP,SI,DI依次压入堆栈.POPA 把DI,SI,BP,SP,BX,DX,CX,AX依次弹出堆栈.PUSHAD 把EAX,ECX,EDX,EBX,ESP,EBP,ESI,E
2、DI依次压入堆栈.POPAD 把EDI,ESI,EBP,ESP,EBX,EDX,ECX,EAX依次弹出堆栈.BSWAP 交换32位寄存器里字节的顺序XCHG 两操作数值交换.(至少有一个操作数为寄存器,段寄存器不可作为操作数)CMPXCHG比较并交换操作数.(第二个操作数必须为累加器AL/AX/EAX)XADD 先交换再累加.(结果在第一个操作数里)XLAT 字节查表转换.──BX指向一张256字节的表的起点,AL为表的索引值(0-255,即0-FFH);返回AL为查表结果.([BX+AL]->AL)2.输入输出端口传送指令.IN I/O端口输入.(语法:
3、IN累加器,{端口号│DX})OUT I/O端口输出.(语法:OUT{端口号│DX},累加器)输入输出端口由立即方式指定时,其范围是0-255;由寄存器DX指定时,其范围是0-65535.3.目的地址传送指令.LEA 装入有效地址.例:LEADX,string ;把偏移地址存到DX.LDS 传送目标指针,把指针内容装入DS.例:LDSSI,string ;把段地址:偏移地址存到DS:SI.LES 传送目标指针,把指针内容装入ES.例:LESDI,string ;把段地址:偏移地址存到ES:DI.LFS 传送目标指针,把指针内容装入FS.例:LFSDI,st
4、ring ;把段地址:偏移地址存到FS:DI.LGS 传送目标指针,把指针内容装入GS.例:LGSDI,string ;把段地址:偏移地址存到GS:DI.LSS 传送目标指针,把指针内容装入SS.例:LSSDI,string ;把段地址:偏移地址存到SS:DI.4.标志传送指令.LAHF 标志寄存器传送,把标志装入AH.SAHF 标志寄存器传送,把AH内容装入标志寄存器.PUSHF 标志入栈.POPF 标志出栈.PUSHD 32位标志入栈.POPD 32位标志出栈.二、算术运算指令1.加法指令ADD 加法.ADC 带进位加法.INC 加1.XADD
5、 交换并相加AAA 加法的ASCII码调整.DAA 加法的十进制调整.2.减法指令SUB 减法.SBB 带借位减法.DEC 减1.NEC 求反(以0减之).NEG 求补CMP 比较.(两操作数作减法,仅修改标志位,不回送结果).AAS 减法的ASCII码调整.DAS 减法的十进制调整.3.乘法指令MUL 无符号乘法.IMUL 整数乘法.以上两条乘数在AL(8位)或AX(16位)中结果回送AH和AL(字节运算),或DX和AX(字运算),AAM 乘法的ASCII码调整.4.除法指令DIV 无符号除法.IDIV 整数除法.以上两条被除数放
6、在(AX)(16位操作数)或(DX,AX)(32位)结果回送商回送AL,余数回送AH,(字节运算);或 商回送AX,余数回送DX,(字运算).AAD 除法的ASCII码调整.CBW 字节转换为字.(把AL中字节的符号扩展到AH中去)CWD 字转换为双字.(把AX中的字的符号扩展到DX中去)CWDE 字转换为双字.(把AX中的字符号扩展到EAX中去)CDQ 双字扩展. (把EAX中的字的符号扩展到EDX中去)三、逻辑运算指令AND 与运算.OR 或运算.XOR 异或运算.NOT 取反.TEST 测试.(两操作数作与运算,仅修改标志位,不回送结果
7、).SHL 逻辑左移.SAL 算术左移.(=SHL)SHR 逻辑右移.SAR 算术右移.(=SHR)ROL 循环左移.ROR 循环右移.RCL 通过进位的循环左移.RCR 通过进位的循环右移.以上八种移位指令,其移位次数可达255次.移位一次时,可直接用操作码. 如SHLAX,1.移位>1次时,则由寄存器CL给出移位次数.如 MOVCL,04SHLAX,CL四、串指令DS:SI 源串段寄存器 :源串变址.ES:DI 目标串段寄存器:目标串变址.CX 重复次数计数器.AL/AX 扫描值.D标志 0表示重复操作中SI和DI应自动增量;1表示应自动