汇编指令手册r
一、数据传输指令r
它们在存贮器和寄存器、寄存器和输入输出端口之间传送数据r
1通用数据传送指令r
MOV 传送字或字节r
MOVSX 先符号扩展再传送r
MOVZX 先零扩展再传送r
PUSH 把字压入堆栈r
POP 把字弹出堆栈r
PUSHA 把AXCXDXBXSPBPSIDI依次压入堆栈r
POPA 把DISIBPSPBXDXCXAX依次弹出堆栈r
PUSHAD 把EAXECXEDXEBXESPEBPESIEDI依次压入堆栈r
POPAD 把EDIESIEBPESPEBXEDXECXEAX依次弹出堆栈r
BSWAP 交换32位寄存器里字节的顺序r
XCHG 交换字或字节至少有一个操作数为寄存器段寄存器不可作为操作数r
CMPXCHG比较并交换操作数第二个操作数必须为累加器ALAXEAXr
XADD 先交换再累加结果在第一个操作数里r
XLAT 字节查表转换r
──BX指向一张256字节的表的起点AL为表的索引值0255即r
0FFH返回AL为查表结果BXALALr
2输入输出端口传送指令r
IN IO端口输入语法IN累加器端口号│DXr
OUT IO端口输出语法OUT端口号│DX累加器r
输入输出端口由立即方式指定时其范围是0255由寄存器DX指定时r
其范围是065535r
3目的地址传送指令r
LEA 装入有效地址r
例LEADXstri
g 把偏移地址存到DXr
LDS 传送目标指针把指针内容装入DSr
例LDSSIstri
g 把段地址偏移地址存到DSSIr
LES 传送目标指针把指针内容装入ESr
例LESDIstri
g 把段地址偏移地址存到ESDIr
LFS 传送目标指针把指针内容装入FSr
例LFSDIstri
g 把段地址偏移地址存到FSDIr
LGS 传送目标指针把指针内容装入GSr
例LGSDIstri
g 把段地址偏移地址存到GSDIr
LSS 传送目标指针把指针内容装入SSr
例LSSDIstri
g 把段地址偏移地址存到SSDIr
4标志传送指令r
LAHF 标志寄存器传送把标志装入AHr
SAHF 标志寄存器传送把AH内容装入标志寄存器r
PUSHF 标志入栈r
POPF 标志出栈r
PUSHD 32位标志入栈r
POPD 32位标志出栈r
二、算术运算指令r
ADD 加法r
ADC 带进位加法r
INC 加1r
AAA 加法的ASCII码调整r
DAA 加法的十进制调r