添加彩色文字(我的自定义MBR)

时间:2018-05-18 10:31:25

标签: assembly x86 boot bootloader bios

我已经在程序集中编写了一个程序,并将* .asm文件转换为带有NASM的* .bin文件。执行此操作后,我将其替换为虚拟硬盘的第一个扇区(在vmWare中)。 我是大会新成员(也是本论坛的新成员)。 重启后,它会在屏幕上打印一条消息。

第1行:您现在可以插入并安装

第二行:您的新操作系统

第3行:现在

我现在的问题是:如何将文本(例如,从第2行)打印成另一种颜色?也许是绿色......还是红色?

其余代码应保持此正常的白色/灰色。我只想改变这一行!

如果有人可以解释它的工作方式以及为什么它可以工作(我希望它会:P),这将是很好的,因为我想提高我的装配技能。

这是我现在的代码:

; nasm -f bin test.asm -o test.bin

BITS 16
ORG     0x7c00                  

jmp start

start:
        mov ax,cs
        mov ds,ax
        mov si,msg          
        call print

print:
        push ax
        cld
next:
        mov al,[si]
        cmp al,0            
        je done             
        call printchar
        inc si              
        jmp next            
done:
        jmp $               

printchar:
        mov ah,0x0e         
        int 0x10           
        ret

msg:            db        "You can now insert and install ",13,10,"your new OS ",13,10,"right now ", 0

times 510 - ($-$$) db 0
dw        0xaa55

0 个答案:

没有答案