关于8259A中断的编程
实验书本里这个例题我看了半天也没看明白,有些不懂的地方希望大大们给点批注,还有,这个程序到底有没有问题的?题目如下:8259A中断编程实验:中断源IRQ7引脚有输入时,显示字符‘7’,中断10次后退出程序
……
CODE SEGMENT
ASSUME CS:CODE
START:PUSH DS
MOV AX,0000H
MOV DS,AX
MOV AX,OFFSTE IRQ7
ADD AX,2000H ;这句不知道加2000干吗
MOV SI,003CH ;中断源IRQ7的中断矢量地址偏移地址
MOV [SI],AX
MOV AX,0000H
MOV SI,003EH ;中断源IRQ7的中断矢量段地址
MOV [SI],AX
CLI
POP DS
IN AL,21H
AND AL,7FH ;设置IMR屏蔽
OUT 21H,AL
MOV CX,000AH
A1:CMP CX,000H
JNZ A2
IN AL,21H
OR AL,80H
OUT 21H,AL
STI
HLT
A2:STI
JMP A1 ;为什么在a1和a2之间跳来跳去???
IRQ7:MOV AX,0137H ;请问下面这两句是调用了什么功能?
INT 10H
MOV AX,0120H
INT 10H
DEC CX
MOV AL,20H
OUT 20H,AL
CLI
IRET
CODE ENDS
END START
我实在是看的没办法了才上来这里问,大家要帮帮忙啊~~~
[[it] 本帖最后由 hjw951 于 2008-11-9 00:36 编辑 [/it]]