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

我的博客

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

[2013-08-29 16:26] 实验16

图片载入中
assume cs:code

code segment
        
        ;将中断例程写在前面可以避免一些麻烦
        
        setscreen:jmp short set
        table dw sub1,sub2,sub3,sub4
        set:push bx
        push ax
        cmp ah,3
        ja sret
        mov bl,ah
        mov bh,0
        add bx,bx
        mov bx,table[bx+200h]
        add bx,200h
        call bx
        
        sret:pop ax
        pop bx
        iret
        
        sub1:push bx
        push cx
        push es
        mov bx,0b800h
        mov es,bx
        mov bx,0
        mov cx,2000
        sub1s:mov byte ptr es:[bx],' '
        add bx,2
        loop sub1s
        pop es
        pop cx
        pop bx
        ret
        
        sub2:push bx
        push cx
        push es
        mov bx,0b800h
        mov es,bx
        mov bx,1
        mov cx,2000
        sub2s:and byte ptr es:[bx],11111000b
        or es:[bx],al
        add bx,2
        loop sub2s
        
        pop es
        pop cx
        pop bx
        ret
        
        sub3:push ax
        push bx
        push cx
        push es
        mov cl,4
        shl al,cl
        mov bx,0b800h
        mov es,bx
        mov bx,1
        mov cx,2000
        sub3s:and byte ptr es:[bx],10001111b
        or es:[bx],al
        add bx,2
        loop sub3s
        pop es
        pop cx
        pop bx
        pop ax
        ret
        
        sub4:push cx
        push si
        push di
        push es
        push ds
        
        mov si,0b800h
        mov es,si
        mov ds,si
        mov si,160
        mov di,0
        cld
        mov cx,24
        sub4s:push cx
        mov cx,160
        rep movsb
        pop cx
        loop sub4s
        
        mov cx,80
        mov si,0
        sub4s1:mov byte ptr [160*24+si],' '
        add si,2
        loop sub4s1
        
        pop ds
        pop es
        pop di
        pop si
        pop cx
        ret
        
        setscreen_end:nop
        
        start:mov ax,code
        mov ds,ax
        mov si,offset setscreen
        mov ax,0
        mov es,ax
        mov di,200h
        mov cx,offset setscreen_end-offset setscreen
        cld
        rep movsb
        
        cli
        mov word ptr es:[7ch*4],200h
        mov word ptr es:[7ch*4+2],0
        sti
        
        mov ax,0
        ;mov ax,0101h
        ;mov ax,0201h
        ;mov ax,0300h
        int 7ch
        
        mov ax,4c00h
        int 21h
        
code ends
end start
评论次数(0)  |  浏览次数(457)  |  类型(汇编作业) |  收藏此文  | 
 
 请输入验证码  (提示:点击验证码输入框,以获取验证码