Исследование однокристального микропроцессора с фиксированным списком команд, страница 15

Таблица5.3

Программа

Адреса (L)

Команды

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

Комментарии

 

000

041

LXI H

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

 

001

202

B2

Мл. байт адреса

 

002

000

B3

Ст. байт адреса

 
 

003

176

MOV A, M

Читаем из памяти символ для левого разряда индикатора

 

004

323

OUT

Выводим символ в левый разряд

 

005

376

B2

Адрес левого разряда индикатора

 

006

043

INX H

Переходим к следующей ячейке памяти

 

007

176

MOV A, M

Аналогично для 2-го слева разряда индикатора

 

010

323

OUT

 

011

375

B2

 

012

043

INX H

 

013

176

MOV A, M

Для 3-го индикатора

 

014

323

OUT

 

015

374

B2

 

016

043

INX H

 

017

176

MOV A, M

Для 4-го индикатора

 

020

323

OUT

 

021

373

B2

 

022

021

LXI D

Инициализация параметра цикла

 

023

000

B2

Мл. байт

 

024

000

B3

Ст. байт

 

025

023

INX D

Увеличиваем параметр цикла на 1

 

026

172

MOV A, D

Перемещаем старший байт параметра цикла в аккумулятор для проверки

 

027

376

CPI

Проверка с фиксированным значением

 

030

200

B2

(Значение B2 достаточно условное)

 

031

302

JNZ

Проверка условия продолжения цикла

 

032

025

B2

Мл. байт адреса тела цикла

 

033

000

B3

Ст. байт адреса тела цикла

 

034

175

MOV A, L

Адресный регистр в аккумулятор

 

035

376

CPI

Проверяем значение адреса

 

036

222

B2

Адрес, считающийся конечным

 

037

312

JZ

В случае достижения конечного адреса, инициируем указатель заново

 

040

000

B2

Мл. байт адреса

 

041

000

B3

Ст. байт адреса

 

042

326

SUI

Уменьшаем значение адреса

 

043

002

B2

на 2

 

044

157

MOV L, A

Записываем обновленный адрес

 

045

303

JMP

Переход к выводу левого символа

 

046

003

B2

Мл. байт перехода

 

047

000

B3

Ст. байт перехода