王爽汇编实验10的问题,帮下忙谢谢。
第八行第三列的显存地址是怎么算出来的,知道得朋友,教一下谢谢。这个。8*160+6
8行,乘内行字节数,加上每列字符和字符属性。 敉沧 发表于 2012-7-27 21:43 static/image/common/back.gif
这个。8*160+6
8行,乘内行字节数,加上每列字符和字符属性。
可是我这样算出来的和别人不同,好像也不是乘8,是乘7吧。。。 那是因为。计算机是从0开始数的,而人类正常习惯是从1开始数。所以要行数减一 敉沧 发表于 2012-7-27 22:35 static/image/common/back.gif
那是因为。计算机是从0开始数的,而人类正常习惯是从1开始数。所以要行数减一
王爽汇编实验10看到了吧!他们的答案显存地址都是B8000,这地址好像没有变。 敉沧 发表于 2012-7-27 22:35 static/image/common/back.gif
那是因为。计算机是从0开始数的,而人类正常习惯是从1开始数。所以要行数减一
不是第八行第3列,而是显存起始地址。 实验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:,ax
这样就可以咯。 一行有160个字节。
页:
[1]