这个代码哪里出了问题

panyaoIT 2008-10-18 08:18:46
CODE SEGMENT
ORG 100H
ASSUME CS:CODE,DS:CODE
MAIN PROC NEAR
MOV AX,A
ADD AX,B
MOV SUM,AX
RET
A DW 123
B DW 456
SUM DW ?
MAIN ENDP
CODE ENDS
END MAIN
就是以上的那个,我用的是masm32编译的,我输入
ml /c /coff *.asm
a.asm(14) : warning A4023: with /coff switch, leading underscore required for st
art address : MAIN
link /subsystem:windows *.obj
Microsoft (R) Incremental Linker Version 5.12.8078
Copyright (C) Microsoft Corp 1992-1998. All rights reserved.

a.obj : fatal error LNK1190: invalid fixup found, type 0x0001

===
以上的是什么错误??
...全文
109 8 打赏 收藏 转发到动态 举报
写回复
用AI写文章
8 条回复
切换为时间正序
请发表友善的回复…
发表回复
libiaoye 2009-04-05
  • 打赏
  • 举报
回复
推荐用masm5.0
panyaoIT 2008-10-19
  • 打赏
  • 举报
回复
如果一定要用masm32来编译这个程序,那么link应该要用什么参数??

还是masm32无论如何都不能编译16位DOS环境的程序
cnzdgs 2008-10-19
  • 打赏
  • 举报
回复
还是masm32无论如何都不能编译16位DOS环境的程序
dongyi940333 2008-10-18
  • 打赏
  • 举报
回复
总的来说整个汇编环境是这样的:


16位dos程序: masm6.1x or nasm + editplus2

32位windows程序: masm32v9.0 or nasm + editplus2 + 一个资源编辑器

(masm611下载地址: www.aogosoft.com,masm32下载地址

www.masm32.com)

cnzdgs 2008-10-18
  • 打赏
  • 举报
回复
masm32是编译Win32程序的,你这段代码是DOS程序,要用MASM(不带32的)来编译。
qlmi 2008-10-18
  • 打赏
  • 举报
回复
这是个DOS下的COM程序,编译要用ml.exe /Zm /AT /c *.asm
连接要用段连接器,不能用Windows下的增量连接器。最好找一个MASM5来编译你的程序。
qlmi 2008-10-18
  • 打赏
  • 举报
回复
ml.exe /Zm /AT /c
BAYNPU 2008-10-18
  • 打赏
  • 举报
回复
这是16位的汇编代码,不是32位的汇编代码,编译的时候当然会出错了.

21,458

社区成员

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

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