接口作业解答

更新时间:2023-11-24 09:50:01 阅读量: 教育文库 文档下载

说明:文章内容仅供预览,部分内容可能不全。下载后的文档,内容与下面显示的完全一致。下载之前请确认下面内容是否您想要的,是否完整无缺。

作业1(第二章)

1、8086系统中,设段寄存器CS=1200H,指令指针寄存器IP=FF00H,此时指令的物理地址为多少,指向此地址的CS和IP值是唯一的吗? 解:物理地址=12000H+FF00H=21F00H,不唯一。

2、T1状态下,8086的数据/地址线上是什么信息,用哪个信号将此信息锁存起来 解答:地址信息,ALE地址锁存信号。 4、若CS=A000H,求当前代码段在存储器中的物理地址范围是什么?若数据段位于52000H到61FFFH的64K范围内,问DS=? 解答:A0000H—AFFFFH; 5200H 5、若当前SS=3500H,SP=0800H,说明堆栈段在存储器中的物理地址,若此时入栈10个字节,SP内容是什么?若再出栈6个字节,SP为什么值?

解答: 35800H,入栈10 个字节 ,(SP)=7F6H,出栈6个字节后(SP)=7FCH

6、某程序数据段中存放了两个字,1EE5H和2A8CH,已知(DS)=7850H,数据存放的偏移地址为3121H及285AH。试画图说明它们在存储器中的存放情况,若要读取这两个字,需要对存储器进行几次操作? 解答: 7850:3121H -> E5H

7850:3122H -> 1EH 两次 7850:285AH -> 8CH

7850:285BH -> 2AH 一次

作业2:(第五章)

1、某一个微机系统中,有8块I/O接口芯片,每个芯片占有8个端口地址,若起始地址为9000H,8块芯片的地址连续分布,用74LS138作译码器,试画出端口译码电话,并说明每块芯片的端口地址范围。

作业3:(第七章)

1、已知:SP=0100H、SS=0500H、PSW=0240H,在存储单元中已有内容为(00024)=0060H、(00026H)=1000H,在(0800H:00A0H)中有中断指令INT 9。试问,执行INT 9指令后,SS、SP、CS、IP、PSW的内容是什么?栈顶的三个字是什么? 解答: CPU响应外部中断的流程:

1. 从数据总线上取中断类型号;9H 2. 将PSW入栈;SP=00FEH

3. 保护断点,即将CS、IP入栈 SP=00FAH

4. 对PSW中的IF、TF位清0,禁止外部中断和单步中断

5. 找到中断向量,转入相应中断服务子程序 中断向量:9H*4=24H

取(4n)中的内容 IP,取(4n+2)中的内容 CS

CS:IP在(00024H)中,CS:IP为1000H:0060H 6. 中断结束后弹出IP、CS和PSW,返回主程序断点处

推入栈中的三个字分别为:PSW 0240H,CS 0800H,IP 00A2H (A2,00,00,08,40,02) CS:IP=1000H:60H,SP=FAH,PSW=0040H

2、中断向量指什么,放在哪里?,对应8086的1CH的中断向量存放在哪里,如果1CH的中断处理程序从5110H:2030H开始,则中断向量应怎样存放?

解答:中断服务程序的入口地址,00000H—003FFH,1CH*4=70H,0070开始30 20 10 51 3、假如外设A1、A2、A3、A4、A5按优先级排列,外设A1优先级最高,按下列提问,说明中断处理的运行次序,(中断服务程序中有STI指令) (1)外设A3,A4同时发中断请求;

(2)外设A3中断处理中,外设A1发中断请求;

(3)外设A1中断处理未完成前,发出EOI结束命令,外设A5发中断请求。 解答:

主程序

IR3

IR1

STI

STI

STI

EOI

…… EOI IRET IRET

IR4 STI EOI

IRET IR5 STI EOI

IRET

3、某系统中有3片8259A级联使用,1片为8259A主片,2片为8259A从片,从片接入8259A主片的IR2和IR5端,并且当前8259A主片的IR3及两片8259A从片的IR4各接有一个外部中断源。中断类型基号分别为80H、90H、A0H、中断入口段基址在2000H,偏移地址分别为1800H、2800H、3800H、主片8259A的端口地址为CCF8H、CCFAH。一片8259A从片的端口地址为FEE8H、FEEAH,另一片为FEECH、FEEEH。中断采用电平触发,完全嵌套工作方式,普通EOI结束。 (1)画出硬件连接图;(2)编写初始化程序。

