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

 我来答
NJGQZF
推荐于2016-10-27 · TA获得超过1.1万个赞
知道大有可为答主
回答量:3165
采纳率:0%
帮助的人:1245万
展开全部
汇编语言中给字符设置颜色并显示到屏幕上,可以调用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
做而论道
高能答主

2022-12-05 · 把复杂的事情简单说给你听
知道大有可为答主
回答量:3万
采纳率:80%
帮助的人:1.2亿
展开全部

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

1。直接写显示缓冲区。

2。调用 BIOS 中断 INT 10H。

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

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

本回答被提问者采纳
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
匿名用户
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
看看这个。
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
beiyus
2012-02-03 · TA获得超过329个赞
知道答主
回答量:140
采纳率:100%
帮助的人:98.3万
展开全部
在使用int 10H进行字符显示的时候,寄存器bl中存放的就是字符显示时的属性。 具体可见《linux内核完全注释》2.4.6显示控制一节有部分显示标准的具体设置。
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 更多回答(2)
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式