当键盘输入到达60H端口时,产生外中断,然后调用INT9,这是我加载到内存的程序,
pushf   call dword ptr cs:[200h]这俩条指令是寄存器和IP,CS入栈,
然后去调用BIOS提供的 int9,在调用之前,也是先把寄存器和IP,CS入栈吧,然后出栈,
那程序最后的一条iret返回到那里了,应该返回到cmp al,3bh这里吧,这样的话不是执行俩次了.
         int9: push ax
        push bx
        push cx
        push es
        in al,60h
    
        pushf
        call dword ptr cs:[200h] ;调用原有的INT9.
    
        cmp al,3bh
        jne int9ret
    
        mov ax,0b800h
        mov es,ax
        mov bx,1
        mov cx,2000
     s: inc byte ptr es:[bx]
        add bx,2
        loop s

   int9ret:    pop es
        pop cx
        pop bx
        pop ax
        iret
   int9end: nop