鱼C论坛

 找回密码
 立即注册
查看: 2047|回复: 7

王爽汇编实验10的问题,帮下忙谢谢。

[复制链接]
发表于 2012-7-27 17:39:30 | 显示全部楼层 |阅读模式
1鱼币
第八行第三列的显存地址是怎么算出来的,知道得朋友,教一下谢谢。

想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
发表于 2012-7-27 21:43:46 From FishC Mobile | 显示全部楼层
这个。8*160+6
8行,乘内行字节数,加上每列字符和字符属性。
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复

使用道具 举报

 楼主| 发表于 2012-7-27 22:28:55 | 显示全部楼层
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复

使用道具 举报

发表于 2012-7-27 22:35:20 From FishC Mobile | 显示全部楼层
那是因为。计算机是从0开始数的,而人类正常习惯是从1开始数。所以要行数减一
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复

使用道具 举报

 楼主| 发表于 2012-7-27 23:14:43 | 显示全部楼层
敉沧 发表于 2012-7-27 22:35
那是因为。计算机是从0开始数的,而人类正常习惯是从1开始数。所以要行数减一

王爽汇编实验10看到了吧!  他们的答案显存地址都是B8000,这地址好像没有变。
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复

使用道具 举报

 楼主| 发表于 2012-7-27 23:15:22 | 显示全部楼层
敉沧 发表于 2012-7-27 22:35
那是因为。计算机是从0开始数的,而人类正常习惯是从1开始数。所以要行数减一

不是第八行第3列,而是显存起始地址。
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复

使用道具 举报

发表于 2012-7-28 08:20:56 From FishC Mobile | 显示全部楼层
实验9,在188页。已经说了。显存的空间中,B8000H~BFFFFH 共32KB的空间。

那么,0B800h就是段地址咯。
关于行列,可以计算出来放到其他寻址寄存器中。譬如bx。

假如第13刚第36列为要送入字符的起始地址,那么就可以这样,
mov bx,0b800h
mov es,bx
mov bx,13*160+72

假如送入字符'1'
就可以这样


先设置字符属性
mov ah,07h   ;黑底白字
mov al,'1'       ;或者31h也可以,一样的。

现在送入显存。
mov es:[bx],ax

这样就可以咯。
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复

使用道具 举报

发表于 2012-7-29 15:26:14 | 显示全部楼层
一行有160个字节。
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

小黑屋|手机版|Archiver|鱼C工作室 ( 粤ICP备18085999号-1 | 粤公网安备 44051102000585号)

GMT+8, 2024-11-20 12:24

Powered by Discuz! X3.4

© 2001-2023 Discuz! Team.

快速回复 返回顶部 返回列表