当前位置:文档之家› 微机原理与接口技术

微机原理与接口技术

微机原理与接口技术
微机原理与接口技术

第二章 8086系统结构

一、 8086CPU 的内部结构

1.总线接口部件BIU (Bus Interface Unit )

组成:20位地址加法器,专用寄存器组,6字节指令队列,总线控制电路。

作用:负责从内存指定单元中取出指令,送入指令流队列中排队;取出指令所需的操作 数送EU 单元去执行。

工作过程:由段寄存器与IP 形成20位物理地址送地址总线,由总线控制电路发出存储器“读”信号,按给定的地址从存储器中取出指令,送到指令队列中等待执行。

*当指令队列有2个或2个以上的字节空余时,BIU 自动将指令取到指令队列中。若遇到转移指令等,则将指令队列清空,BIU 重新取新地址中的指令代码,送入指令队列。

*指令指针IP 由BIU 自动修改,IP 总是指向下一条将要执行指令的地址。

2.指令执行部件EU (Exection Unit)

组成:算术逻辑单元(ALU ),标志寄存器(FR ),通用寄存器,EU 控制系统等。

作用:负责指令的执行,完成指令的操作。

工作过程:从队列中取得指令,进行译码,根据指令要求向EU 内部各部件发出控制命令,完成执行指令的功能。若执行指令需要访问存储器或I/O 端口,则EU 将操作数的偏移地址送给BIU ,由BIU 取得操作数送给EU 。

二、 8088/8086的寄存器结构

标志寄存器

ALU DI DH SP SI BP DL AL AH BL BH CL CH ES SS DS CS 内部暂存器输入 / 输出控制 电路1432EU 控制系

统20位16位8086总线指令 队列总线 接口单元执行 单元

6

516位 属第三代微处理器 运算能力: 数据总线:DB

1.通用寄存器

①4个16位的数据寄存器(AX,BX,CX,DX)除了可存放数据和地址作用外,各寄存器还有其

特殊用途

●AX(Accumulator register,累加器)一般用来存放参加运算的数据和结果,在乘除法运算、I/O

操作、BCD数运算中有不可替代的作用

●BX(Base register,基址寄存器)除可作为数据寄存器外,还可存放内存的逻辑偏移地址,而AX,

CX,DX则不能

●CX(Counter,数据寄存器)它既可作为数据寄存器,又可在串指令和移位指令中作为计数用

●DX(Data register,数据寄存器)除可作为通用数据寄存器外,还在乘除法运算、带符号数的扩

展指令中有特殊用途。

通用寄存器:既可作为16位寄存器也可作为8位寄存器(分为高八位AH,BH,CH,DH和低八位AL,BL,CL,DL)。(例:AH,AL) 8bit寄存器只能存放数据。

*通用性强,对任何指令都具有相同的功能

②另外4个16位寄存器主要用来存放存储器或I/O端口的地址

●SI(Source Index,源变址寄存器)多用于存放内存的逻辑偏移地址(隐含的逻辑段地址在数据段寄存

器中),也可存放数据。

●DI(Destination Index,目标变址寄存器)多用于存放内存的逻辑偏移地址(隐含的逻辑段地址在数

据段寄存器中),也可存放数据。

●BP(Base Pointer,基址指针)用于存放内存的逻辑偏移地址(隐含的逻辑段地址在堆栈段寄存器中)。

●SP(Stack Pointer,堆栈指针)用于存放栈顶的逻辑偏移地址(隐含的逻辑段地址在堆栈段寄存器

中)。

* BP,SP寄存器称为指针寄存器,与SS联用。

* DI,SI寄存器称为变址寄存器,与DS联用,在串指令中,SI,DI均为隐含寻址,此时,SI 与DS联用, DI与ES联用。

2.状态(标志)寄存器PSW

PSW 是一个16位的专用寄存器(6位状态位,3位控制位)存放运算结果的特征。

D15 D14 OF DF IF TF SF ZF AF PF CF

CF(Carry Flag,进位标志):当运算结果的最高位(D7/D15)出现进位(借位)时,CF=1;

PF(Parity Flag,奇偶校验标志):当运算结果中“1”的个数为偶数时,PF=1;

AF(Auxiliary Flag,辅助进位标志):当结果的D3向D4(低位字节)出现进位(借位)时,AF=1;

ZF (Zwro Flag,零标志):当运算结果为零时,ZF=1;

SF (Sign Flag,符号标志):当运算结果的最高位D7/D15为1时,SF=1;

OF (Overflow Flag,溢出标志):当运算结果超过机器所能表示的范围时,OF=1;

IF (Interrrupt Flag,中断允许标志): IF=1,允许CPU响应外部的可屏蔽中断;

DF(Direction Flag,方向标志):在字符串操作时,决定操作数地址调整的方向,DF=1,为递减;

TF (Trap Flag,陷阱标志):当TF=1,CPU每执行一条指令便自动产生一个内部中断,

在中断服务程序中可检查指令执行情况。

3.段寄存器

8086/8088按信息存储的不同性质分为四类,分别由四个段寄存器存放该段的首地址,或称为段地址。*CS(Code Segment,代码段寄存器)存放程序代码段起始地址的高16位。指向当前的代码段,指令由此段取出;

*SS (Stack Segment,堆栈段寄存器)存放数据段起始地址的高16位。指向当前的堆栈段,栈操作的对象是该段存储单元的内容;

*DS(Data Segment,数据段寄存器)存放堆栈段起始地址的高16位。指向当前的数据段,该段中存放程序的操作数;

*ES (Extended Segment,附加段寄存器)存放扩展数据段起始地址的高16位。指向当前的附加段,主要用于字符串数据的存放,也可以用于一般数据的存放。

4.指令指针

指令指针( I P )是一个16位的专用寄存器。当BIU从内存中取出一条指令,自动修改IP,始终指向下一条将要执行的指令在现行代码段中的偏移量。 8086/8088中的某些指令执行后会改变IP的内容,但用户不能编写指令直接改变IP 的内容。

* I P是指令地址在代码段内的偏移量(又称偏移地址),IP要与CS配合构成共同物理地址。

三、8088/8086的引脚及功能

1、8086最小模式下的引脚定义

●RD(三态Out) :读信号,低电平有效

●WR (三态Out):写选通信号,低电平有效

●INTR (In) :可屏蔽中断请求线,高电平有效

●RESET (In) :复位信号,高电平有效(至少保持个时钟周期)。

●READY (In):准备好信号,高电平有效。处理器与存储器及 I/O接口速度同步的控制信号

●MN/MX(In):最大/最小工作模式选择信号。硬件设计者用来决定8086工作模式, MN/MX# =1 8086

为最小模式, MN/MX# =0 8086为最大模式。

●ALE (O) :地址锁存允许信号

●INTA(O) :最小模式下的中断响应信号。

●Vcc GND(In): 处理器的电源引脚

●CLK (In) : 时钟信号,处理器基本定时脉冲

两种不同模式的主要区别体现在8086CPU的第24至31号管脚具有不同功能

四、8086存储器组织

1.存储器地址的分段

矛盾:存储器地址空间1MB ,20bit 地址线;内部各寄存器和数据总线均

为16bit 。 解决方法:将整个存储器分为若干个逻辑段,每段内地址16bit ,即最多 地址空间64KB 。 允许各逻辑段在整个存储空间浮动 。 每个段的首地址称为“段基值”, “段基值”必须能被16整除 (XXXX0H )

程序执行前,分别对相应的段寄存器CS ,DS ,SS ,ES 置“段基值”,

若程序长度大于64KB ,则可通过对CS 送新的“段基值” 将程序转移到新段中。 例如:8086复位后物理地址的形成:

物理地址=段基址*16+段内偏移地址

PC 启动地址=CS*16+IP=FFFF0H+0000H = FFFF0H

2、8086存储器的分体结构

存储器二个连续字节组成一个字,一个字中的每一个字节都有各自的字节地址。存入时以低位字节在低地址,高位字节在高地址的次序存放,字单元的地址以低位地址表示。若要求8086在一个总线周期访问一个整字(16位)时,则该字的地址为偶地址(“对准好”的字)。如果则该字的地址为奇地址(“未对准好”的字),则8086要用两个连续的总线周期访问一个整字,每个周期访问一个字节。 BHE A0 操作 总线使用情况

0 0 从偶地址开始读/写一个字 AD15--AD0

0 1 从奇地址开始读/写一个字节 AD15--AD8

1 0 从偶地址开始读/写一个字节 AD7--AD0

0 1 1 0 从奇地址开始读/写一个字(分两次读)

1 1 无效

3、堆栈的概念

① 堆栈是利用RAM 区中某一指定区域(由用户规定),用来暂存数据或地址的存储区。 堆栈段是由段定义语句在内存中定义的一个段,段基址由SS 指定。

② 堆栈存取数据的原则是“先进后出”,存取数据的方法是压入(PUSH)和弹出(POP)。

③ 堆栈区的栈底是固定的最高地址,其栈顶根据堆栈数据的压入或取出的变化不断改变。栈顶是堆栈区的最低地址,用堆栈指针SP 指示。

