这个错误是为什么?
刚学汇编,我用masm32v6编译书上的一个程序,显示信息Hello
SSEG SEGMENT PARA STACK
DW 256 DUP(?)
SSEG ENDS
;
DSEG SEGMENT
MESS DB 'HELLO',0DH,0AH,'$'
DSEG ENDS
;
CSEG SEGMENT
ASSUME CS:CSEG,DS:DSEG
START: MOV AX,DSEG //这一行有错误
MOV DS,AX
MOV DX,OFFSET MESS
MOV AH,9
INT 21H
MOV AH,4CH
INT 21H
CSEG ENDS
END START
有如下错误:
G:\A.asm(11) : error A2004: symbol type conflict
G:\A.asm(19) : warning A4023: with /coff switch, leading underscore required for start address : START
请问这是为什么?怎么解决?
问题点数:20、回复次数:7Top
1 楼icessl(冰山上的来客)回复于 2001-11-05 20:59:57 得分 5
我用我的 MASM 5.0 汇编你的程序没有出错。可能你的汇编器有 BUG。Top
2 楼spbabyba(大背)回复于 2001-11-05 21:32:31 得分 5
SSEG SEGMENT PARA STACK
DW 256 DUP(?)
SSEG ENDS
;
DSEG SEGMENT
MESS DB 'HELLO',0DH,0AH,'$'
DSEG ENDS
;
CSEG SEGMENT
ASSUME CS:CSEG,DS:DSEG
START: MOV AX,DSEG ;;//这一行有错误
MOV DS,AX
MOV DX,OFFSET MESS
MOV AH,9
INT 21H
MOV AH,4CH
INT 21H
CSEG ENDS
END START
没有错
Top
3 楼ahuacxh(阿华)回复于 2001-11-05 21:53:56 得分 0
我用dos下的masm5.0编译也没有问题,但是用masm32编译时就不行,我用的是win2000,会不会有影响呢Top
4 楼CNer(Leemaasn)回复于 2001-11-05 22:15:16 得分 0
不会的。。。Top
5 楼seagle(莫等闲.白了少年头.空悲切!)回复于 2001-11-06 17:20:45 得分 5
好象是字符类型的问题,我是通过出错信息这么考虑的,不知道对否>?Top
6 楼kacer(望穿秋水)回复于 2001-11-06 18:24:09 得分 5
INT 21H是DOS调用,你的程序也只能在DOS下运行。
不要在WIN下用 MASM32 编译,否则肯定出错。
在 DOS 下编译!!!Top
7 楼yiyuan(一元)回复于 2002-01-25 15:40:14 得分 0
哦。只能在dos下编译?
我也碰到这个问题了,不过只有第二个warning。一链接就有错了。
masm6编译没问题,到了masm7就不行。烦。
不过是不是有什么办法解决?dos下的编译器不好使。Top




