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

我的博客

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

[2010-02-12 14:52] 实验12

功能:中断0要执行的代码
参数:si 源地址
     di 目的地址
返回:divide error!

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 word ptr es:[0*4],200h     ‘设置中断向量
      mov word ptr es:[0*4+2],0
      
      mov ax,4c00h                    ’返回dos
      int 21h

do0:  jmp short do0start  ‘将在内存中运行的代码       
      db"divide error!"    ’中断要显示的字符
do0start:
      mov ax,cs
      mov ds,ax
      mov si,202h   ‘jmp2字节长度,要显示的地址+2

      mov ax,0b800h
      mov es,ax
      mov di,160*12+36*2  ’在屏幕上显示的地方

      mov cx,13           ,要显示字符的长度
s:    mov al,[si]
      mov ah,0cah
      mov es:[di],ax       
      inc si
      add di,2           
      loop s               ’循环传送
      
      mov ax,4c00h        
      int 21h

do0end:nop
code ends 
end start
评论次数(0)  |  浏览次数(706)  |  类型(汇编作业) |  收藏此文  | 
 
 请输入验证码  (提示:点击验证码输入框,以获取验证码