mov edi, (80 * 11 + 79) * 2 ;为什么这么写就是在屏幕第 11 行, 第 79 列显示

baojiaqi_HIT 2016-04-11 07:30:26
mov edi, (80 * 11 + 79) * 2 ;为什么这么写就是在屏幕第 11 行, 第 79 列显示
...全文
622 2 打赏 收藏 转发到动态 举报
写回复
用AI写文章
2 条回复
切换为时间正序
请发表友善的回复…
发表回复
用户 昵称 2016-04-14
  • 打赏
  • 举报
回复
直接写缓存嘛,显存中有什么,屏幕上就显示什么,具体就如楼上所解释。
zara 2016-04-12
  • 打赏
  • 举报
回复 2
屏幕上,一行一般是 80 个字符;每个字符的显示需要两个字节,一个字节是显示字符的 ascii,一个字节的显示用的颜色(字符颜色+背景色)。这些数据在显示缓存里是按行排列的,先是第 0 行,然后是第 1 行,所以第 11 行的起始地址就是 80*2*11 了,这一行的第 79 列字符就是再加上 79*2 了,整个就是 80*2*11+79*2 = (80*11+79)*2 这样的。

21,458

社区成员

发帖
与我相关
我的任务
社区描述
汇编语言(Assembly Language)是任何一种用于电子计算机、微处理器、微控制器或其他可编程器件的低级语言,亦称为符号语言。
社区管理员
  • 汇编语言
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

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