دانلود مقاله آموزش اسمبلی

Word 315 KB 17388 160
مشخص نشده مشخص نشده کامپیوتر - IT
قیمت قدیم:۳۰,۰۰۰ تومان
قیمت: ۲۴,۸۰۰ تومان
دانلود فایل
  • بخشی از محتوا
  • وضعیت فهرست و منابع
  • برای یاد گرفتن اسمبلی باید با مبناهای عدد نویسی ، ساختمان داخلی کامپیوتر
    و برنامه نویسی آشنا باشیم .
    ما برنامه هایمان را مستقیما با اسمبلر 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 نشان میدهند.
    و ...

    تمام رجیسترهای فوق 16 بیتی (دوبایتی ) هستند و اعداد دوبایتی را نگهداری میکنند.
    ثباتهای همه منظوره به دو نیم ثبات تک بایتی تقسیم میشوند . بایت بالائی ب
    نماد H و بایت پائینی با نماد L نشان داده میشود . مثلا ثبات AX دارای دو نیم -
    ثبات AH/AL است :
    | AH - 8 Bit | AL -8 Bit |


    تمرین :
    برای دیدن رجیسترها در DOS، DEBUG، را اجرا کنید و فرمان R را صادر کنید :


    D:\MASM>DEBUG
    -R
    AX=0000 BX=0000 CX=0000 DX=0000 SP=FFEE BP=0000 SI=0000 DI=0000
    DS=17AA ES=17AA SS=17AA CS=17AA IP=0100 NV UP EI PL NZ NA PO NC
    17AA:0100 0F











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

    در این قسمت میخواهیم با استفاده از مطالبی که در بخشهای قبلی یاد گرفتیم
    برنامه ای بنویسیم که کامل و قابل استفاده باشد . با این برنامه میتوانیم
    فلاپی دیسکهای خودمان را با سرعت کپی کنیم ! امروز برنامه را به شکلی مینویسیم که
    بتواند دیسکهای 1.44 را بوسیله درایو A کپی کند . بیشتر نیاز ما در کپی (تکثیر)
    دیسکها هم به همین شکل هست . با اینحال در قسمت بعدی نگارش (Version) جدیدتری از
    برنامه را مینویسیم و قابلیت تشخیص نوع دیسک و قابلیت مشخص کردن درایو را به آن
    اضافه میکنیم .
    بهترین کاری که میتوانیم بکنیم اینست که بتوانیم داده های خوانده شده از
    دیسک را در حافظه EMS بنویسیم (در این نسخه روی هارددیسک مینویسیم ) . وقتی که
    نحوه کار را حافظه گسترش یافته (Extended Memory) را هم یاد گرفتیم ، برنامه
    خود را کامل کرده و از آن بعنوان اولین دستختمان در برنامه نویسی اسمبلی لذت
    میبریم .
    لیست برنامه در زیر قرار دارد و توضیحات برنامه را روی آن میبینیم
    قبل از آن یاد آوری میکنم که هر دیسک HD َ1.44 دارای دو طرف و در هر طرف 80 شیار
    (Track) بوده و هر شیار هم به 18 بخش بنام قطاع (Sector) تقسیم میشود . برنامه
    ما باید محتوای تمام این قطاعها را خوانده و در فایلی روی دیسک سخت ذخیره کند.
    سپس همین داده ها را از فایل خوانده و مجددا روی دیسک جدید بنویسد.
کلمات کلیدی: اسمبل - اسمبلی

CPU تراشه enCorRe دستور پشتیبانی می‌کند. همه برنامه‌ها باید از این 37 دستور استفاده کنند. سیپرس یک مترجم مجانی ارائه می‌دهد که کدهای اسمبلی را که شما می‌نویسید به فایل‌های موضوع، که به منظور برنامه‌ریزی در EPROM تراشه تهیه می‌شوند، تبدیل می‌کند. اگر ترجیح دهید که در C برنامه‌نویسی کنید، سیپریس یک مفسر C نیز پیشنهاد می‌کند. اگر با برنامه‌نویسی اسمبلی میکروکنترلر آشنایی داشته ...

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

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

اسمبل کردن کامپيوتر اگر شما يک اتومبيل مثلاً از کمپاني فورد بخريد انتظار داريد که شاسي بدنه موتور گيربکس ساخت کمپاني فورد باشد يا لا اقل اختصاصاً براي کمپاني فورد ساخته شده مونتاژ شوند شرکتهاي کامپيوتري کامپيوترهايي را تحويل شما مي دهند اين کامپيوتر

نسخه اصلي Basic (که شامل symbolic instruction code begginers all purpose به معني «کد حاوي دستورات نمادين همه منظوره مخصوص نوآموزان» در کالج دارتموت در سال 1964 به عنوان زباني آموزشي ابداع گشت.يادگيري و طريقه استفاده از ساير زبانهايي که تا آن زمان وج

براي افزايش اندازه يک مقدار به کلمه يا کلمه مضاعف، با حفظ علامت، از دستورات گسترش استفاده مي شود. دستورات گسترش بيت علامت ثبات انباشتگر(AL/AX) را بسط مي دهند. CBW CWD ________________________________________ در بعضي از محاسبات خصوصا تقسيم و ضرب نيا

Microsoft .NET Microsoft . NET واژه اي که به مثابه يک چتر ، شماري از فن آوريهاي که اخيراً توسط شرکت مايکروسافت عرضه شده اند در بر مي گيرد . با کنار هم قرار گرفتن اين فن آوريها ، يک تحول اساسي در بستر توسعه مايکروسافت ، از زمان انتقال از سيستم 16 بي

اين بخش شرح مختصري پيرامون اجزاي اصلي يک سيستم کامپيوتري (حافظه و پردازنده)مي دهد، که باعث مي شود کاربر درک بيشتري نسبت به مفاهيمي که در طي برنامه اسمبلي با آن ها سرو کار دارد پيدا کند. حافظه واحدپردازش مرکزي _______________________________________

مفاهيم کلي به طور کلي نرم افزارهاي کامپيوتر به دو گروه تقسيم مي‌شوند: يکي برنامه‌هاي سيستمي که عمليات کامپيوتر را مديريت مي‌کنند و ديگري برنامه‌هاي کاربردي .سيستم عامل (operating system=os) اصلي ترين برنامه سيستمي است که به عنوان رابط بين کاربر و س

اصولاَ ساختار و مشخصات داخلي CPU و همچنين ثبات‌ها، قابليت‌هاي هر کامپيوتري، در کاتالوگ سيستم کامپيوتري مربوطه وجود دارد. در کاتلوگ مذکور ليست تمام دستورات، فرمت‌هاي مختلف دستورها، کد اجرايي و جزئيات هر دستور نوشته شده است بررسي و تجزيه و تحليل دستور

ثبت سفارش
تعداد
عنوان محصول