انواع فایل

دانلود فایل ، خرید جزوه، تحقیق،

انواع فایل

دانلود فایل ، خرید جزوه، تحقیق،

آموزش اسمبلی 115 ص

لینک دانلود و خرید پایین توضیحات

فرمت فایل word  و قابل ویرایش و پرینت

تعداد صفحات: 114

 

آموزش اسمبلی

برای یاد گرفتن اسمبلی باید با مبناهای عدد نویسی ، ساختمان داخلی کامپیوتر و برنامه نویسی آشنا باشیم . ما برنامه هایمان را مستقیما با اسمبلر 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: این یک ثبات کمکی است و معمولا در آدرس دهی ها شماره قطعه را نگهداری میکند . DIDataIndex:Dبا DS/ESا مرتبط است و عدد آفست را نگهداری میکند . IP: این رجیستر معلوم میکند که برنامه در حال اجرائی که در CS قرار دارد از کدام بایت قطقه (یعنی کدام آفست ) شروع میشود . به همین دلیل همیشه این دو ثبات را با هم و بصورت CS:IP نشان میدهند. و ... تمام رجیسترهای فوق 16 بیتی (دوبایتی ) هستند و اعداد دوبایتی را نگهداری میکنند. ثباتهای همه منظوره به دو نیم ثبات تک بایتی تقسیم میشوند . بایت بالائی ب نماد H و بایت پائینی با نماد L نشان داده میشود . مثلا ثبات AX دارای دو نیم - ثبات AH/AL است : | AH - 8 Bit | AL -8 Bit | تمرین : برای دیدن رجیسترها در DOS، DEBUG، را اجرا کنید و فرمان R را صادر کنید : D:\MASM>DEBUG-RAX=0000 BX=0000 CX=0000 DX=0000 SP=FFEE BP=0000 SI=0000 DI=0000DS=17AA ES=17AA SS=17AA CS=17AA IP=0100 NV UP EI PL NZ NA PO NC17AA:0100 0F

بیایید یک برنامه بنویسیم

در این قسمت میخواهیم با استفاده از مطالبی که در بخشهای قبلی یاد گرفتیم برنامه ای بنویسیم که کامل و قابل استفاده باشد . با این برنامه میتوانیم فلاپی دیسکهای خودمان را با سرعت کپی کنیم ! امروز برنامه را به شکلی مینویسیم که بتواند دیسکهای 1.44 را بوسیله درایو A کپی کند . بیشتر نیاز ما در کپی (تکثیر) دیسکها هم به همین شکل هست . با اینحال در قسمت بعدی نگارش (Version) جدیدتری از برنامه را مینویسیم و قابلیت تشخیص نوع دیسک و قابلیت مشخص کردن درایو را به آن اضافه میکنیم . بهترین کاری که میتوانیم بکنیم اینست که بتوانیم داده های خوانده شده از دیسک را در حافظه EMS بنویسیم (در این نسخه روی هارددیسک مینویسیم ) . وقتی که نحوه کار را حافظه گسترش یافته (Extended Memory) را هم یاد گرفتیم ، برنامه خود را کامل کرده و از آن بعنوان اولین دستختمان در برنامه نویسی اسمبلی لذت میبریم . لیست برنامه در زیر قرار دارد و توضیحات برنامه را روی آن میبینیم قبل از آن یاد آوری میکنم که هر دیسک HD َ1.44 دارای دو طرف و در هر طرف 80 شیار (Track) بوده و هر شیار هم به 18 بخش بنام قطاع (Sector) تقسیم میشود . برنامه ما باید محتوای تمام این قطاعها را خوانده و در فایلی روی دیسک سخت ذخیره کند. سپس همین داده ها را از فایل خوانده و مجددا روی دیسک جدید بنویسد. طول هر قطاع 512 بایت است EQU 512 SECTORSIZEتعداد شیار ها 80 شیار (79- 0-) است EQU 79 MAXTRACKهر دیسک دو طرف دارد EQU 2 NUMSIDESتعداد سکتور در هر شیار 18 تا است EQU 118 SECTOR_PER_TRACK E.MODEL SMALL.CODEORG 100HSTART:JMP MAINبافر برای ذخیره (0)BUF DB SECTORSIZE*SECTOR_PER_TRACK DUP



