Команды, оперирующие со стеком

Как Motorola 6800, так и Intel 8080 имеют 16-разрядньтй регистр — указатель стека и стек, котлрый расположен во внешнем ОЗУ Регистр—указатель стека МП Intel 8080 содержит адгес последнего байта, помещенного в стек; регистр—указатель стека МП Mptor^li 681)0 содержит адрес очередной пустой ячейки. .

Микропроцессор Intel 8080 использует стековые операции с двойными словами.

Команда PUSH помещает содержимое пары регистров в стек, а команда POP извлеченное из стека содержимое передает паре регистров. Содержимое стека наращивается вниз от верхушки памяти, т. ё. по команде PUSH центральный процессор уменьшает на два содержимое регистра—указателя стека. Этот прием адресации стека позволяет использовать младшие адреса ОЗУ для размещения данных, а остальные отводить для стека. Микропроцессор Intel 8080 может оперировать командами PUSH и POP с любой регистровой парой. Здесь регистровая пара 3 — это специальный 16-разр1ядный регистр, называемый регистром слова состояния процессора (PSW); его старшие восемь разрядов есть содержимое аккумулятора, а младшие восемь — признаки, распределенные, как показано на рис. 3.18. Когда МП Intel 8080 помещает содержимое регистровой пары в стек, он начинает с восьми старших разрядов. Конечно, команды И)Р изменяют этот порядок на противоположный.

Микропроцессор Motorola 6800 использует однословные операции со стеком. Команда PSH помещает содержимое аккумулятора в стек, a PUL помещает верхний байт из стека в аккумулятор. Команды PSH и PUL применимы и для работы с остальными регистрами МП.

Приведем несколько типичных примеров операций со стеками:

1. Intel 8080

a) PUSH D

Начальные условия:, (STACK POINTER) =173

(D) = 55

(E) = 37

Конечные условия: (STACK POINTER) - 171 (172) = 55 (171) = 37 6) POP H

Начальные условия: (STACK POINTER) = 200

(200) = 31

(201) = 0

Конечные условия. {STACK POINTER) = 202 (H) = 0 <L) - 31

2 Motorola 6800

а) PSHA

Начальные условия: (STACK POINTER) = 250

(A) = 64

Конечные условия (STACK POINTER) = 249 (250) = 64

б) PULB

Начальные условия (STACK POINTER) - 180 (181) = 72 Конечные условия. (STACK POINTER) = 181

(B) = 72

 



Мастер класс букеты из конфет в коробке.