-134- | PC机汇编语言实战精解 | ![]() |
|||||||||||||||||||
main msg start: loop1: main code |
proc jmp db mov mov int mov push mov mov mov mov mov int mov int pop loop int endp ends end |
far short start 'Press any key...',0dh,24h ah,09h dx,offset msg 21h cx,25 cx cx,0 dx,194fh bh,2 ah,6 al,1 10h ah,0 16h cx loop1 20h main |
;显示字符串MSG ;设置循环计数 ;暂存CX寄存器中的循环计数 ;设置滚动窗口的左上角为(0,0) ;设置滚动窗口的右下角为(79,25) ;设置新行的属性 ;选择10H中断的06功能 ;准备将窗口中的内容向上滚动1行 ;滚动窗口内容 ;等待键盘输入 ;恢复CX寄存器中的循环计数 ;继续滚动窗口 ;结束进程 |
||||||||||||||||||
运行这个程序,刚刚设想的第(1)、(3)点都可得到验证。下面这个程序使用了07H功能,而且可以验证我们设想的第(2)点: | |||||||||||||||||||||
code main msg start: loop1: |
segment assume org proc jmp db mov mov int mov mov int mov mov mov mov mov int |
cs:code,ds:code 100h far short start 'Press any key...',0dh,24h ah,09h dx,offset msg 21h bl,4 ah,0 16h cx,0 dx,194fh bh,2 al,bl ah,7 10h |
;跳过数据区 ;显示字符串MSG ;设置循环计数 ;等待键盘输入 ;设置窗口的左上角为(0,0) ;设置窗口的右下角为(79,25) ;设置插入行的属性 ;以循环计数作为滚动的行数 ;选择10H中断的07功能 ;向下滚动窗口 |
||||||||||||||||||
Copyright © 2004-2015 Reanimator | www.cookmoon.org |