汇编语言中如何给字符设置颜色并显示到屏幕上

如题所述

汇编语言中给字符设置颜色并显示到屏幕上,可以调用BIOS中断INT 10h,输出显示可以调用DOS功能INT 21H。程序示例如下:
data segment
Total db 'M$'
data ends

code segment
assume cs:code,ds:data
main proc far
start:
mov ax,data
mov ds,ax
mov ah,0bh
mov bx,000eh;设定颜色为黄色
int 10h

mov dx,offset Total
mov ah,09h;显示字符串
int 21h
mov ah,4ch
int 21h
ret
main endp
温馨提示:答案为网友推荐,仅供参考
第1个回答  2022-12-05

看看:显示彩色字符,有两种方法:

1。直接写显示缓冲区。

2。调用 BIOS 中断 INT 10H。

下图,就是用“写显缓”的方法显示出来的彩色字符:

下图,是用 INT 10H 实现的:

本回答被提问者采纳
第2个回答  2012-02-03
assume cs:codesg,ds:datasg
datasg segment
db 'welcome to masm!'
datasg ends
codesg segment
start: mov ax,datasg
mov ds,ax
mov ax,0b800h
mov es,ax
mov bx,0
mov si,0
mov cx,16
s: mov al,[bx]
mov ah,2h
mov es:[si+06e0h+0040h],ax
mov ah,24h
mov es:[si+0780h+0040h],ax
mov ah,71h
mov es:[si+0820h+0040h],ax
inc bx
add si,2
loop s

mov ax,4c00h
int 21h

codesg ends
end start
看看这个。
第3个回答  2012-02-03
在使用int 10H进行字符显示的时候,寄存器bl中存放的就是字符显示时的属性。 具体可见《linux内核完全注释》2.4.6显示控制一节有部分显示标准的具体设置。
相似回答