汇编网首页登录博客注册
mahdi_glt的学习博客
博客首页博客互动【做检测题】论坛求助

我的博客

个人首页 |  我的文章 |  我的相册 |  我的好友 |  最新访客 |  文章收藏 |  论坛提问 |  友情链接 |  给我留言  
图片载入中
学习动态
最新评论
最新留言
文章收藏
友情链接

[2011-05-12 16:23] 实验13 int 7ch 模拟loop循环

assume cs:code
code segment
setting:mov ax,cs
        mov ds,ax
        mov si,offset myloop

        mov ax,20h
        mov es,ax
        mov di,0

        mov cx,offset end_myloop-offset myloop
        cld
        rep movsb

        mov ax,0
        mov es,ax
        mov word ptr es:[4*7ch],0
        mov word ptr es:[4*7ch+2],20h
        mov ax,4c00h
        int 21h
;================================================
myloop:dec cx
        jcxz my_ok
        push bp
        mov bp,sp
        add word ptr [bp+2],bx
        pop bp
my_ok:iret
end_myloop:nop
code ends
end setting

;=================以上是安装程序=======================


assume cs:code
code segment
start:mov ax,0b800h
        mov es,ax
        mov di,160*12
        mov bx,offset s-offset se
        mov cx,80
      s:mov byte ptr es:[di],'!'
      add di,2
      int 7ch
   se:nop
   mov ax,4c00h
   int 21h
   code ends
   end start
;==============以上调用中断例程====================

由于我是在虚拟机虚拟的纯DOS环境下调试的,所以可以不把安装程序和调用程序写在一起,先执行安装程序后执行调用程序就能看到效果了,因为安装程序把数据装入内存,安装程序退出后内存不会被清理,所以在调用程序执行中断过程的时候,中断向量指向的中断例程的地指出并不会发生变化,但是在WINDOWS环境下需要把这两段程序结合在同一个源文件下编译连接之后才能达到效果
评论次数(0)  |  浏览次数(449)  |  类型(我的代码) |  收藏此文  | 
 
 请输入验证码  (提示:点击验证码输入框,以获取验证码