خرید و دانلود  آموزش اسمبلی 115 ص


آموزش اسمبلی 115 ص

لینک دانلود و خرید پایین توضیحات

فرمت فایل word  و قابل ویرایش و پرینت

تعداد صفحات: 114

 

آموزش اسمبلی

برای یاد گرفتن اسمبلی باید با مبناهای عدد نویسی ، ساختمان داخلی کامپیوتر و برنامه نویسی آشنا باشیم . ما برنامه هایمان را مستقیما با اسمبلر 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: این یک ثبات کمکی است و معمولا در آدرس دهی ها شماره قطعه را نگهداری میکند . DIDataIndex:Dبا DS/ESا مرتبط است و عدد آفست را نگهداری میکند . IP: این رجیستر معلوم میکند که برنامه در حال اجرائی که در CS قرار دارد از کدام بایت قطقه (یعنی کدام آفست ) شروع میشود . به همین دلیل همیشه این دو ثبات را با هم و بصورت CS:IP نشان میدهند. و ... تمام رجیسترهای فوق 16 بیتی (دوبایتی ) هستند و اعداد دوبایتی را نگهداری میکنند. ثباتهای همه منظوره به دو نیم ثبات تک بایتی تقسیم میشوند . بایت بالائی ب نماد H و بایت پائینی با نماد L نشان داده میشود . مثلا ثبات AX دارای دو نیم - ثبات AH/AL است : | AH - 8 Bit | AL -8 Bit | تمرین : برای دیدن رجیسترها در DOS، DEBUG، را اجرا کنید و فرمان R را صادر کنید : D:\MASM>DEBUG-RAX=0000 BX=0000 CX=0000 DX=0000 SP=FFEE BP=0000 SI=0000 DI=0000DS=17AA ES=17AA SS=17AA CS=17AA IP=0100 NV UP EI PL NZ NA PO NC17AA:0100 0F

بیایید یک برنامه بنویسیم

در این قسمت میخواهیم با استفاده از مطالبی که در بخشهای قبلی یاد گرفتیم برنامه ای بنویسیم که کامل و قابل استفاده باشد . با این برنامه میتوانیم فلاپی دیسکهای خودمان را با سرعت کپی کنیم ! امروز برنامه را به شکلی مینویسیم که بتواند دیسکهای 1.44 را بوسیله درایو A کپی کند . بیشتر نیاز ما در کپی (تکثیر) دیسکها هم به همین شکل هست . با اینحال در قسمت بعدی نگارش (Version) جدیدتری از برنامه را مینویسیم و قابلیت تشخیص نوع دیسک و قابلیت مشخص کردن درایو را به آن اضافه میکنیم . بهترین کاری که میتوانیم بکنیم اینست که بتوانیم داده های خوانده شده از دیسک را در حافظه EMS بنویسیم (در این نسخه روی هارددیسک مینویسیم ) . وقتی که نحوه کار را حافظه گسترش یافته (Extended Memory) را هم یاد گرفتیم ، برنامه خود را کامل کرده و از آن بعنوان اولین دستختمان در برنامه نویسی اسمبلی لذت میبریم . لیست برنامه در زیر قرار دارد و توضیحات برنامه را روی آن میبینیم قبل از آن یاد آوری میکنم که هر دیسک HD َ1.44 دارای دو طرف و در هر طرف 80 شیار (Track) بوده و هر شیار هم به 18 بخش بنام قطاع (Sector) تقسیم میشود . برنامه ما باید محتوای تمام این قطاعها را خوانده و در فایلی روی دیسک سخت ذخیره کند. سپس همین داده ها را از فایل خوانده و مجددا روی دیسک جدید بنویسد. طول هر قطاع 512 بایت است EQU 512 SECTORSIZEتعداد شیار ها 80 شیار (79- 0-) است EQU 79 MAXTRACKهر دیسک دو طرف دارد EQU 2 NUMSIDESتعداد سکتور در هر شیار 18 تا است EQU 118 SECTOR_PER_TRACK E.MODEL SMALL.CODEORG 100HSTART:JMP MAINبافر برای ذخیره (0)BUF DB SECTORSIZE*SECTOR_PER_TRACK DUP



