سؤال :
3-1-1 میکروپروسسور چگونه برنامه ها را اجرا می کند.دستورالعمل ها به چه شکلی به واحد کنترل آن منتقل می شوند.
3-1-2 زبان ماشین چیست و دستورالعمل ها در این زبان به چه شکلی هستند.
3-1-3 آیا باید یک دستورالعمل به زبان ماشین را برای میکروپروسسور ترجمه کرد.
3-1-4 زبان اسمبلی چیست و دستورالعمل ها در این زبان به چه شکلی هستند.
3-1-5 آیا زبان اسمبلی برای اجرا شدن نیاز به ترجمه دارد.چرا ؟
3-1-6 زبان ماشین و زبان اسمبلی را با هم مقایسه کنید. ( نکات مثبت و منفی )
3-1-7 برنامه هایی که به زبان های سطح بالا ( مانند C ) نوشته شده اند، چگونه روی میکروپروسسور اجرا می شوند.
3-1-8 چرا علیرغم اینکه غالب میکروپروسسورها زبان اسمبلی مخصوص خود دارند، اما یک زبان سطح بالا می تواند روی میکروپروسسورهای مختلف اجرا شود.
3-1-9 زبان اسمبلی و یک زبان سطح بالا را مقایسه کنید. ( نکات مثبت و منفی )
3-1-10 چرا روش های مختلف آدرس دهی داریم.
3-1-11 چهار روش آدرس دهی را نام برده و عملکرد آن ها را شرح دهید.
3-1-12 چهار روش آدرس دهی را نام برده و از هر کدام دو مثال بزنید.
3-1-13 به چند روش می توان رجیسترهای R16 تا R31 را مقدار داد. با دستورالعمل نشان دهید.
3-1-14 به چند روش می توان رجیسترهای R0 تا R15 را مقدار داد. با دستورالعمل نشان دهید.
3-1-15 حداکثر مقدار جابجایی در دستورالعمل LDD چقدر است. چرا؟
3-1-16 با کدام دستورالعمل می توان محتوای دو رجیستر را به دو رجیستر دیگر منتقل کرد. عملکرد آن را شرح دهید.
3-1-17 فرق دستورالعمل LPM با ELPM چیست. کاربرد ELPM در کدام میکروکنترلرها است.
3-1-18 عملکرد دستورالعمل های PUSH و POP را شرح دهید.
3-1-19 فرق دستورالعمل LSR با دستورالعمل ASR چیست. هرکدام در چه موردی به کار می روند.
3-1-20 فرق دستورالعمل LSR با دستورالعمل ROR چیست. عملکرد آن ها را با شکل نشان دهید.
3-1-21 فلگ ها چیستند. چگونه ایجاد می شوند. کاربرد آن ها چیست.
3-1-22 آیا فلگ ها در تمام دستورالعمل ها به روز ( تغییر ) می کنند.
3-1-23 فلگ ها در چه دستورالعمل هایی چک می شوند.
3-1-24 فرق دستورالعمل SUB با دستورالعمل CP چیست.
3-1-25 فرق دستورالعمل NEG با دستورالعمل COM چیست. کاربرد هر کدام چیست.
3-1-26 فرق چهار نوع دستورالعمل JMP چیست.
3-1-27 فرق دستورالعمل RET با دستورالعمل RETI چیست. هر کدام در چه موردی استفاده می شوند.
3-1-28 فرق دستورالعمل های BRSH و BRGE و BRPL چیست. هر کدام در چه موردی استفاده می شوند.
برنامه نویسی حافظه ها و پورت ها :
3-2-1 برنامه ای بنویسید که مقدار 45H را در پورت B بنویسد.
3-2-2 برنامه ای بنویسید که مقدار پورت D را خوانده و با اضافه کردن یک واحد به پورت A منتقل کنید.
3-2-3 برنامه ای بنویسید که عدد 00000001 را در پورت A به سمت چپ بچرخاند و این کار تکرار شود.
3-2-4 برنامه ای بنویسید که اسم شما را که در حافظه برنامه با حروف کوچک قراردارد به حافظه SRAM با حروف بزرگ منتقل کند.
3-2-5 برنامه ای بنویسید که اسم شما را که در حافظه برنامه تعریف شده است به حافظه SRAM به صورت بر عکس منتقل کند.
3-2-6 برنامه ای بنویسید که تعداد یک های 10 بایت که در حافظه برنامه قراردارد را به دست آورده و در خانه 245H حافظه SRAM قرار دهد.
3-2-7 برنامه ای بنویسید که تعداد 0 به 1 شدن یک کلمه که در حافظه برنامه تعریف شده است را بدست آورده و به پورت C منتقل کند.
3-2-8 برنامه ای بنویسید که عدد 3AH را در خانه 167 حافظه EEPROM بنویسد.
3-2-9 برنامه ای بنویسید که محتوای خانه 167 حافظه EEPROM را خوانده و به خانه 76H حافظه SRAM منتقل کند.
3-2-10 برنامه ای بنویسید که در یک کلمه در حافظه برنامه، تعداد پاترن 110 موجود را پیدا کند و در R16 قراردهد. بدون در نظر گرفتن هم پوشانی پاترن ها.
3-2-11 برنامه ای بنویسید که در یک کلمه در حافظه برنامه، تعداد پاترن 110 موجود را پیدا کند و در R16 قراردهد. با در نظر گرفتن هم پوشانی پاترن ها.
3-2-12 برنامه ای بنویسید که بزرگترین عدد یک بافر 10 بایتی تعریف شده در حافظه برنامه را به دست آورد و در رجیستر R16 قرار دهد. ( اعداد با علامت )
3-2-13 برنامه ای بنویسید که بزرگترین عدد یک بافر 10 بایتی تعریف شده در حافظه برنامه را به دست آورد و در رجیستر R16 قرار دهد. ( اعداد بدون علامت )
3-2-14 برنامه ای بنویسید که بزرگترین و کوچکترین عدد یک بافر 10 بایتی تعریف شده در حافظه برنامه را به دست آورد و در رجیسترهای R16 و R17 قرار دهد. ( اعداد با علامت )
3-2-15 برنامه ای بنویسید که یک بافر 10 بایتی تعریف شده در حافظه برنامه را از کوچک به بزرگ مرتب کرده و در حافظه SRAM قرار دهد. ( اعداد با علامت )
3-2-16 برنامه ای بنویسید که تاخیر حدود 76µs ایجاد کند. ( فرکانس AVR را 8MHz بگیرید.)
3-2-17 برنامه ای بنویسید که تاخیر حدود 76ms ایجاد کند. ( فرکانس AVR را 8MHz بگیرید.)
3-2-18 برنامه ای بنویسید که تاخیر حدود 7s ایجاد کند. ( فرکانس AVR را 8MHz بگیرید.)
3-2-19 برنامه ای بنویسید که مقدار عبارت زیر را به ازای مقدار x که در رجیستر R16 است به دست آورد. و نتیجه را در رجیسترهای R17 و R18 قرار دهد. Y=45x2 + 132x + 67