如果我们通过汇编语言调用INT 10h并设置其参数,然后将这段代码编译成二进制并写入到软盘的引导扇区中,我们就可以在裸机(或没有操作系统的虚拟机)上输出一个字符串屏幕。
...
; INT 10h
; When AH = 13h
; ES:BP = Offset of string
; CX = length of string
; AL = Write mode
; BH = Page Number, BL = Color
; DL = Column
mov ax, BootMessage
mov bp, ax
mov cx, 12
mov ax, 01301h
mov bx, 000ch
mov dl, 0
int 10h
jmp $ ; while (true)
BootMessage: db "Hello World!"
...
我想知道BIOS如何控制每个字符的字形?在某些电脑上,为什么屏幕上的“A”与Sans-serif字体中的“A”类似,而不是Courier?但在其他计算机上,它可能是另一种字体。
BIOS或某个ROM中是否内置了一些0-1矩阵?比如下图中的0-1矩阵对应的是字符A。