[汇编语言]-第九章 在屏幕中间分别显示绿底红色,白底蓝色字符串"welcome to masm!"

 1 ;在屏幕中间分别显示绿色,绿底红色,白底蓝色字符串"welcome to masm!"
 2 assume cs:codesg,ds:datasg,ss:stacksg
 3 datasg segment
 4     db 'welcome to masm!'
 5     db 02h,24h,71h
 6 datasg ends
 7 stacksg segment
 8     db 8 dup(0)
 9 stacksg ends
10 codesg segment
11 start:    mov ax,datasg
12         mov ds,ax
13         
14         mov ax,stacksg
15         mov ss,ax
16         mov sp,10H
17         
18         mov bx,0
19         mov di,0
20         
21         mov ax,0B872H  ;;0B828H屏幕第一个位置
22         mov cx,3
23     s3: push cx
24         push ax
25         push di
26         
27         mov es,ax
28         mov si,0
29         mov di,0
30         mov cx,10h
31     s1: mov al,ds:[bx+si]
32         mov es:[bx+di],al
33         inc si
34         add di,2
35         loop s1
36         
37         mov si,1
38         pop di
39         mov al,ds:10h[bx+di]
40         
41         mov cx,10h 
42     s2: mov es:[bx+si],al
43         add si,2
44         loop s2
45         inc di
46         pop ax
47         add ax,0ah
48         pop cx
49         loop s3
50         mov ax,4c00h
51         int 21h
52 codesg ends
53 end start

 

在b872处显示'welcome to masm!'

 1 assume cs:code,ds:data
 2 data segment
 3     db 'welcome to masm!'
 4     db 02h,24h,71h
 5 data ends
 6 code segment
 7 start:
 8         mov ax,0b872H
 9         mov es,ax
10         
11         mov ax,data
12         mov ds,ax
13         
14         mov bx,0
15         mov cx,16
16         mov di,0
17     s:  
18         mov al,ds:[bx]
19         mov ah,ds:[18]
20         mov es:[di],ax
21         inc bx
22         add di,2
23         loop s
24 
25         mov ax,4c00h
26         int 21h
27 code ends
28 end start

一个字符两个字节的存储方式,低字节存储ASCII,高字节存储字符属性,一行共80个字符,占160个字节.

属性字节格式:

7  6  5  4  3  2  1  0

BL R  G  B  I  R  G  B

7闪烁

6 5 4 背景

3 高亮

2 1 0 前景

R red

G green

B blue

红底绿字:01000010B

红底闪烁绿字: 11000010B

红底高亮绿字: 01001010B

黑底白字: 00000111B

白底蓝字: 01110001B

闪烁的效果必须在全屏DOC方式下才能看到.(ps:测试一直没看到闪烁)

原文地址:https://www.cnblogs.com/galoishelley/p/3581899.html