标题:初学汇编烦请大家帮忙解决这个hello world的问题!
只看楼主
zengraoli
Rank: 1
等 级:新手上路
帖 子:7
专家分:0
注 册:2010-1-30
结帖率:100%
已结贴  问题点数:20 回复次数:5 
初学汇编烦请大家帮忙解决这个hello world的问题!
.model tiny
.code

org 0100h

ok: mov dx,offset msgstr
mov ah,09h
int 21h

mov ax,4ch
int 21h
ret

msgstr db "hello world!!",0dh,0ah,'$'
end ok

这段程序为什么在Masm for Windows 集成实验环境 2010种不能够正常显示出来?

还有啊?这种方式和我以前写的:

assume cs:code

code segment
start:
mov ax,1000h
mov bh,1
div bh

code ends
end start

这种形式有什么区别啊?怎么好像很乱啊?也不是.386模式啊?
搜索更多相关主题的帖子: hello world 烦请 初学 汇编 
2010-07-15 17:54
东海一鱼
Rank: 13Rank: 13Rank: 13Rank: 13
等 级:贵宾
威 望:48
帖 子:757
专家分:4760
注 册:2009-8-10
得分:20 
两者是完全一样的。

上面的写法是MASM6.0以后支持的简化段声明方式的写法。如 .code .data 就是完全段声明的 code segment code ends和data segment  data ends。
.model指示内存使用模式,上面的tiny就表示微型模式,用于生成com文件。windows程序一般用flat模式(平坦内存模式,段空间为4G);

.386不是模式,是指你的程序使用的指令集。

需要注意的是在WINDOWS下,编写DOS程序和编写windows程序用的汇编器是一样的,差别在于link程序。DOS必须用16位的连接程序才行。你上面说的
集成环境没用过,你可以好好看看它的使用帮助。



[ 本帖最后由 东海一鱼 于 2010-7-16 11:26 编辑 ]

举世而誉之而不加劝,举世而非之而不加沮,定乎内外之分,辩乎荣辱之境,斯已矣。彼其于世未数数然也。
2010-07-16 11:21
zengraoli
Rank: 1
等 级:新手上路
帖 子:7
专家分:0
注 册:2010-1-30
得分:0 
回复 2楼 东海一鱼
虽然已经 知道了 不过还是谢谢你
在csdn上面问到了
2010-07-16 13:04
zengraoli
Rank: 1
等 级:新手上路
帖 子:7
专家分:0
注 册:2010-1-30
得分:0 
没注意啊 比csdn上面写得要仔细 呵呵 再谢
2010-07-16 13:04
yuyuhongss
Rank: 1
等 级:新手上路
帖 子:8
专家分:0
注 册:2010-8-13
得分:0 
我喜欢后面一种
2010-08-13 14:04
Alar30
Rank: 10Rank: 10Rank: 10
等 级:贵宾
威 望:10
帖 子:988
专家分:1627
注 册:2009-9-8
得分:0 
2#貌似比俺尽责哈
2010-08-14 10:16



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




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

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