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

我的博客

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

[2011-09-06 19:13] 实验12

;0号中断,在屏幕中间显示divide error!
;屏幕80*25中间位置为13行,33列
assume cs:code
code segment
start:        ;复制指令到0000:0200处
                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,1000
                mov bh,1
                div bh
                
                mov ax,4c00h
                int 21h
do0:        ;存储字符串
                jmp short begin
                db "divide error!"
        begin:        mov ax,0
                        mov es,ax
                        mov di,202h
                        mov ax,0b800h
                        mov ds,ax
                        mov si,160*13+33*2
                        
                        mov cx,13
                s:        mov al,es:[di]
                        mov ah,2
                        mov ds:[si],ax
                        
                        inc di
                        add si,2
                        loop s        
                mov ax,4c00h
                int 21h
                iret
do0end:        nop
code ends
end start
评论次数(0)  |  浏览次数(457)  |  类型(汇编作业) |  收藏此文  | 
 
 请输入验证码  (提示:点击验证码输入框,以获取验证码