初学汇编 第一个程序就跑不起来,希望大家指点。

no_com 2006-07-05 05:25:48
代码如下:

1 assume cs:cseg,ds:dseg,ss:sseg
2 cseg segment
3 start:
4 mov ax, dseg
5 mov ds, ax
6 mov dx, offset msg
7 mov ah, 09h
8 int 21h
9 mov ax, 4C00h
10 int 21h
11 cseg ends
12
13 dseg segment byte
14 msg db 'Hello!',0Dh,0Ah,'$'
15 dseg ends

sseg segment stack
db 100h dup(?)
sseg ends
end start

出错信息:
Assembling: fff.asm
fff.asm(6) : error A2022: instruction operands must be the same size
fff.asm(4) : error A2004: symbol type conflict
Make error(s) occured.

我这可是考的书上的例子阿,我的系统win2000 ,masm32v8 工具:radasm2042
...全文
272 9 打赏 收藏 转发到动态 举报
写回复
用AI写文章
9 条回复
切换为时间正序
请发表友善的回复…
发表回复
wly033 2006-07-06
  • 打赏
  • 举报
回复
offset msg

如果你在masmv8中编译,取地址就是32位的,你赋给dx当然不行了。

用5.0编译就行了。

6movdx, offset msg ---> mov edx,offse msg
大熊猫侯佩 2006-07-06
  • 打赏
  • 举报
回复
ml xxx.asm
LuoMuFeng 2006-07-06
  • 打赏
  • 举报
回复
把第13行最后的“byte”四个字母删掉试试看。
zara 2006-07-06
  • 打赏
  • 举报
回复
没有问题吧, 当然了, 我现在看到的顶楼的里面有行号, 这个在编译前应该删除, 制表符也没有了, 需要插入适当的制表符或空格. 用 Masm32 的 ml 来进行编译时, 不要加 /coff 选项. 最后连接时还是得用 Masm6/5 的 link.exe
no_com 2006-07-06
  • 打赏
  • 举报
回复
我的 masm6.11下编译根本不行,一大堆错误!
no_com 2006-07-06
  • 打赏
  • 举报
回复
我下载了一个masm32v7用它来编译,还是不行,就说mov ax, dseg这句话有问题!!!!郁闷,不过麻烦楼上帮我试了一下,送您十分别嫌少.希望兄弟姐妹们帮忙啊!
Simbao 2006-07-06
  • 打赏
  • 举报
回复
请看我的Blog。相信你会找到答案。
fhb13 2006-07-05
  • 打赏
  • 举报
回复
建议用6.14以上版本
大熊猫侯佩 2006-07-05
  • 打赏
  • 举报
回复
请使用 masm6.x 编译,在我的 masm6.11 下编译无问题。

21,459

社区成员

发帖
与我相关
我的任务
社区描述
汇编语言(Assembly Language)是任何一种用于电子计算机、微处理器、微控制器或其他可编程器件的低级语言,亦称为符号语言。
社区管理员
  • 汇编语言
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