8086微处理器

8086微处理器是一个由Intel于1978年所设计的16位微处理器芯片,是x86架构的鼻祖。

2.CPU工作于最小模式时使用的引脚信号

</strong>

当引脚接高电平时,CPU工作于最小模式。此时,引脚信号24~31的含义及其功能如下。

⑴IO/M/(memoryI/Oselect):存储器、I/O端口选择控制信号。

信号指明当前CPU是选择访问存储器还是访问I/O端口。为高电平时,访问存储器,表示当前要进行CPU与存储器之间的数据传送。为低电平时,访问I/O端口,表示当前要进行CPU与I/O端口之间的数据传送。

⑵WR/(write):写信号,输出,低电平有效。

信号有效时,表明CPU正在执行写总线周期,同时由信号决定是对存储器还是对I/O端口执行写操作。

⑶INTA/(interruptacknowledge):可屏蔽中断响应信号,输出,低电平有效。

CPU通过信号对外设提出的可屏蔽中断请求做出响应。为低电平时,表示CPU已经响应外设的中断请求,即将执行中断服务程序。

⑷ALE(addresslockenable):地址锁存允许信号,输出,高电平有效。

CPU利用ALE信号可以把AD15~AD0地址/数据、A19/S6~A16/S3地址/状态线上的地址信息锁存在地址锁存器中。

⑸DT/(datatransmitorreceive):数据发送/接收信号,输出,三态。

DT/信号用来控制数据传送的方向。DT/为高电平时,CPU发送数据到存储器或I/O端口;DT/为低电平时,CPU接收来自存储器或I/O端口的数据。

⑹DEN/(dataenable):数据允许控制信号,输出,三态,低电平有效。

信号用作总线收发器的选通控制信号。当为低电平时,表明CPU进行数据的读/写操作。

⑺HOLD(busholdrequest):总线保持请求信号,输入,高电平有效。

在DMA数据传送方式中,由总线控制器8237A发出一个高电平有效的总线请求信号,通过HOLD引脚输入到CPU,请求CPU让出总线控制权。

⑻HLDA(holdacknowledge):总线保持响应信号,输出,高电平有效。

HLDA是与HOLD配合使用的联络信号。在HLDA有效期间,HLDA引脚输出一个高电平有效的响应信号,同时总线将处于浮空状态,CPU让出对总线的控制权,将其交付给申请使用总线的8237A控制器使用,总线使用完后,会使HOLD信号变为低电平,CPU又重新获得对总线的控制权。

3.CPU工作于最大模式时使用的引脚信号

</strong>

当引脚接低电平时,CPU工作于最大模式。此时,引脚信号24~31的含义及其功能如下。

⑴S2,S1,S0(statussignals):总线周期状态信号,输出,低电平有效。

它们表明当前总线周期所进行的操作类型。

⑵RQ/,GT/(request/grant):总线请求允许信号输入/总线请求允许输出信号,双向,低电平有效。

该信号用以取代最小模式时的HOLD/HLDA两个信号的功能,是特意为多处理器系统而设计的。当系统中某一部件要求获得总线控制权时,就通过此信号线向8086CPU发出总线请求信号,若CPU响应总线请求,就通过同一引脚发回响应信号,允许总线请求,表明8086CPU已放弃对总线的控制权,将总线控制权交给提出总线请求的部件使用。引脚的优先级高于。

⑶LOCK/(lock)总线封锁信号,输出,低电平有效。

信号有效时,表示此时8086CPU不允许其他总线部件占用总线。

⑷QS1,QS0(queuestatus):指令队列状态信号,输出。

QS1和QS0信号的组合可以指示总线接口部件BIU中指令队列的状态,以便其他处理器监视、跟踪指令队列的状态。

MOV

功能:把源操作数送给目的操作数

语法:MOV目的操作数,源操作数

格式:MOVr1,r2MOVr,mMOVm,rMOVr,data

XCHG

功能:交换两个操作数的数据

语法:XCHG

格式:XCHGr1,r2XCHGm,rXCHGr,m

PUSH,POP

功能:把操作数压入或取出堆栈

语法:PUSH操作数POP操作数

格式:PUSHrPUSHMPUSHdataPOPrPOPm

PUSHF,POPF,PUSHA,POPA

功能:堆栈指令群

格式:PUSHFPOPFPUSHAPOPA

LEA,LDS,LES

功能:取地址至寄存器

语法:LEAr,mLDSr,mLESr,mXLAT(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,OINC,DEC

功能:把OP的值加一或减一

语法:INCOPDECOP

格式:INCr/mDECr/m

影响标志:P,A,Z,S,O

NEG

功能:将OP的符号反相(取二进制补码)

语法:NEGOP

格式:NEGr/m

影响标志:C,P,A,Z,S,OMUL,IMUL

功能:乘法指令

语法:MULOPIMULOP

格式:MULr/mIMULr/m

影响标志:C,P,A,Z,S,O(仅IMUL会影响S标志)DⅣ,IDⅣ

功能:除法指令

语法:DⅣOPIDⅣOP

格式:DⅣr/mIDⅣr/m

CBW,CWD

功能:有符号数扩展指令

语法:CBWCWDAAA,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/dataNOTr/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,OROR,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

标志位:DCLI,STI

功能:设定中断标志

语法:CLISTI

标志位:ICMP

功能:比较OP1与OP2的值

语法:CMPr/m,r/m/data

标志位:C,P,A,Z,OJMP

功能:跳往指定地址执行

语法: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,OLODSB,LODSW,STOSB,STOSW

功能:字符串载入或存贮指令

语法:LODSBLODSWSTOSBSTOSW

标志位:无REP,REPE,REPNE

功能:重复前缀指令集

语法:REP指令SREPE指令SREPNE指令S

标志位:依指令S而定

相关词汇

I/O端口
I/O端口
中断服务程序
地址锁存器
低电平有效
总线控制器
低电平有效
多处理器系统
标志寄存器
电脑版