PDA

View Full Version : مشکل در Link کردن برنامه - masm 6.11



heeeva
چهارشنبه 26 خرداد 1389, 06:48 صبح
سلام


.386
.Model Flat
ExitProcess PROTO NEAR32 stdcall, dwExitCode:DWORD
INCLUDE io.h

.STACK 4096
.DATA
Prompt1 BYTE "Hello World",0
.CODE

_start:
output Prompt1
invoke ExitProcess,0
PUBLIC _start
END

من کد بالا که Hello World رو چاپ میکنه رو با masm 6.11 به این صورت ترجمه میکنم (با فرض اینکه کد بالا با نام example.asm در مسیر C:\Assembly ذخیره شده )



C:\Assembly>ml /c /coff example.asm
Microsoft (R) Macro Assembler Version 6.11
Copyright (C) Microsoft Corp 1981-1993. All rights reserved.

Assembling: example.asm
تا اینجا یعنی با صادر، Assembling: example.asm یعنی کد مشکلی نداره و فایل example.obj ساخته شده اما زمان Link کردن که به این صورت لینک میکنم ، این Error هارو میده :





C:\Assembly>link /subsystem:console /entry:start example.obj io.obj kernel32.lib

Microsoft (R) 32-Bit Incremental Linker Version 5.10.7303
Copyright (C) Microsoft Corp 1992-1997. All rights reserved.

example.obj : error LNK2001: unresolved external symbol itoaproc
io.obj : error LNK2001: unresolved external symbol itoaproc
example.obj : error LNK2001: unresolved external symbol atoiproc
io.obj : error LNK2001: unresolved external symbol atoiproc
example.obj : error LNK2001: unresolved external symbol dtoaproc
io.obj : error LNK2001: unresolved external symbol dtoaproc
example.obj : error LNK2001: unresolved external symbol atodproc
io.obj : error LNK2001: unresolved external symbol atodproc
example.obj : error LNK2001: unresolved external symbol inproc
io.obj : error LNK2001: unresolved external symbol inproc
example.obj : error LNK2001: unresolved external symbol outproc
io.obj : error LNK2001: unresolved external symbol outproc
example.exe : fatal error LNK1120: 6 unresolved externals

ظاهرا میگه که فایل io.obj فاسده یه همچین چیزی ، به نظر شما مشکل از کجاست در ضمن من روی سیستم عامل های windows 7 و Xp امتحان کردم هر دو همین طوره .

heeeva
چهارشنبه 26 خرداد 1389, 19:31 عصر
مشکلم حل شد

io.h
io.obj
kernel32.lib

اینها رو Replace کردم ، ( از نو ریختم تو C:\Assembley که masm 6.11 انجا بود ) درست شد .
نمیدونم به چه دلیلی خراب شده بودند .:متفکر:

__Genius__
سه شنبه 10 اسفند 1389, 16:10 عصر
سلام .
ممنون میشم دوستان نسخه masm 6.11 رو همراه با فایلهای io.obj ، io.h قرار بدن .
من نسخه 6.11 رو دانلود کردم اما متاسفانه این فایل ها موجود نیستن .
برای اینکه تاپیک جدیدی زده نشه ممنون میشم یکی از دوستان زحمتشو بکشه .

ممنون .

xman_1365_x
سه شنبه 10 اسفند 1389, 17:54 عصر
فايل هاي IO براي اسمبلي 16 رو ضميمه كردم
نمونه اين كتابخانه براي اسمبلي 32 هم هست اگر نياز بود بگين تا آپلود كنم.
67002