👈 فروشگاه فایل 👉

تحقیق جامع آموزش اسمبلي

ارتباط با ما

... دانلود ...

تحقیق جامع آموزش اسمبلي

آموزش اسمبلي

براي ياد گرفتن اسمبلي بايد با مبناهاي عدد نويسي ، ساختمان داخلي كامپيوتر

و برنامه نويسي آشنا باشيم .

ما برنامه هايمان را مستقيما با اسمبلر Macro Assembler خواهيم نوشت و گاها از Debug

استفاده خواهيم كرد . بعلاوه چون برنامه هاي حجيم نخواهيم نوشت قالب اكثر

رنامه هاي ما COM. خواهد بود .

براي شروع ابتدا نگاهي به حافظه ميكنيم :

حافظه و آدرس دهي

هر كامپيوتر مبتني بر 8086 داراي حداقل 640 كيلوبايت حافظه است . اين 640

كيلوبايت به قطعات 64 كيلوبايتي تقسيم شده و ما اين قطعات را 'قطعه ' يا Segment

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

براي بدست آوردن مقدار يك بايت مشخص از حافظه ما بايد عد مربوط به سگمنت و

همچنين شماره آن بايت در سگمنت ( كه آفست Offset ناميده ميشود ) را بدانيم .

مثلا اگر مقدار مورد نظر در قطعه 0030h(h( يعني عدد در مبناي 16 است ) و آفست 13C4h

باشد ما بايد قطعه اي كه شماره آن 0030h است را بيابيم و بعد در همان قطعه

مقدار باين شماره 13C4 را بخوانيم .

براي نمايش اين حالت بين عدد سگمنت و آفست علامت (:) قرار ميدهيم . يعني

ابتدا عدد مربوط به قطعه را نوشته و سپس عدد آفست را مي آوريم :

Segment:Offset

مثال : 4D2F:َ9000 **

هميشه در آدرس دهي ها از اعداد مبناي 16 استفاده ميكنيم .

CConvertional 1 Segment=64K Memory

ثباتها Registers

رجيسترها مكان هائي از CPU هستند كه براي نگهداري داده ها (DATA) و كنترل اجراي

برنامه بكار ميروند . ما ميتوانيم آنها را مقدار دهي كرده و يا بخوانيم و يا

باتغيير محتواي آنها CPU را مجبور به انجام يك پروسه (رويه يا Procedure) كنيم

دسته اي از رجيسترها كه ما انها را 'ثباتهاي همه كاره يا همه منظوره ' ميخوانيم

و شامل AX/BX/CX/DX هستند ، براي انتقال مقادير بين رجيستر ها و CPU بكار ميروند.

اين ثباتها را ميتوانيم به هر نحوي تغيير دهيم و مقاديري را به آنهاارسال كنيم .

ثباتهاي ديگري هم كه نام ميبريم كاربردهاي خاص خودشان را دارند و براي مقدار دهي

آنها بايد قواعد خاصي (كه توضيح خواهيم داد) را بكار بريم .

ميكند عدد كه در اين ثبات وجود دارد شماره يك قطعه است و CPU براي يافتن DS : مخفف Data Segment . محل نگهداري متغييرها و ثابتهاي برنامه را مشخص

مقادير لازم به آن قطعه مراجعه ميكند . CS

: مخفف Code Segment است و آدرس قطعه اي كه برنامه در آن قرار گرفته را

نشان ميدهد . ES

: اين يك ثبات كمكي است و معمولا در آدرس دهي ها شماره قطعه را نگهداري

ميكند . DI

DataIndex:Dبا DS/ESا مرتبط است و عدد آفست را نگهداري ميكند . IP

: اين رجيستر معلوم ميكند كه برنامه در حال اجرائي كه در CS قرار دارد از

كدام بايت قطقه (يعني كدام آفست ) شروع ميشود . به همين دليل هميشه اين دو

ثبات را با هم و بصورت CS:IP نشان ميدهند.

و ...

👇محصولات تصادفی👇

پاورپوینت جزوه درس برنامه نویسی کامپیوتر به زبان C دانلود پاورپوینت با موضوع مصرف بیش از حدارگانوفسفره پاورپوینت رنگ شناسی و کاربرد در معماری تحقیق نگاهي گذرابه عالم (ذر)موطن عهد وميثاق آدميان مقاله ورشکستگى يا مرگ اقتصادى