④ 每执行一条PUSH 指令, SP =(SP)-2,向堆栈压入16bit 数据。

每执行一条POP 指令,从堆栈弹出16bit 数据, SP =(SP)+2。

第三章 8086/8088的指令系统

段 1段 2段 16

段 300000H

0FFFFH 10000H 1FFFFH 20000H 2FFFFH F0000H

FFFFFH

一、8086的寻址方式

●计算机的指令一般由操作码和操作数组成,操作码规定了指令的功能;而操作数则规定了指令

操作的对象。操作数可以以立即数的形式存放在指令中,但在大多数情况下,操作数是以地址的形式存放在指令(指示操作数在哪儿)。用于说明操作数所在地址的方法称为寻址方式。

●在微机中,操作数存放在: 1、在指令中;2、在CPU的某一内部寄存器中;3、在内存的数

据区中;4、I/O端口。

●在8086CPU中,内存地址是由数据段地址和段内偏移量组成。而指令中规定的地址即为段内偏

移量(逻辑地址)——有效地址EA,有效地址EA构成的方法不同,则为不同的寻址方式。

MOV 目的操作数,源操作数

目的操作数和源操作数均可采用不同的寻址方式,但两个操作数的类型必须一致

①立即寻址方式:操作数(8位或16的常数)直接包含在指令中,紧跟在操作码后面,与操作码一起放在代码段区域中。操作数im既可是8位的,也可是16位的。

例:MOV AL,26H(把26H送到AL中)

②寄存器寻址:操作数放在指令规定的寄存器中。

例 MOV DS,AX(把AX的内容传送到了DS)

③直接寻址方式:操作数的有效地址EA是指令的一部分,它与操作码一起放在代码段区域中。操作数的物理地址为数据段寄存器DS加上16位地址偏移量。

例:MOV AX, [3E4CH](物理地址为DS*10H+3E4CH) MOV [3E4CH],AX

MOV ES:AX, [3E4CH](物理地址为ES*10H+3E4CH)

④寄存器间接寻址方式:先将被访问内存单元的逻辑偏移地址传送给寄存器,在指令中再由寄存器给出被访问的内存单元的逻辑偏移地址

例 MOV SI,61A8H MOV DX,[SI] 第一条将偏移地址传送给寄存器SI,第二条指令采用寄存

器间接寻址方式给出逻辑偏移地址

说明:若没有声明,操作数在数据段DS中:则以寄存器BX、SI或DI间接寻址。操作数在堆栈段SS中:则以寄存器BP、SP间接寻址。

⑤基址变址寻址方式:操作数在存储单元中。操作数的有效地址是一个基址寄存器(BX或BP)称基址寻址和一个变址寄存器(SI或DI)称变址寻址的内容之和,两个寄存器均由指令指定。一般由基址寄存器决定所使用的段寄存器。

若指令指定的寄存器是BX,段寄存器使用DS;

物理地址=16×DS+BX+SI 或=16×DS+BX+DI

若指令指定的寄存器是BP,则段寄存器使用SS。

物理地址=16×SS+BP+SI 或=16×SS+BP+DI

例 MOV CX,36H[BX] (EA为36H+BX 物理地址为DS*10H+36H+BX) MOV -20[BP],AL (EA为

BP-14H 物理地址为SS*10H-14H+BP)

⑥基址+变址寻址

例: MOV AX,COUNT [BX] [SI]

若: DS=3000H,SI=0300H,BX=1500H,COUNT =0200H,(31A00H)=26BFH

则:物理地址=16×DS+BX+SI+ COUNT = 31A00H AX=26BFH

若指令指定的寄存器是BP,则段寄存器使用SS

物理地址=16×SS+BP+SI +8位或16位位移量或=16×SS+BP+DI +8位或16位位移量

需说明的几个问题

1、指令中使用方括号的地址表达式必须遵循下列规则:

* 立即数可以出现在方括号内,表示直接地址;

* 只有SI、BP、DI、BX可以出现在方括号内,它们可以单独出现,也可以相加后出现,或以寄存器与立即数相加的形式出现,但BX和BP或SI和DI不能同时出现在同一个[ ] 内,SI和DI也不能同时出现;

* 方括号有相加的含义,下面几种写法都是等价的:

1200[BX][SI] [BX+1200][SI] [BX+ SI +1200]

* 方括号内包含BP,则隐含使用SS提供基地址;其余情况均使用DS提供基地址。

2、段超越:在8088系统中,数据通常在数据段中,但若需要,数据也可存放在码段,堆栈段以及附加

段中,这种情况就是段超越。应用时,需在指令中加以说明。

例:MOV AX,ES:[0500H] (ES表示数据在附加段中; " :" 是修改属性运算符。) 存储器操作的类型约定段允许超越段逻辑地址取指令CS无IP 堆栈操作SS无SP 通用数据读写DS CS、ES、SS EA 源数据串DS CS、ES、SS SI 目的数据串ES无DI 用BP作为基寄存器SS CS、DS、ES EA

3、其它寻址方式

(1)隐含寻址:指令中不指明操作数

(2)I/O端口寻址:8086有直接端口寻址和间接端口寻址两种方式,端口寻址范围分别为0-0FFH和0 -FFFFH。

(3)转移类指令寻址

(4)一条指令有几种寻址方式

二、8086的指令系统

一、数据传送指令

(一)通用传送指令

1、 MOV 目的操作数,源操作数

功能:将源操作数的一个字节(B)或一个字(W)传送到目的操作数所指的单元。

说明:* 指令中至少要有一项明确指出传送的是字节还是字;

* 可用不同的寻址方式;

* 不影响标志位;

* 源操作数不变;

*存储器之间,立即数与段寄存器,段寄存器之间不能用一条指令完成数据传送。

例 : MOV AL , ’B’将字符B的ASCⅡ码(42H)传送到AL

例 : MOV BYTE PTR [BX] , 10H 将10H传送到[BX] ,字节传送

MOV WORD PTR [BX] , 10H 将0010H传送到[BX] ,字传送

2、出栈指令 POP 目的操作数

功能:把当前 SP 所指向的堆栈顶部的一个字送到指定的目的操作数中。(CS不能作为目的操作数)

3、进栈指令 PUSH 源操作数

4、交换指令 XCHG 目的操作数,源操作数

功能:把一个字或一个字节的源操作数与目的操作数交换。

交换可在寄存器之间、寄存器与存储器之间进行。但段寄存器不能作为操作数,也不能直接交换两个存储单元中的内容。

(二)累加器专用传送指令

1、输入指令 IN

指令格式:IN AL,n 或 IN AX,n ;n为 255 的端口地址

IN AL,DX 或 IN AX,DX;端口地址放在DX中。

功能:从8位端口读入一个字节到AL,或从16位端口读入一个字到AX。

例:用IN指令从输入端口读取数据

(1)IN AL,0E3H (2) IN AX,80H

执行指令前执行指令前执行指令后

E3H端口 9DH 80H端口 5BH 80H端口 5BH

AL 22H 81H端口 17H 81H端口 17H

执行指令后 AX 3355H AX 175BH

E3H端口 9DH

AL 9DH

2、输出指令 OUT

指令格式: OUT n ,AL 或 OUT n ,AX

OUT DX,AL 或 OUT DX,AX

功能:将AL中的一个字节写到一个8位端口,或把AX中的一个字写到一个16位端口。

3、换码指令 XLAT (查表指令)

功能:((BX)+(AL))→ AL

该指令执行前,先把转换表首地址的偏移量送入BX中,而把要查找表内单元的偏移量(0~255)送入AL中。执行换码指令后,把该单元的内容送入AL中

例:若十进制数字0~9 的 LED七段显示码对照表已存放在内存中,表格的首地址为TABLE,用 XLAT 指令求数字5的七段显示码值程序如下:

TABLE DB 40H, 79H, 24H, 30H, 19H ,12H, 02H, 78H, 00H, 18H ; 建立七段显示码表格MOV AL,5 ; AL←5

MOV BX,OFFSET TABLE ; BX ←表格首地址

XLAT ; AL←12H

(三)目标地址传送指令

专用于传送地址码的指令,可用来传送操作数的段地址和偏移地址,共包含以下三条指令:

1、LEA(有效地址传送到寄存器)

指令格式:LEA 16位寄存器,源操作数偏移地址

功能:把源操作数的地址偏移量,传送至目的操作数。

要求源操作数必须是一个内存操作数;目的操作数必须是一个除段寄存器以外的16位寄存器

?例:SI=1000H,DS=5000H,[1000H]=1234H

执行指令LEA BX,[SI]后,BX=1000H

执行指令MOV BX,[SI]后,BX=1234H

?例:某数组有20个元素,每个元素占一个字节,设DI指向数组的开头处.若将第六个元素的偏移地址送

到BX,则执行指令应为: LEA BX,6[DI]

2、LDS(装入一个新的物理地址)

指令格式:LDS 16位寄存器,源操作数偏移地址

功能:从源操作数指定的存储单元中的双字指针送到指令指定的寄存器(常指定SI)及DS寄存器中。例:设DS=1200H,[1450H]=3F46H,[1452H]=0A92H

