DSEG SEGMENT
MESS DB "MY NAME IS JACK",02H,0DH,0AH,"$"
DSEG ENDS
CSEG SEGMENT
ASSUME CS:CSEG,DS:DSEG
START:
MOV AX,DSEG
MOV DS,AX
MOV DX,OFFSET MESS
MOV AH,09H
INT 21H
MOV AH,4CH
INT 21H
CSEG ENDS
END START
二、错误信息
D:\RadASM\Masm32\Bin\ML.EXE /c /coff /Cp /nologo /I"D:\RadASM\Masm32\Include" "D:\RadASM\111.asm"
Assembling: D:\RadASM\111.asm
D:\RadASM\111.asm(7) : error A2004: symbol type conflict
D:\RadASM\111.asm(15) : warning A4023: with /coff switch, leading underscore required for start address : START
构建时出错.
总共编译时间 141 毫秒
我非常不明白怎么可能会错误呢!!!请高手解答。
12 个解决方案
#1
把MESS DB "MY NAME IS JACK",02H,0DH,0AH,"$"改成
MESS DB 13,10,'MY NEME IS JAKE.$'试试看罗
MESS DB 13,10,'MY NEME IS JAKE.$'试试看罗
#2
楼上的改动还是编译错误啊,不过也谢谢你
#3
在工程向导DOS APP--》创建工程名称--》DOSeXE.tpl....一直到完成,然后在新建的工程文件里添加新文件了.
#4
楼主用“Masm for Windows 集成实验环境”运行你的程序没有问题。
#5
16位code不要用/coff选项,楼主先找对项目类型。
#6
添加后也还是编译错误、
不好意思,/coff选项在哪里
#7
设置编译选项,去掉 /coff ,
不同版本MASM产生的obj文件的格式不同,在DOS和Win16时期,Microsoft使用的obj文件格式为OMF格式(Intel Object Module Format),到了Win32时期后改用了COFF格式(Common Object File Format)
不同版本MASM产生的obj文件的格式不同,在DOS和Win16时期,Microsoft使用的obj文件格式为OMF格式(Intel Object Module Format),到了Win32时期后改用了COFF格式(Common Object File Format)
#8
在建工程的时候,在工程向导的最后有设置编译连接的选项。不过貌似这是masm32的编译器和连接器。masm32的编译器可以编译16位的,但是连接器不行,需要从别的masm编译器中提取16位的连接器。对于编译,连接,构建的配置,可以手动改相应工程下的 .rap文件。那就是工程向导生成的配置文件。
#9
谢谢 我安装的是RadASM集成开发环境,怎么设置可以完成16位的编译--连接--构建的过程。。。。。。。。
#10
如果赚麻烦直接把上面的源代码复制到工程文件的.ASM文件里内就可以汇编了.
#11
复制代码到工程文件:
DSEG SEGMENT
MESS DB "MY NAME IS JACK",02H,0DH,0AH,"$"
DSEG ENDS
CSEG SEGMENT
ASSUME CS:CSEG,DS:DSEG
START:
MOV AX,DSEG
MOV DS,AX
MOV DX,OFFSET MESS
MOV AH,09H
INT 21H
MOV AH,4CH
INT 21H
CSEG ENDS
END START
编译出现如下信息:
D:\RadASM\Masm32\Bin\ML.EXE /DMASM /DDOS /Zm /c /nologo /I"D:\RadASM\Masm32\Include" "111.asm"
Assembling: 111.asm
构建完成.
总共编译时间 172 毫秒
点击连接后:
D:\RadASM\Masm32\Bin\ML.EXE /DMASM /DDOS /Zm /c /nologo /I"D:\RadASM\Masm32\Include" "111.asm"
Assembling: 111.asm
构建完成.
总共编译时间 172 毫秒
再点击构建后:
D:\RadASM\Masm32\Bin\doslnk.exe /NOLOGO "111.obj" "",,,,,""
Object Modules [.obj]: /NOLOGO 111.obj+
D:\RadASM\Masm32\Bin\ML.EXE /DMASM /DDOS /Zm /c /nologo /I"D:\RadASM\Masm32\Include" "111.asm"
Assembling: 111.asm
D:\RadASM\Masm32\Bin\doslnk.exe /NOLOGO "111.obj" "",,,,,""
Object Modules [.obj]: /NOLOGO 111.obj+
LINK : fatal error L1093: 111.obj : object file not found
构建完成.
总共编译时间 436 毫秒
点击运行后出现如下信息:
执行:
"D:\RadASM\Masm\Projects\111\111.exe"
构建完成.
总共编译时间 2137 毫秒
上述过程好像有问题啊,为什么没有出现 MY NAME IS JACK
#12
就是这样汇编成功了!
在CMD--然后把屏幕切换到全屏(按ALT+ENTER),输入111.EXE回车就看到 MY NAME IS JACK 。
在CMD--然后把屏幕切换到全屏(按ALT+ENTER),输入111.EXE回车就看到 MY NAME IS JACK 。
#1
把MESS DB "MY NAME IS JACK",02H,0DH,0AH,"$"改成
MESS DB 13,10,'MY NEME IS JAKE.$'试试看罗
MESS DB 13,10,'MY NEME IS JAKE.$'试试看罗
#2
楼上的改动还是编译错误啊,不过也谢谢你
#3
在工程向导DOS APP--》创建工程名称--》DOSeXE.tpl....一直到完成,然后在新建的工程文件里添加新文件了.
#4
楼主用“Masm for Windows 集成实验环境”运行你的程序没有问题。
#5
16位code不要用/coff选项,楼主先找对项目类型。
#6
添加后也还是编译错误、
不好意思,/coff选项在哪里
#7
设置编译选项,去掉 /coff ,
不同版本MASM产生的obj文件的格式不同,在DOS和Win16时期,Microsoft使用的obj文件格式为OMF格式(Intel Object Module Format),到了Win32时期后改用了COFF格式(Common Object File Format)
不同版本MASM产生的obj文件的格式不同,在DOS和Win16时期,Microsoft使用的obj文件格式为OMF格式(Intel Object Module Format),到了Win32时期后改用了COFF格式(Common Object File Format)
#8
在建工程的时候,在工程向导的最后有设置编译连接的选项。不过貌似这是masm32的编译器和连接器。masm32的编译器可以编译16位的,但是连接器不行,需要从别的masm编译器中提取16位的连接器。对于编译,连接,构建的配置,可以手动改相应工程下的 .rap文件。那就是工程向导生成的配置文件。
#9
谢谢 我安装的是RadASM集成开发环境,怎么设置可以完成16位的编译--连接--构建的过程。。。。。。。。
#10
如果赚麻烦直接把上面的源代码复制到工程文件的.ASM文件里内就可以汇编了.
#11
复制代码到工程文件:
DSEG SEGMENT
MESS DB "MY NAME IS JACK",02H,0DH,0AH,"$"
DSEG ENDS
CSEG SEGMENT
ASSUME CS:CSEG,DS:DSEG
START:
MOV AX,DSEG
MOV DS,AX
MOV DX,OFFSET MESS
MOV AH,09H
INT 21H
MOV AH,4CH
INT 21H
CSEG ENDS
END START
编译出现如下信息:
D:\RadASM\Masm32\Bin\ML.EXE /DMASM /DDOS /Zm /c /nologo /I"D:\RadASM\Masm32\Include" "111.asm"
Assembling: 111.asm
构建完成.
总共编译时间 172 毫秒
点击连接后:
D:\RadASM\Masm32\Bin\ML.EXE /DMASM /DDOS /Zm /c /nologo /I"D:\RadASM\Masm32\Include" "111.asm"
Assembling: 111.asm
构建完成.
总共编译时间 172 毫秒
再点击构建后:
D:\RadASM\Masm32\Bin\doslnk.exe /NOLOGO "111.obj" "",,,,,""
Object Modules [.obj]: /NOLOGO 111.obj+
D:\RadASM\Masm32\Bin\ML.EXE /DMASM /DDOS /Zm /c /nologo /I"D:\RadASM\Masm32\Include" "111.asm"
Assembling: 111.asm
D:\RadASM\Masm32\Bin\doslnk.exe /NOLOGO "111.obj" "",,,,,""
Object Modules [.obj]: /NOLOGO 111.obj+
LINK : fatal error L1093: 111.obj : object file not found
构建完成.
总共编译时间 436 毫秒
点击运行后出现如下信息:
执行:
"D:\RadASM\Masm\Projects\111\111.exe"
构建完成.
总共编译时间 2137 毫秒
上述过程好像有问题啊,为什么没有出现 MY NAME IS JACK
#12
就是这样汇编成功了!
在CMD--然后把屏幕切换到全屏(按ALT+ENTER),输入111.EXE回车就看到 MY NAME IS JACK 。
在CMD--然后把屏幕切换到全屏(按ALT+ENTER),输入111.EXE回车就看到 MY NAME IS JACK 。