这只是一点准备工作。为了显示字符串,需要调用中断:int 0x10 (AH=0x13)。具体参数设置,参考我的归纳整理如下:
INT 10 (AH = 0)
-----------------功能:设置显示方式调用参数: AL = 00:40 * 25 黑白方式 01:40 * 25 彩色方式 02:80 * 25 黑白方式 03:80 * 25 彩色方式 04:320 * 200 彩色图形方式 05:320 * 200 黑白图形方式 06:640 * 200 黑白图形方式 07:80 * 25 单色文本方式 08:160 * 200 16色图形(PCjr) 09:320 * 200 16色图形(PCjr) 0A:640 * 200 16色图形(PCjr) 0B:保留(EGA) 0C:保留(EGA) 0D:320 * 200 彩色图形(EGA) 0E:640 * 200 彩色图形(EGA) 0F:640 * 350 黑白图形(EGA) 10:640 * 350 彩色图形(EGA) 11:640 * 480 单色图形(EGA) 12:640 * 480 16色图形(EGA) 13:320 * 200 256色图形(EGA) 40:80 * 30 彩色图形(CGE400) 41:80 * 50 彩色图形(CGE400) 42:640 * 400 彩色图形(CGE400)INT 10 (AH = 1)---------------功能:置光标类型调用参数: CH(0-3) = 光标起始行 CL(0-3) = 光标结束行INT 10 (AH = 2)----------------功能:置光标位置调用参数: BH = 页号 DH,DL = 行,列INT 10 (AH = 3)----------------功能:读光标位置调用参数: BH = 页号返回参数: CH = 光标起始行 DH,DL = 行,列INT 10 (AH = 4)----------------功能:读光笔位置返回参数: AH = 0:光笔未触发 1:光笔触发 CH = 像素行 BX = 像素列 DH = 字符行 DL = 字符列INT 10 (AH = 5)----------------功能:置显示页调用参数: AL = 页号INT 10 (AH = 6)----------------功能:屏幕初始化或上卷调用参数: AL = 上卷行数 0:整个窗口空白 BH = 卷入行属性 CH = 左上角行号 CL = 左上角列号 DH = 右下角行号 DL = 右下角列号INT 10 (AH = 7)---------------功能:屏幕初始化或下卷调用参数: AL = 下卷行数 0:整个窗口空白 BH = 卷入行属性 CH = 左上角行号 CL = 左上角列号 DH = 右下角行号 DL = 右下角列号INT 10 (AH = 8)----------------功能:读光标位置的字符和属性调用参数: BH = 显示页返回参数: AH = 属性 AL = 字符INT 10 (AH = 9)----------------功能:在光标位置显示字符及其属性调用参数: BH = 显示页 AL = 字符 BL = 属性 CX = 字符重复次数INT 10 (AH = A)----------------功能:在光标位置显示字符调用参数: BH = 显示页 AL = 字符 CX = 字符重复次数INT 10 (AH = B)----------------功能:置彩色调板(320 * 320 图形)调用参数: BH = 彩色调板 ID BL = 和 ID 配套使用的颜色INT 10 (AH = C)----------------功能:写像素调用参数: DX = 行(0--199) CX = 列(0--639) AL = 像素值INT 10 (AH = D)----------------功能:读像素调用参数: DX = 行(0--199) CX = 列(0--639)返回参数: AL = 像素值INT 10 (AH = E)----------------功能:显示字符(光标前移)调用参数: AL = 字符 BL = 前景色INT 10 (AH = F)----------------功能:取当前显示方式返回参数: AH = 字符列数 AL = 显示方式INT 10 (AH = 13)-----------------功能:显示字符串(适用AT)调用参数: ;返回参数 ES:BP = 串地址 CX = 串长度 DH,DL = 起始行,列 BH = 页号 AL = 0,BL = 属性 串:char,char,... ;光标返回起始位置 AL = 1,BL = 属性 ;光标跟随移动 串:char,char,... AL = 2 ; 光标返回起始位置 串:char,char,... AL = 3 ; 光标跟随移动 串:char,char,...INT 11------功能:设备校验返回参数: AX = 返回值 bit0 = 1:配有磁盘 bit1 = 1:80287 协处理器 bit4,5 = 10:40 * 25 BW(彩色板) 01:80 * 25 BW(彩色板) 11:80 * 25 BW(黑白板) bit6,7 = 软盘驱动器 bit9,10,11 = RS-232 板号 bit12 = 游戏适配器 bit14,15 = 打印机号INT 12-------功能:测定存储器容量返回参数: AX = 字节数(KB)INT 13 (AH = 0)----------------功能:软盘系统复位
INT 13 (AH = 1)----------------功能:读软盘状态返回参数: AL = 状态字节INT 13 (AH = 2)----------------功能:读磁盘调用参数: AL = 扇区数 CH,CL = 磁道号,扇区号 DH,DL = 磁头号,驱动器号 ES:BX = 数据缓冲区地址返回参数: 成功:AH = 0,AL = 读取的扇区数 失败:AH = 出错代码INT 13 (AH = 3)----------------功能:写磁盘调用参数: AL = 扇区数 CH,CL = 磁道号,扇区号 DH,DL = 磁头号,驱动器号 ES:BX = 数据缓冲取地址返回参数: 成功:AH = 0, AL = 写入的扇区数 失败:AH = 出错代码INT 13 (AH = 4)----------------功能:检验磁盘扇区调用参数: AL = 扇区数 CH,CL = 磁道号,扇区号 DH,DL = 磁头号,驱动器号返回参数: 成功:AH = 0,AL = 检验的扇区数 失败:AH = 出错代码INT 13 (AH = 5)----------------功能:格式化盘磁道调用参数: ES:BX = 磁道地址返回参数: 成功:AH = 0 失败:AH = 出错代码INT 14 (AH = 0)----------------功能:初始化串行通讯口调用参数: AL = 初始化参数 DX = 通讯口号(0,1)返回参数: AH = 通讯口状态 AL = 调制解调器状态INT 14 (AH = 1)----------------功能:向串行通讯口写字符调用参数: AL = 字符 DX = 通讯口号(0,1)返回参数: 写成功:AH(7) = 0 写失败:AH(7) = 1 AH(0-6) = 通讯口状态INT 14 (AH = 2)----------------功能:从串行通讯口读字符调用参数: DX = 通讯口号(0,1)返回参数: 读成功:AH(7) = 0, AL = 字符 读失败:AH(7) = 1 AH(0-6) = 通讯口状态INT 14 (AH = 3)----------------功能:取通讯口状态调用参数: DX = 通讯口号(0,1)返回参数: AH = 通讯口状态 AL = 调制解调器状态INT 15 (AH = 0)----------------功能:启动盒式磁带马达
INT 15 (AH = 1)----------------功能:停止盒式磁带马达
INT 15 (AH = 2)----------------功能:磁带分块读调用参数: ES:BX = 数据传输区地址 CX = 字节数返回参数: AH = 状态字节 00:读成功 01:冗余检验错 02:无数据传输 04:无引导 08:非法命令INT 15 (AH = 3)----------------功能:磁带分块写调用参数: DS:BX = 数据传输区地址 CX = 字节数返回参数: 同上INT 16 (AH = 0)----------------功能:从键盘读字符返回参数: AL = 字符码 AH = 扫描码INT 16 (AH = 1)----------------功能:读键盘缓冲区字符返回参数: ZF = 0: AL = 字符码,AH = 扫描码 ZF = 1: 缓冲区空INT 16 (AH = 2)----------------功能:取键盘状态字节返回参数: AL = 键盘状态字节INT 17 (AH = 0)----------------功能:打印字符,回送状态字节调用参数: AL = 字符 DX = 打印机号返回参数: AH = 打印机状态字节INT 17 (AH = 1)----------------功能:初始化打印机,回送状态字节调用参数: DX = 打印机号返回参数: AH = 打印机状态字节INT 17 (AH = 2)----------------功能:取状态字节调用参数: DX = 打印机号返回参数: AH = 打印机状态字节INT 1A (AH = 0)----------------功能:读时钟返回参数: CH:CL = 时:分 DH:DL = 秒:1/100秒INT 1A (AH = 1)----------------功能:置时钟调用参数: CH:CL = 时:分 DH:DL = 秒:1/100秒INT 1A (AH = 2)----------------功能:读实时钟(适用AT)返回参数: CH:CL = 时:分(BCD) DH:DL = 秒:1/100秒(BCD)INT 1A (AH = 6)----------------功能:置报警时间(适用AT)调用参数: CH:CL = 时:分(BCD) DH:DL = 秒:1/100秒(BCD)INT 1A (AH = 7)----------------功能:清除报警(适用AT)
新闻热点
疑难解答