微机原理

微机原理考试题型:

1、填空

2、简答

3、程序分析

4、读图分析

5、程序设计

复习题:

第一章

5.已知下列二进制数码,写出它们的原码、反码和补码。

(1) 00000000

(2) 01111100

(3) 10000010

(4) 11111111

答:(1) 0000 0000的原码、反码和补码都为0000 0000

(2) 0111 1100的原码、反码和补码都为0111 1100

(3) 1000 0010的原码、反码和补码分别为1000 0010、1111 1101、1111 1110

(4) 1111 1111的原码、反码和补码分别为1111 1111、1000 0000、1000 0001

第二章

简述8086/8088CPU的内部结构:

答:8086/8088CPU的内部结构基本相同,它们均由两个独立的工作部件组成,一个称为执行部件EU,一个称为总线接口部件BIU。

(1)执行部件EU由算术逻辑单元ALU、暂存寄存器、标志寄存器、通用寄存器组和EU 控制器构成。其任务只是执行指令,与外界的联系必须通过总线接口部件。

(2)总线接口部件BIU包括4个段寄存器、指令指针IP寄存器、指令队列缓冲器、完成与EU通信的内部寄存器、20位的地址加法器以及总线控制电路等。它的任务是根据EU 的请求,完成CPU与存储器、CPU与I/O设备之间的信息传送。

4.对于8086CPU,已知(DS)=0150H,(CS)=0640H,(SS)=1200H,问:

(1)在数据段中可存放的数据最多为多少字节?首末地址各是什么?

(2)堆栈段中可存放多少个16位的字?首末地址各是什么?

(3)代码段最大可存放多少个字节的程序?首末地址各是什么?

答:(1)在数据段中可存放的数据最多为64KB,首地址为01500H,末地址为114FFH。

(2)在堆栈段中可存放32K个16位的字,首地址为12000H,末地址为21FFFH。

(3)代码段中最大可存放64KB的程序,首地址为06400H,末地址为163FFH。

5.有一个由27个字节组成的数据区,其起始地址为BA00H:1BA0H,试写出该数据区的首末单元的实际地址。

答:数据区的首地址为BA00H*10H+1BA0H=BBBA0H;

数据区的末地址为BBBA0H+1BH-1=BBBBAH。

6.若代码段寄存器(CS)=2000H,指令指针(IP)=2000H,试问指令的实际地址是什么?

答:指令的实际地址为2000H*10H+2000H=22000H。

7.已知当前数据段位于存储器的A1000H~B0FFFH范围内,问DS等于多少?

答:因为数据段的范围为A1000H~B0FFFH,数据段具有64KB,且其末地址为B0FFFH,所以DS等于A100H。

第三章

指令含义:

名称含义操作说明

MOV 传送由源向止传送

PUSH 入栈将源压入堆栈

POP 出栈从堆栈弹出至止

IN 输入从端口输入至AX

OUT 输出将AX输出到端口

ADD 加法源+止=止

INC 加1 止=止+1

SUB 减法止=止-源

CMP 比较止-源

TEST 测试止∩源

JMP 转移无条件转移

JNO 单标志位条件转移不溢出

JNC 单标志位条件转移进位为0

JNS 单标志位条件转移符号标志位为0

JNZ 单标志位条件转移结果不为0

INT 中断

LOOP 循环

NOP 空操作无操作,不影响标志位

HLT 停机CPU暂停状态,不影响

1.8086语言指令的寻址方式有哪几类?用哪一种寻址方式的指令执行速度最快?

答:8086/8088提供了8种寻址方式对操作数寻址,它们是:隐含寻址、立即数寻址、寄存器寻址、直接寻址、寄存器间接寻址、寄存器相对寻址、基址变址寻址和相对基址变址寻址。寄存器寻址的指令执行速度最快。

18.分析下列程序段:

ADD AX,BX

JNO L1

JNC L2

SUB AX,BX

JNC L3

