内容发布更新时间 : 2024/12/27 12:40:57星期一 下面是文章的全部内容请认真阅读。
- 1 -
- 2 -
- 3 -
微机控制与接口技术作业(二)
一、填空题
1. 8086是 16 位的微处理器,其内部数据通路为 16 位,其对外数据总线为 16 位 ;8088内部
数据通路为 16 位, 其对外数据总线为 8 位。
2 一个微计算机应包含: 微处理器 , 存储器 , I/O接口电路 , 系统总线 基本功能部件。 3 EU 是8086/8088微处理器的执行部件, BIU 是8086/8088微处理器的总线接口部件。 二、判断下列论述是否正确,不正确的请加以改正。 (1)INT指令执行后,堆栈顶部三个栈单元(SP)、(SP)+2、(SP)+4依次保存FLAGS、断点IP值、断点
CS值。不对,堆栈顶部三个栈单元(SP)、(SP)+2、(SP)+4依次保存的应是断点IP值、断点CS值、FLAGS。
(2)中断类型号是中断向量表中存放相应中断向量的首地址。不对,中断类型号×4才是相应中断向量的首地址。
三、分析以下程序回答问题
XOR AX, AX (1)程序段完成什么工作?
MOV BX, M 答:将X数组中的n个元素之和存放在RESULT单元中。 SUB BX, 2 (2)定义一个适合这段程序的数据段。 LOP1: ADD AX , X[BX] DATA SEGMENT SUB BX, 2 X DW n DUP(?) JGE LOP 1 M DW 2n MOV RESULT, AX N DW n RET RESULT DW ? DATA ENDS 四、8086/8088在什么时候及什么条件下可以响应一个外部INTR中断请求?中断向量表在存储器的什么位置?向量表的内容是什么?8086如何将控制转向中断服务程序? 答:(1)8086/8088在当前指令执行完且IF=1的情况下可以响应一个外部INTR中断请求。 (2)中断向量表在存储器的0段0000—03FFH区域,向量表存放中断处理程序的入口地址。
(3)8086/8088响应INTR中断请求时,首先在连续的两个总线周期中发出INTA#负脉冲,在第二个INTA#
信号期间,中断源经数据总线向8086/8088送出一字节中断向量“类型码”。8086/8088收到“类型码”后将其乘4形 成中断向量表的入口,从此地址开始的4个单元中读出中断服务程序的入口地址(IP、CS),取指令执行将控制转向中断服务程序。
五、一个微机系统中包含以下器件:微处理器8088一片,并行接口8255A一片(设备号:A口—40H,B口—41H,C口—42H,控制口—43H),定时器8253一片(设备号:计数器0—50H,计数器1—51H,计数器2—52H,控制口53H),中断控制器8259A一片(设备号:A0H,A1H)。现将8255的A口连接一输入设备,工作在0方式。B口连接一输出设备,也工作在0方式。PC4作为输出设备的选通输出端且低电平有效。8253计数器0工作于“模式0”,计数常数为80H,进行二进制计数。8259A的ICW2给定为60H,工作于电平触发方式,全嵌套中断优先级,数据总线无缓冲,采用中断自动结束方式。请编写初始化程序(注意:控制字中可0可1位选0,8255未用端口设成输入方式)。
MOV AL, 03H 答: MOV AL, 91H ; 8255初始化
OUT 43H, AL OUT A1H , AL
IN AL, 40H MOV AL,30H ; 8253初始化
OUT 53H, AL PUSH AX
MOV AL, 09H MOV AL, 80H ;设8253计数初值
OUT 50H , AL OUT 43H , AL MOV AL, 00H POP AX ; OUT 50H , AL OUT 41H , AL
MOV AL, 08H MOV AL, 1BH ; 8259A初始化
OUT A0H , AL OUT 43H , AL MOV AL, 60H MOV AL , 09H OUT A1H , AL OUT 43H , AL
- 4 -
微机控制与接口技术作业(三) 一、判断题:(每题2分,共计10分)
1.CPU与存储器间及I/O间的连线被称为总线。(√ )
2、采用中断方式进行数据传送时必须在主程序中事先保护现场,否则会引起系统混乱。( ╳ ) 3、当运算产生溢出时,不一定产生溢出中断。( √ )
4、若要实现定时控制,则需将定时器的计数脉冲输入信号作为中断请求信号。( ╳ ) 5、根据数据传送方向不同,串行通信可分为单工、半双工和全双工三种方式。( √ )
二、填空题(共计40分)
1、系统总线按其性能可分为 高端总线 和 低端总线 ;按其技术上的差异可分为 传统总线 和 现代总线 。
2、可编程序定时器/计数器8253中有 3 个独立的计数器。
3、在对8253进行任何操作前,都必须先向8253写入一个 控制字 ,以确定8253的工作方式。 4、将各种物理信号变成电信号的装置称为 A/D转换器 。 5、字形码是输给8段显示器的 段控端 。 6、.LCD显示是利用液晶材料的 旋光 特性制成的显示器。 7、串行通信每秒传送的二进制位数称为 波特率 。
三、简答:(共计30分)
1、指出下列指令的错误:
(1) MOV AH,BX (1) 源、目的字长不一致 (2) MOV [SI],[BX] (2) 源、目的不能同时为存贮器寻址方式
(3) MOV AX,[SI][DI] (3) 基址变址方式不能有 SI和DI的组合
(4) MOV AX,[BX][BP] (4) 基址变址方式不能有 BX和BP的组合 (5) MOV [BX],ES:AX (5) 在8086寻址方式中,AX不能作为基址寄存器使用,而且源、目的不能同时为
(6) MOV BYTE PTR[BX],1000 (6) 1000超出一个字节的表数范围 存贮器寻址方式 (7) MOV AX,OFFSET [SI] (7) OFFSET只用于简单变量,应去掉
(8) MOV CS,AX (8) CS不能作为目的寄存器 2、试分析下面的程序段完成什么操作? MOV CL,04 SHL DX,CL MOV BL,AH SHL AX,CL SHR BL,CL OR DL,BL
答:将DX: AX中的双字左移4位(乘16)
四、程序设计:(20分)
有两个3位的ASCII数串ASC1和ASC2定义如下:
ASC1 DB ‘578’
ASC2 DB ‘694’ ASC3 DB ‘0000’ 请编写程序计算ASC3←ASC1+ASC2。 答:CLC MOV CX, 3 MOV BX, 2 BACK:
MOV AL, ASC1[BX] ADC AL, ASC2[BX] AAA OR ASC3[BX+1], AL DEC BX LOOP BACK RCL CX, 1 OR ASC3[BX], CL
- 5 -