PDA

View Full Version : نحوه اجرای اسمبلی



microcontroller
یک شنبه 24 مهر 1384, 19:48 عصر
سلام
من این ترم واحد اسمبلی گرفتم و اصلا وارد به این درس نیستم
برنامه رو نصب کردم و یک برنامه نوشتم حالا باید اینو چه جوری ببینم اجرا می شه یا نه؟ :لبخندساده

lajevardi
جمعه 29 مهر 1384, 07:22 صبح
باید روی سیستم ات توربو اسمبلر(TASM) یا ماکرو اسمبلر (MASM) بریزی;
فایلت رو با نام first.asm تو شاخه bin ذخیره کن، از طریق Command Prompt به اون شاخه برو ودستورات زیر رو تایپ کن:


MASM first.asm
TLINK first
first

خط دستور اول (در صورتی که کد نویسی ات مشکلی نداشته باشه) فایل obj. رو ایجاد میکنه ، این فایل یه زبان ماشین هست ولی هنوز قابلیت اجرا نداره!
خط دستور دوم موجب ایجاد فایل exe. میشه ، خط دستور سوم هم که فایل رو اجرا میکنه!

در صورت که از TASM استفاده میکنی، تو خط دستور اول به جای MASM از TASM استفاده کن.
برات یه ماکرو اسمبلر UpLoad کردم:



http://lajevardi.persiangig.com/app/Masm.v.6.11.rar
Save Target as...
http://masm32.com

s312p990
پنج شنبه 17 تیر 1389, 22:14 عصر
چطور اسمبلی را یاد بگیریم ؟؟؟؟؟؟؟؟؟؟؟؟؟؟؟؟؟ سودابه از اهواز

Mr.reCoder
یک شنبه 20 تیر 1389, 13:58 عصر
کتاب نوشته دکتر حسن سید رضی خیلی خوبه!
مبتدی نوشته و برای اول کار خیلی بهتره! اما اینو بدونین که فقط با یک کتاب و یک ترم درس نمیشه اسمبلی دان شد!!

Arcsinos
دوشنبه 11 مرداد 1389, 13:49 عصر
میشه بگید توی سیستم عامل های 64bit چطوری میتونم برنامه های اسمبلی رو اجرا کنم ؟

hamzeh1989
جمعه 30 مهر 1389, 16:41 عصر
سلام
سلام به دوستای عزیز ، یه کتاب خیلی خوب برای یادگیری اسمبلی می خوام ، خواهشا راهنمایی کنید
ممنون

java88
چهارشنبه 05 آبان 1389, 19:05 عصر
دوستان
استاد ما به ما گفته که در محیط notepad برنامه تون رو بنویسید.میشه فرق این که ما در notepad بنویسم یا در جاهای دیگر (راستش رو بخواید من اصلا نمی دونم تو کجا غیر از notepad می تونم کد رو بنویسم)اگر میشه یه توضیح کلی بدید.

محسن شامحمدی
چهارشنبه 05 آبان 1389, 20:57 عصر
دوستان
استاد ما به ما گفته که در محیط notepad برنامه تون رو بنویسید.میشه فرق این که ما در notepad بنویسم یا در جاهای دیگر (راستش رو بخواید من اصلا نمی دونم تو کجا غیر از notepad می تونم کد رو بنویسم)اگر میشه یه توضیح کلی بدید.

در هر برنامه ای که فقط متون ذخیره بشن و هیچ کاراکتر اضافه ای غیر از متن ها ذخیره نشه.
در اینطور برنامه ها شما اجازه bold ,italic,underline و تغییر فونت نوشته ها را ندارید.

نمونه هایی از برنامه هایی که قابل استفاده نیستند:
wordpad
microsoft word
....

نمونه های قابل استفاده:
notepad
notepad2
notepad++
.....