执行指令LDS SI,[ 1450H ] 后:SI = 3F46H, DS = 0A92H

3、LES(装入一个新的物理地址)DS变ES

(四)标志寄存器传送指令

1、LAHF 标志送到 AH指令

指令格式:LAHF

功能:把标志寄存器中的 SF、ZF、AF、PF和CF分别送到AH寄存器的位7、6、4、2和 0,位5、3、1的内容未定义。

2、SAHF AH送标志寄存器指令

功能:把寄存器AH中的 7、6、4、2、0位传送到标志寄存器的SF、ZF、AF、PF和 CF位,高位标志 OF、DF、IF 和 TF不受影响。

3、PUSHF 标志入栈指令

功能:修改堆栈指针,使SP 2 → SP,把整个标志寄存器的内容压入堆栈,指令执行后对标志位无影响。

4、POPF 标志出栈指令指

功能:把当前堆栈指针 SP 所指的一个字,传送给标志寄存器,并修改堆栈指针,使 SP +2 → SP 在过程(子程序)调用和中断服务程序中,可用PUSHF和POPF指令来保护和恢复标志位。另外,这两条指令也可用来改变追踪标志 TF (入栈,修改,出栈)(8088无直接改变T标志的指令)。

四、串操作指令

* 串操作指令是用于处理存放在存储器中的字或字节数据,字符串长度可达64K字节。

*在串操作指令前加重复前缀,指令就重复执行,直至CX寄存器中的操作次数满足为止,重复过程可以被中断。

*串操作指令的源串位于当前数据段中,以SI为指针,目的串必须位于当前附加段中,以DI为指针。每执行一次串操作指令,指针SI和DI会自动修改,标志位DF=0为递增方向,这时在每次操作后SI、DI增量,字节操作时加1,字操作时加2;DF =1为递减方向,这时在每次操作后SI、DI减量,字节操作时减1,字操作时减2。

*要处理的字符串长度(字节或字数)放在CX寄存器中。

1、MOVS串传送指令(不影响标志位)

格式:1) MOVS OPRD1,OPRD2 2) MOVSB (字节传送指令) MOVSW (字传送指令)

功能:把由SI作指针的源串中的一个字节或一个字,传送到由DI作指针的目的串中,且自动修改指针SI和DI。可方便地实现在存储单元之间传送数据。若在指令前加前缀 REP 则可执行至CX = 0 。

2、CMPS 串比较指令

格式:1) CMPS OPRD1,OPRD2 2) CMPSB (字节操作) CMPSW (字操作)

在CMPS指令前可以加重复前缀,即REPE CMPS 或REPZ CMPS ;其功能相同,若比较结果为CX≠0(指定的长度还未比较完)和ZF=1(两串相等),则重复比较,直至CX=0(比完了)或ZF=0(两串不相等)时才停止操作。

也可改用重复前缀REPNE或REPNZ,它们表示:若CX≠0(串没有结束)和串不等(ZF=0)则重复比较,直至CX =0或ZF=1时才停止比较。

例:在自KA和KB单元开始各有一个由30个字符组例:编写程序段把数据段中以SRC为偏移地址,

成的字符串,检查这两个字符串是否相等,并在GG 长度为100个字节的字符串,传送到附加段中以单元中建立一个标志(相等为00,不等为FFH) LOC为偏移地址的存储区域中。

LEA SI,KA 程序段:LEA SI,SRC LEA DI,KB LEA DI,LOC

MOV CX,30 MOV CX,100

CLD CLD ;清除DF,地址增量

REPE CMPSB REP MOVS

JNZ L1

MOV GG,0

JMP L2

L1: MOV GG,0FFH

L2: HLT

3、SCAS 串搜索指令

格式:1) SCAS 目的串 2) SCASB 或 SCASW

●利用SCAS指令,可在内存中搜索所需要的数据(关键字)。指令执行前应先将关键字存放在累加器

中。

●SCAS指令前也可加重复前缀 REPE / REPZ,表示相等继续搜索,不等提前退出; REPNE / REPNZ

表示不等继续搜索,相等提前退出。

4、LODS 从串中取指令

格式:1) LODS SRC 2) LODSB或LODSW

例:设 (DS) = 7000H, (SI) =0100H,

(70100H) =08H, (70101H) =12H, DF=0,

执行指令 LODSW 后,

(AX) =1208H, (SI) = 0102H

5、STOS 存入串指令

格式:1) STOS OPRD 2) STOSB 或 STOSW

例:设 (DS) =2000H , (ES) = 1000H ,

(DI) = 0500H , (AL) =20H , (CX) =10 , DF =0

执行指令REP STOSB 后,

内存中10500H ~ 10509H 单元被置为20H ,同时使 (DI) = 050AH , (CX) =0。

例:内存中以BUF0 单元开始的区域连续存放着一个长度为80的字符串(ASCII码串),查找字符串中是否有字符‘B’,若有,将关键字的地址送BX,若没有查到,则将BX寄存器清0。

程序段: JZ NEXT

LEA DI,BUF0 MOV BX,0

MOV AL,‘ B’ JMP DONE

MOV CX,80 NEXT: DEC DI

CLD MOV BX,DI

REPNE SCASB DONE: HLT

例:在以BLOCK为起始地址的内存缓冲区中,有一个长度为100字节的带符号数,要求把其中的正、负数分开,分别送至同一段的两个缓冲器。存放正数的缓冲区起始地址为PDATA,存放负数的缓冲区起始地址为NDATA。

初始化:设置源块指针;设置正数块指针;设置负数块指针;设置处理字节计数器。

START:LEA SI , BLOCK

LEA DI , PDATA

LEA BX, NDATA

MOV CX , 100

LOP: LODSB ;取源串的一个字节送AL TEST AL , 80H ;测试符号位JNZ MINUS ;是负数,转移到MINUS STOSB ;正数存入正数区域

JMP NEXT

MINUS:XCHG BX, DI ;交换正、负数指针

STOSB ;负数送入负数区

XCHG BX, DI ;恢复正、负数指针

NEXT:DEC CX ;次数减1

JNZ LOP ;未处理完,继续

HLT

五、控制转移指令

通常,程序中的指令都是顺序地逐条执行的,指令的执行顺序由CS和IP决定,每取出一条指令,指令指针IP自动进行调整,指向下一条指令。

当程序执行到某些特定位置,需要脱离程序的正常执行顺序,而把它转移到指定的目标时,可以利用控制转移指令来改变CS和IP 的值,从而改变指令的执行顺序。

这类指令可分为:无条件转移和过程调用、条件转移、循环控制及中断等几类。。

1、调用指令

指令格式:CALL 过程名

执行CALL 指令时,首先保留断点于堆栈中,然后转移到目标单元。该指令的执行对标志寄存器无影响。

过程调用有段内调用和段间调用两种类型。

1)段内调用:

例:CALL PROG-N :PROG-N是一个近标号,

设调用前:CS=2000H,IP=1050H,SS=5000H,SP=0100H,

PROG-N与CALL指令的字节距离(DISP)为1234H,则指令执行过程为:

SP-2→ SP,SP=0100-2=00FEH

返回地址入栈,IP=1053H入栈(三字节指令)

计算新的IP=IP+DISP=1053H+1234H=2287H,实现调

例:指令CALL BX 设 (BX) = 0200H

解:该指令的操作数是BX寄存器,它包含了过程的16位偏移地址 EA = 0200H,执行CALL指令后,0200H → IP,即转到段内偏移地址为0200H处执行程序。

例:DS=1000H,BX=200H,SI=300H,(10500H)=3210H;

执行指令 CALL WORD PTR [BX+SI] 后,

IP=( DS * 16+BX+SI)=(10500H)=3210H

2)段间调用:

例:CALL FAR PROG-F :PROG-F是一个远标号,

设调用前:CS=1000H,IP=205AH,SS=2500H,SP=0050H,

PROG-F所在单元的地址指针CS=3000H,IP=0500H,则指令执行过程为:

SP-2 → SP,SP=0050H-2=004EH,CS=1000H入栈;

SP-2 → SP,SP=004EH-2=004CH,IP=205FH入栈;

转子程序入口,3000H送CS,0500H送IP;

例:CALL DWORD PTR [ BX ]

?设执行 CALL 指令前, (DS) = 1000H , (BX) = 0200H , (10200H) = 31F4H , (10202H) = 5200H 。

?执行指令时,先将返回地址的偏移量和段地址都入栈,再转向过程入口。指令中操作数的物理地址

= DS 16+BX = 10200H , 从该单元开始取得的双字就是过程的入口地址。所以,入口地址的CS: IP 分别为: (10200H) = IP 即 (IP ) = 31F4H (10202H) = CS (CS) = 5200H

六、返回指令 RET

1) RET 指令:

该通常作为一个子程序的最后一条指令,它用以返回到调用这个子程序的断点处。段内返

回指令是把SP所指的堆栈顶部的一个字的内容弹回到指令指针,且SP加2。若是段间返回指令,除了

