表9.9 属性字节的典型组合

        
显示颜色
7
BL
6
R
5
G
4
B
3
I
2
R
1
G
0
B
16进制
黑底黑字
0
0
0
0
0
0
0
0
00h
黑底兰字
0
0
0
0
0
0
0
1
01h
兰底红字
0
0
0
1
0
1
0
0
14h
绿底青字
0
0
1
0
0
0
1
1
23h
灰白底浅品红字
0
1
1
1
1
1
0
1
7Dh
绿底灰字闪烁
1
0
1
0
1
0
0
0
A8h

  例9.16 在品红背景下,显示5个浅绿色闪烁的星号。
     MOV   AH,09   ;显示字符和属性功能
     MOV   AL,'*'  ;显示字符
     MOV   BH,0    ;0页
     MOV   BL,0DAH  ;彩色属性
     MOV   CX,05   ;字符显示次数
     INT   10H     ;BIOS调用

  使用INT 10H的13H功能显示字符串有4种方式,前两种方式(AL=0,1)要指定整个显示字符串的属性,后两种方式(AL=2,3)必须指定每个字符的属性,我们通过下面两个例子来了解它的用法。

  例9.17 在屏幕上以红底篮字显示字符串:"WORLD SCENERY"。
     STRING DB 'WORLD SCENERY'
     LEN_STR EQU $_STRING
        ┇
        MOV   AL,3      ;80 ′25 彩色文本方式
        MOV   AH,0      ;设置显示方式
        INT   10H
        MOV   BP,SEG STRING ;字符串段地址
        MOV   ES,BP
        MOV   BP,OFFSET STRING ;字符串偏移地址
        MOV   CX,LEN-STR   ;字符数
        MOV   DX,0      ;起始行列
        MOV   BL,41H     ;红底蓝字use blue-on-red lettering
        MOV   AL,0      ;光标返回起始地址
        MOV   AH,13H     ;显示字符串
        INT   10H       ;BIOS调用

  例9.18 在屏幕上以红底蓝字显示"WORLD",然后分别以红底绿字和红底蓝字相间地显示"SCENERY"。
     STRING1 BD 'WORLD'
     STRING2 DB 'S',42H.,'C',41H,'E',42H,'N',41H
         DB 'E',42H,'R',41H,'Y',42H
         LEN_STR2 EQU $_STRING2
           ┇
         MOV   AL,3    ;80 ′25 彩色文本方式
         MOV   AH,0    ;设置显示方式
         INT   10H
         MOV   BP,SEG STRING 1  ;串1段地址
         MOV   ES,BP
         MOV   BP,OFFSET STRING ;串1偏移地址
         MOV   CX,STRING2_STRING1 ;字符数
         MOV   DX,0       ;起始行列
         MOV   BL,41H      ;红底蓝字
         MOV   AL,1       ;光标跟随移动
         MOV   AH,13H      ;显示串功能display the string
         INT   10H        ;BIOS调用
         MOV   AH,3       ;读光标位置
         INT   10H        ;BIOS调用
         MOV   BP,OFFSET STRING ;串2偏移地址
         MOV   CX,LEN_STR2    ;字符数
         MOV   AL,3        ;显示字符和属性
         MOV   AH,13H       ;显示串2
         INT   10H        ;BIOS调用