JNO L4

JMP SHORT L5

如果AX和BX的内容(带符号数)给定如下:

AX BX

(3)D023H 9FD0H

(4)42C8H 608DH

(5)B568H 94B7H

问:该程序执行完后,程序转向哪里?

答:(3)L5 (4)L2 (5)L5

19.说明下列程序段执行后AX和CX的值是什么?

SUB AX,AX

SUB CX,CX

LP:INC AX

LOOP

答:程序段执行后(AX)=0,(CX)=0。

第四章

2.已知数据段定义如下,假设该数据段从08000H开始:

DA TA SEGMENT

V AR1 DB 2 DUP(0,?)

V AR2 DW 1234H

ORG 8

V AR3 DB 5

V AR4 DW‘AB’

DA TA ENDS

用示意图说明各变量在内存中的分配情况。

答:各变量在内存中的分配情况如下:

08000H 00

08001H ——

08002H 00

08003H ——

08004H 34H

08005H 12H

08006H

08007H

08008H 05H

08009H 42H

08010H 41H

6.编写一程序,将键盘输入的大写字母转换为小写字母显示。解:程序段如下:

CODE SEGMENT

ASSUME CS:CODE

START: MOV AH,1H

INT 21H

CMP AL,60H

JNS DISP

ADD AL,20H

DISP: MOV DL,AL

MOV AH,02H

INT 21H

MOV AH,4CH

INT 21H

CODE ENDS

END START

第五章

例5-1 图5-16为某一8088系统的存储器连接图,试确定其中各芯片的地址空间。

解:图中使用一片27128EPROM和两片6264SRAM芯片。6264芯片为28引脚:地址线13条,数据线8条还有输出允许信号、写选通信号和片选信号,其工作方式与6116相似。

首先先确定各芯片的基本地址。所谓基本地址是指CPU用作片选的高位地址信号全为0,用作字选的地址信号从全0变化至全1对应的地址区间。图中的27128EPROM芯片有地址线14条,则其基本地址为0000 0000 0000 0000 0000 ~ 0000 0011 1111 1111 1111 = 0000H ~ 03FFFH。同理,6264SRAM芯片的基本地址为00000H ~ 01FFFH。

再确定各芯片的片选,即CPU高位地址什么状态下选中芯片。由于地址总线的A13 ~ A0用于芯片的自选,A19~ A14译码作片选,故图中译码器74LS138译码器的每个输出端选中16KB存储空间。译码器各输出端选中的存储空间具体如表5-4所示。

图中27128片选端与译码器的Y0端相连,则27128芯片的地址空间为20000H ~ 23FFFH。6264芯片容量为8KB,故两片一组组成16KB。译码器的Y4=0选中6264芯片组,该芯片组再由A13二次译码确定两片6264各自的地址空间。由图中可见,在Y4=0和A13=0时,1#6264芯片的片选端低电平有效,则1#6264芯片的地址空间为30000H ~ 31FFFH;在Y4=0和A13=1时,2#6264芯片的地址空间为32000H ~ 33FFFH。

表5-4 译码器各输出端选中的存储空间

IO/M 译码器输出端A

19 A

18

A

17

A

16

A

15

A

14

A

13

~ A

存储区域

0 Y0 0 0 1 0 0 0 00---0至11---1 20000H~23FFFH 0 Y1 0 0 1 0 0 1 00---0至11---1 24000H~27FFFH 0 Y2 0 0 1 0 1 0 00---0至11---1 28000H~2BFFFH 0 Y3 0 0 1 0 1 1 00---0至11---1 2C000H~2FFFFH 0 Y4 0 0 1 1 0 0 00---0至11---1 30000H~33FFFH 0 Y5 0 0 1 1 0 1 00---0至11---1 34000H~37FFFH 0 Y6 0 0 1 1 1 0 00---0至11---1 38000H~3BFFFH 0 Y7 0 0 1 1 1 1 00---0至11---1 3C000H~3FFFFH

