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

我的博客

个人首页 |  我的文章 |  我的相册 |  我的好友 |  最新访客 |  文章收藏 |  论坛提问 |  友情链接 |  给我留言  
图片载入中
  •  何以解忧愁,唯有杜康酒!
  • 『姓名』:
  • 『性别』:男『发送消息
  • 个人说明:http://student.zjzk.cn/course_ware/data_structure/web/shu/shu6.3.2.htm
  • 详细信息『加为好友』
学习动态

[2010-07-11 22:30] 实验13 应用程序中断实例 (2)

;(2)编写并安装int 7ch中断例程,功能为完成loop指令的功能。
;参数:(cx)=循环次数,(bx)=位移
assume cs:code
code segment
start:mov ax,0
      mov es,ax
      mov di,200h                         ;es:di指向目标地址
      mov ax,cs
      mov ds,ax
      mov si,offset S7C               ;ds:si指向源操作数,int 7ch中断
      mov cx,offset S7Cend-offset S7C    ;要传送的长度
      cld          ;正向传送
      rep movsb     ;开始传送
;>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>      
      mov word ptr es:[7ch*4],200h       
      mov word ptr es:[7ch*4+2],0          ;设置中断向量表
;>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>      
      mov ax,0b800h
      mov es,ax
      mov di,160*2        ;设置显存地址
      mov bx,offset s-offset se     ;bx放模拟loop的偏移地址
      mov cx,80                     ;显示数量
    s:mov byte ptr es:[di],'!'      ;开始显示
      add di,2
      int 7ch                       ;调用int 7ch循环显示
   se:nop
   
      mov ax,4c00h
      int 21h              ;程序结束
;>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>
  S7C:push bp               ;中断程序开始
      mov bp,sp
      dec cx
      jcxz OK
      add [bp+2],bx
   OK:pop bp
      iret
  S7Cend:nop
;>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>
code ends
end start
评论次数(0)  |  浏览次数(604)  |  类型(汇编作业) |  收藏此文  | 
 
 请输入验证码  (提示:点击验证码输入框,以获取验证码