خرید و دانلود  آموزش اسمبلی 115 ص


مقاله درمورد اسمبلی کامپیوتر

لینک دانلود و خرید پایین توضیحات

فرمت فایل word  و قابل ویرایش و پرینت

تعداد صفحات: 20

 

اسمبلی کامپیوتر

اسمبل کردن کامپیوتر اگر شما یک اتومبیل مثلاً از کمپانی فورد بخرید انتظار دارید که شاسی بدنه موتور گیربکس ساخت کمپانی فورد باشد یا لا اقل اختصاصاً برای کمپانی فورد ساخته شده مونتاژ شوند شرکتهای کامپیوتری کامپیوترهایی را تحویل شما می دهند این کامپیوترها از قطعاتی تشکیل شده اند که هر یک ساخت یک کمپانی است و آنها فقط کامپیوتر شما را اسمبل (مونتاژ) کرده اند.بیشتر قطعات کامپیوتری در آمریکا اختراع می شوند ولی تولید آنها در سراسر جهان صورت می گیرد و این گستردگی از هیچ قاعده ای پیروی نمی کند. کشورهای مختلف هر کدام یکسری قطعات خاص را تولید می کنند کمپانی های آمریکایی cpu را می سازند ( Intel, AMD ) مادربردها از تایوان می آیند.

هارد دیسکها در سنگاپور یا هندوستان ساخته می شوند. حافطه های RAM معمولاً در... کره ساخته می شوند و یک دو جین کارخانه چینی به تولید کیس مشغول هستند. قطعات محتلف با پیچها و کابلهای مورد نیاز ارائه می شوند که برای اسمبل کردن لازم هستند شما می توانید این قطعات را بخرید و کامپیوتر خود را اسمبل کنید. تنها وسیله لازم برای اسمبل کردن کامپیوتر پیچ گوشتی است و شما با چند ساعت مطالعه دفترچه راهنما می توانید آن را اسمبل کنید البته سرعت شما در برابر کسی که این عمل را به صورت حرفه ای انجام می دهد بسیار کمتر خواهد بود.

ساخت یک کارگاه ساخت چیپ ست برای اینتل یک میلیارد دلار خرج بر می دارد و از پیشرفته ترین تکنولوژیها استفاده می شود سپس این چیپ ست ( که ممکن است CPU پنتیوم 4 باشد ) داخل سلفون بسته بندی می شود و به فروشگاه هها ارسال می شود. برای نصب یک CPU روی مادربرد اهرم کنار سوکت CPU را روی مادربرد بلند کنید و CPU را جا بزنید قسمت مارک شده روی CPU را با قسمت مشابه روی سوکت مطابقت دهید و اهرم سوکت را ببندید. در حدود 12 پیچ مادربرد را به کیس متصل می کنند. چهار پیچ هر یک از درایوها را به کیس متصل می کنند. هر یک از مادربردها شکل خاص خود را دارند و با یکدیگر اشتباه نمی شوند ( به غیر از کابل فلاپی درایو که برای اولین بار ممکن است اشتباه شود) و علت آن این است که کلیه قطعات کامپیوتر و کابلهای آن بر اساس یک استاندارد جهانی ساخته می شوند با انواع دیگر قابل تعویض هستند.

راههای ارتباطی بین قطعات اگر سرعت تغییر نکند به همان شکل باقی می مانند باس ارتباطی PCI برای یک دهه است که بدون تغییر باقی مانده است کی برد از زمانیکه کامپیوتر اختراع شده است عملاً تغییری نکرده است، هر چند اجزایی که در سرعت نقش اساسی را ایفا می کنند تغییر کرده اند. از آن جمله می توان به موارد زیر اشاره کرد: هر چه CPU ها سریعتر می شوند ولتاژ کارشان کمتر، سرعت کلاک آنها بیشتر و احتمالاً تعداد پینهای بیشتری خواهند داشت و احتیاج به سوکتهای جدید دارند.

