x8086汇编实现dos清屏(clear screen)

题目要求: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

 

   

 

原文地址:https://www.cnblogs.com/xautxuqiang/p/5468105.html