标题:[求助]请大峡们看看我的程序哪有问题?
取消只看楼主
ttzz8
Rank: 1
等 级:新手上路
帖 子:25
专家分:0
注 册:2006-5-4
 问题点数:0 回复次数:6 
[求助]请大峡们看看我的程序哪有问题?

assume cs:code
data segment
db'welcome to tasm!',0
data ends

code segment
start: mov dh,8
mov dl,3
mov cl,2
mov ax,data
mov ds,ax
mov si,0
call show_str

mov ax,4c00h
int 21h
show_str:mov ax,0b800h
mov es,ax
mov cx,16
s:mov al,ds:[si]
mov es:[si],al
mov ah,02h
mov es:[si+1],ah
inc si
loop s
ret
code ends
end start
我想把'welcome to tasm!'这个字符串输到屏幕上,我的方法是向显存的缓冲区内写入,然后再输出,但是好象这段程序没用啊,请大峡们帮小弟我检查检查,看看哪有问题?先谢谢了!

搜索更多相关主题的帖子: welcome start 
2006-05-04 15:17
ttzz8
Rank: 1
等 级:新手上路
帖 子:25
专家分:0
注 册:2006-5-4
得分:0 

教材上的显存基地址还是0B800H的啊!好象我们同学做的时候就是用这个的,具体我也不清楚啊!


2006-05-04 22:49
ttzz8
Rank: 1
等 级:新手上路
帖 子:25
专家分:0
注 册:2006-5-4
得分:0 
2楼,为什么出来以后还有一大串的乱码啊?
是不是 就是你那注释里说的不知道该怎么用什么来结束字符串啊?
还有能不能帮忙解释下你的程序啊?
偶好象看不大懂啊~~~~呵呵!麻烦了!

2006-05-04 22:50
ttzz8
Rank: 1
等 级:新手上路
帖 子:25
专家分:0
注 册:2006-5-4
得分:0 
我知道了,只要把'welcome to tasm!'改成'welcome to tasm!$'就可以了,就没有乱码了!

2006-05-04 22:53
ttzz8
Rank: 1
等 级:新手上路
帖 子:25
专家分:0
注 册:2006-5-4
得分:0 
我还想问一下,如果要用向显存里写入是怎么实现打印在屏幕上的?

2006-05-04 22:56
ttzz8
Rank: 1
等 级:新手上路
帖 子:25
专家分:0
注 册:2006-5-4
得分:0 

显存里是用一个字来作为一个基本的存储单元的,例如一个'w'是用一字来存储的,其中低字节用来存储这个字母的ASCII的,高字节是用来存储这个字母的属性的,像颜色啊,前景色,背景色之类的.


PS:偏移地址决定了字符串显示的位置的,例如000-09F对应于显示器的第一行0A0-13F对应于第二行.....
这些我们的书上都有的,但是我就是不知道怎样把字符输出到屏幕上啊!哎~~~~~~~好笨啊我!!!


2006-05-05 17:42
ttzz8
Rank: 1
等 级:新手上路
帖 子:25
专家分:0
注 册:2006-5-4
得分:0 

恩真的很谢谢你了!


2006-05-05 19:12



参与讨论请移步原网站贴子:https://bbs.bccn.net/thread-61842-1-1.html




关于我们 | 广告合作 | 编程中国 | 清除Cookies | TOP | 手机版

编程中国 版权所有,并保留所有权利。
Powered by Discuz, Processed in 0.336859 second(s), 8 queries.
Copyright©2004-2024, BCCN.NET, All Rights Reserved