此存储系统有16KB的EPROM,地址空间为20000H ~ 23FFFH;有16KB的SRAM,

地址空间为30000H ~ 33FFFH,采用全译码方式,芯片地址唯一确定。

1.半导体存储器分为哪几类?试述它们的用途及主要区别。

答:从应用角度来看半导体存储器可分为两大类:只读存储器ROM;随机存储器RAM。

只读存储器在使用过程中,具有只读出存储的信息而不能写入信息或者可以写入信息但

速度很慢的特点。断电后,其存储的信息仍保留不变,因而也称为非易失性存储器。由于ROM具有非易失性,故通常用于存放固定程序,如监控程序、PC机中的BIOS程序等。

随机存取存储器又称为读写存储器。RAM是指在使用过程中利用程序可随时读写信息

的存储器。断电后,其存储的信息会消失,也称为易失性存储器。RAM在线使用可读、可写,常用于存储用户调试程序和程序执行过程产生的中间数据、运算结果等。

6.写出下列存储器芯片(非DRAM)的基本地址范围,这些芯片各需几位地址线实现片内寻址?若要组成64KB的存储器各需几片?

(1) 4116芯片(16K*4位)

(2) 6116芯片(2K*8位)

(3) 27128芯片(16K*8位)

(4)62256芯片(32*8位)

解:基本地址范围是指CPU用作片选的高位地址信号全为0,用作字选的地址信号从全0变化至全1所对应的地址区间。这与芯片的地址线数目有关。

(1)4416芯片地址单元数为16K=214,地址线数目14条,所以需14条地址线实现片内寻址,基本地址范围为00000 ~ 03FFFH。组成64KB的存储器所需片数=64KB/16K*4=8片,故8片4416可组成64KB的存储器。

(2)6116芯片地址单元数为2K=211,地址线数目11条,所以需11条地址线实现片内寻址,基本地址范围为00000 ~ 007FFH。组成64KB的存储器所需片数=64KB/2K*8=32片,故32片6116可组成64KB的存储器。

(3)27128芯片地址单元数为16K=214,地址线数目14条,所以需14条地址线实现片内寻址,基本地址范围为00000 ~ 03FFFH。组成64KB的存储器所需片数=64KB/16K*8=4片,故4片27128可组成64KB的存储器。

(4)62256芯片地址单元数为32K=215,地址线数目15条,所以需15条地址线实现片内寻址,基本地址范围为00000 ~ 07FFFH。组成64KB的存储器所需片数=64KB/32K*8=2片,故2片62256可组成64KB的存储器。

第六章

4.设状态端口地址为86H,数据端口地址为85H,外设忙碌D7=1,请用查询方式写出CPU 从存储器缓冲区Buffer送出1KB的数据给外设的程序段(一次送一个字节数据)。

解:程序如下:

MOV SI,BUFFER

MOV CX,400H

LP1: IN AL,86H

TEST AL,80H

JNZ LP1

MOV AL,[SI]

OUT 85H,AL

INC SI

LOOP LP1

HLT

第七章

2.微机的中断处理过程有哪几步?中断过程和调用子程序过程有何异同?

答:一个中断过程应包含:中断请求、中断排队、中断响应、中断服务和中断返回。

中断过程和调用子程序过程相同之处是:都是在主程序中调用子程序,之后返回主程序。不同的是:进入子程序的时间和方法不同。调用子程序时,指令安排在主程序中,主程序主动,子程序的入口地址通过计算就知道。中断过程对于主程序是被动的,主程序中没有预先调用指令,中断是随机的,中断处理子程序的入口地址(中断向量)要由中断类型码获得。

4.中断服务程序一般进行哪些例行操作?

答:中断服务程序一般由6部分组成:

(1)保护现场CPU响应中断时自动完成断点的保护,其余的寄存器则由程序员视使用情况决定,中断服务程序中使用到的某些寄存器可通过PUSH指令送入堆栈保护。

