当前视频缓冲区段地址是否记录在内存位置?
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.
添加字
例如使用中断改变当前页面,视频缓冲区的段地址也将改变如下:
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.
添加字