上述操作外,把新的SP所指的堆栈顶部的一个字的内容弹回到CS,SP再加2。 RET指令对标志位

无影响。

2) RET n (带立即数返回指令) :这种指令允许返回地址出栈后,再从堆栈中弹出 n 个字节

的数据,也就是让SP再加上 n,n为0000 ~ FFFFH范围内的任何一个偶数。例如,指令RET 8 表

示从堆栈中弹出地址后,再使SP 的值加上8。

RET n 指令可以让调用过程的主程序通过堆栈向过程传递参数。这些参数必须在调用过程前推入堆栈,过程在运行中可以通过堆栈指针找到它们。当过程返回时,这些参数已没有用处,应该把它们从堆栈中弹出。使用带立即数返回指令后,可以在过程返回主程序时,使SP自动增量,从而不需要用POP指令就能把这些参数从堆栈中弹出。

条件转移指令是根据上一条指令执行后,CPU设置的状态标志作为判别测试条件来决定是否转移。

若满足指令所规定的条件,则程序转移到指定目标;若不满足条件,则程序顺序往下执行指令。

注意:所有条件转移指令的目标地址都是采用相对寻址方式,即以条件转移指令为基准的-128 ~+127个字节的范围之内。且指令执行后不影响标志位。

条件转移指令可以分为以下两大类:1、根据单个标志位的条件转移指令2、组合条件的条件转移指令和 JCXZ OPRD 测试转移指令

七、中断指令

1、软件中断指令 INT n ;n = 0 ~ 255

操作:CPU先将标志寄存器内容入栈保护,再把当前断点的段基地址CS和偏移地址IP入栈保护,并清

除中断标志IF和单步标志TF。然后将中断类型号n 乘以4,找到中断服务程序的入口地址表的表头地址,从中断向量表中获得中断服务程序的入口地址,将其置入CS和IP寄存器,CPU就自动转到相应的

中断服务程序中去执行。

2、INTO 溢出中断指令

当带符号数进行算术运算时,如果溢出标志OF = 1,则可由INTO 指令产生类型为4的中断,若OF = 0,则INTO 指令不产生中断,CPU 继续往下执行指令。为此,在带符号数算术运算指令之后,应安排一条INTO指令,一旦溢出就能及时向CPU提出中断请求。

3、IRET 中断返回指令

所有中断服务程序的最后一条指令必须是 IRET ,用以退出中断过程,返回到断点处。该指令执行时,

先从堆栈中依次弹出程序断点,送到IP和CS寄存器中,接着弹出标志寄存器的内容,送回标志寄存器,然后按CS:IP 的值使CPU 返回断点,继续执行原来被中断的程序。

(完整版)微机原理及接口技术(习题答案)

范文范例学习指导 第1章微机运算基础 习题和思考题 1.请完成以下计算: 174.66D=(10101110.10101)B=(AE. A8)H 10101110101.01011B=(1397.344)D=(575.58)H 4BCH=(010*********)B=()BCD 2.设字长为8位,X=(2A)16,当X分别为原码、补码、反码和无符号数的时候,其真值 是多少? 答:当X表示原码时,其真值为:+101010 当X表示补码时,其真值为:+101010 当X表示反码时,其真值为:+101010 当X表示无符号数数时,其真值为:00101010 3.设字长为8位,用补码形式完成下列计算,要求有运算结果并讨论是否发生溢出? 120+18 -33-37 -90-70 50+84 答:120+18 其补码形式分别为:(120)补=01111000 (18)补=00010010 01111000 + 00010010 10001010 由于C s=0 ,C p=1,因此有溢出,结果错误 -33-37 其补码形式为:(-33)补=11011111 (-37)补=11011011 11011111 +11011011 10111010 由于C s=1, C p=1,所以没有溢出,结果正确 -90-70 其补码形式为:(-90)补=10011100 (-70)补=10111010 10011100 +10111010 01010110 由于C s=1, C p=0,所以有溢出,结果错误 50+84

其补码形式为:(50)补=00110010 (84)补=01010100 00110010 +01010100 10000110 由于C s=0, C p=1,所以有溢出,结果错误 4.请写出下列字符串的ASCII码值。 My name is Zhang san. 4D 79 6E 61 6D 65 69 73 5A 68 61 6E 67 73 61 6E 2E 第2章 80X86微机系统 习题与思考题 1.微型计算机主要由哪些基本部件组成?各部件的主要功能是什么? 答:微型计算机主要由输入设备、运算器、控制器、存储器和输出设备组成。 各部件的功能分别是:1、输入设备通过输入接口电路将程序和数据输入内存;2、运算器是进行算术运算和逻辑运算的部件,它是指令的执行部件;3、控制器是计算机的指挥中心,它负责对指令进行译码,产生出整个指令系统所需要的全部操作的控制信号,控制运算器、存储器、输入/输出接口等部件完成指令规定的操作;4、存储器用来存放程序、原始操作数、运算的中间结果数据和最终结果数据; 5、输出设备是CPU通过相应的输出接口电路将程序运行的结果及程序、数据送到的设备; 2.微处理器的发展过程是什么? 答:微型计算机的发展过程是: 第一代(1946~1957)——采用电子管为逻辑部件,以超声波汞延迟线、阴极射线管、磁芯和磁鼓等为存储手段;软件上采用机器语言,后期采用汇编语言。 第二代(1957~1965)——采用晶体管为逻辑部件,用磁芯、磁盘作内存和外存;软件上广泛采用高级语言,并出现了早期的操作系统。 第三代(1965~1971)——采用中小规模集成电路为主要部件,以磁芯、磁盘作内存和外存;软件上广泛使用操作系统,产生了分时、实时等操作系统和计算机网络。 第四代(1971~至今)——采用大规模集成电路(LSI)、超大规模集成电路(VLSI)为主要部件,以半导体存储器和磁盘为内、外存储器;在软件方法上产生了结构化程序设计和面向对象程序设计的思想。 3.简述80486微处理器的基本结构。 书12页 4.80486微处理器的工作模式有几种?当CS内容为1000H,IP内容为7896H,求在实地址 模式下的物理地址为多少? 答:实模式和保护模式及虚拟8086模式。当CS内容为1000H,IP内容为7896H,在实地

微机原理与接口技术(第二版) 清华大学出版社

习题1 1.什么是汇编语言,汇编程序,和机器语言? 答:机器语言是用二进制代码表示的计算机能直接识别和执行的一种机器指令的集合。 汇编语言是面向及其的程序设计语言。在汇编语言中,用助记符代替操作码,用地址符号或标号代替地址码。这种用符号代替机器语言的二进制码,就把机器语言编程了汇编语言。 使用汇编语言编写的程序,机器不能直接识别,要由一种程序将汇编语言翻译成机器语言,这种起翻译作用的程序叫汇编程序。 2.微型计算机系统有哪些特点?具有这些特点的根本原因是什么? 答:微型计算机的特点:功能强,可靠性高,价格低廉,适应性强、系统设计灵活,周期短、见效快,体积小、重量轻、耗电省,维护方便。 这些特点是由于微型计算机广泛采用了集成度相当高的器件和部件,建立在微细加工工艺基础之上。 3.微型计算机系统由哪些功能部件组成?试说明“存储程序控制”的概念。 答:微型计算机系统的硬件主要由运算器、控制器、存储器、输入设备和输出设备组成。 “存储程序控制”的概念可简要地概括为以下几点: ①计算机(指硬件)应由运算器、存储器、控制器和输入/输出设备五大基本部件组成。 ②在计算机内部采用二进制来表示程序和数据。 ③将编好的程序和原始数据事先存入存储器中,然后再启动计算机工作,使计算机在不需要人工干预的情况下,自动、高速的从存储器中取出指令加以执行,这就是存储程序的基本含义。 ④五大部件以运算器为中心进行组织。 4.请说明微型计算机系统的工作过程。 答:微型计算机的基本工作过程是执行程序的过程,也就是CPU自动从程序存

放的第1个存储单元起,逐步取出指令、分析指令,并根据指令规定的操作类型和操作对象,执行指令规定的相关操作。如此重复,周而复始,直至执行完程序的所有指令,从而实现程序的基本功能。 5.试说明微处理器字长的意义。 答:微型机的字长是指由微处理器内部一次可以并行处理二进制代码的位数。它决定着计算机内部寄存器、ALU和数据总线的位数,反映了一台计算机的计算精度,直接影响着机器的硬件规模和造价。计算机的字长越大,其性能越优越。在完成同样精度的运算时,字长较长的微处理器比字长较短的微处理器运算速度快。 6.微机系统中采用的总线结构有几种类型?各有什么特点? 答:微机主板常用总线有系统总线、I/O总线、ISA总线、IPCI总线、AGP总线、IEEE1394总线、USB总线等类型。 7.将下列十进制数转换成二进制数、八进制数、十六进制数。 ①(4.75)10=(0100.11)2=(4.6)8=(4.C)16 ②(2.25)10=(10.01)2=(2.2)8=(2.8)16 ③(1.875)10=(1.111)2=(1.7)8=(1.E)16 8.将下列二进制数转换成十进制数。 ①(1011.011)2=(11.375)10 ②(1101.01011)2=(13.58)10 ③(111.001)2=(7.2)10 9.将下列十进制数转换成8421BCD码。 ① 2006=(0010 0000 0000 0110)BCD ② 123.456=(0001 0010 0011.0100 0101 0110)BCD 10.求下列带符号十进制数的8位基2码补码。 ① [+127]补= 01111111

