您的位置:首页 > 其它

NASM汇编实现彩色输出

2016-04-30 19:42 246 查看
先上代码,实现控制台输出“Hello World”。


SECTION .DATA
color_red:      db  1Bh, '[31;1m', 0
.len            equ $ - color_red
color_blue:     db  1Bh, '[34;1m', 0
.len            equ $ - color_blue
color_default:  db  1Bh, '[37;0m', 0
.len            equ $ - color_default

message         db  'Hello World!!!', 0Ah

SECTION .text
global _start

_start:
mov     eax, 4
mov     ebx, 1
mov     ecx, color_blue
mov     edx, color_blue.len
int     80h

mov     ecx, message
mov     edx, 14
mov     eax, 4
mov     ebx, 1
int     80h

mov     ebx, 0
mov     eax, 1
int     80h


在DATA段定义了三种颜色,分别为蓝色、红色及系统默认颜色(与控制台命令颜色一致)。其中,’[31;1m’限定样式,31代表颜色,1m中的‘1’代表样式,颜色对照如下:

数值颜色
30
31
32绿
33
34蓝色
35紫色
36深绿
37白色
样式对应如下:

数值样式
0m关闭所有属性
1m高亮
4m下划线
5m闪烁
7m反显
8m消隐
有关Linux终端下颜色的输出可参考

http://www.linuxidc.com/Linux/2009-03/18792.htm
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签:  汇编