注册 登录
编程论坛 汇编论坛

在使用MASMPULG中编译通过,但是连接时出现fatal error LNK1120: 1 unresolved ext

nicholashui 发布于 2007-05-06 16:46, 3280 次点击
小弟初学汇编,在汇编器MASMPULG中抄有程序:
assume cs:code
code segment
mov ax,0ffffH
mov ds,ax
mov bx,6

mov al,[bx]
mov ah,0

mov dx,0
mov cx,3
s:add dx,ax
loop s

mov ax,4c00h
int 21h
code ends
end
然后编译成.OBJ的文件,在进行连接时出现如下信息:
link.exe /SUBSYSTEM:WINDOWS /nologo /OUT:"F:\ASM\masmplus\Project\MultiOBJ\CODE.exe" "F:\ASM\masmplus\Project\MultiOBJ\CODE.obj"
LINK : error LNK2001: unresolved external symbol _WinMainCRTStartup
F:\ASM\masmplus\Project\MultiOBJ\CODE.exe : fatal error LNK1120: 1 unresolved externals
此编译器没有经过任何设置,也不知道如何设置,请兄弟指点,急盼!!!1
6 回复
#2
菜鸟上路2007-05-06 20:14
可以编译通过,你用错命令了。
ml /coff /c *.asm 和 link /SUBSYSTEM:WINDOWS *.obj 是编译和链接32位程序的
要用16位命令
#3
十口草兮2007-05-06 20:47
程序中mov ax,0ffffH应该是有误的,要改为mov ax,0fffh或是其它的
#4
菜鸟上路2007-05-06 21:04
以下是引用十口草兮在2007-5-6 20:47:05的发言:
程序中mov ax,0ffffH应该是有误的,要改为mov ax,0fffh或是其它的

mov ax,0ffffH这句没错误

#5
爱以走远2007-05-06 21:30
以下是引用十口草兮在2007-5-6 20:47:05的发言:
程序中mov ax,0ffffH应该是有误的,要改为mov ax,0fffh或是其它的

呵呵 没错 当二进制最高位为1时 前面要加一个0 好象是做引导字符吗

#6
西氏2008-05-24 21:05
在配置   --系统配置--编译/脚本--单独文件默认使用dos模式  前打勾。
#7
cctvsjy2011-09-16 23:22
6楼正解,十分感谢
1