Page 199 - 149
P. 199

Мітка           Код              Операнд           Коментар

                                       LDA              ITEM              ; Завантаження в акумулятор
                                       MVI              D,3               ; Задання числа зсувів
                                       SHV                                ; Зсув на 3 біти
                                       STA              ITEM              ; Запам’ятовування в пам’яті
                          При виконанні даного фрагмента модифікується значення індикатора С
                   (в команді RRC), а вміст регістра D є лічильником зсувів.
                          Можна  розширити  можливості  макрокоманди  SHV,  якщо  при
                   означенні її не вказувати ні конкретний регістр-лічильник, ні число зсувів, а
                   задати  їх  при  безпосередньому  зверненні  до  макрокоманди.  Тобто  мати
                   макрокоманду  з  формальними  параметрами.  Макрокоманда  SHV  з  двома
                   параметрами (регістр REG, число зсувів VOL) визначається у такий спосіб:
                       Мітка           Код              Операнд              Коментар
                       SHV             MACRO            REG, VOL             ; Приклад означення
                                       MVI              REG, VOL             ; макрокоманди

                       LOOP:           RRC
                                       ANI              7FH                  ; SHV з двома
                                       DCR              REG                  ; параметрами
                                       JNZ              LOOP
                                       ENDM
                          Тепер  при  зверненні  до  SHV  в  різних  місцях  прикладної  програми
                   можна  використовувати  як  лічильник  будь-який  вільний  регістр  і  задавати
                   змінне число зсувів. Наприклад, для зсуву вмісту комірки ITEM по 5 бітів з
                   регістром-лічильником L, необхідно записати:

                       Мітка           Код              Операнд             Коментар
                                       LDA              ITEM                ; Зсув вмісту
                                       SHV              L, 5                ; комірки з адресою ITEM
                                       STA              ITEM                ; на п’ять розрядів вправо
                          Ознайомившись           із     загальними         принципами          використання
                   макрокоманд,  зробимо  строге  визначення  кожного  етапу,  зв’язаного  з
                   означенням, зверненням і розширенням макрокоманд.

                          Означення  макрокоманд.    Означення  макрокоманди  має  такий
                   формат:
                       Мітка           Код              Операнд                      Коментар
                       <ім’я>          MACRO            <список параметрів>
                                       ***

                                                              макрокоманди
                                       Тіло
                                       ***
                                       ENDM





                                                                                                             200
   194   195   196   197   198   199   200   201   202   203   204