美文网首页
8086汇编(40)中断处理程序

8086汇编(40)中断处理程序

作者: 迷心迷 | 来源:发表于2019-04-04 18:10 被阅读0次

    中断处理程序

    中断处理程序的编写方法和子程序的比较相似,下面是常规的步骤:

    1)保存用到的寄存器

    2)处理中断

    3)恢复用到的寄存器

    4)用iret指令返回。

    编程处理0号中断(除法错误)

    1)编写可以显示"overflow!"的中断处理程序: do0;

    2)将do0送入内存0000:2000处;

    3)将do0的入口地址0000:0200存储在中断向量表0号表项中。

    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,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       ;设置es:di指向显存空间的中间位置
    
                       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   
    
    

    相关文章

      网友评论

          本文标题:8086汇编(40)中断处理程序

          本文链接:https://www.haomeiwen.com/subject/ucbqiqtx.html