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

我的博客

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

[2010-09-22 12:22] 习题5.29

写一个程序采用直接显示缓冲区的方法在屏幕上循环显示26个大写字母。按任意键退出。通过调用BIOS 16H的1号功能判断是否有键按下。

答:
;----------------------------------------------------;
assume        cs:code
code        segment
start:
        
        mov ax,0b800h
        mov es,ax
        mov cx,26
        mov al,'A'
s:        
        mov byte ptr es:[160*12+20*2],al
        inc al
        call delay
        loop s
        mov ah,1
        int 16h
        jnz over
        jmp start

over:        mov ah,4ch
        int 21h
;
delay        proc uses ax dx
        mov dx,1000h
        mov ax,0
de:        
        sub ax,1
        sbb dx,0
        cmp ax,0
        jne de
        cmp dx,0
        jne de
        ret
delay        endp
;
code        ends
end        start
;----------------------------------------------------;
评论次数(0)  |  浏览次数(541)  |  类型(汇编习题集) |  收藏此文  | 
 
 请输入验证码  (提示:点击验证码输入框,以获取验证码