中国石油大学(华东)现代远程教育
《微机原理及应用》综合复习资料
一、填空题
1、 对于十六进制表示的数码19.8H,该数用压缩BCD码表示时数据为: 00100101.0101B 。 2、 设机器字长为8位,最高位是符号位。则十进制数–13所对应的补码为 11110011B 。 3、 8086/8088 CPU从功能上分 EU 和BIU两部分。 4、 可编程接口芯片8255A含有 3 个8位的I/O口。
5、 设CS=2500H,DS=2400H,SS=2430H,ES=2520H,BP=0200H,SI=0010H,DI=0206H则:指令
MOV AX,[BP+SI+4]源操作数的物理地址为 24514H 。 6、 采用级联方式,用9片8259A可管理 64 级中断。
7、 指令MOV AX,[BX+DI+10H]源操作数的寻址方式为 相对基址加变址寻址。
8、 在使用8086间接输入/输出指令时,必须在执行该指令之前将相应的端口地址送入 DX 寄存器中。 9、 若中断类型码N=3H,则对应的中断向量在中断向量表中第一个字节单元地址为 0000CH 。 10、要组成容量为4K×8位的存储器,需要 8 片4K×1位的静态RAM芯片并联。
11、可屏蔽中断从CPU的 INTR 引脚进入,只有当中断允许标志IF为 1 时,该中断才能得
到响应。
12、设计输入/输出接口时,应遵守的基本原则是:输入 输入要缓冲 ;输出 输出要锁存 。 13、8086/8088CPU可访问2个独立的地址空间,一个为I/O地址空间,其大小为 64K 字节;
另一个为存储器地址空间,其大小为 1M 字节。
14、若定义DA1 DB ‘hello’,则 (DA1+3) 存放的数据是 ‘1’ 。
15、8086/8088 CPU从功能上分为 BIU 和 EU 两部分。8086/8088CPU中执行部件的功能是负责
指令的译码和指令执行的执行。
16、8086中的BIU中有 4 个 16 位的段寄存器、一个 16 位的指令指针、 6 字节指令队列、 20 位的地址加法器。
17、8086 可以访问 8 位和 16 位的寄存器。
18、8086CPU从偶地址读出两个字节时,需要 1 个总线周期;从奇地址读出两个字节时,需要
2 个总线周期。
19、8086/8088CPU的最小工作模式是指系统中只有一个处理器,CPU提供全部的控制信号;它是通过将
MN/MX引脚接 高电平 来实现的。
20、CPU访问存储器时,在地址总线上送出的地址称为 物理地址 地址。
第 1 页 共 7 页
中国石油大学(华东)现代远程教育
二、单选题
1、 下列数据中最大的数为__C___ 。
A.(37)8 B.(75)10 C.(11011001)2 D.(27)16
2.~3.已知某微机系统的存储器由三个芯片组组成,每个芯片组容量为4K字节,总容量为12K字节。试问:为满足其编址范围,至少需要地址总线中的 14 根?其中12根用于每个芯片的片内地址输入。 2、 中断向量可以提供 .中断服务程序入口地址。
3、 下列8086指令中,对AX的结果与其他三条指令不同的是 D 。
A.MOV AX,0 B.XOR AX,AX C.SUB AX,AX D.OR AX,0
4、 若寄存器AX,BX,CX,DX的内容分别为11,12,13,14时,依次执行PUSH AX,PUSH BX,
POP CX,POP DX,PUSH CX,PUSH DX,POP AX,POP BX后,则寄存器AX和BX的内容分别为: 11,12
5、 8086的内存空间和I/O空间是单独编址的,分别是1MB和64KB 6、 下列指令中,不合法的指令是: A 。
A.PUSH BL B.ADD BX,[DI] C.INT 21H D.IN AX,09H
7、 设(AX)=1000H,(BX)=2000H,则在执行了指令“SUB AX,BX”后,标志位CF和ZF的值分
别为: C.1,0
11、8088/8086 CPU中,指令指针(IP)中存放的是 B 指令地址。 12、下面的说法中, B 指令周期大于机器周期 是正确的。
三、分析简答题
1、 8086/8088 CPU内部包含有哪6个专用寄存器?它们的主要功能是什么? 答:有CS、DS、ES、SS、IP、PSW (3分)
CS(代码段寄存器):用来存放当前代码段的基地址。(1分)
DS(数据段寄存器):用来存放供程序使用的数据的一段存储区的基地址。(1分) ES(附加段寄存器):附加的数据段的基地址,(1分) SS(堆栈段寄存器):堆栈段的基地址。(1分)
IP:16位寄存器。指示代码段存储区域中下一条指令的段内偏移量。(1分) PSW:标志寄存器,用来指示微处理器的状态并控制其操作。(1分)
2 、 设计计算机接口要遵循的基本原则是什么?为什么? 答:输出要锁存,输入要缓冲。(2分)
第 2 页 共 7 页
中国石油大学(华东)现代远程教育
因为计算机的运行速度比较快,输出数据通常要经过锁存才能被外设读取;外设的数据线通过缓冲器与CPU的数据线相连接,从而保证CPU在读取一个外设数据时不会因其它外设的存在而出错。(3分) 3 、 8086存储器为什么分段?每段最大为多少字节?20位物理地址的形成过程是怎样的? 答:8086CPU是一个16位的结构,内部寄存器及数据总线均为16位,16位地址只能寻址
64KB空间。无法送出外部所需的20位物理地址。因此采用分段管理办法,来形成超过16位的存储器物理地址,扩大对存储器的寻址范围 (1MB,20位地址)。 (3分) 最大:64KB (1分)
当CPU访问内存时,段寄存器的内容(段基址)自动左移4位(二进制),与段内16位地址偏移量相加,形成20位的物理地址。 (2分)
4、堆栈存储区由哪两个寄存器管理?简述数据压栈和弹栈的过程。
答:堆栈存储区由两个寄存器管理:堆栈指针(SP)和堆栈段寄存器(SS)。(2分)
当一个字数据被压入堆栈时,SP首先减2,然后对栈顶存储单元进行16位字的写操作;其高 8位数据被放在SP-1单元中,低8位数据被放在 SP-2单元中。当数据从堆栈中弹出时,低8位从SP单元移出,高8位从SP+1单元移出,然后SP+2。(3分) (1) (2)
MOV AX,[BX] MOV AX,[BX][SI]
(1) AX= 1200H (2) AX= 43EFH (3) AX= 3412H (4) AX= 8765H (1.5分/题) 7、若STR是字符串的首地址,指出下列程序的功能,并将语句加上注解。
LEA
BX,STR ;取STR 的偏移量放到BX中
MOV CX,20 ;_设置循环次数________
LP: CMP [BX],‘*’
JNZ NEXT ;BX所指单元内容不为‘*’,则转移至NEXT MOV [BX],‘$’ ;将BX所指单元用‘$’替代
BX ;BX加1,指向下一个单元
LP ;CX-1不等于0则转移至LP处,继续循环
NEXT: INC
LOOP HLT
程序的功能:将STR开始的前20个字符中的‘*’用‘$’替代
8、 假设某程序段中的数据定义如下:
A1 DW 3 DUP( 2 DUP(1,2)) A2 DB ‘5678H’
第 3 页 共 7 页
中国石油大学(华东)现代远程教育
A3 DD ? L EQU $-A1
问:A1、A2、A3在数据段中各占用几个字节?L的值是多少?它表示什么意义?
A1占24个字节 A2占5个字节 A3占4个字节 L的值为33 L表示的意义:变量A1、A2、A3所占的字节总数 (1.5分)
五、程序设计题
在BUF开始有一个字节型数组,共有100个元素,利用汇编语言编写完整的程序,计算这个数组中负数的个数,并将结果存入内存COUNT单元。
DATA SEGMENT BUF DB 100 DUP (?) COUNT DB 00 DATA ENDS
CODE SEGMENT
ASSUME CS:CODE,DS:DATA START:MOV AX,DATA MOV DS,AX
MOV SI, OFFSET BUF MOV CX,100 CON:MOV AL,[SI]
TEST AL,80H JZ NEXT INC COUNT NEXT:INC SI LOOP CON
MOV AH,4CH INT 21H
CODE ENDS (下一行) END START
微型计算机原理及应用试题
一、 填空:(每空1分,共20分)
1.微型计算机是由硬件系统和软件系统两大部分组成的。 2.系统总线包括数据总线、 地址总线、 控制总线。
第 4 页 共 7 页