1. مهراد
  2. برنامه‌نویسی و طراحی وب
  3. دوشنبه, 02 ارديبهشت 1392
لطفا به من بگید این Assembly چیه؟
دلت را به تیمار چندین مبند
بس ایمن مشو بر سپهر بلند
که با پیل و با شیربازی کند
چنان دان که از بی‌نیازی کند
مجید بهترین پاسخ Pending Moderation
0
رای
پس‌گیری
اسمبلی یه زبان فوق العاده سطح پایین و نزدیک به زبان ماشین هست
یه پله پایین تر از اسمبلی میشه 0 و 1
لطفا برای پرسش هاتون تگ بزارید
قوانین جواب رو لطفا مطالعه کنید
مخصوصا 11 و 12 و 17ش که خیلی مهمه
مهراد بهترین پاسخ Pending Moderation
0
رای
پس‌گیری
پس اگه ساده است چرا یه قسمت از درایو سی نوشته assembly؟
دلت را به تیمار چندین مبند
بس ایمن مشو بر سپهر بلند
که با پیل و با شیربازی کند
چنان دان که از بی‌نیازی کند
مجید بهترین پاسخ Pending Moderation
2
رای
پس‌گیری
نگفتم سادست
گفتم سطح پایینه
هر چه زبانی سطح پایین تر باشه به زبان ماشین خیلی نزدیک تر خواهد بود ( و از زبان انسان دورتر) و طبیعتا یادگیری اون بسیار سخت خواهد بود.
الان دیگه فکر نکنم کسی اسمبلی یاد بگیره البته زبان بسیار پرقدرتی هست
لطفا برای پرسش هاتون تگ بزارید
قوانین جواب رو لطفا مطالعه کنید
مخصوصا 11 و 12 و 17ش که خیلی مهمه
block بهترین پاسخ Pending Moderation
0
رای
پس‌گیری
اسمبلی باتوجه نزدیک بودن به زبان ماشین سرعت بیشتری نسبت به تمام زبانها داره
بنابراین واسه قسمتهایی از سیستم عامل که نیاز به سرعت بیشتری داره از این زبان استفاده میشه مثل (بوت)اگه به چنین سرعتی نیاز نداری ازش دوری کن و به زبانهای دیگر بچسب
مهراد بهترین پاسخ Pending Moderation
0
رای
پس‌گیری
اینجوری که شما میگید Mark up نیستش.پس ولش کنم.دنبالش نمی رم.مارک آپ نباشه دمارم در میاد!
دلت را به تیمار چندین مبند
بس ایمن مشو بر سپهر بلند
که با پیل و با شیربازی کند
چنان دان که از بی‌نیازی کند
ADEL بهترین پاسخ Pending Moderation
1
رای
پس‌گیری
assembly زبانیه که هر کی با سخت افزار سروکار داره بیش تر به دردش میخوره تا یه برنامه نوس برنامه های کاربردی.
این زبان توی Reverse Engineering هم کاربرد داره و تحلیلگرها و هکرها و کرکرها برنامه نویس ها میتونن فایل های باینری و کامپایل شده رو به زبان اسمبلی تبدیل کنن و از این طریق به طرز کار برنامه ها و الگوریتم های استفاده شده در اون پی ببرن.
بهنام بهترین پاسخ Pending Moderation
0
رای
پس‌گیری
اسمبلی رو به ما یاد دادن البته یه ذره شو
واسه برنامه نویسی z80 (اگه یادم مونده یاشه)
نترس

دل ندارم

دوباره عاشق شوم!
مهراد بهترین پاسخ Pending Moderation
0
رای
پس‌گیری
فکر میکردی کلشو به خاطر یه برنامه باد میدادن؟!
در کل من هنوز به جوابم نرسیدم!:D
دلت را به تیمار چندین مبند
بس ایمن مشو بر سپهر بلند
که با پیل و با شیربازی کند
چنان دان که از بی‌نیازی کند
تشت زرین بهترین پاسخ Pending Moderation
0
رای
پس‌گیری
زبان همگذاری[۱] یا اَسمبلی (به انگلیسی: Assembly)‏ به مجموعه زبان‌های برنامه‌نویسی سطح پایینی اطلاق می‌شود که در آن مستقیماً دستورالعمل‌های پردازندهٔ اصلی (CPU) نوشته می‌شود ( یعنی دستوراتی که ALU توانایی انجام آنها را دارد.)

به دلیل سطح پایین بودن این زبان‌ها، نوشتن، اشکال‌زدایی و نگهداری برنامه سخت‌تر است. برای هر خانوادۀ CPU یک زبان اسمبلی وجود دارد.

