当前视频缓冲段地址是否记录在内存位置



例如,通过使用中断来更改当前页面,视频缓冲区的段地址将被更改,如下所示:

mov ah, 5
mov al, 1
int 10h

例如,我现在处于文本模式,VGA在第0页的段是0B800h,现在在上一次中断后,段将是0B900,它记录在内存中,或者我们必须计算它,因为这些地址是固定地址?

当前视频缓冲区段地址未记录在内存中。BIOS不会那样使用它。

BIOS在BIOS数据区中记录有关页面的信息

80x25
-----
word 0040:004C  Size in bytes of the display memory page    = 4000
word 0040:004E  Offset to the current display page          = 4096
byte 0040:0062  Number of the active display page           = 1

在80x25文本视频模式中,BIOS只处理段值B800h并改变偏移量以达到正确的输出页面。BIOS首先计算请求页面内的偏移量,然后添加地址0040:004E中的字。

最新更新