View Full Version : تمامي سوالات و مسايل راجع به زبان assembly
مهمان
05-13-2005, 10:53 AM
سلام
تاپيک زبان assembly بايد خيلي جالب باشه :)
Beelzebub
07-17-2005, 01:16 AM
من تازگی یه کتاب برای یادگیری اسمبلی گرفتم این کتاب یه کم
گنگه برای همین یه سوال برام پیش اومده اگه سوالام مسخره
بود به بزرگی خودتون ببخشید.
مقصود از این کد چیه بود , نبودش فرقی می کنه اصلا مهمه(تقریبا می دونم چیکار می کنه ولی نمی دونم برای چی باید باشه)
sseg segment stack
db 32 dup("stack")
sseg ends
تا الان که این کتابو خوندم مغزم داره صوت می کشه :| :|
Nesta
07-17-2005, 02:23 AM
سلام دوست عزیز کلا زبان اسمبلی خیلی مشگل هست .و باید خیلی وقت بگذارید تا خوب مسلط بشید .
مخصوصا زمانی که به بیت های پرچم می رسید یا بیت های نقلی دیگه هیچی .
در مورد این سوال هم من زیاد دیریست متوجه نشدم و این در مورد افست و سگمنت هست .که اسمبلی بیشتر با اینا کار میکنه اینا آدرس هائی از حافظه هستند .البته در مورد stack که خیلی ساخت میشه کار خود stack یک جریان خاصی داره .
ولی من کمی به این زبان مسلط هستم و منم با این که نمره 18 گرفتم در دانشگاه ولی خیلی متوجه نشدم .
و اگه دنبال نکنی و ولش کنی هر چی هم بلد باشی و یاد گرفته باشی همش از یادتون میره .
امید وارم دوستانی که خیلی به این زبان خوب مسلط هستند .بیان و بیشتر توضیح بدن.
:roll:
Beelzebub
07-17-2005, 02:54 AM
ممنون نستا جان بخواطر توضیحاتت خودمم امیدوارم بتونم باهاش کنار
بیام.
husssein
07-21-2005, 09:23 AM
اسمبلی محیط خاصی برای برنامه نویسی داره؟
اگه نداره کدهاش کجا نوشته و اجرا میشه؟
واسط گرافیکی داره؟
اگه میشه یه مقدار در مورد اسمبلی توضیح بدید؟
ممنوم
مهمان
07-21-2005, 02:23 PM
سلام دوست گرامي
من که چند سال پيش با اين زبان کار مي کردم محيط خاصي نداشت و بايد توي يک محيط تايپي نوشته مي شد و بعد کامپايل مي شد.
شايد شرکت خاصي editor براي اين زبان نوشته باشه که من خبر ندارم.
البته مطمئن هستم که يک editor داره.
چون اين زبان هنوز هم استفاده ميشه.
موفق باشيد
husssein
07-21-2005, 07:33 PM
دوست عزیز ممنون.
کسی ادیتور و کامپایلرش را میتونه معرفی کنه؟
یکیه یا چندتا ادیتورش را میگم؟
Nesta
07-21-2005, 08:55 PM
سلام اگه اشتباه نکنم منظور امیر جان tasm asm اینا بوده که اینا هم در انجمن درخواست نرم افزار معرفی شده .
کامپیلر های زبان اسمبلی.
Beelzebub
07-21-2005, 09:24 PM
این زبان ادیتور زیاد داره یعنی خیلی از برنامه ها این زبان رو هم
پشتیبانی می کنند مثل
Gvim این ادیتور بیشتر زبانهارو پشتیبانی می کنه(پیشنهاد من)
SlickEdit اینم بیشتر زبانها رو پشتیبانی می کنه ولی حجمش زیاده
asmedit فقط برای اسمبلی ولی مثل قبلی ها نمی شه
....
در ضمن این سوال مارو کسی جواب نداد:?
Nesta
07-21-2005, 10:54 PM
این برنامه ادیتور زیاد داره یعنی خیلی از برنامه ها این زبان رو هم
پشتیبانی می کنند مثل
Gvim این ادیتور بیشتر زبانهارو پشتیبانی می کنه(پیشنهاد من)
SlickEdit اینم بیشتر زبانها رو پشتیبانی می کنه ولی حجمش زیاده
asmedit فقط برای اسمبلی ولی مثل قبلی ها نمی شه
....
در ضمن این سوال مارو کسی جواب نداد:?
سلام آقا دست شما درد نکنه.
کدوم سوال رو جواب ندادیم .من که جواب دادم دوست من .یا شایدم چیز دیگه مد نظر شما هست.
:wink:
Beelzebub
07-21-2005, 11:51 PM
Nesta, جان شما فقط گفتی که اینا در مورد سگمنت stack و افست است و
توضیح کلیی دادین که تقریبا اینارو خودم می دونستم
شاید من منظورمو بد رسوندم که اگه اینجوریه منو ببخشید
من سوال این بود که وجود این کد چه تاثیری در برنامه داره چون کتابی که دارم می خونم تقریبا در بیشتر مثالهاش این کد رو قرار داده
ولی نگفته برای چی باید باشه حالا نستا جان اگه میشه یکم بیشتر برام توضیح بده
Nesta
07-22-2005, 12:00 AM
Nesta, جان شما فقط گفتی که اینا در مورد سگمنت stack و افست است و
توضیح کلیی دادین که تقریبا اینارو خودم می دونستم
شاید من منظورمو بد رسوندم که اگه اینجوریه منو ببخشید
من سوال این بود که وجود این کد چه تاثیری در برنامه داره چون کتابی که دارم می خونم تقریبا در بیشتر مثالهاش این کد رو قرار داده
ولی نگفته برای چی باید باشه حالا نستا جان اگه میشه یکم بیشتر برام توضیح بده
سلام دوست عزیز.
والا من خودم هم دیگه خیلی وقت پیش با این برنامه کار میکردم و 3 سالی میگذره باید از دوستانی که در کار کرک هستند کمک بگیری اینطوری من فقط میتونم کلی برات بگم که امیر هم همینطور .اینطور که خودش در جای دیگه گفته ولی اگه اطلاعات خوبی میخای باید افراد مسلط به این زبان یا این که کسانی که در حال حاضر هم با این زبان کار میکنن بیان نظر و توضیح بدن.
متشکرم
hamidma
08-02-2005, 04:52 PM
با سلام و عرض احترام
راستش من ترم گذشته اسمبلی داشتم و متاسفانه نتونستم اون رو پاس کنم . کتاب درسی معرفی شده به ما کتاب اصول اساسی برنامه نویسی به زبان اسمبلی ترجمه جابر هاشمی اصل از انتشارات دانشگاه علم و صنعت ایران بود .
راستش من تصمیم گرفتم که به صورت جدی هر چند نتونستم برای تابستان دوباره این درس رو بگیرم ولی برای ترم بعد به خوبی از الان دوباره شروع کنم و دوباره از اول بخونشم از دوستان عزیز که در این زبان کارکشته هستن ممنون می شم که در مورد این زبان من رو راهنمایی کنن. شاید یه کتاب بهتر و یا سی دی اموزشی تخصصی باشه .ممنون می شم. :) :)
double_n
08-02-2005, 06:07 PM
عزیز کتابی با همین نام نوشته پیتر ایبل رو بخونی بهتره :arrow:
sa3er
08-02-2005, 06:53 PM
دوست عزیز ممنون.
کسی ادیتور و کامپایلرش را میتونه معرفی کنه؟
یکیه یا چندتا ادیتورش را میگم؟
با سلام؛
البته به نظر میاد بنده خیلی دیر این سوال شما دیدم و دارم جواب میدم ولی در هر صورت برای استفاده بقیه کاربرانی که ممکن است بعدها به این تاپیک مراجعه کنند.. پاسخهای دوستان را کامل می کنم:
برای compile یک برنامه نوشته شده تحت asm شما نیاز به یک assembler دارید؛
ببينيد بهترين assembler شناخته شده MASM هست؛
http://www.masm32.com
MASM forum:
http://www.masmforum.com
حالا تعداد زيادی هم IDE برای برنامه نويسی در محيط assembly ارايه شده که می توانيد با يک search ساده پيداشون کنيد. IDE ارايه شده همراه پک خود MASM هم که QuickEdit نام دارد متاسفانه کارايی لازم برای پروژهای سنگين رو نداره.
ولی در هر صورت بنده RadASM رو پیشنهاد می کنم؛
سايت برنامه:
http://radasm.visualassembler.com
در ضمن حتما يه سری به سايت استاد بزرگ assembly بزنيد:
http://win32asm.cjb.net
بازم اگه سوالی داشتيد بپرسيد در خدمتيم.
وقت بخير.
ali_yousefian19
08-03-2005, 11:04 PM
سلام Beelzebub جان
اگه من درست متوجه شده باشم سوالتون را در مورد سگمنت كد پرسيده بودين
تا اوونجا كه بلدم مينويسم
سگمنت كد يكي از اجزاي برنامهاي است كه به زبان اسمبلي وجود داره(يعني يك برنامه ي اسمبلي بدون سگمنت كد نمي باشد)
در ضمن در سكمت كد حاوي دستور العملهاي برنامه هست كه توسط زبان ماشين ترجمه و اجرا ميشود(يعني تقريبا برنامه ي اصلي در اسمبلي در اين سگمنت نوشته ميشه)
توجه داشته باش كه در زبان اسمبلي بايد اول سگمنت پشته را تعريف كني و بعد سگمنت داده و بعد سگمنت كد
اين جدول هم قالب كلي يك برنامه ي اسمبلي هست
تعريف سگمنت پشته
تعريف سگمنت داده
segment نام سگمنت كد
(proc (far or near نام برنامه
..
..
..
endp نام برنامه
ends نام سگمنت كد
نام برنامه end
اميدوارم تونسته باشم كمكت كنم
Beelzebub
08-04-2005, 02:09 AM
ali_yousefian19, جان ممنون بخواطر توضيحاتت
ولي اين سوال من نبود و يادم نمياد در مورد سگمنت كد
سوال كرده باشم البته بازم ممنون كه جوابه مارو دادي
نميدونم چرا كسي اصل مطلبو نمي گه حالا بگزريم
سواله من در رابطه با سگمنت پشته بود.
كه چرا ما اين كد رو داخلش مي زاريم يعني بودنش چه تاثيري داره
db 32 dup("stack")
حالا اميدوارم منظورمو درست فهميده باشين
ali_yousefian19
08-04-2005, 01:17 PM
سلام
آقا شرمنده :oops: –
تا اوونجایی که من میدونم ما با این کد مقدار فضایی که حدس میزنیم برای برنامه لازم باشه را مینویسیم
دستور db برای تعریف داده های یک بایتی هست
با استفاده از عملگر dup در دستور db میتوان چندین بایت از حافظه را مورد استفاده قرار داد
تا اوونجايي كه من ميدونم مهم اوون چیزی نیست که داخل dup میزاریم بلکه مهم اوون دو تا چیزی هست که قبل از dup مینویسیم
مثل
(Db 12 dup(0
تا جایی که یادمه –
اگه یکم بیشتر بخونی میبینی که در سگمنت کد مثلا میگی AX را بریز تو این خونه و bx را بریز تو این خونه و ....حالا این 12 هم تعداد این خونه ها را مشخص میکنه
من جزوه اسمبلی و کتاب را نگاه کردم ولی توضیحی در مورد این کد نگفته بود پس اگه کسی این مطالب را خوند و دید جاییش را اشتباه گفتم – بگه تا بگیه بقیه اشتباه نفهمن
اميدوارم اين يكي بدردت خورده باشه :wink:
Beelzebub
08-05-2005, 11:23 AM
ali_yousefian19, جان دستت درد نکنه :wink:
حسابی استفاده کردیم
shadi6121361
01-14-2007, 01:33 PM
سلام
نستا جان ممنون میشم کمکم کنی. چند تا برنامه اسمبلی میخواستم.
1ــ برنامه ای بنویسید که اطلاعات را از درون MBR (Master Boot Record) خوانده و به صورت متنی روی صفحه نمایش دهد. ( یک string را خوانده و در آرایه ریخته و چاپ کند.)
2ــ برنامه ای بنویسید که از درون boot sector درایو C ظرفیت، شماره سریال، volume name و نوع fat را نمایش دهد.
3ــ برنامه ای بنویسید که به صورت رقص نور سه چراغ Num Lock ، Scroll Lock و Caps Lock را به ترتیب روشن و خاموش کند. تا موقعی که یک کلید فشرده شود، این رقص نور ادامه پیدا کند.
پروژه : برنامه ای بنویسید که اطلاعات مربوط به اندازه حافظه Ram، ظرفیت هارد دیسک، شماره سریال هارد دیسک، نوع CPU، تاریخ و ورژن ساخت Bios و وضعیت کلیدهای صفحه کلید را نشان دهد.
سلام من چند خط کد اسمبلی مربوط به یک سیستم عامل Open Source دارم که نمی فهمم چکار میکنه, کسی هست که زبان اسمبلی بلد باشه؟ ممنون میشم اگه راهنماییم کنید.:tongue:
rezapazahr
04-06-2007, 12:49 AM
سلام(درخواست خیلی فوری)
اگه میشه در مورد مطالب زیر اطلاعاتی بهم بدید:
1)بررسی دستورات mov,xchg,lea ومحدودیت های آنها
2)بررسی ساختار پردازنده های pentium 4
3)بررسی مجموعه دستورات پردازنده pentium 4
4)ررسی وقفه های 21h,10h وتوابع آنها
درضمن برنامه ای (به زبان اسمبلی)میخوام که نام ونام خانوادگی کسی رو گرفته ودر صفحه نمایش چاپ کند.
ممنون میشم.
vBulletin v3.8.1, Copyright ©2000-2009, Jelsoft Enterprises Ltd.