چیپ های حافطه سریعتر می شوند تا بسته های اطلاعاتی را با سرعت بیشتری به مادربرد انتقال دهند. همانند CPUها آنها با هر تولید جدید ولتاژ کمتری احتیاج دارند سرعت کلاک بیشتری دارند و تعداد پینهای بیشتری دارند. کارتهای ویدیویی یک اسلات AGP مخصوص خود دارند هر چند استانداردهای AGP با 3 استاندارد آمده اند در هر محصول جدید حداکثر سرعت دو برابر شده است اما ولتاژ از 3.3 ولت تا 1.5 ولت و بالاخره 0.8 ولت رسیده است سه ساختار مختلف برای این سوکتها موجود است اگر شما یک کارت گرافیک 1.5 ولتی را به یک سوکت 3.3 ولتی متصل کنید کارت و مادربرد هر دو را خواهید سوزاند البته بعضی از مادربردها بیش از یک استاندارد را قبول می کنند. هارد دیسکهای جدید سرعت بالا ( Ultra DMA ) را ساپورت می کنند.

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

اسمبل قطعات کامپیوتر

احتیاط ها :

قبل از این که شروع به نصب اجزا در داخل کیس کنیم , ما احتیاج به آشنا شدن با تعدادی احتیاط های پایه ای در رابطه با استفاده از تجهیزات داریم .

چیپ ها , پین ها و اتصالات روی قسمت های مختلف کامپیوتر , ظریف و حساس هستند . و بعد به کاربردن آن ها می تواند نتایج تاسف باری داشته باشد .همیشه باید سعی کنیم که کارت ها و سایر بردها را با گرفتن از لبه هایشان جابجا کنیم و مورد استفاده قرار دهیم . نباید اتصالات فلزی طلا رنگ روی چیپ های حافظه و کارت ها لمس شود , زیرا مایعات استخراج شده از انگشت ها مشکل ساز هستند و همیشه قبل از کار بر روی PC , حتما باید آن را از برق کشید .



خرید و دانلود مقاله درمورد اسمبلی کامپیوتر


اسمبلی کامپیوتر 16 ص

لینک دانلود و خرید پایین توضیحات

فرمت فایل word  و قابل ویرایش و پرینت

تعداد صفحات: 20

 

اسمبلی کامپیوتر

اسمبل کردن کامپیوتر اگر شما یک اتومبیل مثلاً از کمپانی فورد بخرید انتظار دارید که شاسی بدنه موتور گیربکس ساخت کمپانی فورد باشد یا لا اقل اختصاصاً برای کمپانی فورد ساخته شده مونتاژ شوند شرکتهای کامپیوتری کامپیوترهایی را تحویل شما می دهند این کامپیوترها از قطعاتی تشکیل شده اند که هر یک ساخت یک کمپانی است و آنها فقط کامپیوتر شما را اسمبل (مونتاژ) کرده اند.بیشتر قطعات کامپیوتری در آمریکا اختراع می شوند ولی تولید آنها در سراسر جهان صورت می گیرد و این گستردگی از هیچ قاعده ای پیروی نمی کند. کشورهای مختلف هر کدام یکسری قطعات خاص را تولید می کنند کمپانی های آمریکایی cpu را می سازند ( Intel, AMD ) مادربردها از تایوان می آیند.

هارد دیسکها در سنگاپور یا هندوستان ساخته می شوند. حافطه های RAM معمولاً در... کره ساخته می شوند و یک دو جین کارخانه چینی به تولید کیس مشغول هستند. قطعات محتلف با پیچها و کابلهای مورد نیاز ارائه می شوند که برای اسمبل کردن لازم هستند شما می توانید این قطعات را بخرید و کامپیوتر خود را اسمبل کنید. تنها وسیله لازم برای اسمبل کردن کامپیوتر پیچ گوشتی است و شما با چند ساعت مطالعه دفترچه راهنما می توانید آن را اسمبل کنید البته سرعت شما در برابر کسی که این عمل را به صورت حرفه ای انجام می دهد بسیار کمتر خواهد بود.