این زبان به زبان مادر کامپیوتر بسیار نزدیک می‌باشد به‌طوری که تمامی برنامه‌های اولیه همچون ++C توسط زبان اسمبلی ساخته شده است و همچنین اکثر کارها در زمینۀ هک و مانند آن با این زبان انجام می‌شود. در زبان اسمبلی هر دستور زبان متناظر یک دستور باینری است. این زبان را با استفاده از اسمبلر‌ها می‌توان به زبان ماشین یعنی صفر و یک تبدیل کرد. نرم‌افزارهای اسمبلر بر روی سیستم نصب شده و با وارد کردن کدهای اسمبلی و اشکال‌زدایی کردن آن می‌توان آن‌ها را به زبان ماشین تبدیل کرد.

اسمبلر

اسمبلر یا همگذار نرم افزاری است که برنامه نوشته شده به زبان اسمبلی را به کدهدف (Object Code) تبدیل می کند و یک فایل با پسوند obj تولید می کند. توجه شود که این فایل قابل اجرا نیست و بوسیله نرم افزار Linker این فایل به یک فایل با پسوند exe تبدیل می‌شود که این فایل جدید قابل اجرا است.

اسمبلر های معروف برای معماری x86:
◾مایکروسافت اسمبلر (به انگلیسی: Microsoft Macro Assembler یا MASM) در ویندوز استفاده میگردد
◾جی‌اِن‌یو اسمبلر (به انگلیسی: Gnu Assembler یا GAS) در یونیکس استفاده میگردد
◾نت‌واید اسمبلر (به انگلیسی: Netwide Assembler یا NASM) در یونیکس استفاده میگردد
◾توربو اسمبلر (به انگلیسی: Turbo Assembler یا TASM) در داس و ویندوز استفاده میگردد

هر مجموعه دستورالعمل تعبیه شده در هر پردازنده‌ای، زبان اسمبلی مخصوص خود را دارا می‌باشد. لذا اگر دو نوع پردازنده که ISA (یا مجموعه دستورالعمل) آنها متفاوت از یکدیگر میباشد را داشته باشیم، نمیتوانیم با یک زبان اسمبلی (یا زبان همگذاری) یکسان برای آن دو، برنامه بنویسیم. برای مثال زبان اسمبلی معماری x86 با زبان اسمبلی معماری MIPS تفاوت دارد. (MIPS توسط شرکتهای مختلف مانند ایسر، ان‌ای‌سی، و تعدادی دیگر از شرکتها مورد استفاده قرار میگردد).

همچنین هر کد اسمبلی مخصوص همان اسمبلری است که با آن اصطلاحاً اسمبل شده است، بنابراین برای مثال یک کد اسمبلی پردازنده x86 نوشته برای اسمبلر GAS (جی‌اِن‌یو اسمبلر) نمیتواند با اسمبلر MASM (مایکروسافت اسمبلر) برای پردازنده x86 اسمبل شود.

اَسِمبلی 64 بیتی 32 بیتی و 16 بیتی

در زبان اَسِمبلی با توجه به امکانات پردازنده و مقدار حافطهٔ آن از یک اسمبلر ۱۶، ۳۲، و یا ۶۴بیتی استفاده می‌شود.
◾در اَسِمبلی ۱۶ بیتی حافظه در ثبات‌های AX BX CX DX AH AL BH BL CH CL DH DL IP CS DS ... قرار دارد.
◾در اَسِمبلی ۳۲ بیتی ثبات‌های EAX EBX ECX EDX EIP اضافه می‌شوند.
◾و در اَسِمبلی ۶۴ بیتی نیز ثبات‌های RAX RBX RCX RDX RIP اضافه می‌شوند.

حافظهٔ قابل دسترس در حالات فوق به ترتیب ۶۵۵۳۶، ۴۲۹۴۹۶۷۲۹۶ و ۱۸۴۴۶۷۴۴۰۷۳۷۰۹۵۵۱۶۱۶ بایت است.

نکته:
زبان اسمبلی را به دو صورت می توان پیاده سازی کرد یکی از طریق برنامه doc و دیگری با برنامه emu که این برنامه تحت ویندوز
می باشد و به صورت گرافیکی شما می توانید با این برنامه کار کنید
منبع
  1. http://fa.m.wikipedia.org/wiki/%D8%A7%D8%B3%D9%85%D8%A8%D9%84%DB%8C
مهراد بهترین پاسخ Pending Moderation
0
رای
پس‌گیری
قیدشو میزنم.عمرا بتونم همچین چیزی یاد بگیرم.همون تو مارک آپ هاش لنگ جیزنم!:D :D
دلت را به تیمار چندین مبند
بس ایمن مشو بر سپهر بلند
که با پیل و با شیربازی کند
چنان دان که از بی‌نیازی کند
  • صفحه :
  • 1


هنوز پاسخی به این پست ارسال نشده است.
البته از آنجایی که هنوز در سایت لاگین نکرده‌اید، اجازه‌ی پاسخ دادن به این پست را ندارید.

ورود / ثبت‌نام

 

کاربران فعال این ماه

AMIR
Super User
مسعود یوسف‌نژاد
نازنین امامی
علی مردانی