当前位置: 代码迷 >> 汇编语言 >> NASM 怎么选择显存块
  详细解决方案

NASM 怎么选择显存块

热度:558   发布时间:2016-05-02 04:47:19.0
NASM 如何选择显存块
直接写屏,但是我的数据超过了64KB,据说要选择活动的显存块,怎么弄啊(假设我要选择块3)

org	0100h

mov ax,4f02h
mov bx,115h
int 10h
mov ax,0a000h
mov es,ax


mov word [es:0000h],127d
mov word [es:0001h],127d
mov word [es:0002h],127d
mov word [es:0003h],127d
mov word [es:0004h],127d
mov word [es:0005h],127d
显卡 nasm

------解决方案--------------------
设置显示模式后,严谨起见,你得调用4f01h获取当前模式信息,window size(虽然通常是64k,但是你不能假定肯定如此)、window A/B start segment(起始段地址,一般是A000,一般只有窗口A,双窗口不是每个VBE实现都能支持)、window granularity(窗口对准值,不一定是64k)。然后调用4f05h切换bank(bx=0,dx=bank)。
当然你也可以设置显示模式的时候直接使用linear framebuffer模式,这个可以在保护模式下操作,就不存在切换bank的问题了。