Изучение микропроцессора серии К580, страница 4

Стек растет в сторону младших адресов памяти. Сначала записывается байт из старшего регистра регистровой пары (В), затем младший байт (С). Также существенно то, что запись происходит по адресу, предшествующему тому, на который ссылается указатель стека. После выполнения команды PUSH B указатель стека SP = 000 200.

Содержимое памяти после исполнения программы:

Адрес                         Содержимое

000 200                       223

000 201                       332

Программа 3

Программа 3 реализует суммирование содержимое аккумулятора с содержимым ячейки памяти.

Таблица 3.

Адреса (L)

Команды

Мнемоника команд

Комментарии

000

041

LXI H

;Загрузка начального адреса памяти:

001

200

B2

;000 200

002

000

B3

003

076

MVI A

;Непосредственная загрузка одного из слагаемых в аккумулятор

004

010

B2

;010->A

005

206

ADD M

;Сложение содержимого аккумулятора с содержимым ячейки памяти

006

167

MOV M, A

;Запоминание значения суммы в ячейке памяти

007

166

HLT

;Останов

Исходные данные: (8 – в аккумуляторе)

Адрес              Содержимое

000  200          177         (127)

Результат выполнения программы:

Адрес             Содержимое

000  200          207         (135)

Результат выполнения программы правильный.

Программа 3.1

Программа 3.1. реализует вычитание двух чисел, одно из которых расположено в аккумуляторе. Результат выполнения фиксируется в памяти.

Таблица 4.

Адреса (L)

Команды

Мнемоника команд

Комментарии

000

041

LXI H

;Загрузка начального адреса памяти:

001

201

B2

;000 201

002

000

B3

003

176

MOV A,M

;Перемещение из памяти в аккумулятор

004

053

DCX H

; Формирование предыдущего адреса памяти

005

226

SUB M

;(A)-(M)->(A)

006

167

MOV M,A

;Сохранение результата в памяти

007

166

HLT

;Останов