一.填空(15分,每空1分)
(1)43.625= B= H。
(2)8086CPU从功能上可分为两部分,即 和 ,8086系统中的存储器
是按 编址,可寻址的存储器空间为 ,对应的物理地址区间为 到 。
(3)8086微机系统复位后执行的第一条指令的位置在__ _____。 (4)在LOOP循环指令中,要使循环的次数最多,CX的值是 。
(5)可编程计数/定时控制器8253有 个定时/计数器,有 个端口地址。 (6)2K×8的SRAM芯片,有_ 8 _根数据线, 11 _根地址线。若用该芯片组成16K×16的存储器,需要 16 片。
二.画出完成9-4运算4个二进制位可控反向加法电路图。(10分)
三.问答题(20分,每题4分)
(1)8086系统中的物理地址是如何得到的?假如CS=2000H,IP=2100H 其物理地址应是多少?
(2)指令RET和IRET有何区别?
(3)中断类型8,中断向量2345H:7890H,放在中断向量表的什么位置? (用图表示出来)
(4)写出从88H端口读入信息的指令,和从142H端口输出100H的指令。 (5)8086系统中可引入哪些中断,它们是如何引入的? 五.读程序段回答问题。(10分,每题5分)
(1)读下列程序段,说明该程序段的功能,并说明在什么情况下,执行结果AH=0? BEGIN: IN AL, 5FH TEST AL, 80H
JZ BRCH1 MOV AH, 0 JMP STOP
BRCG1: MOV AH,0FFH STOP: HLT
(2)设AX=1122H、BX=3344H、CX=5566H、SS=095BH、SP=40H,下述程序执行后AX、 BX、CX、DX、SP等通用寄存器的内容是多少? PUSH AX PUSH BX PUSH CX POP BX POP AX POP DX
四.用十六进制数填写下表.已知DS=1000H,ES=2000H,SS=0FC0H,其余通用寄存器值为0。 (10分,每题1分)
指令 存储器操作数的逻辑地址 SUB [BP], AL MOV [BX], BH MOV [DI], DL MOV ES:[SI], BL ADD [BP+500H], AH SUB [SI-300H], AL MOV [DI+1000H], DL MOV [BX-8], CL MOV [BP+SI], DH MOV [BX+DI], DL
六.编程(20分,每题10分)
(1)用字符串指令编一个程序检查位于内存[0100H]开始的55个字节的
字符串中是否存在字符A,若有则把A字符所在的偏移地址放到BX中,若无则 将BX清零。
(2)不用乘法指令实现AL(无符号数)乘以20。
七.某应用系统以8255A作为接口,采集一组开关S7~S0 的状态,然后通过一组发光二极管LED7~LED0显示开关状态,(Si闭合,则对应LEDi亮,Si断开,则对应的LEDi灭)电路连接如下图,已知8255A、B两组均工作在方式0。(15分)
1) 写出8255四个端口的地址。 2) 写出8255工作方式控制字。 3) 写出初始化程序段。
4) 写出实现给定功能的汇编语言程序。
D7~D0IOW#IOR#A9AENA8A7&A6A5A4A3A2A1A0
D7~D0WR#RD#G1Y#G2A#0 74LS138G2B#CBACS#PA7PA0LED7LED08255AS7PB7A1A0PB0S0