دانشگاه شهید بهشتی
ترم اول ۹۱-۹۰

زبان ماشین و اسمبلی

گروه درسی بر روی گوگل
استاد : دکتر احمد محمودی
کمک درس : عباس نادری ، علیرضا زباندان
کمک تدریس | زبان ماشین و اسمبلی - دانشگاه شهید بهشتی - ترم اول سال تحصیلی ۹۱-۹۰ | تمرینات سری چهارم
آخرین به روز رسانی : 1398/8/6

تمرینات سری چهارم


پاسخ‌ها

محاسبات

نکته : برای تمرینات این سری، در مواردی که قید شده «به عنوان ورودی بگیرید» بدین منظور است که با استفاده از تابع c scanf ورودی بگیرید.

  1. ۱۰ نمره

    تمرین اول : جابجایی با جمع

    برنامه‌ای بنویسید که دو عدد a,b را از ورودی گرفته، با استفاده از عملیات جمع مقدار آنها را جابجا کرده، a,b را خروجی دهد.

  2. ۲۰ نمره

    تمرین دوم : جمع بزرگ

    برنامه‌ای بنویسید که ۸ عدد ۳۲ بیتی ورودی گرفته، حاصل جمع چهارتای اول آنها با چهارتای دوم آنها را در مبنای ۱۶ خروجی دهد. اعدادی که ورودی گرفته می‌شوند به ترتیب از پر ارزش به کم ارزش ورودی گرفته می‌شوند :
    a0 a1 a2 a3
    b0 b1 b2 b3 +

  3. ۱۵ نمره

    تمرین سوم : تفریق بزرگ

    برنامه‌ای بنویسید که به مانند سوال قبل، ۸ عدد ۳۲ بیتی ورودی گرفته، ایندفعه چهارتای اول را منهای چهارتای دوم کرده خروجی را در مبنای ۱۶ نمایش دهد.

  4. ۱۵ نمره

    تمرین چهارم : ضرب

    برنامه‌ای بنویسید که با دریافت یک عدد ۳۲ بیتی، ابتدا حاصلضرب ۸ بیت کم ارزش آن در ۸ بیت دوم کم ارزش (بیت ۸ الی ۱۶) و سپس در خط بعدی حاصلضرب ۱۶ بیت کم ارزش و ۱۶ بیت پر ارزش آنرا خروجی دهد.

  5. ۴۰ + ۳۰ + ۲۰ نمره

    تمرین پنجم : دیباگ

    برنامه پیوست را دریافت کرده (برنامه در یک فایل فشرده قرار دارد و ۳۲ بیتیست)، آنرا اجرا کنید. برنامه سه راز دارد که مرحله به مرحله با تشخیص رمز درست آنها را در اختیار شما قرار می‌دهد. با استفاده از gdb سعی کنید رمز برنامه را کشف کنید و رازهای آنرا استخراج کنید. به عنوان پاسخ باید seed سیستمتان به همراه رازهای کشف شده را ارسال کنید. قابل ذکر است که رازهای دوم و سوم نمره امتیازی دارند.

    توجه داشته باشید که رازها بر روی هر سیستمی متفاوت هستند و شما نمی‌توانید از رازهای کشف شده توسط دیگران استفاده نمایید. همچنین برای گشودن فایلهای فشرده tar.gz در لینوکس از دستور زیر استفاده کنید :

    tar -zxvf assignment4.tar.gz	

نحوه ارسال

لطفا ابتدا نحوه ارسال تمرینات کلی را مطالعه کنید. هر برنامه را تنها در قالب فایل متنی ساده (بدون قالب بندی) و با پسوند .asm ارسال نمایید. برای تمرین آخر حتما باید ابتدا seed و سپس هر تعداد رازی که کشف کرده‌اید در بدنه ای‌میل ارسال کنید. در صورت عدم ارسال seed از شما پذیرفته نمی‌شود. شنبه ۱۹ آذر ۹۰

بازگشت

Site Footer

Sliding Sidebar