问答题 要求使用8259A的IRQ0,用单脉冲信号模拟外部中断信号,使中断程序在屏幕上显示信息,在中断程序中,要求依次显示a~z这26个字母。
【正确答案】STACK   SEGMENT STACK
DB      200 DUP(0)
STACK   ENDS
C8259   EQU 20H
CODE    SEGMENT'CODE'
MAIN    PROC FAR
       ASSUME CS:CODE,SS:STACK
START: XOR AX,AX
       MOV DS,AX
       LEA AX,IRQ0
       MOV DS:20H,AX
       MOV DX,C8259
       MOV AL,00010011B
       OUT DX,AL
       INC DX
       MOV AL,00001000B
       OUT DX,AL
       MOV AL,00001101B
       OUT DX,AL
       MOV AL,11111110B
       OUT DX,AL
       MOV AL,20H
       OUT 20H,AL
       MOV BL,'a'
       MOV AL,BL
       MOV AH,1
       INT 14H
       STI
       JMP $
IRQ0:   CLI
       INC BL
       CMP BL,'{'
       JNZ NEXT
       MOV AH,4CH
       INT 21H
NEXT:  MOV AL,BL
       MOV AH,1
       INT 14H
       MOV AL,20H
       OUT 20H,AL
       STI
       IRET
MAIN    ENDP
CODE    ENDS
       END START
【答案解析】