作业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; 5200H5、若当前SS=3500H,SP=0800H,说明堆栈段在存储器中的物理地址,若此时入栈10个字节,SP内容是什么若再出栈6个字节,SP为什么值解答: 35800H,入栈10 个字节,(SP)=7F6H,出栈6个字节后(SP)=7FCH6、某程序数据段中存放了两个字,1EE5H和2A8CH,已知(DS)=7850H,数据存放的偏移地址为3121H及285AH。
试画图说明它们在存储器中的存放情况,若要读取这两个字,需要对存储器进行几次操作解答: 7850:3121H -> E5H7850:3122H -> 1EH 两次7850:285AH -> 8CH7850: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.从数据总线上取中断类型号;9H2.将PSW入栈;SP=00FEH3.保护断点,即将CS、IP入栈 SP=00FAH4.对PSW中的IF、TF位清0,禁止外部中断和单步中断5.找到中断向量,转入相应中断服务子程序中断向量:9H*4=24H取(4n)中的内容IP,取(4n+2)中的内容CSCS:IP在(00024H)中,CS:IP为1000H:0060H6.中断结束后弹出IP、CS和PSW,返回主程序断点处推入栈中的三个字分别为:PSW 0240H,CS 0800H,IP 00A2H (A2,00,00,08,40,02) CS:IP=1000H:60H,SP=FAH,PSW=0040H2、中断向量指什么,放在哪里,对应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发中断请求。
解答: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,2000HMOV DS,AXMOV DX,1800HMOV AL,83HMOV AH,25HINT 21HMOV DX,2800HMOV AL,94HMOV AH,25HINT 21HMOV DX,3800HMOV AL,A4HMOV AH,25HINT 21•主片初始化MOV AL,00011001B ;定义ICW1MOV DX,0CCF8HOUT DX,ALMOV AL,80H ;定义ICW2 MOV DX,0CCFAHOUT DX,ALMOV AL,00100100B ;定义ICW3OUT DX,ALMOV AL,00010001 B ;定义ICW4MOV AL,B ;定义OCW1OUT DX,AL主片的中断结束命令:MOV AL,20H ;定义OCW2 MOV DX,0CCF8HOUT DX,AL•从片1初始化MOV AL,00011001B ;定义ICW1MOV DX,0FEE8HOUT DX,ALMOV AL,90H ;定义ICW2MOV DX,0FEEAHOUT DX,ALMOV AL,00000010B ;定义ICW3OUT DX,ALMOV AL,00000001B ;定义ICW4OUT DX,ALMOV AL,B ;定义OCW1OUT DX,AL从片1的中断结束命令:MOV AL,20HMOV DX,0FEE8HOUT DX,AL•从片2初始化MOV AL,00011001B ;定义ICW1MOV DX,0FEECHMOV AL,0A0H ;定义ICW2MOV DX,0FEEEHOUT DX,ALMOV AL,00000101B ;定义ICW3OUT DX,ALMOV AL,00000001B ;定义ICW4OUT DX,ALMOV AL,B ;定义OCW1OUT DX,AL从片2的中断结束命令:MOV AL,20HMOV DX,0FEECHOUT DX,AL作业4:(第九章)1、设8253的通道0~2和控制端口的地址分别为300H、302H、304H和306H,定义通道0工作在方式3,CLK0=2MHz。
试编写初始化程序,并画出硬件连线图。
要求通道0输出的方波,通道1用通道0的输出作计数脉冲,输出频率为300Hz的序列负脉冲,通道2每秒钟向CPU发50次中断请求。
解答:控制端口:306Ha)通道0i.地址:300H;CLK0=2MHz;输出的方波ii.工作在方式3;iii.N0=2MHz/ = 1333b)通道1i.地址:302H; CLK1= OUT0;输出300Hz的序列负脉冲;ii.工作在方式 2 ;iii.N1=300Hz=5c)通道2i.地址:304H;CLK2= 系统时钟;每秒向CPU发50次中断请求;ii.输出工作在方式3;iii.N2= 2MHz/50 = 40000 = 9840H;iv.或OUT0 接CLK2 ,则N2=300/50=6 或OUT1 接CLK2 ,则N2=50=30初始化程序计数器0:MOV AL,37HMOV DX,306HOUT DX, ALMOV DX, 300HMOV AL,33HOUT DX,ALMOV AL,13HOUT DX,AL计数器1:MOV AL,55HMOV DX , 306HOUT DX ,ALMOV AL ,05HMOV DX, 302HOUT DX ,AL计数器2:MOV AL ,0B6H (95H)MOV DX , 306HOUT DX ,ALMOV DX , 304HMOV AX ,9840H (6 或30)OUT DX ,ALMOV AL ,AHOUT DX ,AL2、某微机系统中,8253的端口首地址为40H ,时钟频率5MHz ,要求通道0输出方波,使计算机每秒钟产生次中断;通道1每隔15us 向8237A 提出一次DMA 请求;通道2输出频率为2000Hz 的方波,使编写8253的初始化程序,并画出有关的硬件连接图解答:• 控制端口:43H• 通道0• 地址:40H ;CLK0=5MHz ;输出的方波• 工作在方式3;• N0=5MHz/ = 274725 >>65536因此必须采用级连的方案来解决这个问题• 将频率5MHz 的时钟信号加在CLK0端并让通道0工作于方式2,若选N0=274,则• 再把OUT0连接到CLK1,并使通道1工作于方式3,为0527418248OUT f MHz Hz==118.2OUT f Hz=使 ,应取时间常数初始化程序计数器0:MOV AL ,35HOUT 43H ,ALMOV AL ,74HOUT 40H ,ALMOV AL ,02HOUT 40H ,AL计数器1:MOV AL ,77HOUT 43H ,ALMOV AL ,03HOUT 41H ,ALMOV AL ,10HOUT 41H ,AL3、设某系统中8254芯片的基地址为F0H ,在对3个通道编程时,都设为先读写低8位,后读写高8位,试编程完成下列工作:对通道0-2的计数值进行锁存并读出来对通道2的状态值进行锁存并读出来1111824818.21003CLK OUT N f f Hz Hz ===解答:通道0~2地址:0F0~0F2H,控制端口:0F3H对通道0~2的计数值进行锁存并读出来:MOV AL,0DEHOUT F3H,ALMOV DX,0F0HIN AL,DXMOV DX,0F1HIN AL,DXMOV DX,0F2HIN AL,DX对通道2状态值锁存并读出:MOV AL,0E8HMOV DX,0F3HIN AL,DX作业5:(第六章)1、若某一终端以2400波特的速率发送异步串行数据,发送1位需要多少时间假如一个字符包含7个数据位、1个奇偶校验位、1个停止位,发送1个字符需要多少时间解答: (1) 1/2400 (2) 1/2400*102、若8251A以9600波特的速率发送数据,波特率因子为16,发送时钟TxC频率为多少解答: =9600*16=153600BPS3、若8251A的端口地址为FF0H,FF2H,要求8251A工作于异步工作方式,波特率因子为16,有7个数据位,1个奇校验位,1个停止位,试对8251A进行初始化编程。
解答: MOV DX,0FF2HMOV AL,7AHOUT DX,ALMOV AL,03HOUT DX,AL4、某微机系统用串行方式接收外设送来的数据,再把数据送到CRT去显示,若波特率为1200,波特率因子为16,用8253产生收发时钟,系统时钟频率为5MHz,收发数据个数为COUNT,数据存放到数据段中以BUFFER为始址的内存单元中。