微机原理与接口技术(第二版)习题答案

第1章 1.1 微处理器、微型计算机和微型计算机系统三者之间有什么不同? 解: 把CPU(运算器和控制器)用大规模集成电路技术做在一个芯片上,即为微 处理器。微处理器加上一定数量的存储器和外部设备(或外部设备的接口)构成了 微型计算机。微型计算机与管理、维护计算机硬件以及支持应用的软件相结合就形成了微型计算机系统。 1.2 CPU在内部结构上由哪几部分组成?CPU应该具备哪些主要功能? 解: CPU主要由起运算器作用的算术逻辑单元、起控制器作用的指令寄存器、指令译码器、可编程逻辑阵列和标志寄存器等一些寄存器组成。其主要功能是进行算术和逻辑运算以及控制计算机按照程序的规定自动运行。 1.3微型计算机采用总线结构有什么优点? 解: 采用总线结构,扩大了数据传送的灵活性、减少了连线。而且总线可以标准化,易于兼容和工业化生产。 1.4数据总线和地址总线在结构上有什么不同之处?如果一个系统的数据和地址合用 一套总线或者合用部分总线,那么要靠什么来区分地址和数据? 解: 数据总线是双向的(数据既可以读也可以写),而地址总线是单向的。 8086CPU为了减少芯片的引脚数量,采用数据与地址线复用,既作数据总线也作为 地址总线。它们主要靠信号的时序来区分。通常在读写数据时,总是先输出地址(指定要读或写数据的单元),过一段时间再读或写数据。 1.8在给定的模型中,写出用累加器的办法实现15×15的程序。 DEC H JP NZ,LOOP HALT

第2章作业答案 2.1 IA-32结构微处理器直至Pentillm4,有哪几种? 解: 80386、30486、Pentium、Pentium Pro、PeruiumII、PentiumIII、Pentium4。 2.6IA-32结构微处理器有哪几种操作模式? 解: IA一32结构支持3种操作模式:保护模式、实地址模式和系统管理模式。操作模式确定哪些指令和结构特性是可以访问的。 2.8IA-32结构微处理器的地址空间如何形成? 解: 由段寄存器确定的段基地址与各种寻址方式确定的有效地址相加形成了线性地址。若末启用分页机制,线性地址即为物理地址;若启用分页机制,则它把线性地址转为物理地址。 2.15 8086微处理器的总线接口部件由哪几部分组成? 解: 8086微处理器中的总线接口单元(BIU)负责CPU与存储器之间的信息传 送。具体地说,BIU既负责从内存的指定部分取出指令,送至指令队列中排队(8086的指令队列有6个字节,而8088的指令队列只有4个字节);也负责传送执 行指令时所需的操作数。执行单元(EU)负责执行指令规定的操作。 2.16段寄存器CS=120OH,指令指针寄存器IP=FFOOH,此时,指令的物理地址为 多少? 解: 指令的物理地址=12000H+FFOOH=21FOOH 第3章作业答案 3.1分别指出下列指令中的源操作数和目的操作数的寻址方式。 (1)MOV SI, 30O (2)MOV CX, DATA[DI] (3)ADD AX, [BX][SI] (4)AND AX, CX (5)MOV[BP], AX (6)PUSHF 解: (l)源操作数为立即寻址,目的操作数为寄存器寻址。

《微机原理与接口技术》参考答案

《微机原理与接口技术》参考答案 《微机原理与接口技术》习题参考答案习题 2 1. 为何说8086CPU是16位CPU?答:16位指的是8086CPU的字长,而字长一般来说和运算器、寄存器、总线宽度一致。因为8086CPU的内部寄存器、内部运算部件以及内部操作都是按16位设计的,这决定了它的字长为16位。 2. 8086CPU哪两个单元组成?其中,指令队列在哪个单元中,有何作用?答:总线接口单元和执行单元。指令队列在BIU中。它的作用是当EU在执行指令时,空闲的BIU可以从内存读取后续指令到指令队列,这样就可以将取指令工作和执行指令工作重叠进行,从而提高CPU的工作效率,加快指令的执行速度。 3. 8086CPU中8位寄存器和16位寄存器是什么关系?答:8086的通用寄存器包括数据寄存器、指

针寄存器和变址寄存器。其中数据寄存器包含AX、BX、CX、DX四个16位寄存器,但他们每个都可以分开作为两个单独的8位寄存器使用。8086的指针寄存器和变址寄存器不可分割为8位寄存器。4. 8086CPU中的IP寄存器有何用途?答:IP寄存器是指令指针寄存器,用来存放下一条要执行的指令在代码段中的偏移地址。在程序运行过程中,IP寄存器始终指向下一条指令的首地址,与CS寄存器联合确定下一条指令的物理地址。8086就是通过IP寄存器来控制指令序列的执行流程。 5. 在标志寄存器中,用于反映运算结果属性的标志位有哪些?它们每一位所表示的含义是什么?答:有CF、PF、AF、ZF、SF、OF。它们的含义如下:CF:进位标志。它记录运算时从最高有效位产生的进位值或结果值。最高有效位有进位或有借位时CF=1,否则CF=0。PF:奇偶标志。它记录运算结果的奇偶检验条件。当结果操作数

微机原理与接口技术习题答案

《微机原理与接口技术》习题答案 一、单项选择题 1、80486CPU进行算术和逻辑运算时,可处理的信息的长度为( D )。 A、32位 B、16位 C、8位 D、都可以 2、在下面关于微处理器的叙述中,错误的是( C ) 。 A、微处理器是用超大规模集成电路制成的具有运算和控制功能的芯片 B、一台计算机的CPU含有1个或多个微处理器 C、寄存器由具有特殊用途的部分内存单元组成,是内存的一部分 D、不同型号的CPU可能具有不同的机器指令 3、若用MB作为PC机主存容量的计量单位,1MB等于( B )字节。 A、210个字节 B、220个字节 C、230个字节 D、240个字节 4、运算器在执行两个用补码表示的整数加法时,判断其是否溢出的规则为( D )。 A、两个整数相加,若最高位(符号位)有进位,则一定发生溢出 B、两个整数相加,若结果的符号位为0,则一定发生溢出 C、两个整数相加,若结果的符号位为1,则一定发生溢出 D、两个同号的整数相加,若结果的符号位与加数的符号位相反,则一定发生溢出 5、运算器的主要功能是( C )。 A、算术运算 B、逻辑运算 C、算术运算与逻辑运算 D、函数运算 6、指令ADD CX,55H[BP]的源操作数的寻址方式是(D )。 A、寄存器寻址 B、直接寻址 C、寄存器间接寻址 D、寄存器相对寻址 7、设(SS)=3300H,(SP)=1140H,在堆栈中压入5个字数据后,又弹出两个字数据,则(SP)=(A ) A、113AH B、114AH C、1144H D、1140H 8、若SI=0053H,BP=0054H,执行SUB SI,BP后,则( C)。 A、CF=0,OF=0 B、CF=0,OF=1 C、CF=1,OF=0 D、CF=1,OF=1 9、已知(BP)=0100H,(DS)=7000H,(SS)=8000H,(80100H)=24H,(80101H)=5AH,(70100H)=01H,(70101H)=02H,指令MOV BX,[BP]执行后,(BX)=(D ) 。 A、0102H B、0201H C、245AH D、5A24H 10、实模式下80486CPU对指令的寻址由(A )决定。 A、CS,IP B、DS,IP C、SS,IP D、ES,IP 11、使用80486汇编语言的伪操作指令定义: VAL DB 2 DUP(1,2,3 DUP(3),2 DUP(1,0)) 则

微机原理与接口技术 试题与答案

微机原理与接口技术试题 微型计算机原理与接口技术综合测试题一 一、单项选择题(下面题只有一个答案是正确的,选择正确答案填入空白处) 1.8086CPU通过(1 )控制线来区分是存储器访问,还是I/O 访问,当CPU执行IN AL,DX指令时,该信号线为(2 )电平。 (1) A. M/ B. C. ALE D. N/ (2) A. 高 B. 低 C. ECL D. CMOS 2.n+1位有符号数x的补码表示范围为()。 A. -2n < x < 2n B. -2n ≤ x ≤ 2n -1 C. -2n -1 ≤ x ≤ 2n-1 D. -2n < x ≤ 2n 3.若要使寄存器AL中的高4位不变,低4位为0,所用指令为()。 A. AND AL, 0FH B. AND AL, 0FOH C. OR AL, 0FH D. OR AL 0FOH 4.下列MOV指令中,不正确的指令是()。 A. MOV AX, BX B. MOV AX, [BX] C. MOV AX, CX D. MOV AX, [CX] 5.中断指令INT 17H的中断服务程序的入口地址放在中断向量表地址()开始的4个存贮单元内。

