;很多书都在说显示页,就是没有人说到底显示页的概念具体是什么的。
;80x86字符显示页有8个。有对应的BIOS中断来切换页的,页与页之间没有直接关系的。
;当程序在多个页中写程序时,可以及时地在各个页中切换。向屏幕写字符并且想要立刻看到,一定要写到当前显示的页中。
;阅读下面的程序需要有引导程序的知识
;下面的程序功能是在8个页中写入不同的字符,最后在各个页中切换。
;******************************************
;Copy Right Xiaoshuang Wang
;B.F.U
;2005
; 转载请保留此部分
;******************************************
org 0x7c00
bootStart:
xor ax,ax
mov ds,ax
mov ss,ax
mov sp,0x7c00
mov bp,sp
; Init the DRIVE
; Boot drive number is stored in DX(lower part)
mov [drive],dl
again:
mov cx,200
againChar:
call putString
loop againChar
mov al,[page]
inc al
mov [page],al
cmp al,0x8
jne again
mov cx,0x9
xor al,al
mov [page],al
check:
mov ah,0x05
int 0x10
xor ah,ah
int 0x16
mov al,[page]
inc al
mov [page],al
loop check
db 0xea
dw 0x0000, 0xffff
data db '012345678'
putString:
mov si,[page]
mov al,[data+si]
mov ah,0x0a
mov bl,0x07
mov bh,[page]
int 0x10
retn
;************************
; Here are the data part
;************************
drive db 0
page db 0
times 510-($-$$) db 0
dw 0xaa55
posted on 2005-04-28 22:24
小爽 阅读(812)
评论(0) 编辑 收藏 所属分类:
我的经验 、
我的操作系统