ساخت یک کارگاه ساخت چیپ ست برای اینتل یک میلیارد دلار خرج بر می دارد و از پیشرفته ترین تکنولوژیها استفاده می شود سپس این چیپ ست ( که ممکن است CPU پنتیوم 4 باشد ) داخل سلفون بسته بندی می شود و به فروشگاه هها ارسال می شود. برای نصب یک CPU روی مادربرد اهرم کنار سوکت CPU را روی مادربرد بلند کنید و CPU را جا بزنید قسمت مارک شده روی CPU را با قسمت مشابه روی سوکت مطابقت دهید و اهرم سوکت را ببندید. در حدود 12 پیچ مادربرد را به کیس متصل می کنند. چهار پیچ هر یک از درایوها را به کیس متصل می کنند. هر یک از مادربردها شکل خاص خود را دارند و با یکدیگر اشتباه نمی شوند ( به غیر از کابل فلاپی درایو که برای اولین بار ممکن است اشتباه شود) و علت آن این است که کلیه قطعات کامپیوتر و کابلهای آن بر اساس یک استاندارد جهانی ساخته می شوند با انواع دیگر قابل تعویض هستند.

راههای ارتباطی بین قطعات اگر سرعت تغییر نکند به همان شکل باقی می مانند باس ارتباطی PCI برای یک دهه است که بدون تغییر باقی مانده است کی برد از زمانیکه کامپیوتر اختراع شده است عملاً تغییری نکرده است، هر چند اجزایی که در سرعت نقش اساسی را ایفا می کنند تغییر کرده اند. از آن جمله می توان به موارد زیر اشاره کرد: هر چه CPU ها سریعتر می شوند ولتاژ کارشان کمتر، سرعت کلاک آنها بیشتر و احتمالاً تعداد پینهای بیشتری خواهند داشت و احتیاج به سوکتهای جدید دارند.

چیپ های حافطه سریعتر می شوند تا بسته های اطلاعاتی را با سرعت بیشتری به مادربرد انتقال دهند. همانند CPUها آنها با هر تولید جدید ولتاژ کمتری احتیاج دارند سرعت کلاک بیشتری دارند و تعداد پینهای بیشتری دارند. کارتهای ویدیویی یک اسلات AGP مخصوص خود دارند هر چند استانداردهای AGP با 3 استاندارد آمده اند در هر محصول جدید حداکثر سرعت دو برابر شده است اما ولتاژ از 3.3 ولت تا 1.5 ولت و بالاخره 0.8 ولت رسیده است سه ساختار مختلف برای این سوکتها موجود است اگر شما یک کارت گرافیک 1.5 ولتی را به یک سوکت 3.3 ولتی متصل کنید کارت و مادربرد هر دو را خواهید سوزاند البته بعضی از مادربردها بیش از یک استاندارد را قبول می کنند. هارد دیسکهای جدید سرعت بالا ( Ultra DMA ) را ساپورت می کنند.

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

اسمبل قطعات کامپیوتر

احتیاط ها :

قبل از این که شروع به نصب اجزا در داخل کیس کنیم , ما احتیاج به آشنا شدن با تعدادی احتیاط های پایه ای در رابطه با استفاده از تجهیزات داریم .

چیپ ها , پین ها و اتصالات روی قسمت های مختلف کامپیوتر , ظریف و حساس هستند . و بعد به کاربردن آن ها می تواند نتایج تاسف باری داشته باشد .همیشه باید سعی کنیم که کارت ها و سایر بردها را با گرفتن از لبه هایشان



خرید و دانلود  اسمبلی کامپیوتر 16 ص


تحقیق درباره اسمبلی

لینک دانلود و خرید پایین توضیحات

فرمت فایل word  و قابل ویرایش و پرینت

