BIOS功能调用表格

BIOS功能调用表格

--源自网络

INT

AH

功能

调用参数

返回参数

10

0

设置显示方式

AL=00  40*25  黑白方式

AL=01  40*25  彩色方式

AL=02  80*25  黑白方式

AL=03  80*25  彩色方式

AL=04  320*200  彩色图形方式

AL=05  320*200  黑白图形方式

AL=06  640*200  黑内图形方式

AL=07  80*25  单色文本方式

AL=08  160*200  16色图形(PCjr)

AL=09  320*200  16色图形(PCjr)

AL=0A  640*200  16色图形(PCjr)

AL=0B  保留(EGA)

AL=0C  保留(EGA)

AL=0D  320*200  彩色图形(EGA)

AL=0E  640*200  彩色图形(EGA)

AL=0F  640*350  黑白图形(EGA)

AL=10  640*350  彩色图形(EGA)

AL=11  640*480  单色图形(EGA)

AL=12  640*480  16色图形(EGA)

AL=13  320*200  256色图形(EGA)

AL=40  80*30  彩色文本(CGE400)

AL=41  80*50  彩色文本(CGE400)

AL=42  640*400  彩色文本(CGE400)

 

10

1

置光标类型

(CH)0-3=光标起始行

(CH)0-3=光标结束行

 

10

2

置光标位置

BH=页号

DH,DL=行,列

 

10

3

读光标位置

BH=页号

CH=光标起始行

DH,DL=行,列

10

4

读光笔位置

 

AH=0 光笔未触发

AH=1 光笔触发

CH=像素行

BX=像素列

DH=字符行

DL=字符列

10

5

置显示页

AL=页号

 

10

6

屏幕初始化或上卷

AL=上卷行数

AL=0 整个窗口空白

BH=卷入行属性

CH=左上角行号

CL=左上角列号

DH=右下角行号

DL=右下角列号

 

10

7

屏幕初始化或下卷

AL=下卷行数

AL=0 整个窗口空白

BH=卷入行属性

CH=左上角行号

CL=左上角列号

DH=右下角行号

DL=右下角列号

 

10

7

屏幕初始化或下卷

AL=下卷行数

AL=0 整个窗口空白

BH=卷入行属性

CH=左上角行号

CL=左上角列号

DH=右下角行号

DL=右下角列号

 

10

8

读光标位置的字符和属性

BH=显示页

AH=属性

AL=字符

10

9

在光标位置显示字符及其属性

BH=显示页

AL=字符

BL=属性

CX=字符重复次数

 

10

A

在光标位置显示字符

BH=显示页

AL=字符

CX=字符重复次数

 

10

B

置彩色调板

(320*200图形)

BH=彩色调板ID

BL=和ID配套使用的颜色

 

10

C

写像素

DX=行(0-199)

CX=列(0-639)

AL=像素值

 

10

D

读像素

DX=行(0-199)

CX=列(0-639)

AL=像素值

10

E

显示字符(光标前移)

AL=字符

BL=前景色

 

10

F

取当前显示方式

 

AH=字符列数

AL=显示方式

10

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,…

 

 

 

 

光标返回起始位置

光标跟随移动

光标返回起始位置

光标跟随移动

11

 

设备检验

 

AX=返回值

Bit0=1,配有磁盘

Bit1=1,80287协处理

Bit4,5=01,40*25Bw(彩色版)

Bit4,5=10,80*25Bw(彩色板)

Bit4,5=11,80*25Bw(黑白板)

Bit6,7=软盘驱动器号

Bit9,10,11=RS-232板号

Bit12=游戏适配器

Bit13串行打印机

Bit14,15=打印机号

12

 

测定储存器容量

 

AX=字节数(KB)

13

0

软盘系统复位

 

 

13

1

读软盘状态

 

AL=状态字节

13

2

读磁盘

AL=扇区

CH,CL=磁道号,扇区号

DH,DL=磁头号,驱动器号

ES:BX=数据缓冲区地址

读成功:AH=0,AL=读取的扇区数

读失败:AH=出错代码

13

3

写磁盘

同上

写成功:AH=0,AL=写入的扇区数

写失败:AH=出错代码

13

4

检验磁盘扇区

