发布时间 : 星期四 文章微机原理作业及参考答案更新完毕开始阅读
LP2: EXIT:
6-5 MOV BX,OFFSET STRING PRINT0: IN AL,STATUS AND AL,80H JNZ PRINT0 MOV AL,[BX] OUT DATAS,AL INC BX CMP AL,0DH JNE PRINT0 MOV AH,4CH INT 21H 6-6
LEA BX,DATABUF MOV CX,100
AGAIN: IN AL,STATUS
TEST AL,80H JZ AGAIN IN AL,DATAS MOV [BX],AL INC BX LOOP AGAIN
6-11 因为CPU在中断响应时,执行中断服务程序之前,会自动对FR寄存器的IF和TF清零,在中断服务程序中,如果允许中断嵌套,则必须开中断。 6-12 参见课本P244 6-13
OUT CALL ROR LOOP MOV OUT MOV INT DX,AL DELAY AL,1 LP2 AL,0H DX,AL AH,4CH 21H
SP=0100H-6=00FAH SS=0300H IP=0040H CS=0100H PSW=0040H
堆栈最上面的3个字的内容为:00A2H(IP),0900H(CS),0240H(PSW) 注:中断响应时PSW推入堆栈后将IF,TF清零。
6-16
IR3上中断请求信号有效,其他没有中断请求 CPU正在为IR3进行中断服务程序 20H,05H 6-18
MOV AL,13H ;ICW1 MOV DX,0FFDCH OUT DX,AL
MOV AL,90H ;ICW2 MOV DX,0FFDDH OUT DX,AL
MOV AL,01H ;ICW4 OUT DX,AL
6-21读8259A相关寄存器的内容。
8259A的端口地址为20H、21H,读入IRR、ISR、IMR寄存器的内容,并相继保存在数据段内偏移地址为2000H开始的内存单元中。
MOV AL,xxx01010B 发OCW3,欲读取IRR的内容 OUT 20H,AL
IN AL,20H 读入并保存IRR的内容 MOV [2000H],AL
MOV AL,xxx01011B 发OCW3,欲读取ISR的内容 OUT 20H,AL
IN AL,20H 读入并保存ISR的内容 MOV [2001H],AL
IN AL,21H 读入并保存IMR的内容 MOV [2002H],AL