汇编设置中断处理程序并用调用

源码:

data segment
    
ends

stack segment

ends

code segment 
start :          

    CLI  
    ;设置中断向量
    MOV AX,SEG INTROUT9
    MOV DS, AX
    MOV DX, OFFSET INTROUT9
    MOV AL, 9 ;将中断处理程序INTROUT9的段地址和偏移地址放入中断向量表中。
    MOV AH, 25H
    INT 21H
    STI  
    

    int 9h   ;在中断向量表中查找中断向量号为9的中断处理程序并调用。
    
    MOV AH, 4CH
    INT 21H     ;结束程序


INTROUT9  PROC far
    ;
    iret
INTROUT9 ENDP
ends 

end start 

源码解读:

    MOV AX,SEG INTROUT9
    MOV DS, AX
    MOV DX, OFFSET INTROUT9
    MOV AL, n 
    MOV AH, 25H
    INT 21H

这段代码调用了中断号为21h的中断处理程序的25H号功能,将INTROUT9的段地址和偏移地址放入了中断向量表。

汇编设置中断处理程序并用调用_第1张图片

    INT 9H

这段代码调用了中断号为9的中断处理程序。(让9 * 4 得到中断向量地址,根据中断向量地址找到中断处理程序的偏移地址,段地址从而找到中断处理程序进行调用。)

你可能感兴趣的:(汇编设置中断处理程序并用调用)