标题:HELP:FAIL TO LINK ERROR LNK1120
只看楼主
heikezzaass
Rank: 1
等 级:新手上路
帖 子:4
专家分:0
注 册:2010-9-7
结帖率:50%
已结贴  问题点数:0 回复次数:4 
HELP:FAIL TO LINK ERROR LNK1120
额,那个,当初手贱,装了win7 x64,结果MS猥琐的把debug给阉割掉了,没办法,无奈下只好选择使用masm32,虽然界面比DOS下友好很多,但一直没让我安心过,前面就不赘述了,在做王爽老师的《汇编语言V2.0》第四章实验的时候就遇到了连接不能的问题,难道MSAM32也讲究残缺美?(残得我都凌乱了),具体表现嘛就是TXT照样弹出,但是后面的command窗口中有一条错误提示,就是fatal error LNK1120:1 unresolved externals.我去啊,足足瞪了代码三天了,从新输入过N遍,换过2台电脑,书第6章都快看完了,结果这个不明符号还是那么完全,好吧,它赢了,我只好厚着脸皮上来问这么小白的实验了,求指教啊,冰天雪地赤身裸体腾空360度双膝裸体跪求指教啊
程序代码:
assume cs:codesg

codesg segment

    mov ax,2000h
    mov ss,ax
    mov sp,0h
    add sp,10
    pop ax
    pop bx
    push ax
    push bx
    pop ax
    pop bx
    
    mov ax,4c00h
    int 21h

codesg ends

end
搜索更多相关主题的帖子: 台电脑 win7 符号 老师 
2011-06-08 23:56
obstratiker
Rank: 8Rank: 8
等 级:蝙蝠侠
威 望:1
帖 子:198
专家分:758
注 册:2011-5-5
得分:5 
这个我也只是大概明白粗的原理
dos 下的可执行文件的格式和 windows 下的可执行文件格式不同
你看汇编 pe 文件时不都要加上 ml /c /coff *.asm 吗
是因为 masm32 的连接器只认 coff 格式的文件
而王爽的 16位汇编生成的 .obj 不是那种格式的
2011-06-09 07:31
ansic
Rank: 14Rank: 14Rank: 14Rank: 14
来 自:恍惚窈冥
等 级:城市猎人
帖 子:1543
专家分:5367
注 册:2011-2-15
得分:5 
没有用过win7,我的masm也是6.15的。编译16位程序与编译32位程序不同,这是编译16位的dos程序的批处理,供楼主参考
程序代码:
d:\masm>type make.bat
@echo off
REM make16.bat, for assembling and linking 16-bit DOS programs (.EXE)
BIN\ML /c %1.asm                 
if errorlevel 1 goto terminate
BIN\LINK16 %1.obj;
if errorlevel 1 goto terminate
:terminate
@echo off

善人者,不善人之师;不善人者,善人之资。不贵其师,不爱其资,虽智大迷。
2011-06-09 08:48
heikezzaass
Rank: 1
等 级:新手上路
帖 子:4
专家分:0
注 册:2010-9-7
得分:0 
回复 2楼 obstratiker
多谢哈,masm32论坛上个哥们说要用16位的linker给了我思路哈,重新下了个overlay link 3.60就连接成功了说,也很感谢你哈
2011-06-09 18:07
heikezzaass
Rank: 1
等 级:新手上路
帖 子:4
专家分:0
注 册:2010-9-7
得分:0 
回复 3楼 ansic
我用的是masm32,是个人团体开发的说,所以有点瑕疵弄得我这么纠结,不过最后还是弄好了哈,重新下了个linker覆盖掉就OK了,还是很感谢你的热心帮助哈
2011-06-09 18:09



参与讨论请移步原网站贴子:https://bbs.bccn.net/thread-342258-1-1.html




关于我们 | 广告合作 | 编程中国 | 清除Cookies | TOP | 手机版

编程中国 版权所有,并保留所有权利。
Powered by Discuz, Processed in 0.106079 second(s), 7 queries.
Copyright©2004-2024, BCCN.NET, All Rights Reserved