(2)开中断CPU响应中断时,自动执行关中断操作。要实现中断嵌套,必须在中断服务程序中开中断。

(3)中断处理对中断源作相应的处理,如输入/输出数据、掉电紧急保护等,这是中断服务程序的核心。

(4)关中断若中断服务程序设置了开中断,则此时应关中断,以保证下一步恢复现场的操作不被打断。

(5)恢复现场按后进先出的原则,通过执行POP指令将送入堆栈保护的寄存器弹出,注意PUSH指令和POP指令应成对使用。

(6)中断返回中断返回将从堆栈中弹出断点,从而返回到主程序。

5.实现中断嵌套的条件是什么?优先权高的中断请求一定能打断正在进行的优先权低的中断服务程序吗?

答:中断嵌套是正在中断服务处理过程中,出现优先权更高的中断请求,则再次响应新的中断请求,转去为优先权更高的中断服务,处理完后再回到原来的中断服务中。因此,要实现中断嵌套,其必要条件是新的中断请求的优先权更高。但是,并不是优先权高的中断请求一定能打断优先权低的中断服务。如果CPU在中断的处理过程时处于禁止中断状态,它是不响应新的中断请求的。

7.简述8086/8088的可屏蔽中断和非屏蔽中断的区别。

答:非屏蔽中断请求由NMI引脚送入,它不能被屏蔽,即不受标志IF状态的影响,在当前指令执行完后,CPU就响应。非屏蔽中断类型码固定为2。

可屏蔽中断请求由INTR引脚送入,CPU是否响应,取决于标志寄存器中的中断允许标志IF的状态。若IF=0,则表示中断禁止,CPU不响应;若IF=1,则表示中断允许,CPU 可以响应,从而进入中断响应总线周期,CPU发出中断响应信号INTA,并从数据总线获取中断源的中断类型码,进入中断服务程序。

12.8259A当前中断服务寄存器ISR的内容代表什么?在中断嵌套和单个中断情况下,ISR 的内容有什么不同?

答:中断服务寄存器ISR记录了正被CPU响应的中断。ISR是8位寄存器,8个位分别对应8个中断源IRi,若某个中断源的中断请求被CPU响应,则对应位置1。单个中断被响应时,ISR中只有一个位为1;中断嵌套时ISR中有两个以上的位为1,表明一个中断未处理结束,又转入更高优先权的中断处理中。所以ISR表示当前有哪些正在响应的中断存在。

16.设目前系统的最高优先权为IR5,若执行OCW2命令,且命令中EOI=0,R=1,SL=1,L2L1L0=011。请指出OCW2命令执行后,8259A的优先权顺序。

解:因为OCW2命令中EOI=0,R=1,SL=1,因此该命令是设置优先权特殊循环,由L2L1L0=011确定最低优先权为IR3,该命令执行后,8259A的8个中断源的优先权从高至低次序为IR4、IR5、IR6、IR7、IR0、IR1、IR2、IR3。

第八章

例8-10 8253的计数器2用作分频器,将频率1.19MHz的输入脉冲转变成频率为500Hz的脉冲信号。8253的端口地址为70H ~ 73H。试编写初始化程序段。

解:依题意,计算分频系数N=1.19*106/500=2380=094CH,则其初始化程序段为:MOV AL,0B4H

OUT 73H,AL

MOV AL,4CH

OUT 72H,AL

MOV AL,09H

OUT 72H,AL

6.以8255A作为接口,采集8个开关状态,然后通过8个发光二极管显示出来(开关闭合,对应发光二极管亮;开关打开,对应发光二极管暗)。请画出电路连接图并编程实现。

解:电路连接图如图示,从图中连接知,该8255A的端口地址为80H ~ 83H。

程序段如下:

MOV AL,82H

OUT 83H,AL

LP:IN AL,81H

NOP

OUT 80H,AL

JMP LP

相关推荐
相关主题
热门推荐