A. 00017H B. 00068H C. 0005CH D. 0005EH 6.条件转移指令JNE的条件是()。 A. CF=0 B. CF=1 C. ZF=0 D. ZF=1 7. 在8086/8088 CPU中,一个最基本的总线读写周期由(1 )时钟周期(T状态)组成,在T1状态,CPU往总线上发( 2 )信息。 ⑴ A. 1个 B. 2个 C. 4个 D. 6个 ⑵ A. 数据 B . 地址 C. 状态 D. 其它 8. 8086有两种工作模式, 最小模式的特点是(1 ),最大模式的特点是( 2 )。 ⑴ A. CPU提供全部控制信号 B. 由编程进行模式设定 C. 不需要8286收发器 D. 需要总线控制器8288 ⑵ A. M/ 引脚可直接引用 B. 由编程进行模式设定 C. 需要总线控制器8288 D. 适用于单一处理机系统 9.在8086微机系统的RAM 存储单元器0000H:002CH开始依次存放23H,0FFH,00H,和0F0H四个字节,该向量对应的中断号是( )。 A. 0AH B. 0BH C. 0CH D. 0DH 10.真值超出机器数表示范围称为溢出,,此时标志寄存器中的( )位被置位 A. OF B AF C PF D CF

(完整版)微机原理与接口技术知识点总结整理

《微机原理与接口技术》复习参考资料 第一章概述 一、计算机中的数制 1、无符号数的表示方法: (1)十进制计数的表示法 特点:以十为底,逢十进一; 共有0-9十个数字符号。 (2)二进制计数表示方法: 特点:以2为底,逢2进位; 只有0和1两个符号。 (3)十六进制数的表示法: 特点:以16为底,逢16进位; 有0--9及A—F(表示10~15)共16个数字符号。 2、各种数制之间的转换 (1)非十进制数到十进制数的转换 按相应进位计数制的权表达式展开,再按十进制求和。(见书本1.2.3,1.2.4)(2)十进制数制转换为二进制数制 ●十进制→二进制的转换: 整数部分:除2取余; 小数部分:乘2取整。 ●十进制→十六进制的转换: 整数部分:除16取余; 小数部分:乘16取整。 以小数点为起点求得整数和小数的各个位。 (3)二进制与十六进制数之间的转换 用4位二进制数表示1位十六进制数 3、无符号数二进制的运算(见教材P5) 4、二进制数的逻辑运算 特点:按位运算,无进借位 (1)与运算 只有A、B变量皆为1时,与运算的结果就是1 (2)或运算 A、B变量中,只要有一个为1,或运算的结果就是1 (3)非运算 (4)异或运算 A、B两个变量只要不同,异或运算的结果就是1 二、计算机中的码制 1、对于符号数,机器数常用的表示方法有原码、反码和补码三种。数X的原码记作[X]原,反码记作[X]反,补码记作[X]补。

注意:对正数,三种表示法均相同。 它们的差别在于对负数的表示。 (1)原码 定义: 符号位:0表示正,1表示负; 数值位:真值的绝对值。 注意:数0的原码不唯一 (2)反码 定义: 若X>0 ,则[X]反=[X]原 若X<0,则[X]反= 对应原码的符号位不变,数值部分按位求反 注意:数0的反码也不唯一 (3)补码 定义: 若X>0,则[X]补= [X]反= [X]原 若X<0,则[X]补= [X]反+1 注意:机器字长为8时,数0的补码唯一,同为00000000 2、8位二进制的表示范围: 原码:-127~+127 反码:-127~+127 补码:-128~+127 3、特殊数10000000 ●该数在原码中定义为:-0 ●在反码中定义为:-127 ●在补码中定义为:-128 ●对无符号数:(10000000)2= 128 三、信息的编码 1、十进制数的二进制数编码 用4位二进制数表示一位十进制数。有两种表示法:压缩BCD码和非压缩BCD码。(1)压缩BCD码的每一位用4位二进制表示,0000~1001表示0~9,一个字节表示两位十进制数。 (2)非压缩BCD码用一个字节表示一位十进制数,高4位总是0000,低4位的0000~1001表示0~9 2、字符的编码 计算机采用7位二进制代码对字符进行编码 (1)数字0~9的编码是0110000~0111001,它们的高3位均是011,后4位正好与其对应的二进制代码(BCD码)相符。

微机原理与接口技术期末考试试题及答案

微机原理与接口技术期末考试题库 1.微机系统的硬件由哪几部分组成? 答:三部分:微型计算机(微处理器,存储器,I/0接口,系统总线),外围设备,电源。 2.什么是微机的总线,分为哪三组? 答:是传递信息的一组公用导线。分三组:地址总线,数据总线,控制总线。 3.8086/8088CPU的内部结构分为哪两大模块,各自的主要功能是什 么? 答:总线接口部件(BIU)功能:根据执行单元EU的请求完成CPU 与存储器或IO设备之间的数据传送。执行部件(EU),作用:从指令对列中取出指令,对指令进行译码,发出相应的传送数据或算术的控制信号接受由总线接口部件传送来的数据或把数据传送到总线接 口部件进行算术运算。 4.8086指令队列的作用是什么? 答:作用是:在执行指令的同时从内存中取了一条指令或下几条指令,取来的指令放在指令队列中这样它就不需要象以往的计算机那样让CPU轮番进行取指和执行的工作,从而提高CPU的利用率。 5.8086的存储器空间最大可以为多少?怎样用16位寄存器实现对 20位地址的寻址?完成逻辑地址到物理地址转换的部件是什么?

答:8086的存储器空间最大可以为2^20(1MB);8086计算机引入了分段管理机制,当CPU寻址某个存储单元时,先将段寄存器内的内容左移4位,然后加上指令中提供的16位偏移地址形成20位物理地址。 6.段寄存器CS=1200H,指令指针寄存器IP=FF00H,此时,指令 的物理地址为多少?指向这一物理地址的CS值和IP值是唯一的吗? 答:指令的物理地址为21F00H;CS值和IP值不是唯一的,例如:CS=2100H,IP=0F00H。 7.设存储器的段地址是4ABFH,物理地址为50000H,其偏移地址 为多少? 答:偏移地址为54100H。(物理地址=段地址*16+偏移地址) 8.8086/8088CPU有哪几个状态标志位,有哪几个控制标志位?其意 义各是什么? 答:状态标志位有6个:ZF,SF,CF,OF,AF,PF。其意思是用来反映指令执行的特征,通常是由CPU根据指令执行结果自动设置的;控制标志位有3个:DF,IF,TF。它是由程序通过执行特定的指令来设置的,以控制指令的操作方式。 9.8086CPU的AD0~AD15是什么引脚? 答:数据与地址引脚 10.INTR、INTA、NMI、ALE、HOLD、HLDA引脚的名称各是什么?

微机原理与接口技术试题库(含答案)汇总

一、问答题 1、下列字符表示成相应的ASCII码是多少? (1)换行0AH (2)字母“Q”51H (3)空格20H 2、下列各机器数所表示数的范围是多少? (1)8位二进制无符号定点整数; 0~255 (2)8位二进制无符号定点小数;0.996094 (3)16位二进制无符号定点整数;0~65535 (4)用补码表示的16位二进制有符号整数;-32768~32767 3、(111)X=273,基数X=?16 4、有一个二进制小数X=0.X1X2X3X4X5X6 (1)若使X≥1/2,则X1……X6应满足什么条件? X1=1 若使X>1/8,则X1……X6应满足什么条件?X1∨X2 ∨X3=1 (2) 5、有两个二进制数X=01101010,Y=10001100,试比较它们的大小。 (1)X和Y两个数均为无符号数;X>Y (2)X和Y两个数均为有符号的补码数。X

微机原理与接口技术

第二章 8086系统结构 一、 8086CPU 的内部结构 1.总线接口部件BIU (Bus Interface Unit ) 组成:20位地址加法器,专用寄存器组,6字节指令队列,总线控制电路。 作用:负责从内存指定单元中取出指令,送入指令流队列中排队;取出指令所需的操作 数送EU 单元去执行。 工作过程:由段寄存器与IP 形成20位物理地址送地址总线,由总线控制电路发出存储器“读”信号,按给定的地址从存储器中取出指令,送到指令队列中等待执行。 *当指令队列有2个或2个以上的字节空余时,BIU 自动将指令取到指令队列中。若遇到转移指令等,则将指令队列清空,BIU 重新取新地址中的指令代码,送入指令队列。 *指令指针IP 由BIU 自动修改,IP 总是指向下一条将要执行指令的地址。 2.指令执行部件EU (Exection Unit) 组成:算术逻辑单元(ALU ),标志寄存器(FR ),通用寄存器,EU 控制系统等。 作用:负责指令的执行,完成指令的操作。 工作过程:从队列中取得指令,进行译码,根据指令要求向EU 内部各部件发出控制命令,完成执行指令的功能。若执行指令需要访问存储器或I/O 端口,则EU 将操作数的偏移地址送给BIU ,由BIU 取得操作数送给EU 。 二、 8088/8086的寄存器结构 标志寄存器 ALU DI DH SP SI BP DL AL AH BL BH CL CH ES SS DS CS 内部暂存器输入 / 输出控制 电路1432EU 控制系 统20位16位8086总线指令 队列总线 接口单元执行 单元 6 516位 属第三代微处理器 运算能力: 数据总线:DB