同上(ES:BX 不设置)

成功:AH=0,AL=检验的扇区数

失败:AH=出错代码

13

5

格式化磁盘

ES:BX=磁道地址

成功:AH=0

失败:AH=出错代码

14

0

初始化串行通讯

AL=初始化参数

DX=通讯口号(0,1)

AH=通讯口状态

AL=调制解调器状态

14

1

向串行通讯口写字符

AL=字符

DX=通讯口号(0,1)

写成功:(AH)7=0,AL=字符

写失败:(AH)7=1,AL=字符

(AH)0-6=通讯口状态

14

2

从串行通讯口读字符

DX=通讯口号(0,1)

读成功:(AH)7=0

读失败:(AH)7=1

(AH)0-6=通讯口状态

14

3

取通讯口状态

DX=通讯口号(0,1)

AH=通讯口状态

AL=调制解调器状态

15

0

启动盒式磁带马达

 

 

15

1

停止盒式磁带马达

 

 

15

2

磁带分块读

ES:BX=数据传输区地址

CX=字节数

AH=态字节

AH=00 功

AH=01 冗余检验错

AH=02 无数据传输

AH=04 无导引

AH=80 非法命令

15

3

磁带分块写

DS:BX=数据传输区地址

CX=字节数

同上

16

0

从键盘读字符

 

AL=字符码

AH=扫描码

16

1

读键盘缓冲区字符

 

ZF=0,AL=字符码,AH=扫描码

ZF=1,扫描区空

16

2

取键盘状态字节

 

AL=键盘状态字节

17

0

打印字符

回送状态字节

AL=字符

DX=打印机号

AH=打印机状态字节

17

1

初始化打印机

回送状态字节

DX=打印机号

AH=打印机状态字节

17

2

取状态字节

DX=打印机号

AH=打印机状态字节

1A

0

读时钟

 

CH:CL=时:分

DH:DL=秒:1/100 秒

1A

1

置时钟

CH:CL=时:分

DH:DL=秒:1/100 秒

 

1A

2

读实时钟

(适用AT)

 

CH:CL=时:分(BCD)

DH:DL=秒:1/100 秒(BCD)

1A

6

置报警时间

(适用AT)

CH:CL=时:分(BCD)

DH:DL=秒:1/100 秒(BCD)

 

1A

7

清除报警

(适用AT)

 

 

 

  • 4
    点赞
  • 10
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
好的,我可以为您展示一个简单的汇编程序,用于在屏幕上显示一个表格。 首先,我们需要定义一个表格,这里我们定义一个 3x3 的表格,内容为数字 1 到 9。我们可以使用数据段(.data)来定义这个表格。 ``` section .data table db 1, 2, 3 db 4, 5, 6 db 7, 8, 9 ``` 接下来,我们需要使用显示函数来在屏幕上显示这个表格。这里我们使用 BIOS 中断 10h 来进行显示操作。我们可以使用代码段(.text)来编写显示函数。 ``` section .text global _start _start: mov ax, 0x03 ; 设置视频模式为文本模式 int 0x10 mov si, table ; 将表格的地址存储在寄存器 SI 中 mov cx, 3 ; 设置循环次数为 3,即表格的行数 ; 循环输出表格 output_table: mov bx, cx ; 将行数存储在寄存器 BX 中 mov dx, 0 ; 将列数清零 output_row: mov ah, 0x0e ; 设置显示函数为“在光标处显示字符” mov al, [si] ; 将当前单元格的值存储在寄存器 AL 中 add al, 48 ; 将数字转换为 ASCII 码 int 0x10 ; 调用中断 10h 来显示字符 inc si ; 移动到下一个单元格 inc dx ; 列数加 1 cmp dx, 3 ; 比较列数是否等于 3 jne output_row ; 如果不等于 3,继续输出当前行 add si, 6 ; 如果等于 3,移动到下一行的第一个单元格 dec bx ; 行数减 1 cmp bx, 0 ; 比较行数是否等于 0 jne output_table ; 如果不等于 0,继续输出下一行 ``` 这个程序将会在屏幕上显示以下内容: ``` 1 2 3 4 5 6 7 8 9 ``` 希望这个程序可以满足您的需求。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值