Assembler



         

- 5


 
. 8.17 ()
0000 0040[ DW 64 DUP (?)
????
]
0080 STACK ENDS
 
0000 CODE SEGMENT
ASSUME CS:CODE
0000 0049 R BUFFER_POINTER DW BUFFER
 
0002 SET_INTERRUPT PROC FAR
0002 2B C0 SUB AX,AX
0004 8E D8 MOV DS,AX
ASSUME DS:ABS0 ; DS
;
;-----
0006 C7 06 002C R 0024 R MOV ASYNC_INTERRUPT,offset INT_HANDLER
000C 8C 0E 002C R MOV ASYNC_INTERRUPT,CS ;
 
0010 BA 03F9 MOV DX,03F9H ;
0013 B0 04 MOV AL,04H ;
0015 EE OUT DX,AL
 
0016 E4 21 IN AL,21H ; 8259
0018 24 F7 AND AL,0F7H ; 0 3
001A E6 21 OUT 21H,AL ;
 
001C BA 03FC MOV DX,3FCH ;
001F B0 08 MOV AL,08H ; OUT2
0021 EE OUT DX,AL
 
0022 EB FE HERE: JMP HERE ; -