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

我的博客

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

[2011-09-18 23:00] 16章-shiyan,纠结了好久搞出来的,希望好心人给点提示用别的好点的方法

assume cs:code

code segment
  db 512 dup (0) 
show_f:
                jmp short showmain                
                table  dw offset func0,offset func1,offset func2
showmain:        
                        push bx
                        mov bx,0
                        mov bl,ah
                        add bx,bx
                        call word ptr table[bx]
                        pop bx
                        iret
func0:        
                push ax
                push cx
                push es
                push si
                mov ax,0b800h
                mov es,ax
                mov si,0
                mov ah,00000111b
                mov al,32
                mov cx,2000
  func0_s:        
                        mov es:[si],ax
                        add si,2
                loop func0_s
                pop si
                pop es
                pop cx
                pop ax
                ret

func1:
                push si
                push es
                push bx
                mov bx,0b800h
                mov si,1
                mov es,bx
                mov cx,2000
  func1_s:
                        and byte ptr es:[si],10001111b
                        or es:[si],al
                        add si,2
                loop func1_s
                pop bx
                pop es
                pop si
                ret

func2:        
                push si
                push es
                push bx
                mov bx,0b800h
                mov es,bx
                mov si,1
                mov cx,2000
  func2_s:        and byte ptr es:[si],11111000b
                        or es:[si],al
                        add si,2
                loop func2_s
                pop bx
                pop es
                pop si
                ret
show_fend:        nop
start:        
                mov ax,cs
                mov ds,ax
                mov si,offset show_f
                
                mov ax,0
                mov es,ax
                mov di,200h
                
                mov cx,offset show_fend-offset show_f
                cld
                rep movsb
                
                mov ax,0
                mov ds,ax
                mov word ptr ds:[0],200h
                mov word ptr ds:[2],0
                
                mov ax,4c00h
                int 21h
code ends
end start
评论次数(0)  |  浏览次数(435)  |  类型(汇编作业) |  收藏此文  | 
 
 请输入验证码  (提示:点击验证码输入框,以获取验证码