Использование пары регистров HL (имя регистра) в качестве указателя адреса является важным свойством типового МП.
Рассмотрим задачу сложение содержимого трех последовательных ячеек памяти и размещение суммы в следующей ячейке памяти.
Адрес | Содержимое |
. | |
. | |
. | |
Σ |
Программа загружается в ячейке памяти с 2000Н по 200А, а три слагаемых (ØС + ØА + Ø7) расположены в ячейке памяти в 2100 по 2102.
Программа содержит 7 команд. Так же следует помнить, что текущая сумма будет всегда помещаться в аккумулятор, который вначале содержит первое слагаемое ØС.
Команда 1– 3А: приказывает МП загрузить (LOAD) в аккумулятор содержимое ячейки памяти 2100Н.
После выполнения команды аккумулятор будет содержать первое слагаемое ØС.
Команда 2 – 21Н: приказывает МП загрузить (LOAD) число 2101Н в пару регистров HL. Емкость этой пары 16 бит (2 байта). Содержимое 1-ой ячейки памяти 2004 представляет собой младший байт регистра L, а 2005 старший байт регистра Н.
Команда 3 – 86Н: приказывает МП выполнить сложение (ADD) содержимого аккумулятора (ØС) с содержимым ячейки памяти, адрес которой содержится в паре регистров HL.
Команда 4 – 23Н: содержимое пары регистров HL инкрементируется.
Команда 5 – 86Н: сложить содержимое аккумулятора с содержимым ячейки памяти с адресом 2102, на который указывает пара регистров HL.
Команда 6 – 23Н: инкрементировать пару регистров HL.
Команда 7 – 77Н: поместить (STORE) содержимое аккумулятора (окончательную сумму) в ячейку памяти, на которую указывает пара регистров HL, т.е. по адресу 2103.