8086指令.docx
- 文档编号:10447374
- 上传时间:2023-02-11
- 格式:DOCX
- 页数:14
- 大小:20.31KB
8086指令.docx
《8086指令.docx》由会员分享,可在线阅读,更多相关《8086指令.docx(14页珍藏版)》请在冰豆网上搜索。
8086指令
8086/8088汇编语言指令集2010-10-2011:
33 | (分类:
微原)
8086/8088的汇编语言指令大约有三百余条,不过有许多指令之间都是相互衍生出来的,所以8086/8088的指令记忆量并不比PIC-16系列和51系列的单片机多多少
一、数据传送指令集
MOV
功能:
把源操作数送给目的操作数
语法:
MOV目的操作数,源操作数
格式:
MOVr1,r2
MOVr,m
MOVm,r
MOVr,data
XCHG
功能:
交换两个操作数的数据
语法:
XCHG
格式:
XCHGr1,r2XCHGm,rXCHGr,m
PUSH,POP
功能:
把操作数压入或取出堆栈
语法:
PUSH操作数POP操作数
格式:
PUSHrPUSHMPUSHdataPOPrPOPm
PUSHF,POPF,PUSHA,POPA ?
功能:
堆栈指令群
格式:
PUSHFPOPFPUSHAPOPA
LEA,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,AAS)S,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/d
ataNOTr/m
影响标志:
C,O,P,Z,S(其中C与O两个标志会被设为0)NOT指令不影响任何标志位
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而定
五、EMC汇编语言指令集
符号解说:
1.符号‘R’:
代表一般用途寄存器中的其中一个。
2.符号‘B’:
代表一般用途寄存器中的某一位。
3.符号‘K’:
代表8位或10位的常数或内容。
4.符号‘A’:
代表累加寄存器。
3.2.1.面向寄存器(字节操作)型指令(26条)
助记符号指令动作标志影响指令周期语言描述
ADDA,RA+R->AZ,C,DC1ADD
ADDR,AA+R->RZ,C,DC1ADD
ANDA,RA&R->AZ1AND
ANDR,AA&R->RZ1AND
CLRR0->RZ1ClearRegister
CLRA0->AZ1CleartheAregister
COMR/R->RZ1ComplementR
助记符号指令动作标志影响指令周期语言描述
COMAR/R->AZ1ComplementR,PlaceinA
DAAA寄存器调整为BCD值C1DecimalAdjust
DECRR-1->RZ1DecrementR
DECARR-1->AZ1DecrementR,PlaceinA
DJZRR-1->R结果为零就跳过下一个指令1DecrementR,Skipif0
DJZARR-1->A结果为零就跳过下一个指令1DecrementR,PleaseinAregister,Skipif0
INCRR+1->RZ1IncrementR
INCARR+1->AZ1IncrementR,PleaseinA
JZRR+1->R,结果为零就跳过下一个指令1IncrementR,Skipif0
JZARR+1->A,结果为零就跳过下一个指令1IncrementR,PlaceintheAregiser,Skipif0
MOVR,AA->R1MoveData
MOVA,RR->AZ1MoveData
MOVR,RR->RZ1MoveData
ORA,RAORR->AZ1InclusiveOR
ORR,AAORR->RZ1InclusiveOR
SUBA,RR-A->AZ,C,DC1Subtract
SUBR,AR-A->RZ,C,DC1Subtract
XORA,RAXORR->AZ1ExclusiveOR
XORR,AAXORR->RZ1ExclusiveOR
六、面向位操作类指令(10条)
助记符号指令动作标志影响指令周期语言描述
BCR,B0->R(B)1BitClear
BSR,B1->R(B)1BitSet
JBCR,B如果R(B)=0,则跳过下一个指令1BitTest,SkipifClear
JBSR,B如果R(B)=1,则跳过下一个指令1BitTest,SkipifSet
RLCRR(N)->R(N+1)R(7)->CC->R(0)C1RotateLeftRthroughCarry
RLCARR(N)->A(N+1)R(7)->CC->A(0)C1RotateLeftRthroughCarry,PlaceintheARegister
RRCRR(N)->R(N-1)R(0)->CC->R(7)C1RotateRightRthroughCarry
RRCARR(N)->A(N-1)R(0)->CC->A(7)C1RotateRightRthroughCarry,PlaceintheARegister
SWAPRR(0-3)->R(4-7)R(4-7)->R(0-3)1SwapR
SWAPARR(0-3)->A(4-7)R(4-7)->A(0-3)1SwapR
七、常数操作和控制类指令(22条)
助记符号指令动作标志影响指令周期语言描述
ADDA,KA+K->AZ,C,DC1ADD
ANDA,KA&K->AZ1AND
CALLKPC+1->[SP](PAGE,K)->PC1SubroutineCall
CONTRCONT->A1MoveCONTtotheAregister
CONTWA->CONT1MoveAtoCONT
DISI禁止中断1DisableInterrupt
ENI使能中断1EnableInterrupt
INTPC+1->[SP]001H->PC1Softwareinterrupt
IORRIOCR->A1MoveIOCRtotheAregister
IOWRA->IOCR1MoveAtoIOCR
JMPK(PAGE,K)->PC1UnconditionalBranch
MOVA,KK->A1MoveData
NOP1NoOperation
ORA,KAORK->AZ1InclusiveOR
RET[堆栈顶端]->PC1ReturnfromSubroutine
RETI[堆栈顶端]->PC,使能中断1ReturnfromInterrupt
RETLKK->A,[堆栈顶端]->PCReturnImmediateDatatotheARegister
SLEP0->WDT,振荡器停止振荡T,P1IntoSleepmode
SUBA,KK-A->AZ,C,DC1Subtract
TBLPC+A->PCZ,C,DC2TableLookUp
WDTC0->WDTT,P1ClearWatchdogTimer
XORA,KAXORK->AZ1ExclusiveOR
8086/8088指令系统记忆表——10月28日第二次更新来源:
张克终西秦人的日志
我现将指令系统中各种助记符的英文全名写出来,各种助记符的记忆就会变得很简单o(∩_∩)o...
一、数据传送指令
1.通用数据传送指令
MOV(Move) 传送
PUSH(Push onto the stack) 进栈
POP(Pop from the stack) 出栈
XCHG(Exchange) 交换
2.累加器专用传送指令
IN(Input) 输入
OUT(Output) 输出
XLAT(Translate) 换码
3.有效地址送寄存器指令
LEA(Load effective address)有效地址送寄存器
LDS(Load DS with Pointer)指针送寄存器和DS
LES(Load ES with Pointer)指针送寄存器和ES
4.标志寄存器传送指令
LAHF(Load AH with flags)标志送AH
SAHF(store AH into flags)AH送标志寄存器
PUSHF(push the flags) 标志进栈
POPF(pop the flags) 标志出栈
二、算术指令
1.加法指令
ADD(add)加法
ADC(add with carry)带进位加法
INC(increment)加1
2.减法指令
SUB(subtract)减法
SBB(subtract with borrow)带借位减法
DEC(Decrement)减1
NEG(Negate)求补
CMP(Compare)比较
3.乘法指令
MUL(Unsigned Multiple)无符号数乘法
IMUL(Signed Multiple)带符号数乘法
4.除法指令
DIV(Unsigned divide)无符号数除法
IDIV(Signed divide)带符号数除法
CBW(Convert byte to word)字节转换为字
CWD(Contert word to double word)字转换为双字
三、逻辑指令
1.逻辑运算指令
AND(and) 逻辑与
OR(or) 逻辑或
NOT(not) 逻辑非
XOR(exclusive or)异或
TEST(test) 测试
2.移位指令
SHL(shift logical left) 逻辑左移
SAL(shift arithmetic left) 算术左移
SHR(shift logical right) 逻辑右移
SAR(shift arithmetic right) 算术右移
ROL(Rotate left)循环左移
ROR(Rotate right)循环右移
RCL(Rotate left through carry)带进位循环左移
RCR(Rotate right through carry)带进位循环右移
四、串处理指令
1.重复前端指令
REP(Repeat) 重复串操作直到(CX)=0为上
REPE(Repeat when empty) 若(CX)=0,则退出,否则CX=CX+1;
REPZ(Repeat when flag ) 若ZF=0,则退出,否则CX=CX+1;
REPC(Repeat when carry flag)
REPNE(Repeat when not empty)
REPNZ(Repeat when not zero flag)
REPNC(Repeat when not carry flag)
2.串操作指令
MOVSB (Move string of byte) 串传送指令
MOVSW(Move string of word)串传送指令
CMPSB(Compare string of byte)串比较指令
CMPSW(Compare string of word)串比较指令
SCASB(Scan string of byte)串搜索指令
SCASW(Scan string of word)串搜索指令
STOSB(Store string of byte)存串指令
STOSW(Store string of word)存串指令
LODSB(Load string of byte)取串指令
LODSW(Load string of word)取串指令
CLD(Clear direction flag)该指令使DF=0,在执行串操作指令时可使地址自动增量;
STD(Set direction flag)该指令使DF=1,在执行串操作指令时可使地址自动减量.
DAA(Decimal adjust after addition) 组合BCD码的加法调整指令
DAS(Decimal adjust after substract) 组合BCD码的减法调整指令
AAA(ASCII adjust after addition) 非压缩BCD码加法调成指令
AAS(ASCII adjust after substract) 非压缩BCD码减法调成指令
AAM(ASCII adjust after multiple) 非压缩BCD码乘法调成指令
AAD(ASCII adjust after divid) 非压缩BCD码除法调成指令
五、控制转移指令
1.无条件转移指令
JMP(jmp) 跳转指令
2.条件转移指令
(1)根据单个条件标志的设置情况转移
JZ(或JE)(Jump if zero,or equal) 结果为零(或相等)则转移
JS(Jump if sign) 结果为负则转移
JNS(Jump if not sign) 结果为正则转移
JO(Jump if overflow) 溢出则转移
JNO(Jump if not overflow) 不溢出则转移
JNP(或JPO)(Jump if not parity,or parity odd) 奇偶位为0则转移
JP(或JPE)(Jump if parity,or parity even) 奇偶位为1则转移
JB(或JNAE,JC)(Jump if below,or not above or equal,or carry)低于,或者不高于或等于,或进位位为1则转移
JNB(或JAE,JNC)(Jump if not below,or above or equal,or not carry)不低于,或者高于或者等于,或进位位为0则转移
(2)比较两个无符号数,并根据比较的结果转移
JB(或JNAE,JC)
JNB(或JAE,JNC)
JBE(或JNA)(Jump if below or equal,or not above)低于或等于,或不高于则转移
JNBE(或JA)(Jump if not below or equal,or above)不低于或等于,或者高于则转移
(3)比较两个带符号数,并根据比较的结果转移
JL(或LNGE)(Jump if less,or not greater or equal)小于,或者不大于或者等于则转移
JNL(或JGE)(Jump if not less,or greater or equal)不小于,或者大于或者等于则转移
JLE(或JNG)(Jump if less or equal,or not greater)小于或等于,或者不大于则转移
JNLE(或JG)(Jump if not less or equal,or greater)不小于或等于,或者大于则转移
(4)测试CX的值为0则转移指令
JCXZ(Jump if CX register is zero) CX寄存器
3.循环指令
LOOP(loop) 循环指令
4.子程序
CALL(call) 调用指令
RET(return) 返回指令
5.中断
INT(in
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 8086 指令