BIOS 中断调用 (int 10H)

First Post:

Last Update:

Word Count:
538

Read Time:
2 min

Page View: loading...

用于在实模式下在屏幕显示。

使用 ax,bx,cx,dx 传入参数或接收返回值,使用 INT 0x10 调用。

例如:

1
2
3
mov ah, 0x0e
mov al, '!'
int 0x10
Func Code Args Ret
设置显示模式 AH=00H AL:显示模式 AL:显示模式表示 / CRT 控制模式字节
设置文本方式光标 AH=01H CH:行扫描开始;
CL:行扫描结束。
正常光标为 CX=0607H
CX=0707H 要窄一些;
CX=0007 为整块光标。
CH 第 5 位通常表示隐藏光标,如 CX=2607H
有些显卡支持 00h-0Fh 的扫描线。
有些显卡不支持第 5 位,可以尝试 CX=0706H
设置光标位置 AH=02H BH:页码;
DH:行;
DL:列。
获取光标状态 AH=03H BH:页码。 AX=0
CH:行扫描开始;
CL:行扫描结束;
DH:行;
DL:列。
读取光笔位置 AH=04H AH:状态(0:无触发,1:触发);
BX:X 像素;
CH:Y 像素;
CL:像素行模式(0FH-10H);
DH:字符 Y;
DL:字符 X。
选择活动显示页 AH=05H AL:页码。
向上滚动窗口 AH=06H AL:滚动的行(0:清除,使用 CH,CL,DH,DL);
BH:背景色、前景色;
CH:高行数;
CL:左列数;
DH:低行数;
DL:右列数。
向下滚动窗口 AH=07H 参考 AH=06H
读光标所在位置的字符和属性 AH=08H BH:页码。 AH:颜色;
AL:字符。
在当前光标位置写字符和属性 AH=09H AL:字符;
BH:页码;
BL:颜色;
CX:多次打印字符。
在光标位置写入字符 AH=0AH AL:字符;
BH:页码;
CX:多次打印字符。
设置背景 / 边框颜色 AH=0BH
BH=01H
BL:背景/边框颜色。
设置调色板 AH=0BH BL:调色板 ID。
写图形像素 AH=0CH AL:颜色;
BH:页码;
CX:X;DX:Y。
读图形像素 AH=0DH BH:页码;
CX:X;DX:Y。
AL:颜色。
电传打字机输出 AH=0EH AL:字符;
BH:页码;
BL:颜色。
获取当前显示模式 AH=0FH AH:屏幕字符列数;
AL:显示模式;
BH:页码。
写字符串 AH=13H AL:写模式;
BH:页码;
BL:颜色;
CX:字符串长度;
DH:行;DL:列
ES:BP:字符串偏离量。