微机原理与接口技术习题答案5章(供参考)

第5章 总线及其形成 1. 微处理器的外部结构表现为 数量有限的输入输出引脚 ,它们构成了微处理器级总线。 2. 微处理器级总线经过形成电路之后形成了 系统级总线 。 3. 简述总线的定义及在计算机系统中采用标准化总线的优点。 答:总线是计算机系统中模块(或子系统)之间传输数据、地址和控制信号的公共通道, 它是一组公用导线,是计算机系统的重要组成部分。 采用标准化总线的优点是: 1) 简化软、硬件设计。 2) 简化系统结构。 3) 易于系统扩展。 4) 便于系统更新。 5) 便于调试和维修。 4. 在微型计算机应用系统中,按功能层次可以把总线分成哪几类。 答:在微型计算机应用系统中,按功能层次可以把总线分成:片内总线、元件级总线、 系统总线和通信总线。 5. 简述RESET 信号的有效形式和系统复位后的启动地址。 答:RESET 为系统复位信号,高电平有效,其有效信号至少要保持四个时钟周期,且复 位信号上升沿要与CLK 下降沿同步。 系统复位后的启动地址为0FFFF0H 。即:(CS )=0FFFFH ,(IP )=0000H 。 6. 8086 CPU 的IO M/信号在访问存储器时为 高 电平,访问I/O 端口时为 低 电平。 7. 在8086系统总线结构中,为什么要有地址锁存器? 答:8086CPU 有20条地址线和16条数据线,为了减少引脚,采用了分时复用,共占了 20条引脚。这20条引脚在总线周期的T1状态输出地址。为了使地址信息在总线周期的其 他T 状态仍保持有效,总线控制逻辑必须有一个地址锁存器,把T1状态输出的20位地址信 息进行锁存。 8. 根据传送信息的种类不同,系统总线分为 数据总线 、 地址总线 和 控制总线 。 9. 三态逻辑电路输出信号的三个状态是 高电平 、 低电平 和 高阻态 。 10. 在8086的基本读总线周期中,在1T 状态开始输出有效的ALE 信号;在2T 状态开始输出

微机原理与接口技术

