
سمینار در مسائل رفتاری
نقد مقاله
فصل ششم کتاب نظریه های رفتاری سازمان
شوک آینده (جابجایی در قدرت)
مقدمه
جابجایی قدرت و جابجایی در قدرت
دانلود پاورپوینت نقد مقاله فصل ششم کتاب نظریه های رفتاری سازمان - 15 اسلاید
سمینار در مسائل رفتاری
نقد مقاله
فصل ششم کتاب نظریه های رفتاری سازمان
شوک آینده (جابجایی در قدرت)
مقدمه
جابجایی قدرت و جابجایی در قدرت
این فایل آموزشی نیاز به نرم افزار پاورپوینت دارد
بیش از 220 صفحه بر مبنای کتاب فیزیک دهم ، کاردرکلاس ها ، فعالیت ها و تمارین فصل دوم ( انرژی و توان ) و فصل سوم ( ویژگی های فیزیکی مواد ) آماده شده است .
تمرینات آخر فصل دوم و سوم
کاملا مرحله به مرحله حل مسائل ، رسم شکل و نکات به شما نمایش داده می شود .
به هیچ عنوان ، حق کپی برداری از مطالب وجود ندارد .
شخص خریدار می تواند فقط از آن استفاده کند .
قابل استفاه برای دانش آموزان عزیز و دبیران محترم .
دوباره عرض می کنم که شرعا و عرفا حق کپی مطالب و انتقال فایل به شخص دیگر را ندارید .
زبان اَسمبلی (به انگلیسی: Assembly language) یا همگذاری یک زبان برنامهنویسی سطح پایین برای رایانهها و دیگر دستگاههای برنامهپذیر است که رابطۀ یک-به-یک با دستورالعملهای زبان ماشین معماری رایانه دارد. هر زبان اسمبلی مختص به یک معماری رایانه خاص است، برخلاف بیشتر زبانهای برنامهنویسی سطح بالا که با معماریهای مختلف سازگار هستند ولی برای اجرا شدن به مفسر و مترجم نیاز دارند.
زبان اسمبلی با استفاده از یک برنامه جانبی به نام اسمبلر یا همگذار، به کد ماشین قابل اجرا تبدیل میشود؛ به این فرایند تبدیل، اسمبل کردن (بهانگلیسی: Assembling) گفته میشود.
زبان اسمبلی از یادیارها برای نشان دادن هر دستور ماشین سطح-پایین یا آپکد استفاده میکند. بعضی آپکدها به یک یا چند عملوند به عنوان بخشی ازدستورالعمل نیاز دارند، و بیشتر اسمبلرها میتوانند لیبلها و نمادهایی را به عنوان عملوند، برای نشان دادن آدرسهای حافظه و ثابتهای عددی بپذیرند. ماکرو اسمبلرها نیز قابلیت درشتدستوری (به انگلیسی: Macroinstruction) را شامل میشوند که این امکان را به وجود میآورد که متن یک کد زبان اسمبلی با یک نام از پیش تعیین شده در خلال متن یک کد دیگر استفاده شود. بیشتر اسمبلرها مکانیزمهای اضافی برای تسهیل فرایند توسعه برنامه، کنترل فرایند اسمبل کردن و پشتیبانی از اشکالزدایی ارائه کردهاند.
اسمبلر برنامهای است که با تبدیل یادیارهای دستوری اسمبلی (به انگلیسی: Assembly instruction mnemonics) به آپکدها و جایگزینی شناسهها با آدرسهای حافظه، کد هدف (به انگلیسی:Object code) را به وجود میآورد. استفاده از ارجاعات نمادی از ویژگیهای کلیدی اسمبلرها است که از محاسبات خستهکننده و بهروزرسانیهای دستی آدرسها بعد از تغییر کد برنامه توسط برنامهنویس جلوگیری میکند. بیشتر اسمبلرها از قابلیت ماکرو نیز بهره میبرند که این امکان را به وجود میآورد تا یک نام خاص برای یک تکه کد مشخص شود و سپس از آن نام در قسمتهای مختلف برنامه استفاده شود و در هنگام اسمبل کردن برنامه تکه کد مربوطه جایگزین نام آن شود؛ به عنوان مثال از این روش برای تولید توالیهای دستوری کوتاه رایج در خلال متن برنامه بجای فراخوانی رویهها استفاده میشود.
اسمبلرها از دهه ۱۹۵۰ مورد استفاده قرار گرفتند و نوشتن آنها بسیار راحتتر از نوشتن متجرمها برای زبانهای برنامهنویسی سطح بالا است بطوریکه هر دستور یادیاری و هر آدرس حالت ترکیبی این زبان مستقیماً به یک آپکد زبان ماشین تبدیل میشود. اسمبلرهای جدید، به طور خاص برای معماریهای ریسک، مانند اسپارک و پاور، هممانند معماری ایکس۸۶ و ایکس۸۶-۶۴، با بهینهسازیزمانبندی دستورالعملها باعث استفاده کارآمد از خط لولۀ واحد پردازش مرکزی میشوند.
برخی از رایجترین اسمبلرهای معماری ایکس۸۶ عبارتند از:
دو نوع اسمبلر بر اساس تعداد گذرها از روی کد منبع برای تولید برنامۀ قابل اجرا وجود دارد:
هدف اصلی در استفاده از اسمبلرهای یکبار-گذر، سرعت اسمبل کردن بود، زیرا در گذر دوم به برگرداندن و بازخوانی نوار یا کارت پانچ، که در گذشته برای ذخیرهسازی کدها استفاده میشدند، نیاز بود. این مشکل بعدها با وجود کامپیوترهای جدید برطرف شد. مزیت اسمبلرهای چندبار-گذر این است که در نبود خطاها در کد آبجکت، فرایند پیونددهی سریعتر انجام میشود.
اسمبلرهای پیچیدهتر سطح-بالا انتزاعهای زبانی زیر را فراهم میکنند:
برنامهای که به زبان اسمبلی نوشته میشود شامل مجموعهای از دستورالعملهای پردازنده (یادیارها)، شبه-دستورها (به انگلیسی: Pseudo-instructions)، کامنتها و دادهها است. دستورهای زبان اسمبلی معمولاً از یک آپکد و سپس فهرستی از دادهها، آرگومانها و یا پارامترها تشکیل شدهاند و توسط اسمبلر به دستورهای زبان ماشین ترجمه و به حافظه منتقل میشوند تا اجرا شوند.
برای مثال، دستور زیر به پردازندۀ معماری ایکس۸۶/آیای-۳۲ میگوید که یک مقدار ثابت ۸ بیتی را به یک ثبات منتقل کند. کد باینری این دستور 10110
است که پس از آن یک شناسۀ ۳ بیتی میآید تا مشخص کند کدام ثبات باید استفاده شود. 000
شناسۀ ثبات AL است، بنابراین کد ماشین زیر دادۀ 01100001
را در ثبات AL بار میکند:
10110000 01100001
این کد باینری را میتوان با تبدیل به مبنای ۱۶ کمی خواناتر کرد:
B0 61
در اینجا B0
به معنی انتقال مقدار بعدی به ثبات AL است و 61
نمایش مبنای ۱۶ مقدار باینری 01100001
است که باید منتقل شود و در مبنای ده برابر ۹۷ است. زبان اسمبلی اینتل یادیار MOV
را (مخفف Move) برای دستورهای این چنینی فراهم کرده، به طوریکه کد ماشین بالا در زبان اسمبلی به شکل زیر نوشته میشود که خواندن و به خاطر سپردن آن راحتتر است (آنچه بعد از نقطه-ویرگول (;) آمده توضیح (به انگلیسی: comment) است):
برخی زبانهای اسمبلی ممکن است از دستورهای مشابه MOV
برای انتقال، کپی و بارگذاری دادهها، چه ثباتها، چه مقادیر عددی و چه متغیرهای حافظه استفاده کنند و برخی دیگر از اسمبلرها ممکن از دستورهای متفاوتی استفاده کنند؛ مثلاً L
برای انتقال حافظه به ثبات، ST
برای انتقال از ثبات به حافظه، LR
برای انتقال از ثبات به ثبات و MVI
برای انتقال ثابتهای عددی به ثبات و غیره.
آپکد اینتل 10110000 (B0)
یک مقدار ۸ بیتی را به ثبات AL کپی میکند، در حالیکه 10110001 (B1)
آن را به CL منتقل میکند و 10110010 (B2)
همین کار را با DL انجام میدهد. مثالهای اسمبلی آن به صورت زیر است:
دستور MOV
میتواند مانند مثال زیر به اشکال پیچیدهتری نیز استفاده شود:
در هر حالت، دستور MOV
مستقیماً توسط اسمبلر به یک آپکد در بازۀ 88-8E یا A0-A3 یا B0-B8 یا C6 یا C7 ترجمه میشود و برنامهنویس مجبور به دانستن یا حفظ کردن آنها نیست.
تبدیل زبان اسمبلی به زبان ماشین وظیفۀ اسمبلر است و عکس این عمل تا حدی توسط دیاسمبلر امکانپذیر است. برخلاف زبانهای برنامهنویسی سطح بالا، ارتباط یک به یکی بین دستورهای زبان اسمبلی و دستورالعملهای زبان ماشین وجود دارد. با این حال، در برخی موارد، یک اسمبلر ممکن است شبهدستوراتی (به انگلیسی: Pseudoinstructions) را به کار بگیرد (اساساً ماکروها) که به چند دستورالعمل زبان ماشین تبدیل میشود تا پاسخگوی نیازهای رایج باشد.
هر معماری کامپیوتر زبان ماشین مختص به خود را داراست. کامپیوترها در تعداد و نوع دستورهای قابل استفاده، تعداد و اندازۀ ثباتها و نحوۀ انبارش دادهها با یکدیگر تفاوت دارند. با اینکه کامپیوترهای همه منظوره اساساً قادر به انجام کارکردهای مشابه هستند ولی این کار را با روشهای گوناگونی انجام میدهند؛ بنابراین زبان اسمبلی مربوط به آنها نیز این تفاوتها را منعکس میکند.
مجموعههای متعددی از یادیارها و یا دستورهای زبان اسمبلی ممکن است برای یک مجموعه دستورالعمل واحد وجود داشته باشد، که به طور معمول در برنامههای اسمبلی مختلفی نمونهسازی میشوند. در این موارد، رایجترین آنها معمولاً نمونهای است که توسط کارخانۀ سازنده عرضه میشود یا در مستندات آنها استفاده شده است.
فهرست مطالب:
پاورپوینت قابل ویرایش -عربی هفتم- فصل پنجم
پاورپوینتی اموزشی منطبق بر مطالب درسی در 30 اسلاید قابل ویرایش