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

我的博客

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

[2011-10-18 09:03] 实验十五松开A显示满屏幕A

图片载入中
assume cs:codesg

stacksg segment
    db 128 dup (0)
stacksg ends

codesg segment
start:
    mov ax, stacksg
    mov ss, ax
    mov sp, 128
    
    push cs
    pop ds
    
    mov ax, 0
    mov es, ax
    
    mov si, offset int9
    mov di, 204h
    mov cx, offset int9end-offset int9
    cld
    rep movsb
    
    push es:[9*4]
    pop es:[200h]
    push es:[9*4+2]
    pop es:[202h]
    cli
    mov ax, 204h
    mov es:[9*4], ax
    mov ax, 0h
    mov word ptr es:[9*4+2],ax
    sti

    mov ax,4c00h
    int 21h
int9:
    push ax
    push bx
    push cx
    push es

    in al, 60h
    
    pushf
    call dword ptr cs:[200h]
    
    cmp al, 9Eh
    jne int9ret

    mov ax,0b800h
    mov es,ax
    mov bx,0
    mov cx,2000
    mov al, 'A'
    mov ah, 00000100B
 @@:
    
    mov es:[bx], al
    
    mov es:[bx+1], ah
    add bx,2
    loop @B

int9ret:
    pop es
    pop cx
    pop bx
    pop ax
    iret
int9end:nop

    
codesg ends
end start


;;在command.com中或者MS-DOS虚拟机中运行
评论次数(0)  |  浏览次数(319)  |  类型(汇编作业) |  收藏此文  | 
 
 请输入验证码  (提示:点击验证码输入框,以获取验证码