تعداد صفحات: 114

 

آموزش اسمبلی

برای یاد گرفتن اسمبلی باید با مبناهای عدد نویسی ، ساختمان داخلی کامپیوتر و برنامه نویسی آشنا باشیم . ما برنامه هایمان را مستقیما با اسمبلر 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: این یک ثبات کمکی است و معمولا در آدرس دهی ها شماره قطعه را نگهداری میکند . DIDataIndex:Dبا DS/ESا مرتبط است و عدد آفست را نگهداری میکند . IP: این رجیستر معلوم میکند که برنامه در حال اجرائی که در CS قرار دارد از کدام بایت قطقه (یعنی کدام آفست ) شروع میشود . به همین دلیل همیشه این دو ثبات را با هم و بصورت CS:IP نشان میدهند. و ... تمام رجیسترهای فوق 16 بیتی (دوبایتی ) هستند و اعداد دوبایتی را نگهداری میکنند. ثباتهای همه منظوره به دو نیم ثبات تک بایتی تقسیم میشوند . بایت بالائی ب نماد H و بایت پائینی با نماد L نشان داده میشود . مثلا ثبات AX دارای دو نیم - ثبات AH/AL است : | AH - 8 Bit | AL -8 Bit | تمرین : برای دیدن رجیسترها در DOS، DEBUG، را اجرا کنید و فرمان R را صادر کنید : D:\MASM>DEBUG-RAX=0000 BX=0000 CX=0000 DX=0000 SP=FFEE BP=0000 SI=0000 DI=0000DS=17AA ES=17AA SS=17AA CS=17AA IP=0100 NV UP EI PL NZ NA PO NC17AA:0100 0F

بیایید یک برنامه بنویسیم

در این قسمت میخواهیم با استفاده از مطالبی که در بخشهای قبلی یاد گرفتیم برنامه ای بنویسیم که کامل و قابل استفاده باشد . با این برنامه میتوانیم فلاپی دیسکهای خودمان را با سرعت کپی کنیم ! امروز برنامه را به شکلی مینویسیم که بتواند دیسکهای 1.44 را بوسیله درایو A کپی کند . بیشتر نیاز ما در کپی (تکثیر) دیسکها هم به همین شکل هست . با اینحال در قسمت بعدی نگارش (Version) جدیدتری از برنامه را مینویسیم و قابلیت تشخیص نوع دیسک و قابلیت مشخص کردن درایو را به آن اضافه میکنیم . بهترین کاری که میتوانیم بکنیم اینست که بتوانیم داده های خوانده شده از دیسک را در حافظه EMS بنویسیم (در این نسخه روی هارددیسک مینویسیم ) . وقتی که نحوه کار را حافظه گسترش یافته (Extended Memory) را هم یاد گرفتیم ، برنامه خود را کامل کرده و از آن بعنوان اولین دستختمان در برنامه نویسی اسمبلی لذت میبریم . لیست برنامه در زیر قرار دارد و توضیحات برنامه را روی آن میبینیم قبل از آن یاد آوری میکنم که هر دیسک HD َ1.44 دارای دو طرف و در هر طرف 80 شیار (Track) بوده و هر شیار هم به 18 بخش بنام قطاع (Sector) تقسیم میشود . برنامه ما باید محتوای تمام این قطاعها را خوانده و در فایلی روی دیسک سخت ذخیره کند. سپس همین داده ها را از فایل خوانده و مجددا روی دیسک جدید بنویسد. طول هر قطاع 512 بایت است EQU 512 SECTORSIZEتعداد شیار ها 80 شیار (79- 0-) است EQU 79 MAXTRACKهر دیسک دو طرف دارد EQU 2 NUMSIDESتعداد سکتور در هر شیار 18 تا است EQU 118 SECTOR_PER_TRACK E.MODEL SMALL.CODEORG 100HSTART:JMP MAINبافر برای ذخیره (0)BUF DB SECTORSIZE*SECTOR_PER_TRACK DUP



خرید و دانلود تحقیق درباره اسمبلی