实验9一直不能正确显示
本帖最后由 ck329054222 于 2013-8-9 14:53 编辑下面写了一个很简单的显示代码,麻烦帮忙看看有什么问题,谢谢!
assume cs:code
data segment
db 'welcome to masm!'
data ends
code segment
start:
mov ax,data
mov ds,ax
mov si,0 ;这三条语句设置数据段地址
mov ax,0b800h
mov es,ax
mov di,0 ;这三条设置显卡显存地址
mov bl,2h ;设置字体显示绿色
mov cx,16 ;设置循环次数
s:
mov al,ds:
mov byte ptr es:,al ;这两条语句将data段的welcome to masm!放入显存低8位
inc si
inc di
mov byte ptr es:,bl ;将颜色属性放入显存高8位
inc di
loop s
mov ax,4c00h
int 21h
code ends
end start
问题已解决:请看14楼
楼主楼主,收到请回复我。。。我准备看一下这个代码。。 楼主你不回复我,我就不告诉你了,哼。。。我测试了可以的,想知道,回复我。。。好没存在感。 你又少了ds:data ,没这句编译器怎么知道哪儿是数据段
youmingshi 发表于 2013-8-8 13:15 static/image/common/back.gif
楼主你不回复我,我就不告诉你了,哼。。。我测试了可以的,想知道,回复我。。。好没存在感。
你可以在左上角正确显示?我两台电脑都不行啊 本帖最后由 ck329054222 于 2013-8-8 13:37 编辑
福禄娃娃 发表于 2013-8-8 13:29 static/image/common/back.gif
你又少了ds:data ,没这句编译器怎么知道哪儿是数据段
mov ax,data
mov ds,ax
这两句就告诉了ds的地址 youmingshi 发表于 2013-8-8 13:15 static/image/common/back.gif
楼主你不回复我,我就不告诉你了,哼。。。我测试了可以的,想知道,回复我。。。好没存在感。
大哥,我回复了,求指导 ck329054222 发表于 2013-8-8 13:29 static/image/common/back.gif
你可以在左上角正确显示?我两台电脑都不行啊
终于回复了,你是拿cmd打开文件的吧,我也是.
cmd不知道搞什么鬼,直接调用不行....
跟我来....cmd先输入debug,进入debug,然后按q,退出debug,然后再调用你的文件就可以了.
当然,cmd调用masm 和link后再调用你的文件也是可以的,不过直接调用你的程序怎么着都不行.......
楼主试试吧,成功了感谢一下我,哈哈 这个可以assume cs:code,ds:data
data segment
db 'welcome to masm!'
data ends
code segment
start: mov ax,data
mov ds,ax
mov ax,0b800h
mov es,ax
mov bx,0720h ;设置中间行中间列的首地址
mov si,0
mov cx,16
s: mov ax,
mov ah,2h
mov es:,ax ;设置绿色字体
mov ah,24h
mov es:,ax ;设置绿底红色
mov ah,71h
mov es:,ax ;设置白底蓝色
inc si ;指向下一字符
add bx,2 ;指向下一显存单元
loop s
mov ah,01h
int 21h
code ends
end start youmingshi 发表于 2013-8-8 13:40 static/image/common/back.gif
终于回复了,你是拿cmd打开文件的吧,我也是.
cmd不知道搞什么鬼,直接调用不行....
我先cmd输入debug,进入debug,然后按q,调用masm 和link后再debug我的程序。还是不行:cry ck329054222 发表于 2013-8-8 13:51 static/image/common/back.gif
我先cmd输入debug,进入debug,然后按q,调用masm 和link后再debug我的程序。还是不行
你QQ给我................................ youmingshi 发表于 2013-8-8 13:53 static/image/common/back.gif
你QQ给我................................
741973271:big 福禄娃娃 发表于 2013-8-8 13:48 static/image/common/back.gif
这个可以
确实可以。我研究研究 谁要同样有这个问题,也看到这里,我就来总结一下
xp下,cmd需要蛋疼的先运行debug,然后退出,然后再调用程序,才可以正常显示
也可以debug 那个程序,用g命令运行
如果尝试debug 那个程序,用t命令,当命令行到达底端,而显示代码还没有运行,那么就不会显示了
win7 32位下, 只能debug 那个程序,用g命令
64位下,根本没法运行16位程序,除非使用dosbox,具体能不能显示没有试过
总结完毕,楼主来膜拜
至于没有看到这里而且不能正常显示的同学,只能说叫你不膜拜我。 楼主不把我的总结放上去,木有小jj youmingshi 发表于 2013-8-8 14:53 static/image/common/back.gif
楼主不把我的总结放上去,木有小jj
怎么搞、、、不会 ck329054222 发表于 2013-8-8 16:51 static/image/common/back.gif
怎么搞、、、不会
不知道。。。。。。不说了 youmingshi 发表于 2013-8-8 16:52 static/image/common/back.gif
不知道。。。。。。不说了
{:5_107:}真心不会、、 似乎现在我还没有这个能力 不错,学习了
页:
[1]
2