Page 146 - 4503
P. 146

у    подальшому  вивченні  функціонування  процесора  і
           створення  програм  керування.  Отже,  ще  раз  звернемося  до
           команд з метою визначення, а як саме розпізнаються  власне
           коди команд і коди їх операндів. Поки що ми мали справу з
           двома  типами  команд  —  ті,  котрі  мають  за  операнд  змінну
           величину  і  тому  вимагають  певної  зарезервованої  комірки  у
           пам’яті  даних  і  ті,  котрі  оперують  тільки  з  константами,  а
           отже  їм  не  потрібно  звертатися  до  пам’яті  даних.  Тож
           розпочнемо  з  тих,  які  передбачають  звернення  до  адреси.
           Серед  них  є  команди  з  прямою  адресацією  та  інші,  про  які
           йтиметься пізніше у лекції 6.
                Отже,  в  межах  цієї  лекції  розглянемо  формування
           машинних кодів команд і їх апаратне розпізнавання у межах
           процесора.  Будемо  розглядати  14–бітні  формати  команд,  які
           широко застосовують у нинішній мікропроцесорній техніці.

                5.2 Пряма адресація реґістра даних

                Даний  спосіб  адресації  застосовують  у  командах,  де
           вказуєть адресу реґістра даних, котрий є їхнім операндом. У
           випадку команди  movwf 32 операндом є регістр за адресою
           h’32’.   Пригадаємо,      що    позначкою      h    визначають
           шіснадцяткову  систему  числення.  У  мнемокодах,  котрі  тут
           представлені, буква h є не обов’язковою, а числа самі по собі
           сприймаються як шіснадцяткові. На рисунку 5.8 показано, що
           14–бітний код складається із таких частин [3]:
            —                     два найстарших біти 13..12 визначають
                до якого із типів команд відноситься дана команда.  Для
                команд прямої адресації ці біти мають значення 00.
            —                     чотири біти 11..8 це власне код команд.
                Саме він є унікальний для кожної з команд. Наприклад,
                movwf це код 0001, а movf – 1000.
                Власне  за цим кодом дешифратор визначає команди.


                                         146
   141   142   143   144   145   146   147   148   149   150   151