首页
社区
课程
招聘
[求助]RADASM编译时出现的3个错误
2006-4-13 00:02 6202

[求助]RADASM编译时出现的3个错误

2006-4-13 00:02
6202
老师讲就那么3节dos下汇编
就叫我们去读这么个源程序(一个推箱子游戏程序)
不过这个源程序在RADASM上无法通过编译
主要出现3种错误

undefined symbol
cannot access label through segment registers
symbol type conflict

我实在找不出错在哪里啊
望有达人帮忙一下
指出错误之处及解决方案

本人用的系统是winxp  sp2

本人qq是276877017,加为好友时请注明“汇编”
感激不尽

[培训]内核驱动高级班,冲击BAT一流互联网大厂工 作,每周日13:00-18:00直播授课

上传的附件:
收藏
点赞0
打赏
分享
最新回复 (6)
雪    币: 196
活跃值: (135)
能力值: ( LV10,RANK:170 )
在线值:
发帖
回帖
粉丝
thinkSJ 4 2006-4-13 00:29
2
0
用MASM5.0编译通过。
  将第177行的 FDATA_SEG  SEGMENT   PARA use16;
  改为FDATA_SEG  SEGMENT
这是一个DOS下的程序,,
上传的附件:
雪    币: 2506
活跃值: (995)
能力值: (RANK:990 )
在线值:
发帖
回帖
粉丝
CCDebuger 24 2006-4-13 01:13
3
0
看了一下,你在RadASM中建工程时选择了Windows程序,这是Dos程序,当然要出错。另外你源码里有多个数据段,我给你源码加了一个段组,用ASSUME伪指令对应了一下。原先在RadASM中出现cannot access label through segment registers就是数据段的对应问题。把修改过的源码及RadASM的工程文件、编译好的程序都发上来,可以在RadASM下再测试一下。
上传的附件:
雪    币: 208
活跃值: (42)
能力值: ( LV4,RANK:50 )
在线值:
发帖
回帖
粉丝
wenstory 1 2006-4-13 12:51
4
0
多谢thinksj和CCDebuger
不过还有个问题
我建工程时选编译器为masm,工程类型选dos app
其余默认
建成后将CCDebuger的程序复制到.asm文件中编译
还是有错
试下用dos app(.com)建工程也有相同问题

为什么

能指导下小弟如何建这个工程吗
雪    币: 196
活跃值: (135)
能力值: ( LV10,RANK:170 )
在线值:
发帖
回帖
粉丝
thinkSJ 4 2006-4-13 13:33
5
0
我不会用RadASM
这个你得请教CC兄了^-^
雪    币: 2506
活跃值: (995)
能力值: (RANK:990 )
在线值:
发帖
回帖
粉丝
CCDebuger 24 2006-4-13 14:15
6
0
工程类型选dos app没错。我是用我放在RadASM汉化版里的标准DOS程序的模板来生成工程的。你可以把你生成的*.rap工程文件和我上传的工程文件对照一下,看看是否是编译选项有所不同。那个工程文件可以直接用记事本打开。也可以直接把我上传的那个压缩包解压到RadASM的masm工程目录,用RadASM打开其中的工程文件编译一下试试。
雪    币: 208
活跃值: (42)
能力值: ( LV4,RANK:50 )
在线值:
发帖
回帖
粉丝
wenstory 1 2006-4-14 00:55
7
0
基本上可以自己创建一个工程文件了
创建时选Dos App
再选标准dos程序
其余的默认

在建成工程后要用notepad打开工程文件修改一下,将2=3,O,$B\ML.EXE /c /Cp /nologo /I"$I",2
改成
2=3,O,$B\ML.EXE /Zm /c /Cp /nologo /I"$I",2
也就是加上/Zm选项
这个/Zm在帮助文档上说的意义是
Enable MASM 5.10 compatibility
为什么
还是不知道
游客
登录 | 注册 方可回帖
返回