mahdi68
یک شنبه 09 آبان 1389, 22:31 عصر
من با دستور MASM.EXE filename.asm فایلی با پسوند .obj تولید میکنم و بعد دستور LINK.EXE filename.obj میزنم ولی هیچ اتفاقی نمیفته و فایل اجرایی تولید نمیشه !!! هیچ پیغامی هم نمیده !!! کجای کارم اشتباه هست ؟

israel_javate
دوشنبه 26 دی 1390, 17:54 عصر
سلام منم مشکل دارم میتونید یه کم شفاف تر در مورد اجرای برنامه ای که در masmنوشتید توضیح بدید ممنون:ناراحت:

IamOverlord
دوشنبه 26 دی 1390, 21:08 عصر
من این کارو می کنم:

1) یه برنامه ی Assembly می نویسم : MyProgram.ASM
2) فایل برنامه رو می گیرم، می کشم، می ندازم تو FASM.EXE!
2.5) می شد فقط روی FASM.EXE کلید کنیم و در محیطی که میاره کدمون رو بزنیم... به همین راحتی.
3. کلید F9 رو می زنم، برنامه ام خود به خود کامپایل می شه و اجرا هم می شه.


اما برای کارهای متفاوت مثل گرفتن فایل Object، می تونید از خط فرمان FASM استفاده کنید و بهش بگید می خواید خروجیتون چی باشه.

