helloworld代码如下
- Assembly code
data segmentmsg db 'hello world$'data endscode segmentassume ds:data, cs:code_start:mov ax,datamov ds, axlea dx, msgmov ah, 09hint 21hmov ah, 4chint 21hcode endsend _start
C:\Users\z\desktop>ml hello.asm
Microsoft (R) Macro Assembler Version 9.00.21022.08
Copyright (C) Microsoft Corporation. All rights reserved.
Assembling: h.asm
h.asm(8) : error A2004:symbol type conflict
C:\Users\z\desktop>
------解决方案--------------------------------------------------------
出现问题的是: mov ax,data
masm9.0是32位的,你的代码是16位的
你去下个masm5.0 就没问题啦!
------解决方案--------------------------------------------------------
下个masm5.0
masm hello.asm
link hello.obj
------解决方案--------------------------------------------------------
用MASM5.0试试看,程序本身没有问题。
------解决方案--------------------------------------------------------
MASM9是编Windows程序的,你写的是DOS程序,要用MASM6及以下版本。
------解决方案--------------------------------------------------------
最前面加个
.8086
.model compact
对这些有需要,先把masm的帮助文档略一遍吧。