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

我的博客

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

[2010-07-06 22:45] 试验12 编写0号中断程序

编写0号中断的处理程序,使得在除法溢出发生时,在屏幕中间显示字符串“divdi error!”,然后返回到DOS.
assume cs:codesg
codesg segment
start:mov ax,0
      mov es,ax
      mov di,200h     ;设置目标操作数地址
      mov ax,cs
      mov ds,ax
      mov si,offset do0        ;设置源操作数地址
      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 "divide error!"
do0start:mov ax,cs
       mov ds,ax   
       mov si,202H          ;ds:si指向字符串
        
       mov ax,0b800h
       mov es,ax
       mov di,12*160+36*2      ;置显存地址
       
       mov cx,13
    s: mov al,[si]
       mov es:[di],al
       inc si
       add di,2
       loop s   
       mov ax,4c00h
       int 21h
 do0end:nop
 codesg ends
 end start
评论次数(0)  |  浏览次数(584)  |  类型(汇编作业) |  收藏此文  | 
 
 请输入验证码  (提示:点击验证码输入框,以获取验证码