摘要
通常VGA显示缓冲区VRAM为256KB,但实际上VGA只显示640*480,占用VRAM空间为640*480/2 = 153600B,剩余空间为262144-153600=108544B=108544/320=339.2帧,即VGA物理显示空间为640*(480+339.2)=640*819.2,339.2即为通常所称的VGA剩余帧。本文提供的程序可以充分利用VGA640*819.2的物理显示空间,将(x1,y1,x2, y2)大小的图像,移到显示缓冲区的任意(Xm,Ym)位置上。C 语言的图形功能中,提供了-imagesize、-getim-age和-putimage三个函数,能够将一块图形保存起来,并能对此图形进行操作。本文提供的子功能模块为mblock,与以上C语言提供的函数比较如下:1.mblock移动图像范围为640*819;C 函数移动范围为640*4802.mblock所有操作均在显示缓冲区内进行,因此无额外内存开销;C 函数必须另外开出一块内存以保存图像。