编程论坛's Archiver

nicholashui 发表于 2007-5-6 16:46

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

小弟初学汇编,在汇编器MASMPULG中抄有程序:<BR>assume cs:code<BR>code segment<BR>     mov ax,0ffffH<BR>     mov ds,ax<BR>     mov bx,6<BR>     <BR>     mov al,[bx]<BR>     mov ah,0<BR>     <BR>     mov dx,0<BR>     mov cx,3<BR>   s:add dx,ax<BR>     loop s<BR>     <BR>     mov ax,4c00h<BR>     int 21h<BR>code ends<BR>end<BR>然后编译成.OBJ的文件,在进行连接时出现如下信息:<BR>link.exe /SUBSYSTEM:WINDOWS /nologo /OUT:"F:\ASM\masmplus\Project\MultiOBJ\CODE.exe" "F:\ASM\masmplus\Project\MultiOBJ\CODE.obj"<BR>LINK : error LNK2001: unresolved external symbol _WinMainCRTStartup<BR>F:\ASM\masmplus\Project\MultiOBJ\CODE.exe : <FONT color=#f70909>fatal error LNK1120: 1 unresolved externals<BR></FONT><FONT color=#000000>此编译器没有经过任何设置,也不知道如何设置,请兄弟指点,急盼!!!1</FONT>

菜鸟上路 发表于 2007-5-6 20:14

可以编译通过,你用错命令了。<BR>ml /coff /c *.asm 和 link /SUBSYSTEM:WINDOWS *.obj 是编译和链接32位程序的<BR>要用16位命令

十口草兮 发表于 2007-5-6 20:47

程序中mov ax,0ffffH应该是有误的,要改为mov ax,0fffh或是其它的

菜鸟上路 发表于 2007-5-6 21:04

<DIV class=quote><B>以下是引用<U>十口草兮</U>在2007-5-6 20:47:05的发言:</B><BR>程序中mov ax,0ffffH应该是有误的,要改为mov ax,0fffh或是其它的</DIV>
<P>mov ax,0ffffH这句没错误</P>

爱以走远 发表于 2007-5-6 21:30

<DIV class=quote><B>以下是引用<U>十口草兮</U>在2007-5-6 20:47:05的发言:</B><BR>程序中mov ax,0ffffH应该是有误的,要改为mov ax,0fffh或是其它的</DIV>
<P>   呵呵  没错  当二进制最高位为1时   前面要加一个0   好象是做引导字符吗 <BR>   </P>

西氏 发表于 2008-5-24 21:05

在配置   --系统配置--编译/脚本--单独文件默认使用dos模式  前打勾。

页: [1]

Powered by Discuz! Archiver 6.1.0  © 2001-2007 Comsenz Inc.