请问,这是什么错误?

diamond101 2004-10-10 09:07:13
编译以后出现如下错误,没头绪请大家指教!

C:\>ml d:\project\asm\new1\new1.asm
Microsoft (R) Macro Assembler Version 6.11
Copyright (C) Microsoft Corp 1981-1993. All rights reserved.

Assembling: d:\project\asm\new1\new1.asm
Microsoft (R) Incremental Linker Version 6.00.8447
Copyright (C) Microsoft Corp 1992-1998. All rights reserved.

/z2
"new1.obj"
"new1.exe"
NUL
LINK : warning LNK4044: unrecognized option "z2"; ignored
LINK : warning LNK4044: unrecognized option "r"; ignored
LINK : error : Segment reference in fixup record
new1.obj : fatal error LNK1123: failure during conversion to COFF: file invalid
or corrupt

====================================================================================

代码如下:

PAGE 60,132
TITLE PROG (EXE) PURPOSE:ADDS 5 BYTES OF DATA
.MODEL SMALL
.STACK 64

.DATA
DATA_IN DB 25H,12H,15H,1FH,2BH
SUM DB ?

.CODE
MAIN PROC FAR
MOV AX,@DATA
MOV DS,AX
MOV CX,05
MOV BX,OFFSET DATA_IN
MOV AL,0
AGAIN: ADD AL,[BX]
INC BX
DEC CX
JNZ AGAIN
MOV SUM,AL
MOV AH,4CH
INT 21H
MAIN ENDP
END MAIN
...全文
128 9 打赏 收藏 转发到动态 举报
写回复
用AI写文章
9 条回复
切换为时间正序
请发表友善的回复…
发表回复
diamond101 2004-10-12
  • 打赏
  • 举报
回复
问题 解决拉,谢谢大家指点,特别感谢 Areslee(懒虫易水)大侠!
大熊猫侯佩 2004-10-12
  • 打赏
  • 举报
回复
debug32
Areslee 2004-10-12
  • 打赏
  • 举报
回复
MASM611是可以用的,楼主你这样试试:
ml/c file.asm
link file;
看看结果会如何
diamond101 2004-10-12
  • 打赏
  • 举报
回复
up
clumsy 2004-10-12
  • 打赏
  • 举报
回复
你的这个程序应该是 16 位的吧. Masm6.0 也是可以用的. 32 位的程序可以用 W32dasm, Ollydbg 以及 WinICE 等来进行调试.
diamond101 2004-10-11
  • 打赏
  • 举报
回复
那我只能用masm5了?不过debug是16位的啊!32位程序如何调试呢?
clumsy 2004-10-11
  • 打赏
  • 举报
回复
不兼容的吧, 至少 Masm32 链接程序 link.exe 是不可以创建 dos16 的应用程序的
diamond101 2004-10-11
  • 打赏
  • 举报
回复
是的,我用的是MASM611,但是32因该向下兼容的吧,是不是编译时要用到什么开关?
clumsy 2004-10-10
  • 打赏
  • 举报
回复
应该是用了错误版本的编译/链接程序的缘故吧. 你的程序是 dos16 的, 但用的是 Masm32 的吧?

21,459

社区成员

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

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