内中断

内中断编程框架解释

1,安装:安装就是把中断需要执行的代码copy到一个空白不使用的区域,一般使用rep movsb指令执行

2,设置中断向量表:中断向量表是中断向量的列表,就是中断处理程序的入口地址,此时需要将要调用的中断入口地址更改为之前copy的区域

3,调用内中断:使用int N,调用内中断

assume cs:code

code segment
        start:
        mov ax,cs
        mov ds,ax
        mov si,offset do0
        mov ax,0
        mov es,ax
        mov di,200h

        mov cx,offset do0end-offset do0
        cld
        rep movsb

        mov ax,0
        mov es,ax
        mov word ptr es:[0*4],200h
        mov word ptr es:[0*4+2],0
        mov ax,1000h
        mov bh,01h
        div bh
        mov ax,4c00h
        int 21h

do0:
        jmp short do0start
        db "overflow!"
do0start:        
        mov ax,cs
        mov ds,ax
        mov si,202h

        mov ax,0b800h
        mov es,ax
        mov di,12*160+36*2

        mov cx,9
s:
        mov al,[si]
        mov es:[di],al
        inc si
        add di,2
        loop s

        mov ax,4c00h
        int 21h

do0end:nop
code ends
end start


原文地址:https://www.cnblogs.com/vspiders/p/7399106.html