汇编资料

汇编常用指令

MOV(MOVe) 传送指令

PUSH 入栈指令

POP 出栈指令

XCHG(eXCHanG) 交换指令

XLAT(TRANSLATE) 换码指令

LEA (Load Effective Address) 有效地址送寄存器指令

LDS(Load DS with pointer) 指针送寄存器和DS指令

LES(Load ES with pointer) 指针送寄存器和ES指令

LAHF(Load AH with Flags) 标志位送AH指令

SAHF(Store AH into Flgs) AH送标志寄存器指令

ADD 加法指令

ADC 带进位加法指令

INC 加1指令

SUB(SUBtract) 不带借位的减法指令

SBB(SuVtrach with borrow) 带借位的减法指令

DEC(DECrement) 减1指领

NEG(NEGate) 求补指令

CMP(CoMPare) 比较指令

MUL(unsinged MULtiple) 无符号数乘法指令

IMUL(sIgned MUL tiple) 有符号数乘法指令

DIV(unsigned DIVide) 无符号数除法指令

IDIV(sIgned DIVide) 有符号数除法指令

DAA 压缩的BCD码加法十进制调整指令

DAS 压缩的BCD码减法十进制调整指令

AAA 非压缩的BCD码加法十进制调整指令

AAS 非压缩的BCD码加法十进制调整指令

AND 逻辑与指令

OR 逻辑或指令

XOR 逻辑异或指令

NOT 逻辑非指令

TEST 测试指令

SHL(SHift logical Letf) 逻辑左移指令

SHR(SHift logical Right) 逻辑右移指令

ROL(Rotate Left ) 循环左移指令

ROR(Rotate Right) 循环右移指令

RCL(Rotate Left through Carry) 带进位循环左移

RCR(Rotate Right through Carry) 带进位循环左移

MOVS(MOVe String) 串传送指令

REP(REPeat) 重复操作前缀

CLD(CLear Direction flag) 清除方向标志指令

STD(SeT Direction flag) 设置方向标志指令

CMPS(CoMPare String) 串比较指令

SCAS(SCAn String) 串扫描指令

REPE/REPZ(REPeat while Equal/Zero)相等/为零时重复操作前缀

REPNE/REPNZ(REPeat while Not Equal/Zero)不相等/不为零进重复前缀

JMP(JuMP) 无条件转移指令

JZ,JNZ,JS,JNS,JO,JNO,JP,JNP,JB,JNB,JBE,JNBE,JL,JNL,JLE,JNLE,JCXZ 条件转移指令 LOOP 循环指令P70

LOOPZ/LOOPE 为零/相等时循环指令 LOOPNZ/LOOPNE 不为零/不相等时循环指令

CALL 子程序调用指令

RET(RETun) 子程序返回指令

NOP(No OPeretion) 无操作指令

HLT(HaLT) 停机指令

OFFSET 返回偏移地址

SEG 返回段地址

EQU(=) 等值语句

DUP 操作数字段用复制操作符

SEGMENT,ENDS 段定义指令

ASSUME 段地址分配指令

ORG 起始偏移地址设置指令

$ 地址计数器的当前值

PROC,ENDP 过程定义语句

NAME,TITLE,END 程序开始结束语句

MACRO,ENDM 宏定义指令