第 1 页 共 3 页 ---------------------〇------------存------------------------------档-〇--------------------装----------------------〇-订-----------------------------线---------------------------------------〇 学院
班级
学号
姓名 ---------------------〇------------评------------------------------卷-〇--------------------密----------------------〇-封------ -----------------------线---------------------------------------〇 一、简答题(每小题5分,共40分) 1. 求-126的原码,反码及补码。 2. 8088CPU 的一个标准总线周期是多少个时钟周期?8088CPU 的标准工作频率是5MHz ,它的一个标准总线周期需要多少纳秒? 3. 8086/8088CPU 为什么对存储器采用分段管理?分段管理的方法是什么? 4. 假设DS=2000H ,SS=3000H ,BP=100H ,SI=5,请确定下列指令中存储器操作数的物理地址。 mov [bp+si] , ax mov dx, [si] 5. 在内存中,从Table 单元开始,用伪指令定义0~15的平方表。 6. 从键盘输入单个字符可以使用1号DOS 功能调用,请写出调用的指令段。 7. 8088/8086CPU 的I/O 系统采用独立编址方式,它的优缺点是什么? 8. 请从中断请求输入引脚、触发信号、是否受IF 标志位控制的角度简述8088/8086CPU 对于存储器奇偶错、电源掉电等紧急事件如何处理?对一般的外部中断请求如何处理? 二、完成下面程序(10分) 在数据段中,从buff 单元开始存放着10个字节类型的无符号数,为找出其中最小的数并 存入min 单元编程如下,请将程序补充完整。 data segment buff db 35h,12h,23h,08h,65h,51h,42h,89h,73h,81h min db ? data ends code segment assume cs:code, ds:data start: mov ax, data mov ds, ax mov cx, 9 ;设置循环次数 ;数据首地址送si ;取第一个数 ;调整指针指向第二个数 ;与第二个数比较大小 ;若al<[si],则跳转next 处 ;否则替换al next: ;修改地址指针 loop con ;测试循环条件cx 是否为零? mov min, al mov ah, 4ch int 21h code ends end start 三、 存储器应用(10分) 如图1所示,由2片静态随机存储器芯片62256(32K х8)构成存储器,74LS138的Y2作为芯片U1的片选信号,Y3作为芯片U2的片选信号,请给出芯片的地址范围。 图1 四、 8253应用(10分) 某系统中8253的连接如图2所示。 编程控制计数器1,使其在CLK1输入脉冲频率为1MHz 时,输出1000Hz 的方波信号。请说明8253的端口地址、计数器1的控制字、时间常数,并将程序补充完整。 code segment assume cs:code ,ds:data start : code ends end start
第 2 页 共 3 页
---------------------〇------------存------------------------------档-〇--------------------装----------------------〇-订-----------------------------线---------------------------------------〇 学院 班级 学号 姓名 ---------------------〇------------评------------------------------卷-〇--------------------密----------------------〇-封------ -----------------------线---------------------------------------〇
图2
五、8255应用(20分)
设8255的端口地址为8000H~8003H ,设置8255工作在方式0,利用它的端口A 控制4相步进电机,采用双四拍方式驱动电机(AB —BC —CD —DA--AB ),请说明8255的方式控制字是什么,并将程序补充完整。
图4
code segment
assume cs:code ,ds:data start proc near
;设置8255工作方式
mov dx, 8000H
mov al,0 out dx,al
s1:mov dx,8000H mov al,3 out dx,al
call delay
;控制电机运转
jmp s1
start endp
delay proc near
push cx
mov cx,1000h s2: loop s2 pop cx ret
delay endp
100-方式4101-方式5
00-计数器中的数据锁
存于缓冲器
01-只读/写低8位,
高8
位默认为010-只读/写高8 位
低 8位默认为011-先读/写低8位
后读/写高8位
图3
第 3 页 共 3 页
---------------------〇------------存------------------------------档-〇--------------------装----------------------〇-订-----------------------------线---------------------------------------〇 学院 班级 学号 姓名 ---------------------〇------------评------------------------------卷-〇--------------------密----------------------〇-封------ -----------------------线---------------------------------------〇
code ends
end start
六、数/模转换(10分)
数模转换器DAC0832以单缓冲方式工作,端口地址为A000H ,下面程序是产生三角波的 控制程序,请补充完整。
cs0832 equ 0a000h code segment
assume cs:code start proc near
mov dx ,cs0832 next0: mov cx ,0ffh ;赋循环次数
mov cx ,0ffh next2: dec al out dx, al call delay loop next2 jmp next0
start endp
delay proc near push cx mov cx, 0fh loop $ pop cx ret delay endp
code ends end start
图 5 8255方式控制字格式图3 8253控制字格式