题目要求:x8086汇编实现dos下的清屏功能
80X25彩色字符模式显示缓冲区的结构:
在内存地址结构中,B8000H~BFFFFH共32KB的空间,为80x25彩色字符模式的显示缓冲区。向这个地址空间写入数据,写入的内容将立即出现在
显示器上。
在80x25彩色模式下,显示器可以显示25行,每行80个字符,每个字符可以由256中属性。
80x25模式下,一屏的内容在显示缓冲区共4000个字符。
字母: ascii 0 为 NUL, 字符解释-->空
颜色: 0 即将前景色和背景色都设置为黑色
通过一个字节来显示字符的颜色 0 0 0 0 0 0 0 0 闪烁 R G B 高亮 R G B -背景色-- -前景色-
代码:
1 assume cs:code,ss:stack,ds:data 2 3 data segment 4 5 data ends 6 7 stack segment 8 db 16 dup (0) 9 stack ends 10 11 code segment 12 13 start: mov ax,stack 14 mov ss,ax 15 mov sp,16 16 17 mov ax,data 18 mov ds,ax 19 20 jmp cls 21 22 next: mov ax,4c00h 23 int 21h 24 25 ;---------------------------------------- 26 cls: mov bx,0b800h ;显存地址 0xb800 27 mov es,bx 28 29 mov bx,0 30 31 mov cx,4000 ;文本模式显示25行,80字 即80*25*2 = 4000字节 32 s: mov dl,0 ;将NULL字符,即ASCII 0 放入低位 33 mov dh,0 ;将颜色 0 即 黑色 放入高位 34 mov es:[bx],dx 35 add bx,2 36 loop s 37 38 jmp next 39 40 41 42 43 code ends 44 45 end start
时间: 2024-11-09 03:12:41