汇编指令集.docx
- 文档编号:3982058
- 上传时间:2022-11-26
- 格式:DOCX
- 页数:7
- 大小:16.94KB
汇编指令集.docx
《汇编指令集.docx》由会员分享,可在线阅读,更多相关《汇编指令集.docx(7页珍藏版)》请在冰豆网上搜索。
汇编指令集
IBM-PC汇编语言指令集
数据传送指令集
MOV
功能:
把源操作数送给目的操作数
语法:
MOV目的操作数,源操作数
格式:
MOVr1,r2
MOVr,m
MOVm,r
MOVr,data
XCHG
功能:
交换两个操作数的数据
语法:
XCHG
格式:
XCHGr1,r2XCHGm,rXCHGr,mPUSH,POP
功能:
把操作数压入或取出堆栈
语法:
PUSH操作数POP操作数
格式:
PUSHrPUSHMPUSHdataPOPrPOPmPUSHF,POPF,PUSHA,POPA
功能:
堆栈指令群
格式:
PUSHFPOPFPUSHAPOPALEA,LDS,LES
功能:
取地址至寄存器
语法:
LEAr,mLDSr,mLESr,m
XLAT(XLATB
功能:
查表指令
语法:
XLATXLATm
算数运算指令
ADD,ADC
功能:
加法指令
语法:
ADDOP1,OP2ADCOP1,OP2
格式:
ADDr1,r2ADDr,mADDm,rADDr,data影响标志:
C,P,A,Z,S,O
SUB,SBB
功能:
减法指令
语法:
SUBOP1,OP2SBBOP1,OP2
格式:
SUBr1,r2SUBr,mSUBm,rSUBr,dataSUBm,data
影响标志:
C,P,A,Z,S,O
INC,DEC
功能:
把OP的值加一或减一
语法:
INCOPDECOP
格式:
INCr/mDECr/m
影响标志:
P,A,Z,S,O
NEG
功能:
将OP的符号反相(取二进制补码
语法:
NEGOP
格式:
NEGr/m
影响标志:
C,P,A,Z,S,O
MUL,IMUL
功能:
乘法指令
语法:
MULOPIMULOP
格式:
MULr/mIMULr/m
影响标志:
C,P,A,Z,S,O(仅IMUL会影响S标志
DIV,IDIV
功能:
除法指令
语法:
DIVOPIDIVOP
格式:
DIVr/mIDIVr/m
CBW,CWD
功能:
有符号数扩展指令
语法:
CBWCWD
AAA,AAS,AAM,AAD
功能:
非压BCD码运算调整指令
语法:
AAAAASAAMAAD
影响标志:
A,C(AAA,AASS,Z,P(AAM,AAD
DAA,DAS
功能:
压缩BCD码调整指令
语法:
DAADAS
影响标志:
C,P,A,Z,S
位运算指令集
AND,OR,XOR,NOT,TEST
功能:
执行BIT与BIT之间的逻辑运算
语法:
ANDr/m,r/m/dataORr/m,r/m/dataXORr/m,r/m/dataTESTr/m,r/m/dataNOTr/m
影响标志:
C,O,P,Z,S(其中C与O两个标志会被设为0NOT指令不影响任何标志位
SHR,SHL,SAR,SAL
功能:
移位指令
语法:
SHRr/m,data/CLSHLr/m,data/CLSARr/m,data/CLSALr/m,data/CL影响标志:
C,P,Z,S,O
ROR,ROL,RCR,RCL
功能:
循环移位指令
语法:
RORr/m,data/CLROLr/m,data/CLRCRr/m,data/CLRCLr/m,data/CL影响标志:
C,P,Z,S,O
程序流程控制指令集
CLC,STC,CMC
功能:
设定进位标志
语法:
CLCSTCCMC
标志位:
C
CLD,STD
功能:
设定方向标志
语法:
CLDSTD
标志位:
D
CLI,STI
功能:
设定中断标志
语法:
CLISTI
标志位:
I
CMP
功能:
比较OP1与OP2的值
语法:
CMPr/m,r/m/data
标志位:
C,P,A,Z,O
JMP
功能:
跳往指定地址执行
语法:
JMP地址
JXX
功能:
当特定条件成立则跳往指定地址执行
语法:
JXX地址
注:
A:
ABOVE,当C=0,Z=0时成立
B:
BELOW,当C=1时成立
C:
CARRY,当弁时成立CXZ:
CX寄存器的值为0(ZERO时成立
E:
EQUAL,当Z=1时成立
G:
GREATER(大于,当Z=0且S=0时成立
L:
LESS(小于,当S不为零时成立
N:
NOT(相反条件,需和其它符号配合使用
O:
OVERFLOW,O=1时成立
P:
PARITY,P=1时成立
PE:
PARITYEVEN,P=1时成立
PO:
PARITYODD,P=0时成立
S:
SIGN,S=1时成立
Z:
ZERO,Z=1时成立
LOOP
功能:
循环指令集
语法:
LOOP地址
LOOPE(Z
地址LOOPNE(Z地址
标志位:
无
CALL,RET
功能:
子程序调用,返回指令
语法:
CALL地址RETRETn
标志位:
无
INT,IRET
功能:
中断调用及返回指令
语法:
INTnIRET
标志位:
在执行INT时,CPU会自动将标志寄存器的值入栈,在执行IRET时则会将堆栈中的标志值弹回寄存器
字符串操作指令集
MOVSB,MOVSW,MOVSD
功能:
字符串传送指令
语法:
MOVSBMOVSWMOVSD
标志位:
无
CMPSB,CMPSW,CMPSD
功能:
字符串比较指令
语法:
CMPSBCMPSWCMPSD
标志位:
C,P,Z,S,O
SCASB,SCASW
功能:
字符串搜索指令
语法:
SCASBSCASW
标志位:
C,P,Z,S,O
LODSB,LODSW,STOSB,STOSW
功能:
字符串载入或存贮指令
语法:
LODSBLODSWSTOSBSTOSW
标志位:
无
REP,REPE,REPNE
功能:
重复前缀指令集
语法:
REP指令SREPE指令SREPNE指令S
标志位:
依指令S而定
对于IBMPC机它有它的指令系统,其中包括:
数据传送指令、串处理指令、算术指令、控制移动指令、逻辑指令、处理机控制指令。
这里将简单介绍其指令类型及指令说明,如有要求给具体的指令格式及应用,请与amay联系,amay加以更新。
1数据传送指令:
负责把数据、地址或立即数传送到寄存器或存储单元中。
数据传送指令类型指令说明
通用数据传送指令MOV(传送、PUSH(进栈、POP(出栈、XCHG(交换
累加器专用传送指令IN(输入指令、OUT(输入指令
地址传送指令LEA(有效地址送寄存器、LDS(指针送寄存器和DS、LES(指针送寄存器和ES
标志寄存器传送指令LAHF(标志送AH、SAHF(AH送标志寄存器、PUSHF(标志进栈、POPF(标志出栈
2算术指令:
用来执行算术运算。
算术指令类型指令说明
加法指令ADD(加法、ADC(带进位加法、INC(加1
减法指令SUB(减法、SBB(带借位减法、DEC(减1、NEG(求补、CMP(比较
乘法指令MUL(无符号数乘法、IMUL(带符号数乘法
除法指令DIV(无符号数除法、IDIV(带符号数除法、CBW(字节转换为字、CWD(字转换为双字
3逻辑指令:
对字或字节执行逻辑运算。
逻辑指令类型指令说明
逻辑运算指令AND(逻辑与、OR(逻辑或、NOT(逻辑非、XOR(异或、TEST(测试
移动指令SHL(逻辑左移、SAL(算术左移、SHR(逻辑右移、SAR(算术右移、ROL(循环左移、ROR(循环右移、RCL(带进位循环左移、RCR(带进位右移
4串处理指令:
处理存放存储器里的数据串。
串处理指令类型指令说明
指令MOVS(串传送、CMPS(串比较、SCAS(串扫描、LODS(从串取、STOS(存入串
5控制转移指令:
用来控制程序的执行流程。
控制转移指令类型指令说明
无条件转移指令JMP(段间和段内转移)条件转移指令JZ(结果为0(或相等)则转移)、JS(结果为负则转移)、JNS(结果为正则转移)、JO(溢出则转移)、JNO(不溢出则转移)、JP(奇偶位为1则转移)、JNP(奇偶位为0则转移)循环指令LOOP(循环指令)LOOPPZ/LOOPE、(当为0或相等时循环指令)、LOOPNZ/LOOPNE(当不为0或不相等时循环指令)子程序指令CALL(调用指令)、RET(返回指令)中断指令INT(中断)、INTO(如溢出则中断)、RIET(从中断返回)
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 汇编 指令