标题:大家看看这个程序哪儿有问题!!!!!
取消只看楼主
闭眼到天黑
Rank: 2
等 级:论坛游民
帖 子:37
专家分:15
注 册:2011-2-20
结帖率:100%
已结贴  问题点数:20 回复次数:8 
大家看看这个程序哪儿有问题!!!!!
程序代码:
 assume cs:code,ds:data,ss:stack
        data segment
                db'welcome to masm!'
                db 00000010b,00100100b,01110001b
        data ends
        stack segment
                dw 0,0,0,0,0,0,0,0
        stack ends
        code segment
       start: mov ax,data
              mov ds,ax
              mov ax,stack
              mov ss,ax
              mov sp,0010h
              mov bx,0000h
              mov ax,0b800h
              mov es,ax
              mov ax,0
              mov di,0010h
              mov cx,3
         s:   push cx
              mov cx,16
              mov si,0
         s0:  mov al,ds:[si]
              mov ah,ds:[di]
              mov es:[bx+07b6h],ax
              inc si
              add bx,2
              loop s0
              inc di
              pop cx
              loop s
              mov ax,4c00h
              int 21h
         code ends
         end start
王爽的汇编语言一书中实验九的程序说是在屏幕上显示不同颜色的字,这是我写的,但是运行后屏幕上没有正确显示!请各位看一下!

[ 本帖最后由 闭眼到天黑 于 2011-3-2 22:07 编辑 ]
2011-03-01 22:31
闭眼到天黑
Rank: 2
等 级:论坛游民
帖 子:37
专家分:15
注 册:2011-2-20
得分:0 
回复 2楼 ansic
现在去上课,没办法测试,谢了,不过上完课我会好好看看的,不过哥们儿真是在哪儿都能碰见你啊!

淫荡成就梦想,猥琐引领时尚!
2011-03-02 07:02
闭眼到天黑
Rank: 2
等 级:论坛游民
帖 子:37
专家分:15
注 册:2011-2-20
得分:0 
想问一下是不是不同的CPU你要想输出的内容要写入不同的内存地址,求解!!!

淫荡成就梦想,猥琐引领时尚!
2011-03-02 07:03
闭眼到天黑
Rank: 2
等 级:论坛游民
帖 子:37
专家分:15
注 册:2011-2-20
得分:0 
以下是引用ansic在2011-3-2 10:28:44的发言:

 
嘿嘿, 去年学的汇编, 今年开始学C,。。。。
我是先学的C++然后学的C,现在在学汇编!

淫荡成就梦想,猥琐引领时尚!
2011-03-02 13:27
闭眼到天黑
Rank: 2
等 级:论坛游民
帖 子:37
专家分:15
注 册:2011-2-20
得分:0 
以下是引用zaixuexi在2011-3-2 14:32:06的发言:

程序没问题,在DEBUG执行
可是DOS界面上没法儿显示我想要的结果,程序运行后屏幕上什么都没有,是为什么呢!

淫荡成就梦想,猥琐引领时尚!
2011-03-02 16:23
闭眼到天黑
Rank: 2
等 级:论坛游民
帖 子:37
专家分:15
注 册:2011-2-20
得分:0 
回复 10楼 寒风中的细雨
难道要在纯DOS界面才行么!

淫荡成就梦想,猥琐引领时尚!
2011-03-02 21:39
闭眼到天黑
Rank: 2
等 级:论坛游民
帖 子:37
专家分:15
注 册:2011-2-20
得分:0 
回复 10楼 寒风中的细雨
我用g命令运行了一下,显示正确了!

淫荡成就梦想,猥琐引领时尚!
2011-03-02 21:44
闭眼到天黑
Rank: 2
等 级:论坛游民
帖 子:37
专家分:15
注 册:2011-2-20
得分:0 
可是为什么直接运行可执行文件(exe)的时候无法显示结果呢,我把int 21这个中断指令去除以后也无法显示结果,这是什么原因!

淫荡成就梦想,猥琐引领时尚!
2011-03-02 21:50
闭眼到天黑
Rank: 2
等 级:论坛游民
帖 子:37
专家分:15
注 册:2011-2-20
得分:0 
以下是引用ansic在2011-3-2 22:04:37的发言:

 
因为程序使用了直接写屏技术, 所以,最佳效果应该在纯dos(实模式)下!  建议LZ在实模式或者虚拟机下试一试。
偶也是这么想的,要是在纯DOS模式下应该效果比较好另附效果图一张!

淫荡成就梦想,猥琐引领时尚!
2011-03-02 22:14



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




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

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