در کل بگم من عاشق FASM (http://flatassembler.net/) هستم! :قلب:

xman_1365_x
سه شنبه 27 دی 1390, 01:43 صبح
براي برنامه هاي داس(com,exe) درmasm از سايت masm32 (http://masm32.com/) اسمبلر رو دريافت كنيد و از دستورات زير استفاده كنيد:
اسمبل كردن و ساخت obj
MASM first.asm
لينك كردن
LINK16 first
اجرا
first

ساخت و اسمبل با ساختار هاي ديگه كمي متفاوت هست كه انشا الله يعدا ميگم.
موفق باشيد.

notepad
یک شنبه 23 بهمن 1390, 22:02 عصر
سلام خدمت تمامی دوستان...
چه فرقی می کنه که masm تحت Dos باشه یا تحت windows؟

IamOverlord
سه شنبه 25 بهمن 1390, 16:05 عصر
منظورتون خود کامپیالر MASM هست یا حالت برنامه هایی که می خواید تولید کنید؟

notepad
شنبه 29 بهمن 1390, 09:29 صبح
سلام...
بیشتر منظورم compliler بود.ولی اگه هر دو موردم توضیح بدهید بیشتر ممنونتون میشم
با تشکر

IamOverlord
یک شنبه 30 بهمن 1390, 21:57 عصر
خوب حالت برنامه ها که طبیعتا به محیط اجرا و این جور مسائل ربط داره، مثلا برای DOS، Linux یا Windows ...، ولی اکثر مواقع خود کامپیالر ها رو دیدم که به صورت Console مانند ساخته می شن که فقط با ارسال پارامتر از خط فرمان برنامه رو کامپایل کنه و Editor رو هم به صورت Window Application می نویسن واسه راحتی برنامه نویس و از این جور مسائل.

MostafaMohammadi
یک شنبه 27 فروردین 1391, 12:50 عصر
باید روی سیستم ات توربو اسمبلر(TASM) یا ماکرو اسمبلر (MASM) بریزی;
فایلت رو با نام first.asm تو شاخه bin ذخیره کن، از طریق Command Prompt به اون شاخه برو ودستورات زیر رو تایپ کن:


MASM first.asm
TLINK first
first

خط دستور اول (در صورتی که کد نویسی ات مشکلی نداشته باشه) فایل obj. رو ایجاد میکنه ، این فایل یه زبان ماشین هست ولی هنوز قابلیت اجرا نداره!
خط دستور دوم موجب ایجاد فایل exe. میشه ، خط دستور سوم هم که فایل رو اجرا میکنه!

در صورت که از TASM استفاده میکنی، تو خط دستور اول به جای MASM از TASM استفاده کن.
برات یه ماکرو اسمبلر UpLoad کردم:



http://lajevardi.persiangig.com/app/Masm.v.6.11.rar
Save Target as...
http://masm32.com


آدرس دانلود نرم افزار MASM به زیر تغییر پیدا کرده:
http://lajevardi.persiangig.com/app/asm/Masm.v.6.11.rar

MostafaMohammadi
یک شنبه 27 فروردین 1391, 13:17 عصر
براي برنامه هاي داس(com,exe) درmasm از سايت masm32 (http://masm32.com/) اسمبلر رو دريافت كنيد و از دستورات زير استفاده كنيد:
اسمبل كردن و ساخت obj
MASM first.asm
لينك كردن
LINK16 first
اجرا
first

ساخت و اسمبل با ساختار هاي ديگه كمي متفاوت هست كه انشا الله يعدا ميگم.
موفق باشيد.

سلام من به تازگی برنامه MASM32 رو نصب کردم و نمی تونم برنامه هام رو توش کامپایل کنم. این برنامه تحت ویندوز است، پس دستوراتی که شما گفتید رو باید کجا بزنم؟ من سعی کردم توی Cmd Promptای که در برنامه هست، این دستورات رو اجرا کنم ولی Error داد که دستور MASM شناخته شده نیست. داخل پوشه برنامه رو هم گشتم و فایلی به نام "MASM" وجود نداره، این دستور به نظرم منطقی نمیرسه.
البته در مسیر masm32\bin\link16.exe فایل link16 وجود داره و فکر می کنم از نظر دستور:

LINK16 <FILENAME.OBJ>
مشکلی نباشه.
میشه راهنمایی ام کنید؟

xman_1365_x
یک شنبه 27 فروردین 1391, 13:55 عصر
سلام من به تازگی برنامه MASM32 رو نصب کردم و نمی تونم برنامه هام رو توش کامپایل کنم. این برنامه تحت ویندوز است، پس دستوراتی که شما گفتید رو باید کجا بزنم؟ من سعی کردم توی Cmd Promptای که در برنامه هست، این دستورات رو اجرا کنم ولی Error داد که دستور MASM شناخته شده نیست. داخل پوشه برنامه رو هم گشتم و فایلی به نام "MASM" وجود نداره، این دستور به نظرم منطقی نمیرسه.
masm32 توانایی ایجاد فایل آبجکت معماری ia32 که شامل 8086 تا سری های پنتیوم و ... میشه رو داره ، بله من در پستم فراموش کردم بگم برای اسمبل در masm6 فایل اجرایی به ml تغییر نام پیدا کرده،پس به طریق زیر فایل رو اسمبل و لینک کنید.


ml /c yourfile.asm

link16 yourfile

ضمنا directive برای کدتون هم فراموش نشه .286 بنویسید
موفق باشی

shineab
چهارشنبه 26 مهر 1391, 18:25 عصر
با سلام این فایلی که گفتید دانلود و نصب کردم اما وقتی از cmd میخوام ml /c ,.... رو بنویسم میگه که دستور ml نداریم ویندوز من ویستا هست
لطفا راهنمایی کنید

shineab
چهارشنبه 26 مهر 1391, 18:55 عصر
سلام به همگی
من همین برنامه ای که گفتید رو دانلود و مطابق همون گزینه win nt/dos,... که هر دو رو ساپورت کنه نصب کردم
اما وقتی دستور ml ,..... رو مینویسم میگه که instruction or register not accepted in current cpu mode روی دستور های
.MODEL FLAT

ExitProcess PROTO NEAR32 stdcall, dwExitCode:DWORD ایراد میگیره
بعدش هم روی include io.h که میگه پیداش نمیکنم
اگر ممکنه راهنمایی کنید بسیار اجر اخروی و دنیوی داره
ممنون از شما:خجالت::لبخندساده: