当前位置: 网学 > 编程文档 > 汇编语言 > 正文

用汇编编写DOS下的内存驻留程序(3):中断矢量

来源:Http://myeducs.cn 联系QQ:点击这里给我发消息 作者: 用户投稿 来源: 网络 发布时间: 12/10/18
下载{$ArticleTitle}原创论文样式
件名为MAKE.BAT:
    MASM %1
    LINK  %1
    EXE2BIN %1.EXE %1.COM
 如果写好的程序名为MACRO.ASM,则可敲入:
    C:\MAKE MACRO.ASM
 即可.

3.5 显示中断矢量
 下面这个例子可以列出所有的重要的中断矢量内容,在刚刚打开PC时,并且没有执行任何驻留程序时,可以发现所有的中断矢量段值都相同,这些地址值所存放的是ROM的程序.当你修改中断矢量之后,就可以利用这个程序观察到中断矢量的变化.以下就是IVEC.ASM的内容:
   cseg    segment para public ''CODE''
    org     100h
    jmp start
    assume  cs:cseg,ds:cseg
   start: 
    mov     bx,cs                   ;Make data seg be the same as
    mov     ds,bx                   ;the code seg
    call    vectors
   waitIn:
    mov ah,0bh
    int 21h
    cmp al,0ffh
    jne waitIn
    mov     ah,4ch
    int     21h
   ;****************************************************************************
   ;Scan through display table,prinying two vectors per line
   ;If any record has an interrupt #=zero,this indicates
   ;end of the table.
   ;****************************************************************************
    mov     di,offset disptab       ;Pointer to start of table
    mov     dh,0                    ;Zero out top half of DX
   vloop: 
    mov     dl,[di]                 ;Get the interrupt number
    cmp     dl,0                    ;If it''s zero,we are done
    je      vdone                   ;so exit loop
    add     di,1                    ;Advance pointer 1 byte
    mov     si,[di]                 ;Get pointer to description
    call    dvector   &nbs

网学推荐

免费论文

原创论文

浏览:
设为首页 | 加入收藏 | 论文首页 | 论文专题 | 设计下载 | 网学软件 | 论文模板 | 论文资源 | 程序设计 | 关于网学 | 站内搜索 | 网学留言 | 友情链接 | 资料中心
版权所有 QQ:3710167 邮箱:3710167@qq.com 网学网 [Myeducs.cn] 您电脑的分辨率是 像素
Copyright 2008-2015 myeducs.Cn www.myeducs.Cn All Rights Reserved
湘ICP备09003080号