Page 80 - 149
P. 80

завантажує вміст комірки памяті,   адресованої з ВХ (рисунок 4.36).
















                         Рисунок 4.37- Адресація по базі            Рисунок 4.38-Пряма адресація
                                                                                    з індексуванням
                                                       Адресація по базі
                         При  адресації  по  базі  асемблер  вираховує    виконавчу  адресу
                  сумуванням зміщення  з вмістом регістрів ВХ або ВР. Наприклад, команда
                                MOV AX , [BX] +4
                  завантажує  регістр  АХ  даними  за  схемою,  приведеною  на  рисунку  4.36.
                  Асемблер дозволяє вказувати адресований по базі операнд такими способами:
                         MOV AX, [BP]+4
                         MOV AX, 4 [BP]
                         MOV AX, [BP+4].
                  Ці записи є еквівалентними.

                                             Пряма адресація з індексуванням
                         При прямій адресації  з індексуванням виконавча адреса вираховується
                  як сума зміщення та індексного регістру ( DI або  SI).
                         Наприклад,  якщо  мітка  B_TABLE  -  є  міткою  в  таблиці  слів,  то  для
                  завантаження  в  регістр  АХ  її  третього  елемента  треба  виконати  таку
                  послідовність команд:
                                MOV DI, 4
                                MOV AХ , TABLE [DI].
                         Алгоритм роботи команди поданий на рисунку 4.37. Таким чином цей
                  тип адресації корисний при роботі з одномірними таблицями.

                                             Адресація по базі з індексуванням
                         При адресації по базі з індексуванням виконавча адреса вираховується
                  як сума значення базового регістра, індексного регістра і, можливо, зміщення.
                  Даний  режим  адресації  є  доцільним  при  адресації  двомірних  масивів,  коли
                  базовий регістр вказує на початкову адресу масиву, а значення зміщення  та
                  індексного регістра є відповідно зміщенням по стрічках і стовпчиках.
                         Наприклад, нехай ЕОМ слідкує за шістьма запобіжними клапанами на
                  хімічному підприємстві. Вона зчитує їх стан кожні півгодини і запамятовує в
                  комірки памяті. За тиждень ці зчитування утворюють масив, який складається






                                                                                                               81
   75   76   77   78   79   80   81   82   83   84   85