? 解答: 中断向量形成

(将3个中断入口地址写入中断向量表) MOV AX,2000H MOV DS,AX MOV DX,1800H MOV AL,83H MOV AH,25H INT 21H

MOV DX,2800H MOV AL,94H MOV AH,25H INT 21H

MOV DX,3800H MOV AL,A4H MOV AH,25H INT 21

? 主片初始化

MOV AL,00011001B MOV DX,0CCF8H OUT DX,AL

MOV AL,80H MOV DX,0CCFAH OUT DX,AL

MOV AL,00100100B OUT DX,AL

MOV AL,00010001 B OUT DX,AL

MOV AL,11010011B OUT DX,AL

主片的中断结束命令:

MOV AL,20H MOV DX,0CCF8H OUT DX,AL

? 从片1初始化

MOV AL,00011001B MOV DX,0FEE8H OUT DX,AL

;定义ICW1 ;定义ICW2 ;定义ICW3 ;定义ICW4 ;定义OCW1 ;定义OCW2 ICW1 ;定义MOV AL,90H ;定义ICW2 MOV DX,0FEEAH OUT DX,AL

MOV AL,00000010B ;定义ICW3 OUT DX,AL

MOV AL,00000001B ;定义ICW4 OUT DX,AL

MOV AL,11101111B ;定义OCW1 OUT DX,AL

从片1的中断结束命令: MOV AL,20H MOV DX,0FEE8H OUT DX,AL

? 从片2初始化

MOV AL,00011001B ;定义ICW1 MOV DX,0FEECH OUT DX,AL

MOV AL,0A0H ;定义ICW2 MOV DX,0FEEEH OUT DX,AL

MOV AL,00000101B ;定义ICW3 OUT DX,AL

MOV AL,00000001B ;定义ICW4 OUT DX,AL

MOV AL,11101111B ;定义OCW1 OUT DX,AL

从片2的中断结束命令: MOV AL,20H

MOV DX,0FEECH OUT DX,AL

作业4:(第九章)

1、 设8253的通道0~2和控制端口的地址分别为300H、302H、304H和306H,定义通道0

工作在方式3,CLK0=2MHz。试编写初始化程序,并画出硬件连线图。要求通道0输出1.5kHz的方波,通道1用通道0的输出作计数脉冲,输出频率为300Hz的序列负脉冲,通道2每秒钟向CPU发50次中断请求。 解答:控制端口:306H

a) 通道0 i. 地址:300H;CLK0=2MHz;输出1.5kHz的方波 ii. 工作在方式3; iii. N0=2MHz/1.5kHz = 1333 b) 通道1

i. 地址:302H; CLK1= OUT0 ;输出300Hz的序列负脉冲; ii. 工作在方式 2 ; iii. N1=1.5kHz/300Hz=5 c) 通道2 i. 地址:304H;CLK2= 系统时钟 ;每秒向CPU发50次中断请求; ii. 输出工作在方式 3 ; iii. N2= 2MHz/50 = 40000 = 9840H; iv. 或OUT0 接CLK2 ,则N2=300/50=6 或OUT1 接CLK2 ,则N2=1.5K/50=30

初始化程序 计数器0:

MOV AL,37H MOV DX,306H OUT DX, AL MOV DX, 300H MOV AL,33H OUT DX,AL MOV AL,13H OUT DX,AL 计数器1:

MOV AL,55H MOV DX , 306H OUT DX,AL MOV AL,05H MOV DX, 302H OUT DX ,AL 计数器2:

MOV AL,0B6H MOV DX , 306H OUT DX ,AL MOV DX , 304H

MOV AX,9840H OUT DX ,AL MOV AL,AH OUT DX ,AL

+5V 8253 GATE0 CLK0 2MHzGATE1 CLK2 GATE2 OUT0 CLK1 OUT1 300HzOUT2 每秒50次IRQ (95H) (6 或30)

本文来源:https://www.bwwdw.com/article/lnzt.html

Top