假设您有一张 MSDOS 6.22 启动软盘,您可以启动软盘,然后运行调试并创建小型汇编程序。
INT 6(偏移十六进制 18)可能是指向当前字体表的远指针(至少对于 0 到 7fh)。
调用 INT 10
AX = 1130h
BH = pointer specifier
00h INT 1Fh pointer
01h INT 43h pointer
02h ROM 8x14 character font pointer
03h ROM 8x8 double dot font pointer
04h ROM 8x8 double dot font (high 128 characters)
05h ROM alpha alternate (9 by 14) pointer (EGA,VGA)
06h ROM 8x16 font (MCGA, VGA)
07h ROM alternate 9x16 font (VGA only) (see #0020)
11h (UltraVision v2+) 8x20 font (VGA) or 8x19 font (autosync EGA)
12h (UltraVision v2+) 8x10 font (VGA) or 8x11 font (autosync EGA)
Return: ES:BP = specified pointer
CX = bytes/character of on-screen font (not the requested font!)
DL = highest character row on screen
您可以将 cs 和 ds 段寄存器设置为视频卡 bios 的段(可能是十六进制 C000),然后将 cx 设置为字节数,使用 n 设置文件名,然后进行写入。这将创建一个二进制文件的bios。可能有实用程序可以为其他操作系统执行此操作。然后,您必须从视频 bios 图像文件中找到字体数据。