Published using Google Docs
[汇编] 几个重要内存单元地址
Updated automatically every 5 minutes

1、系统时钟地址

2、显示特性数据地址

3、显示缓冲区地址

4、键盘地址

5、中断向量表

6、系统配置

7、硬盘驱动器

8、ROM数据

9、其它内容的地址

1、系统时钟地址

0000:046CH——

4字节

时钟计数器,每次时钟中断时自动加1。系统启动时,其值为从午夜到现在的时钟中断数。当其计数达24小时时,则被置为0,并且将0000:0470H的字节置为1

0000:0470H——

1字节

该字节在午夜时置1

参见INT 8H(时钟中断)

2、显示特性数据地址

0000:0449H——

1字节

当前显示模式

0000:044AH——

1字

每行字符数(列数)

0000:044CH——

1字

显示缓冲区的字节数

0000:044EH——

1字

当前显示页在显示缓冲区内的便移量

0000:0450H——

8字

光标在显示页中的位置,高字节为行,低字节为列

0000:0460H——

1字

当前光标的形状。高字节为光标的上线,低字节为其下线

0000:0462H——

1字节

当前显示页

0000:0463H——

1字

CRT控制索引寄存器的端口地址

0000:0465H——

1字节

CRT控制器中模式寄存器的当前值

0000:0466H——

1字节

CRT控制器中颜色寄存器的当前值

参见INT 10H(显示服务中断)

3、显示缓冲区地址

A000:0000——  内容  图形显示模式的显示内容

表1 单色显示器的显示属性定义

背景属性

前景属性

7

6

5

4

3

2

1

0

Blink

 

 

 

Bright

 

 

 

B000:0000——

800H字

黑白显示器的显示文本信息,每个字中的低字节是字符的ASCII码,高字节是其属性

B800:0000——

2000H字

彩色显示器的显示缓冲区。其字符显示内容与前者相同

表2 黑白显示器的显示属性表

背景属性

前景属性

7 6 5 4

属性

3 2 1 0

属性

0 0 0 0

Black

0 1 1 1

Reverse

1 0 0 0

Blink

1 1 1 1

Reverse blink

0 0 0 0

Black

0 0 0 1

Underlined

0 1 1 1

Normal

1 0 0 1

Bright Underlined

1 1 1 1

Bright

表3 彩色显示器的显示属性定义

背景属性

前景属性

7

6

5

4

3

2

1

0

Blink

Red

Green

Blue

Bright

Red

Green

Blue

表4 彩色显示器的显示属性表

背景属性

前景属性

7 6 5 4

属性

3 2 1 0

属性

0 0 0 0

Black

0 0 0 1

Blue

0 0 1 0

Green

0 0 1 1

Cyan

0 1 0 0

Red

0 1 0 1

Magenta

0 1 1 0

Brown

0 1 1 1

White

1 0 0 0

Black Blink

1 0 0 1

Blue Blink

1 0 1 0

Green Blink

1 0 1 1

Cyan Blink

1 1 0 0

Red Blink

1 1 0 1

Magenta Blink

1 1 1 0

Brown Blink

1 1 1 1

White Blink

0 0 0 0

Black

0 0 0 1

Blue

0 0 1 0

Green

0 0 1 1

Cyan

0 1 0 0

Red

0 1 0 1

Magenta

0 1 1 0

Brown

0 1 1 1

White

1 0 0 0

Dark Gray

1 0 0 1

Light Blue

1 0 1 0

Light Green

1 0 1 1

Light Cyan

1 1 0 0

Light Red

1 1 0 1

Light Magenta

1 1 1 0

Yellow

1 1 1 1

Bright White

4、键盘地址

0000:0417H——

1字

当前键盘状态对应表(见图A6.1)

0000:041AH——

1字

指向键盘缓冲区的头

0000:041CH——

1字

指向键盘缓冲区的尾

0000:041EH——

16字

缺省的键盘缓冲区字节数

0000:0471H——

1字节

其值被置为80H,当INT 9H发现按下组合键^Break

0000:0480H——

1字

键盘缓冲区的队列头

0000:0482H——

1字

键盘缓冲区的队列尾

0000:0496H——

1字

若其位4=1,则表示安装了扩展键盘

图A6.1 键盘状态对应表

参见INT 09H(键盘中断)、INT 16H(键盘服务中断)和INT 1BH(^Break)

5、中断向量表

0000:0000H——

1024字节

参见INT 21H之功能25H(设置中断号入口地址)和35H(读取中断号入口地址)

6、系统配置

0000:0400H——

4字

串行端口(COM1~COM4)的基地址

0000:0408H——

4字

打印机端口(LPT1~LPT4)的基地址

0000:0410H——

1字

系统设备表(见图A6.2)

0000:0413H——

1字

常规内存字节数(以K为单位)

图A6.2 系统设备表

参见INT 11H(读取设备配置)和INT 12H(读取常规内存大小)

7、硬盘驱动器

0000:043EH——

1字节

驱动器标志,其位0~3分别对应驱动器A、B、C和D。通过INT 11H能知道系统中的磁盘驱动器数目。

0000:043FH——

1字节

驱动器马达标志,其位0~3分别对应驱动器A、B、C和D。若某位为1,则表示其所对应的驱动器正在旋转。

0000:0440H——

1字节

驱动器马达停止时间。其缺省值大约为2秒,还可通过INT 13H来设置该值。

0000:0441H——

1字节

最近磁盘操作的状态

00H-无错

01H-非法的命令

02H-地址标记未发现

03H-磁盘写保护(软盘)

04H-扇区位发现

08H-DMA超限(软盘)

09H-DMA超越64K

10H-不正确的CRC数据

20H-控制器失败

40H-查找失败

80H-磁盘超时

参见INT 08H(时钟中断)、INT 13H(磁盘服务中断)和INT 1EH(磁盘参数表)。

8、ROM数据

F000:E000H——

变化的

BIOS版本说明

F000:FFFEH——

1字节

系统模式代码

F000:FFFFH——

1字节

系统子模式代码(模式和子模式代码含义从略)

9、其它内容的地址

0000:0478H——

4字节

LPT1和LPT2循环计数器。它影响打印机的超时判断。

0000:047CH——

4字节

COM1~COM4的循环计数器。它将决定读Modem或在线状态寄存器的次数。

0000:0500H——

1字节

表示打印屏幕操作的状态:

0——

成功

1——

正在打印

0FFH ——

失败

0000:0504H——

1字节

表示单磁盘系统的驱动器符号:0-A和1-B

参见INT 05H(屏幕打印)、INT 14H(串行通信服务中断)和INT 17H(打印机服务)