PDA

View Full Version : طراحی یک اسمبلر



salame_sabz
چهارشنبه 09 آذر 1384, 10:51 صبح
سلام
اگه کسی در زمینه طراحی اسمبلر کار کرده یا مقاله ای سراغ داره اگه منو هم راهنمایی کنه ممنون می شم

aakh1361
پنج شنبه 10 آذر 1384, 02:31 صبح
Nasm کامپایلر Open Source

ronin87
شنبه 10 دی 1390, 22:46 عصر
سلام
من nasm را گرفتم اما source برنامه تو کدوم پوشه گذاشته؟
ممنون میشم راهنمایی کنید؟

shahmohammadi
یک شنبه 11 دی 1390, 02:36 صبح
سلام.
سورسش رو بايد جدا دانلود كنيد.
از اينجا (http://www.nasm.us/) مي تونيد بروزترين سورسشو دانلود كنيد.
تو قسمتي كه نوشته :
Latest version
بالاترين شماره تاريخ رو بزنيد.
توي صفحه جديد، از بين يه تعداد فايلي كه ليست شده، فايل zip رو (مثلا nasm-2.09.10.zip (http://www.nasm.us/pub/nasm/releasebuilds/2.09.10/nasm-2.09.10.zip)) دانلود كنيد.
سورسش هم با سي نوشته شده.

shahmohammadi
دوشنبه 12 دی 1390, 23:58 عصر
راستی، Fasm هم سورس باز هست.
http://flatassembler.net/download.php
سورس رو همراه با خودش داره.
با خود اسمبلی نوشته شده و فقط توی یه فایل هست.
سورس ها توی پوشه SOURCE قرار دارند. اینکلود هاشم توی پوشه tools قرار داره.
موفق باشید.

rykian
سه شنبه 13 دی 1390, 16:07 عصر
با سلام
لطفاً راهنمائی بفرمائید
یک پروژه اسمبلر برای 80386 باید تحویل بدهم ولی بعد از دانلود http://flatassembler.net/download.php نتوانستم بدانم کدام فایل سورس هست که با خود اسمبلی نوشته شده؟
ممنون

ronin87
سه شنبه 13 دی 1390, 18:51 عصر
سلام.
سورسش رو بايد جدا دانلود كنيد.
از اينجا (http://www.nasm.us/) مي تونيد بروزترين سورسشو دانلود كنيد.
تو قسمتي كه نوشته :
Latest version
بالاترين شماره تاريخ رو بزنيد.
توي صفحه جديد، از بين يه تعداد فايلي كه ليست شده، فايل zip رو (مثلا nasm-2.09.10.zip (http://www.nasm.us/pub/nasm/releasebuilds/2.09.10/nasm-2.09.10.zip)) دانلود كنيد.
سورسش هم با سي نوشته شده.

سلام
ممنون از کمکتون،من همین کاری که گفتین را انجام دادم فقط نمیدونم سورس کدوم پوشه یا فایل هستش؟
در پوشه اصلی هم یکسری فایل به زبان c هست که با نام های parser،token,... هست.سورس اصلی همین ها هستن یا داخل پوشه خاص؟
ممنون

shahmohammadi
سه شنبه 13 دی 1390, 19:38 عصر
سلام دوباره.

با سلام
لطفاً راهنمائی بفرمائید
یک پروژه اسمبلر برای 80386 باید تحویل بدهم ولی بعد از دانلود http://flatassembler.net/download.php نتوانستم بدانم کدام فایل سورس هست که با خود اسمبلی نوشته شده؟
ممنون fasm رو در چند محیط اسمبلی نوشتند. همشون در پوشه source هست.یکی برای داس که توی پوشه dos هست، یکی با اسمبلی win32، که در محیط ویندوز کار می کنه و توی پوشه مربوط به خودش هست. برای سایر محیط ها (لینوکس و چند تای دیگه) هم در پوشه خودش گذاشتند.


سلام
ممنون از کمکتون،من همین کاری که گفتین را انجام دادم فقط نمیدونم سورس کدوم پوشه یا فایل هستش؟
در پوشه اصلی هم یکسری فایل به زبان c هست که با نام های parser،token,... هست.سورس اصلی همین ها هستن یا داخل پوشه خاص؟
ممنون همشون سورسند.
هر کدوم یه قسمتی از کد ها رو دارند. پروژه های بزرگ رو در چند تا فایل می نویسند.
مثلا در اینجا تابع main() در nasm.c قرار داره. بقیه فایل ها رو هم اینکلود کرده.
اطلاعاتی مثل اسامی دستورها در فایل tokhash.c قرار داره.
اطلاعات مربوط به نام ثبات ها در reg.c قرار داره. و مقادیریکه قراره این ثبات در تبدیل به کد ماشین داشته باشند در فایل regvals.c قرار داره و...
در پوشه doc هم، فایل وردی هست که در مورد تمام فایل های سی توضیح داده.
در مورد اینکه چطور چند تا فایل سی یه پوژه رو تشکیل می دهند می تونید به کتاب سی جعفرتژاد قمی فصل مهندسی نرم افزار مراجعه کنید.

rykian
سه شنبه 13 دی 1390, 23:55 عصر
با تشکر از راهنمائیتان
مثلاً برای win32 دو فایل وجود دارد
1- FASM.ASM
2- SYSTEM.INC
لطفا بفرمائیدکدام یک چه کاری انجام میدهند و برای ارائه جهت پروژه کدام فایل اصلی است؟

shahmohammadi
چهارشنبه 14 دی 1390, 01:23 صبح
یه توضیح باز تری رو می دم:
پوشه سورس شامل یه تعداد فایل inc و چند تا پوشه هست.
فایل های اینک توابع و کارهای اصلی رو بر عهده دارند. (مثلا اسمبل کردن در فایل ASSEMBLE.INC نوشته شده).
بعد حالا یه فایل با پسوند asm می خواهیم که بگه این توابع در چه محیطی اجرا می شن.
برای هر محیط در پوشه مربوطه یک فایل اسم قرار دادند.
مثلا در فایل FASM.ASM که شما گفتید، عبارت include '..\assemble.inc' باعث می شه که فایل مذکور اینکلود بشه.

typeman9
یک شنبه 13 اسفند 1396, 15:46 عصر
سلام
اگه کسی در زمینه طراحی اسمبلر کار کرده یا مقاله ای سراغ داره اگه منو هم راهنمایی کنه ممنون می شم


سلام:
بهترین اسمبلر برای طراحی یک اسمبلر جدید اسمبلر Fasm می باشد.
چون ساختار و معماری ساده ای دارد و خودمیزبان است یعنی سورسش توسط خودش نوشته و کامپایل می شود . کاربران بسیار زیادی در دنیا دارد و سایت و انحمنش بشدت فعاله .
میتونی همه ی سوالاتت رو از کاربران این اسمبلر بپرسی .
ادرس سایت اسمبلر Fasm

https://flatassembler.net

وارد سایت که شدی روی گزینه ی زیر کلیک کن تا وارد انجمن رسمی این اسمبلر بشوی و سوالاتت رو بپرسی ولی قبل از اینکار باید این اسمبلر رو دانلود کنی و اجرا کرده و ماشین حسابش را فعال کنی .
Message Board
Fasm یک اسمبلر همه منظوره است و حتی از روی ان اسمبلرهای جدید طراحی شده است . این اسمبلر حتی چندین سیستم عامل را نیز تولید کرده و کلا یک اسمبلر عالی و بی نظیر است .