微机原理及接口技术 第一部分客观题 一、单项选择题(每小题2分,共10分) 1. 寄存器ECX勺低16位部分可以用 ____________ 达。 A EX B CX C CH D CL 2. 8086处理器执行“ OUT DX,AL指令时,AL的数据出现在_____________ 输出给外设。 A控制总线B地址总线C电源和地线D 数据总线 3. 与DRAM目比,SRAM勺特点是___________ 。 A集成度高、存取周期长B集成度低、存取周期长 C集成度高、存取周期短D集成度低、存取周期短 4. 使用语句“ var dword 3721 ”定义的变量var在主存占用___________ 字节存储空间。 A 1 B 2 C 4 D 8 5. 用8K>8结构SRAM芯片构成64000H H6FFFFH地址范围的存储器,需要使用__________ 。 A 4 B 6 C 8 D 10 二、对错判断题(每小题2分,共10分)(说明:正确的选“ A ,错误选“ B” 6. IA-32 处理器设置的中断标志IF = 0是关中断,表示禁止内部中断和外部中断的所有中断请求。X

7. 已知var是一个变量,语句“ add esi,byte ptr var ”没有语法错误。X 8. DMA传输由DMA控制器控制,无需处理器执行I/O指令。V 9. 高性能计算机中常使用Cache (高速缓冲存储器)提高主存性能。V 10. 向某个I/O端口写入一个数据,一定可以从该I/O端口读回这个数据。V 第二部分主观题 一、填空题(每空2分,共10分) 1. 8086处理器引脚有3个最基本的读写控制信号,它们是M/IO*,—RD* __________ 和____ /R* ______ 。 2. 逻辑地址由—段基地址_________ 口偏移地址两部分组成。代码段中下一条要执行的指令由CS和 _____ 指针IP ____ 寄存器指示,后者在实地址模型中起作用 的仅有_____ 指针 ____ 寄存器部分。 二、问答题(每小题6分,共30分) 1. 什么是JMP指令的近(near)转移和远(far )转移? jmp指令的近转移是指在同一个段里面的转移,也叫做段内近转移,用汇编编码就是这样的jmp near ptr标号 jmp指令的远转移是指段与段之间的转移,就是说不在同一个段的转移,用汇编编码就是这样的jmp far ptr 标号 2. 什么是存储访问的局部性原理,它分成哪两个方面的局部性? 程序局部性原理:虚拟存储管理的效率与程序局部性程序有很大关系。根据统计,进程运行时,在一段时间内,其程序的执行往往呈现岀高度的局限性,包括时间局部性和空间局部性。 1、时间局部性:是指若一条指令被执行,则在不久的将来,它可能再被执行。 2、空间局部性:是指一旦一个存储单元被访问,那它附近的单元也将很快被访问。

《微机原理与接口技术》习题解答5

习题5 5.1 什么叫总线?总线如何进行分类?各类总线的特点和应用场合是什么? 【解答】总线是指计算机中多个部件之间公用的一组连线,由它构成系统插件间、插件的芯片间或系统间的标准信息通路。 (1)微处理器芯片总线:元件级总线,是在构成一块CPU插件或用微处理机芯片组成一个很小系统时常用的总线,常用于CPU芯片、存储器芯片、I/O接口芯片等之间的信息传送。 (2)内总线:板极总线或系统总线,是微型计算机系统内连接各插件板的总线,用以实现微机系统与各种扩展插件板之间的相互连接,是微机系统所特有的总线,一般用于模板之间的连接。在微型计算机系统中,系统总线是主板上微处理器和外部设备之间进行通讯时所采用的数据通道。 (3)外部总线:通信总线,主要用于微机系统与微机系统之间或微机与外部设备、仪器仪表之间的通信,常用于设备级的互连。数据可以并行传输,也可以串行传输,数据传输速率低。 5.2 什么叫总线的裁决?总线分配的优先级技术有哪些?各自的特点是什么? 【解答】当总线上的某个部件要与另一个部件进行通信时,首先应该发出请求信号,有时会发生同一时刻总线上有多个请求信号的情况,就要根据一定的原则来确定占用总线的先后次序,这就是总线裁决。 (1)并联优先权判别法 通过优先权裁决电路进行优先级别判断,每个部件一旦获得总线使用权后应立即发出一个“总线忙”的信号,表明总线正在被使用。当传送结束后释放总线。 (2)串联优先级判别法 采用链式结构,把共享总线的各个部件按规定的优先级别链接在链路的不同位置上,位置越前面的部件,优先级别越高。 (3)循环优先权判别法 类似于并联优先权判别法,只是动态分配优先权,原来的优先权编码器由一个更为复杂的电路代替,该电路把占用总线的优先权在发出总线请求的那些部件之间循环移动,从而使每个总线部件使用总线的机会相同。 5.3 总线数据的传送方式有哪些?各自有何特点? 【解答】 (1)串行传送方式 只使用一条传输线,在传输线上按顺序传送信息的所有二进制位的脉冲信号,每次一位。适于长距离传输。 (2)并行传送方式 信息由多少个二进制位组成,机器就需要有多少条传输线,从而让二进制信息在不同的线上同时进行传送。 (3)并串行传送方式 是并行传送方式与串行传送方式的结合。传送信息时,如果一个数据字由两个字节组成,那么传送一个字节时采用并行方式,而字节之间采用串行方式。

微机原理与接口技术第五章课后答案

第五章参考答案 1.简述SRAM芯片与DRAM芯片的共同点与不同点。 答:SRAM与DRAM的共同点:都属于随机存取存储器,具有易失性。 SRAM与DRAM的共同点:SRAM利用双稳态触发器电路保存信息,集成度比DRAM低,功耗比DRAM大;DRAM利用MOS管栅极和源极之间的极间电容C保存信息,需要刷新电路保证信息较长时间保存。 2.叙述ROM芯片的常见分类,各种ROM芯片的特点及其适用场合。 答:ROM的常用分类结果: 掩膜ROM:生产完成的芯片已保存了信息,保存的信息无法修改,适用于大批量的定型产品中。 PROM:PROM可以一次写入信息,一旦写入无法更改,适用于小批量的定型产品中。 EPROM:紫外线擦除可多次编程的存储器,适用于新产品的开发。 EEPROM:电擦除可多次编程的存储器,适用于需要在线修改的场合。 3.利用4片6116(2K×8位)芯片设计连续存储器,采用全地址译码。设起始地址为60000H,求存储器的最后一个单元地址。 答:存储器的最后一个单元地址为:61FFFH. 4.用6264 RAM(8K×8位)芯片构成256K字节存储器系统,需要多少片6264芯片20位地址总线中有多少位参与片内寻址有多少位可用作片选控制信号 答:需要32片6264芯片。 20位地址总线中有13位参与片内寻址;有7位可用作片选控制信号。 5.某微机系统中ROM区有首地址为9000H,末地址为FFFFH,求其ROM区域的存储容量。答:其ROM区域的存储容量为28K。 6.在8088CPU的系统中扩展32K字节的RAM,其扩充存储空间的起始地址为08000H。设系统的地址总线为A19~A0,数据总线为D7~D0,存储器芯片选用6264。利用74LS138译码器设计译码电路,并画出扩充的存储器系统的连线图。 解: 8088 BUS D0~D7 MEMW MEMR

《微机原理与接口技术》参考答案完整版

《微机原理与接口技术》习题参考答案 习题2 1.为何说8086CPU是16位CPU? 答:16位指的是8086CPU的字长,而字长一般来说和运算器、寄存器、总线宽度一致。因为8086CPU的内部寄存器、内部运算部件以及内部操作都是按16位设计的,这决定了它的字长为16位。 2.8086CPU由哪两个单元组成?其中,指令队列在哪个单元中,有何作用? 答:总线接口单元(Bus Interface Unit,BIU)和执行单元(Execution Unit,EU)。指令队列在BIU中。它的作用是当EU在执行指令时,空闲的BIU可以从内存读取后续指令到指令队列,这样就可以将取指令工作和执行指令工作重叠进行,从而提高CPU的工作效率,加快指令的执行速度。 3.8086CPU中8位寄存器和16位寄存器是什么关系? 答:8086的通用寄存器包括数据寄存器、指针寄存器和变址寄存器。其中数据寄存器包含AX、BX、CX、DX四个16位寄存器,但他们每个都可以分开作为两个单独的8位寄存器使用。8086的指针寄存器和变址寄存器不可分割为8位寄存器。 4.8086CPU中的IP寄存器有何用途? 答:IP寄存器是指令指针寄存器,用来存放下一条要执行的指令在代码段中的偏移地址。在程序运行过程中,IP寄存器始终指向下一条指令的首地址,与CS寄存器联合确定下一条指令的物理地址。8086就是通过IP寄存器来控制指令序列的执行流程。 5.在标志寄存器中,用于反映运算结果属性的标志位有哪些?它们每一位所表示的含义是 什么? 答:有CF、PF、AF、ZF、SF、OF。它们的含义如下: CF:进位标志。它记录运算时从最高有效位产生的进位值或结果值。最高有效位有进位或有借位时CF=1,否则CF=0。 PF:奇偶标志。它记录运算结果的奇偶检验条件。当结果操作数中“1”的个数为偶数时PF=1,否则PF=0。 AF:辅助进位标志。在字节运算时,由低半字节(字节的低4位)向高半字节有进位或借位时,AF=1,否则AF=0。 ZF:零标志。运算结果为零时ZF=1,否则ZF=0。 SF:符号标志。它记录运算结果的最高位,即由符号数的符号。 OF:溢出标志。在运算过程中,如果运算结果已经超出了机器能表示的数值范围(指有符号数)称为溢出,此时OF=1,否则OF=0。 6.分别完成下面的8位运算,并说明各主要标志位的状态,以及结果是否产生溢出(提 示:需要分为有符号数和无符号数两种情况)。

微机原理与接口技术第五章-练习题及答案

第五章练习题及答案 一、填空题 1、常见的片选控制方法有____________________________________。线选法,全译码法,部分译码法 2、磁带是______存储器。顺序存储 3、为保证动态RAM中的内容的不消失,需要进行__________操作。刷新 4、全部存储系统分为四级,即寄存器组,____________,内存,外存。高速缓冲存储器 5、DRAM靠_______存储信息,所以需要定期_____。电容刷新 6、虚拟存储器由__________两级存储器组成。主存-辅存 7、存储器是计算机系统的记忆设备,它主要用来______。存储数据和指令 8、8086CPU的物理地址是指实际的20位主存单元地址,每个存储单元对应唯一的物理地址,其范围是_________________。00000H~FFFFFH 二、选择题 1、RAM是随机存储器,它分为( )两种。 A、ROM和SRAM B、DRAM和SRAM C、ROM和DRAM D、ROM和CD-ROM B 2、从存储器中读出或向存储器中写入一个信息所需要的时间称为( )。 A、等待时间 B、存取周期 C、查找时间 D、寄存器 B 3、在计算机的专业用语中,ROM表示( )。 A、外存储器 B、内存储器 C、只读存储器 D、随机存储器 C 4、在下列存储器中,若按记录密度从低到高的顺序播列,应为( )。 A、软盘、硬盘、光盘、磁带 B、磁带、硬盘、软盘、光盘 C、磁带、软盎、硬盘、光盘 D、硬盘、软盘、磁带、光盘 C 5、某计算机字长32位,存储容量为4MB,若按半字编址,它的寻址范围是()。 A、0-4MB B、0-2MB C、0-2M D、0-1MB C 6、下列因素中,与Cache命中率无关的是()。 A、主存的存取时间 B、快的大小 C、Cache的组织方式 D、cache 的容量 A 7、计算机的存储器采用分级存储体系的主要目的是()。 A、便于读写数据 B、减小机箱的体积 C、便于系统升级 D、解决存储容量、价格和存取速度之间的矛盾 D 8、磁盘存储器的数据存取速度与下列哪一组性能参数有关?( )。 A、平均等待时间,磁盘旋转速度,数据传输速串 B、平均寻道时间,平均等待时间,数据传输速串 C、数据传输速率,磁盘存储密度,平均等待时间 D、磁盘存储器容量,数据传输速率,平均等持时间 B

微机原理与接口技术考试复习题(有答案)

《微型计算机原理及接口技术》试题 (120分钟) 一. 单项选择题(在每小题的四个备选答案中选出一个正确的 1. 8086CPU芯片的外部引线中,数据线的条数为()。 A.6条 B.8条 C.16条 D.20条 2.8086CPU工作在总线请求方式时,会让出()。 A.地址总线 B.数据总线 C.地址和数据总线 D.地址、数据和控制总线 3.8086在执行OUT DX,AL指令时,AL寄存器的内容输出到()上。 A.地址总线 B.数据总线 C.存储器 D.寄存器 4.8086CPU的I/O地址空间为()字节。 A.64KB B.1MB C.256B D.1024B 5. 当8086CPU读I/O接口时,信号M/IO和DT/R的状态必须是()。 A.00 B.01 C.10 D.11 6. 在8088CPU中, 用于寄存器间接寻址输入输出指令的寄存器是()。 A. AX B. BX C. CX D. DX 7.两片8259A级联后可管理()级中断。 A.15 B.16 C.32 D.64 8.8086中断系统中优先级最低的的是()。 A.可屏蔽中断 B.不可屏蔽中断 C.单步中断 D.除法出错 9.CPU在执行IN AL,DX指令时,其()。 A. IO/M为高, RD为低 B. IO/M为高, WR为低 C. IO/M为低, RD为低 D. IO/M为低, WR为低 10. 内存从A4000H到CBFFFH,共有() A.124K B.160K C.180K D.224K 11. 8088CPU中的CS寄存器是一个多少位的寄存器?()。 A.8位 B.16位 C.24位 D.32位 12.地址译码器的输出一般可为接口的()信号。 A.片选 B.数据输入 C.地址 D.控制 13. 8255工作在方式0时,下面哪种说法正确() A. A、B、C三个口输入均有锁存能力 B. 只有A口输入有锁存能力 C. 只有C口输入有锁存能力 D. A、B、C三个口输入均无锁存能力 14. 实现DMA传送,需要() A.CPU通过执行指令来完成 B.CPU利用中断方式来完成 C.CPU利用查询方式来完成 D.不需要CPU参与即可完成 15.CPU在执行OUT DX,AL指令时,()寄存器的内容送到地址总线上。 A.AL B.DX C.AX D. DL 二、填空题 1. 分析与设计接口电路的基本方法有和。 2. DMA可以工作在状态和状态下,区分当前DMA工作在什么状态下。 3. 8086/8088的引脚用于决定其工作模式。 4.在译码过程中,如果有一根地址线没有用到,会有个重叠地址。 5.在总线上要完成一次数据传输一般要经历如下阶段:、 、和。 6. 8255A是芯片,有种工作方式; 7. 8253是芯片,内部有个端口地址,其中的每个计数器可作为进制和进制计数器使用。 8.从8253计数器中读出的计数值读出的减一计数器当前值。(是、不是) 9.串行通信包括和两种方式。 10. 158的16位二进制补码为,原码为,反码为。 11.-20的8位二进制补码为,原码为,反码为。 12.操作数寻址方式主要有、、和 4类。 13.中断过程包括、、和 4个阶段。 14. I/O端口地址的编制方式是和。 三.简答题 1.微型计算机接口一般应具有哪些功能? 2.8086有哪两种工作模式?其主要区别是什么? 3.什么是中断、中断向量和中断向量表?

相关主题
文本预览
相关文档 最新文档