回 帖 发 新 帖 刷新版面

主题:编写了一个程序之后要怎么样显示

汇编编出来的程序是不是都是在CMD下面运行?  不像VB那有有GUI可视化界面
下面是我的书上面的例子 目的是在显示器上面显示  HOW ARE YOU!

STACK    SEGMENT STACK
DB       200 DUP(0)
STACK    ENDS
DATA     SEGMENT
BUF      DB 'HOW ARE YOU!'
DATA     ENDS
CODE     SEGMENT
         ASSUME CS:CODE,DS:DATA,SS:STACK
BEGIN:   MOV   AX,DATA
         MOV   DS,AX
         LEA   DX,BUF
         MOV   AH,9
         INT   21H
         MOV   AH,4CH
         INT   21H
         CODE  ENDS
END BEGIN

我把上面的保存为1.asm  然后按书上说的 通过MASM.EXE汇编成了1.OBJ 最后通过LINK.EXE转换成了1.exe   当我双击1.exe后只是在桌面上看到了一个CMD窗口停留了几秒钟  没发现有显示HOW ARE YOU!  啊  


请大家帮我解释下  谢谢

回复列表 (共8个回复)

沙发

直接在DOS里LINK.EXE转换成了1.exe   后,直接键入1.exe就可以了

板凳


我直接在DOS里LINK.EXE转换成了1.exe 后,直接键入1.exe  CMD窗口出现下面的情况
E:\>1.exe
HOW ARE YOU!    ╕`♣Ä╪ì▬  ┤      ═!┤L═!&╞G↨`íR9♠Pr
                                                 ╕↓♦PΦ>úâ─☻─^ⁿïF°ïV·&ëG►&ëW↕ï▲P╤
π╤πï6Ç!í^'ï▬`'ë ëP☻ï^ⁿíP ♠P&ëG♀è&êG♫Θf Uï∞â∞↕VïF♦ïV♠ëF⌠ëV÷─^⌠&Ç⌂♣ u♥Θ∟☻&ï&ïW
                                                                            ëFεë
V≡&ïG♀ëF≥─^♦&╞G♦♥&╞G
                      ♠ÿ♂└ul÷Fε☺u▬í*!ï▬,!♣☺ â╥

在HOW ARE YOU!后面怎么还有一些这样的乱码啊

还有就是我关了  cmd窗口再重新运行一个新的CMD窗口  切换到1.EXE那个盘  输入1.EXE 就不是上面这样的情况了 而是在窗口中只会出现一个E:\>这样的盘符    而且是在cmd窗口的中间 

也就是下面的情况 
在我输入1.exe按下回车之前是下面的样子

Microsoft Windows XP [版本 5.1.2600]
(C) 版权所有 1985-2001 Microsoft Corp.

C:\Documents and Settings\yuanzijia>e:

E:\>1.exe




按下回车之后出现下面情况   而且CMD窗口还突然缩小了
(






括号中间这些行都没有文字 






)
E:\>

这是为什么?

3 楼

请大家帮忙解释下  谢谢

4 楼

用 dos 中断 21 功能 09h 输出时,结尾要加 "$"

BUF      DB 'HOW ARE YOU! $'

5 楼

[quote]用 dos 中断 21 功能 09h 输出时,结尾要加 "$"

BUF      DB 'HOW ARE YOU! $'
[/quote]
对头,串都是$ 结尾的.

6 楼

我按照楼上的这样改了之后  刚刚用LINK 连接成1.exe(程序名)之后接着就输入1.exe这样就可以正常显示   HOW ARE YOU!  但当我关了CMD窗口然后重新开一个CMD窗口 再运行1.exe 就没有任何显示了   这是为什么啊

7 楼

没人帮助我啊  大家帮我看看啊

8 楼

程序修改完成后要先汇编再链接,不然结果不会发生改变
而且执行程序直接输入文件名就好了,不用加.EXE

我来回复

您尚未登录,请登录后再回复。点此登录或注册