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

Is the current video buffer segment address recorded in a memory location?

例如使用中断改变当前页面,视频缓冲区的段地址也将改变如下:

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.

添加字