请各位帮看看。

vcao 2003-03-04 11:54:01
vGA图形模式(640×480)下,每屏团的4个缓冲区彩色页面的共同视频缓冲区首
址为:
A0000000
因此,视频缓冲区的每一个地址对应于4个字节.对该地址的操作由图形控制器来完成。
每个视频显示缓冲区的页面与显示器屏幕形成一个线性的对应关系。页面内的每个字
节对应地控制屏幕上相邻的8个像素点。因此屏幕上一行在其对应的页面内共占80个字
节。故屏幕上(x,y)点在4个彩色页面内对应的地址是:
A000:0000十y×80十x/8 (如何得出????x/8如何得来?)

谢谢!

...全文
17 4 打赏 收藏 转发到动态 举报
写回复
用AI写文章
4 条回复
切换为时间正序
请发表友善的回复…
发表回复
chengdulang 2003-03-04
  • 打赏
  • 举报
回复
这个是因为这个地址表示的是点。一个字对应一个像素,就是一个点了。如果不除8。得到的将是(x+7,y)的地址。
nKannan 2003-03-04
  • 打赏
  • 举报
回复
这里应该是16色模式,每个平米的点对应4位,分别分布在4个位平面上。
所以计算公式要X/8
lxfneer 2003-03-04
  • 打赏
  • 举报
回复
因为一个字节控制屏幕上的8个象素点,要想算出在某一行一象素点在第几个字节上,需X/8;
Y*80是因为一行的象素点是640=8*80,以此来获取是第几个字节
vcao 2003-03-04
  • 打赏
  • 举报
回复
thanks!

69,371

社区成员

发帖
与我相关
我的任务
社区描述
C语言相关问题讨论
社区管理员
  • C语言
  • 花神庙码农
  • 架构师李肯
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