8086汇编 文本模式下的彩色字符显示

您所在的位置:网站首页 qqsvip怎么改变名字颜色 8086汇编 文本模式下的彩色字符显示

8086汇编 文本模式下的彩色字符显示

2024-01-24 04:53| 来源: 网络整理| 查看: 265

8086汇编的文本显示方式

通过调用BIOS中断可以设置窗口显示方式。如

mov ah,00h ;设置显示方式 mov al,03h    ;80*25 16色文本显示 int 10h

通过上述代码就可以将窗口设置为80*25 16色文本显示的窗口,当然文本显示方式不止03h这一种。

还有如下

AL分辨率色彩03H80*2516色07H80*25单色

文本模式下显示彩色文字,选则03h就好。

彩色字符显示 

在完成上述显示方式设置之后就可以试着显示彩色字符啦(貌似我的编译器默认的就是彩色的)

在如DOS中断中显示字符,字符一般是以黑色背景与灰白色字体显示的。而使用BIOS中断显示彩色则需要使用09号功能,或者0A号功能。

暂且只说09号功能,示例代码如下

mov ah,09h mov al,'A' ;显示的字符 mov cx,1 ;字符显示数量 mov bl,04h ;字符颜色信息 mov bh,00 ;页码设置 int 10h ;在当前光标处显示一个背景色为黑色,前景色为红色的字符'A'

文本模式下bh的数值最好设置为零。

字符颜色

在文本16色模式下,字符的属性存储在bl中,bl为一个字节大小,共八位。

b7控制字符是否闪烁,b6-b4为背景色,b3-b0为前景色

最后

09号功能只能在当前光标处显示彩色字符。但是并不移动光标。所以想通过此命令连续输出字符。并且不被覆盖必须移动光标

而BIOS中断中的02号中断,提供了此功能。

mov ah,02h mov dx,03h int 10h ;将光标移动至文本的第1行,第三列

dl是列参数,dh是行参数

再配合BIOS中断中的03号中断,可以读取当前光标位置。就可实现用上面说的字符显示方式,连续输出字符。

DATAS SEGMENT DATAS ENDS STACKS SEGMENT STACKS ENDS CODES SEGMENT ASSUME CS:CODES,DS:DATAS,SS:STACKS START: MOV AX,DATAS MOV DS,AX MOV AH,00H MOV AL,02H INT 10H MOV AH,09H MOV BH,0 MOV AL,'A' MOV BL,04H MOV CX,1 INT 10H MOV AH,03H INT 10H INC DL MOV AH,02H INT 10H MOV AH,09H MOV BH,0 MOV AL,'B' MOV BL,84H MOV CX,1 INT 10H MOV AH,4CH INT 21H CODES ENDS END START


【本文地址】


今日新闻


推荐新闻


CopyRight 2018-2019 办公设备维修网 版权所有 豫ICP备15022753号-3