微机原理三导程序题.docx
《微机原理三导程序题.docx》由会员分享,可在线阅读,更多相关《微机原理三导程序题.docx(54页珍藏版)》请在冰豆网上搜索。
![微机原理三导程序题.docx](https://file1.bdocx.com/fileroot1/2022-10/27/62cbed3c-25d7-4043-ae5e-84022048a0f5/62cbed3c-25d7-4043-ae5e-84022048a0f51.gif)
微机原理三导程序题
E7.5
若8086系统中采用单片8259作为外部可屏蔽中断的优先级管理,正常全嵌套方式,边沿触发非缓冲连接,非自动中断结束端口地址为20h和21h其中某中断源的中断类型码为0ah,其中断服务子程序的入口地址为2000:
3A40H
请为8259a设置正确的初始化命令字,并编写初始化程序
请问本题中的中断源应与IR的哪一个输入端相连,其中断矢量地址为多少,矢量区对应的四个单元的内容是什么
MOVAL,l3H
0UT20H,AL
MOVAL,08H
OUT21H,AL
MOVAL,01H
OUT21H,AI
E7.6
主:
MOVAL,11H
MOVDX,140H
OUTDM,AL
MOVAL,08H
INCDX
OUTDX,AL
MOVAI,04H
OUTDX,AL
MOVAL,01H
OUTDX,AL
从:
MOVAL,11H
OUTDX,AL
MOVAL,70H
INCDX
OUTDX,AL
MOVAL,02H
OUTDX,AL
MOVAL,01H
OUTDX,AL
E7.7若以8259a以三片级联的方式管理22级中断
主:
MOVAL,11H
OUT80H,AL
MOVAL,60H
OUT81H,AL
MOVAL,01000100B
OUT8IH,AL
MOVAL,0000001IB
OUT81H,AL
从A:
MOVAL,1IH
OUT82H,AL
MOVAL,70H
OUT83H,AL
MOVAL,02H
OUT83H,AL
MOVAL,03H
OUT83H,AL
从B:
MOVAL,11H
OUT84H,AL
MOVAL,80H
OUT85H,AL
MOVAL,06H
OUT85H,AL
MOVAL,03H
OUT85H,AL
E7.8在ibmpc/xt系统中,通过读取isr的值
MOVAL,0BH
OUT20H,AL
NOP
INAL,20H
MOVAH,AL
ORAL,AH
JNZHW—INT
HW—INT:
INAI,21H
ORAL,AH
OUT2lH,AL
MOVAL,20H
0UT20H,AL
7.1在某应用中,8259a工作于正常完全嵌套方式,要求在为中断源ir4服务时,设置特殊屏蔽方式,开放较低级的中断请求,请编写有关的程序片段,已知8259a的端口地址为20h和21h
MOVAL,68H
OUT20H,AL
INAL,21H
ORAL,00010000B
OUT21H,AL
STI
...
CLT
INAL,21H
ANDAL,11101111B
OUT2IH,AL
MOVAL,48H
OUT20H,AL
…
MOVAL,20H
OUT20H,AL
IRET
7.2请为中断类型码为0fh的外部中断源设置中断矢量,中断服务子程序名为inter
MOVAX,0
MOVES,AX
MOVDI,0FH*4
MOVAX,OFFSETINTER
CLD
7.3是按照如下要求对8259a设置初始化命令字:
系统中有一片8259a,中断请求信号用电平触发方式,下面要用icw4设置嵌套及中断结束方式等状态,中断类型码为60h-67h用特殊全嵌套方式,无缓冲,采用自动中断结束方式。
8259a的端口地址为93和94h
MOVAL,00011011B
OUT94H,AL
MOVAL,01100000B
OUT93H,AL
MoVAL,0001001IB
OUT93H,AL
7.4
MOVAL,0
OUT21H,AL
INAL,21H
ORAL,AL
JNZERROR
MOVAL,0FFH
OUT21H,AL
TNAL,21H
ADDAL,l
JNZERROR
...
7.5某系统采用级联方式
主片初始化程序
MOVAL,0001000lB
OUT20H,AL
MOVAL,30H
OUT21H,AL
MOVAL,80H
OUT21H,AL
:
从片初始化程序
MOVAL,0001000IB
OUT22.H,AL
MOVAL,40H
OUT23H,AL
MOVAL,07H
OUT23H,AL
E9.4、如图所示为一利用8255A实现的打印机接口。
(1)设8255A的A口工作在方式0输入,B口工作在方式0输出。
写出初始化程序片段。
(2)写出查询方式下输出一个字符至打印机的程序片段(假设输出字符已经在AL中)。
(1)8255A初始化程序为:
MOVDX,203H
MOVAL,i0010001B
OUTDX,AI
(2)打印控制程序为:
PUSHAX
MOVDX,202H
WAIT:
INAL,DX
TESTAL,08H
JZWAIT
MOVDX,201H
POPAX
OUTDX,AL
MOVDX,203H
MOVAL,0EH
OUTDX,AL
E9.5接口原理如图所示,输入机启动一次输入一个数据;打印机启动一次打印一个数据。
要求从输入机输入一个数并存入存储器中,然后再由打印机将该数打印出来。
一共输入10个数,打印10个数。
编写满足上述要求的源程序。
【解】由接口图分析可知,8255A的端口地址为E0H、E4H、E8H、ECH。
程序如下:
:
MODELSMALL
.DATA
WPDB10DUP(?
)
.CODE
.STARTUP
MOVAL,83H
OUT0ECH,AL
MOVCX,10
MOVBX,OFFSETWP
AGAIN:
MOVAL,00001111B
OUT0ECH,AL
PRT:
INAL,0E8H
TESTAL,08H
JZPRT
INAL,0E4H
MOV[BXI,AL
MOVAL,00001110B
OUT0ECH,AL
PST:
INAL,0E8H
TESTAL,02H
JNZPST
NOVAL,[BXI
OUT0EOH,AL
MOVAI,00001001B
OUT0ECH,AL
MOVAL,00001000B
OUT0ECH,AL
INCBX
LOOPAGAIN
.EXIT
END
E9.6接口原理图如图所示,设:
8259A边沿触发,8个终端类型码为60~67H。
写出对以内存DSR开始连续10个字节数进行打印的汇编程序片段。
注意:
未用的地址线可设为0.
;初始化8259
MOVDX,8028H
MOVAL,13H
OUTDX,AL
MOVDX,802AH
MOVAL,60H
OUTDX,AL
MOVAL,03H
OUTDX,AL
;建立中断向量表
PUSHDS
MOVAX,0
MOVDS,AX
MOVSI,OFFSETXY
MOVDI,SEGXY
MOV[018CH],SI
MOV[018EH],DI
POPDS
;初始化8255A
MOVDX,8006H
MOVAL,84H
OUTDX,AL
MOVAL,05H
OUTDX,AL:
INTE置l
;循环10次
MOVCX,10
LEABX,DSR
W:
HLT
LOOPW
...
;中断服务程序
XY:
MOVAL,[BX]
MOVDX,8002H
OUTDX,AL
INCBX
IRET
E9.7、在某系统中。
8253芯片的计数器0、计数器1、计数器2及控制端口地址分别为70H,71H,72H,73H。
若利用计数器0对外部事件技术,其GATE接高电平,当计数计满3000次,向CPU发出中断申请;且利用计数器1输出频率为1000Hz的方波,CLK1=2MHz。
试编写8253的初始化程序。
;8253初始化程序片段
MOVAL,21H
OUT73H,AL
MOVAL,30H
OUT70H,AL
MOVAL,76H
OUT73H,AL
MOVAL,20H
OUT71H,AL
MOVAL,4EH
OUT71H,AL
E9.8接口原理图如图所示。
要求发光二极管L0亮5s后就熄灭;L1在K1,启动后亮6s后就熄灭;LZ亮4s灭4s交替进行。
写出源程序片段(可以省略段定义语句)。
,初始化计数器0
MOVAL,21H
OUT97H,AL
MOVAL,50H
OUT91H,AL
,初始化计数器1
MOVAL,63H
OUT97H,AL
MOVAL,60H
OUT93H,AL
,初始化计数器2
MOVAL,OA7H
OUT97H,AL
MOVAL,80H
OUT95H,AL
E9.9(不考)
E9.10(不考)
9.1某系统中8253芯片的通道0~通道2和控制端口的地址分别为FFF0H~FFF6H,定义通道0工作在方式2,CLK0=2MHz,要求输出OUT0为1MHz的速率波;定义通道1工作在方式0,其CLK1出入外部计数事件,每计满1000个向CPU发出中断请求。
试写出8253通道0和通道1的初始化程序。
;8253通道0的初始化程序
MOVAL,00100101B
MOVDX,0FFF6H
OUTDX,AL
MOVAL,20H
MOVDX,0FFF0H
MOVDX,AL
;8253通道1的初始化程序
MOVAL,011000001B
MOVDX,0FFF6H
OUTDX,AL
MOVAL,10H
MOVDX,0FFF2H
OUTDX,AL
9.2在某微机系统与CRT通信中,采用异步方式,设波特率为200bps,波特率因子为16,利用8253芯片产生发送和接受时钟。
设8253的通道1工作在方波方式,CLK1=1.2288MHz,试写出8253的初始化程序。
MOVAL,01110111B
OUT73H,AL
MOVAL,84H
OUT71H,AL
MOVAL,03H
OUT71H,AL
9.3(不考)
9.4、有一打印机引脚信号如图所示,请用8255A作为接口芯片,采用查询传送方式,写出连续打印10个字节数据的程序。
.MODELSMALL
.DATA
BLOCKDB1,2,3……
.CODE
.STARTUP
MOVBX,OFFSETBLOCK
MOVAL,10000010B
OUT53H,AL
MOVCX,10
INAL,5lH
TESTAL,04H
JZERR
INAL,51H
TESTAL,02H
JNZP1
MOVAL,51H。
TESTAL,01H
JNZP2
MOVAL,[BXJ
OUT50H,AL
MOVAL,00001100B
OUT53H,AL
INCBX
LP\OOPP1
.EXIT
END
9.5、某微机控制系统中扩展一片8255A作为并行口,如图所示。
其中,A口为方式1输入,