Микропроцессоры с изменяемой (наращиваемой) разрядностью слова и микропрограммным управлением (секционные микропроцессоры) на примере микропроцессора К1804, страница 3

В результате работы этой программы в ячейки с адресами 200 и 201 оказались записаны числа 010 и 001 соответственно.

Программа 2: Занесение данных в стек

Данная программа заносит в  стек содержимое регистров В и С, в которых записаны данные 010 и 001 соответственно.

Таблица №2

Адрес

Команда

Мнемоника

Комментарий

000

061

LXI SP

Установка указателя стека

001

202

B2

Младший байт адреса

002

000

B3

Старший байт адреса

003

001

LXI B

Запись данных в регистры B и C

004

001

 B2

B2à(C)

005

010

B3

B3à(B)

006

305

PUSH B

Запоминание в стеке регистровой пары BC

007

166

HLT

Останов

В ячейки  с  адресами 200 и 201 оказались записаны числа 001 и 010 соответственно. При записи в стек регистровой пары указатель стека уменьшается на два так как записывается двухбайтная информация. Указатель стека содержит адрес последнего записанного в него элемента .

Программа 3: Чтение данных из стека

Данная программа читает данные из стека, изменяет их и записывает обратно в стек.

Таблица №3

Адрес

Команда

Мнемоника

Комментарий

000

061

LXI SP

Загрузка начального адреса в указатель стека

001

200

B2

Младший байт адреса

002

000

B3

Старший байт адреса

003

301

POP B

Загрузка из стека регистровой пары BC

004

004

INR B

Увеличение содержимого регистра B на 1

005

015

DCR C

Уменьшение содержимого регистра C на 1

006

305

PUSH B

Запоминание в стеке регистровой пары BC

007

166

HLT

Останов