微型计算机原理
2006 年 6 月 27日
电科04级
一 二 三 四. 五 六 七 八
一.填空题 (每空1分,共30分)
1.若字长为16位,X=75D,则[X]补= 004B H, [-X]补= FFB5 H 。
2.设两个二进制数X=01101010B,Y=10100010B,试比较它们大小: (1)X、Y两数均为带符号位的补码数,则X > Y ; (2)X、Y两数均为无符号数,则X < Y ;
3.如果在一个程序段开始执行之前,(CS)=2000H,(IP)=1234H,给定一个数据的有效地址是0127H,且(DS)=3000H。 试问:该程序段的第一个字的物理地址为21324 H,数据在内存中的物理地址是 30127 H 。
4.某存储芯片有 11条地址线和4条数据线,此芯片至少可以存放二进制数
2048 个,地址范围是 0000~07FFH ,每个二进制数有 4 位,若要把每个二进制
数增加到八位,则应采用 芯片级联(位扩展) 办法。
5.CPU和外设之间的数据传送方式有 程序控制的输入输出方式 、 程序中断的输入输出方式 、 直接存储器存取的输入输出方式 。
6.根据传送信息的种类不同,系统总线分为 数据总线、地址总线、控制总线。7.8255A把 A口和C口高4位 和 B口和C口低4位 分别称为A组和B组,可组成两个独立的并行接口,PA口有 3 种工作方式。 8.指出下列各条指令划线部分的寻址方式:
(1)MOV SI , 1000H 寄存器寻址 (2)MOV [SI] , 1000H 寄存器间接寻址 (3)ADD AX , [1046H ] 直接寻址 (4)AND DL, [BX+SI] 基址加变址 (5)OUT 2FH ,AL 直接端口 (6)IN AX, DX v 间接端口 9.在8086系统中,一个中断类型号为0A4H的中断服务子程序位于从01FE:3800H
开始的内存中,则相应的中断矢量地址为 0000:0290H ,从该地址开始连续4 个存储单元存放的内容依次为 00H 、38H 、 FEH 、 01H 。
1
10.单片8259A可管理 8 级可屏蔽中断,4片级联最多可管理 29 级可屏蔽中断。
二.选择填空题(单选,每题2分,共20分) 1.微机中地址总线的作用为( C )
A.用于选择存储器单元 B.用于选择进行信息传输的设备
C.用于指定存储器单元和I/O设备接口单元的选择地址 D.用于传输控制信息 2.8086工作于最小模式下,当M/IO=1,RD=1,WR=0,CPU完成的操作是( C ) A.存储器读 B.I/O读 C.存储器写 D.I/O写 3.在寄存器间接寻址方式中,指定寄存器中存放的是( B )
A.操作数 B.操作数地址 C.转移地址 D.地址偏移量 4.执行返回指令时,返回的断点是( D ) A.调用指令的首地址 B.调用指令的末地址
C.返回指令的末地址 D.调用指令下一条指令的首地址 5.16位有符号二进制数补码能表示的整数范围是( A )
A.-215~+(215-1) B.-(215-1)~+(215-1) C.-(215+1)~+215 D.-215~+215
6.8086/8088CPU中设置指令队列的目的是( C )
A.保存所执行过的指令,以便下次使用时不再去访问存储器 B.减少取指令操作与取数据操作的冲突现象
C.能够使EU和BIU并行工作,减少CPU为取指令而等待的时间 D.为了加快指令译码的时间
7.在汇编过程中不产生指令码,只用来指示汇编程序如何汇编的指令是( C )
A.宏指令 B.机器指令 C.伪指令 D.汇编指令
8.当用Intel8259A作为中断控制器时,在外部可屏蔽中断的服务程序中,要用EOI命令 (中断结束命令),是因为( D )
A.要用它来清除中断请求,以防止重复进入中断程序 B.要用它屏蔽已被服务了的中断源,使其不再发生出请求 C.要用它来重新配置8259A中断控制器
D.要用它来清除中断服务寄存器中相应位,以允许同级或较低级中断能被服务 9.下列指令中正确的是( C )
A.MOV DS, 0200H; B.MOV AX,[SI][DI];
C.MOV BP, AX; D.MOV BYTE PTR [BX], 2000;
10.若8253A的计数器0#工作于方式3(方波方式),CLK端输入的脉冲频率为50KHz,
当计数器初值为25时,OUT端输出的方波高电平和低电平持续的时间分别为( A )。
A.260us 、240us B.500us 、500us C.240us 、260us D.250us 、250us
2
三.编程简答题 (共25分)
1.写出一条能完成下述操作的指令:(6分)。
(1)将AH的高半字节清零,低半字节不变: AND AH 0FH (2)将AH的低半字节全置1,高半字节不变: OR AH 0FH (3)将AH的低半字节取反,高半字节不变: XOR AH 0FH 2.执行下列程序段,指出此程序段功能。(3分)
CLD 功能:对0404H单元开始的128个字单元 LEA DI, ES:[0404H] (或256个字节单元)清0。 MOV CX, 0080H XOR AX,AX REP STOSW
3.请设置一个数据段DATA ,按照如下要求定义变量或常量(6分) my1b为字符串变量,表示字符串“Electronic Science”;
my2w为20个未赋值的字变量; my3b为字节型压缩BCD码,初值为58;
my4c为字符串常量,代替字符串“Electronic Science”; DATA SEGMENT
my1b DB ‘Electronic Science’ my2w DW 20DUP(?) my3b DB 58H
my4c EQU ‘Electronic Science’ DATA ENDS
4.设有关寄存器及存储单元的内容如下:(10分)
(DS)=1000H,(BX)=0100H,(SI)=0002H,(10100H)=12H, (10101H)=34H, (10102H)=56H, (10103H)=78H, (11200H)=2AH, (11201H)=4CH, (11202H)=0B7H,(11203H)=65H 试说明下列各指令执行完后,(AX)=?
(1)MOV AX, 1200H AX=1200H (2)MOV BX, AX 0100H (3)MOV AX, [1200H] 4C2AH (4)MOV AX, [BX][SI] 7856H (5)MOV AX, [BX+SI+1100H] 65B7H
3
四.应用题(10分)
编写8253计数器2#的初始化程序。要求:计数器工作于方式3(方波方式),CLK2接1MHz的周期信号,要求OUT2输出周期为10ms的方波,选择二进制计数方式,计数初值为16位二进制数,已知8253的端口地址为40H~43H。 (提示:8253控制字格式见下方)
解:输出时钟频率=1/10ms=100Hz
分频系数=输入时钟频率/输出时钟频率=1MHz/100Hz=10000=2710H 计数器工作方式控制字为:10110110B=0B6H
初始化程序:
MOV AL, 0B6H;给控制端口送计数器工作方式控制字 OUT 43H, AL
MOV AL, 10H;给2#计数器送计数初值的低8位 OUT 42H, AL
MOV AL, 27H;给2#计数器送计数初值的高8位
OUT 42H, AL
4
五.系统扩展题(共15分)
设某微机系统的内存由地址号连续的16KB静态RAM组成,起始地址为88000H。存储器芯片用8Kx4的RAM芯片,CPU为8088。 (1)组成该内存空间共需几个芯片组?每个芯片组有几片RAM芯片?写出每个芯片组的地址空间。(4分)
(2)画出该微机系统中与系统总线的连接(数据总线、地址总线、读写选通信号线、IO/M选择线等)。(4分) (提示:D3~D0数据线,A12~A0为地址线,
OE数据输出允许端,接8088的RD端;WE写允许端,接8088的WR端;各
芯片引脚分布如图1所示)
(3)编写程序片段,将该16KB内存全部清零。(4分)
图1 74LS138译码器功能表、引脚逻辑和RAM芯片引脚图
解:
(1) 构成8Kx8芯片组需要芯片数:8/4=2片(芯片位数扩展)
故组成该内存空间需要芯片组数:16KB / 8K=2组(芯片字数扩展) 第一组芯片的地址范围:88000H~89FFFH 第二组芯片的地址范围:8A000H~8BFFFH (3) 略 (3)程序片段: CLD
MOV AX, 8800H MOV ES, AX MOV DI, 0 MOV AL, FFH
MOV CX, 4000H REP STOSB
5
六.系统扩展题(共15分)
已知RAM芯片的容量为4KX4,该芯片有数据线、地址线、片选信号CS和读写控制线WE,存储器的地址空间如图2所示,请完成以下操作。
(1)用这种RAM芯片搭成如图2所示地址空间,需要几块这样的?共分几个芯片组?该RAM芯片有几根地址线?几根数据线。(5分)
(2)假设CPU为8088,将这些芯片按图2所示的地址空间进行1#RAM芯片扩展,请画出其扩展连接图。(5分) (提示:D3~D0数据线,A12~A0为地址线,OE:输出开放引线端,接
8088的RD端;WE:写开放引线端,接8088的WR端)
(3)编写程序片段,将FFH写满2#RAM芯片。(5分)
存储空间06000H1 # RAM07000HE1000HE4000H空2 # RAM空
图2 74LS138译码器引脚分布及存储空间地址分配图
解:(1)构成4Kx8芯片组需要芯片数:8/4=2片(芯片位数扩展)
1#RAM空间容量为4KB:需要1个芯片组,每个芯片组需2块这样的芯片。
2#RAM空间容量为12KB:需要3个芯片组,每个芯片组需2块这样的芯片。 该RAM芯片有12根地址线,4根数据线。
(2)1#RAM阵列与系统总线的连接图下如图所示(略)。
(3)程序片段: CLD
MOV AX, 0E000H MOV ES, AX MOV DI, 1000H MOV AL, 0FFH
MOV CX, 3000H REP STOSB
6