МПТ1 (775024), страница 4
Текст из файла (страница 4)
Характеристики ППЗУ КР556РТ4
-  
Емкость - 256х4 Бит
 -  
Время задержки - 70 нс
 -  
Потребляемая мощность - 690 мВт
 -  
Тип выхода - ТТЛ-ОК
 -  
Исходное состояние - 0
 
Составление программы
Программа на ассемблере
 
  
НАЧАЛО
 
 
 
СЧЕТЧИК=02Н
 
 
 
АККУМУЛЯТОР=
=1-ый справа байт кода
 
 
 
 
 
 Маскирование последних
3 бит АККУМУЛЯТОРА
 
 
 
 
 
 
 
 
 АККУМУЛЯТОР= 010В
 
 НЕТ
 
 
Сдвиг кода на разряд вправо
 
 
 
 
 СЧЕТЧИК=СЧЕТЧИК+1
 
 
 
 
 
 
 СЧЕТЧИК=32
 
 
 
 
Запись значения счетчика в память
 
 
 
СЧЕТЧИК=02Н
 
 
 
АККУМУЛЯТОР=
=1-ый слева байт кода
 
 
 
 
 
 Маскирование первых
3 бит АККУМУЛЯТОРА
 
 
 
 
 
 ДА
 
 
 
 АККУМУЛЯТОР= 01000000В
 
 
 
 
2 3
 
 1
1 2 3
 
 
 
 
 
 
 
 
 
Сдвиг кода на разряд влево
 
 
 
 
 СЧЕТЧИК=СЧЕТЧИК-1
 
 
 
НЕТ
 
 
 
 СЧЕТЧИК=1
 
 
 
 
Запись значения счетчика в память
 
 
 
КОНЕЦ
Для нормального функционирования программы необходимо предварительно занести входной код, предварительно поделенный на байты в следующие ячейки памяти: 0800Н - 0803Н (в 0800Н - крайний левый байт кода и т.д.) и 0804Н - 0807Н (в 0804Н - крайний левый байт кода и т.д.)
|   Адрес  |    Код  |    Метка  |    Команда  |    Комментарий  |  
|   0809  |    16  |    
  |    MVI D,O2H  |    Счетчик = 2  |  
|   080A  |    02  |    
  |    
  |    
  |  
|   080B  |    3A  |    M1  |    LDA 0803H  |    Загрузка первого справа байта кода в аккумулятор  |  
|   080C  |    03  |    
  |    
  |    
  |  
|   080D  |    08  |    
  |    
  |    
  |  
|   080F  |    E6  |    
  |    ANI 07H  |    Маскирование 3 последних бит аккумулятора  |  
|   0810  |    07  |    
  |    
  |    
  |  
|   0811  |    FE  |    
  |    CPI 02H  |    Сравнение аккумулятора с 010В  |  
|   0812  |    02  |    
  |    
  |    
  |  
|   0813  |    CA  |    
  |    JZ M2  |    
  |  
|   0814  |    37  |    
  |    
  |    
  |  
|   0815  |    08  |    
  |    
  |    
  |  
|   0816  |    A7  |    
  |    ANA A  |    Обнуление флага переноса  |  
|   0817  |    3A  |    
  |    LDA 0800H  |    
  |  
|   0818  |    00  |    
  |    
  |    
  |  
|   0819  |    08  |    
  |    
  |    
  |  
|   081A  |    1F  |    
  |    RAR  |    
  |  
|   081B  |    32  |    
  |    STA 0800H  |    
  |  
|   081C  |    00  |    
  |    
  |    
  |  
|   081D  |    08  |    
  |    
  |    
  |  
|   081E  |    3A  |    
  |    LDA 0801H  |    
  |  
|   0820  |    01  |    
  |    
  |    
  |  
|   0821  |    08  |    
  |    
  |    
  |  
|   0822  |    1F  |    
  |    RAR  |    
  |  
|   0823  |    32  |    
  |    STA 0801H  |    
  |  
|   0824  |    01  |    
  |    
  |    
  |  
|   0825  |    08  |    
  |    
  |    
  |  
|   0826  |    3A  |    
  |    LDA 0802H  |    
  |  
|   0827  |    02  |    
  |    
  |    
  |  
|   0829  |    08  |    
  |    
  |    Последовательный сдвиг  |  
|   082A  |    1F  |    
  |    RAR  |    байтов кода вправо  |  
|   082B  |    32  |    
  |    STA 0802H  |    
  |  
|   082C  |    02  |    
  |    
  |    
  |  
|   082D  |    08  |    
  |    
  |    
  |  
|   082E  |    3A  |    
  |    LDA 0803H  |    
  |  
|   082F  |    03  |    
  |    
  |    
  |  
|   0830  |    08  |    
  |    
  |    
  |  
|   0831  |    1F  |    
  |    RAR  |    
  |  
|   0832  |    32  |    
  |    STA 0803H  |    
  |  
|   0833  |    03  |    
  |    
  |    
  |  
|   0834  |    08  |    
  |    
  |    
  |  
|   0835  |    14  |    
  |    INR D  |    Прибавление к счетчику единицы  |  
|   0836  |    7A  |    
  |    MOV A, D  |    
  |  
|   0837  |    FE  |    
  |    CPI 20H  |    Сравнение значения счетчика с 32D  |  
|   0838  |    20  |    
  |    
  |    
  |  
|   083A  |    7A  |    M2  |    MOV A, D  |    
  |  
|   083B  |    32  |    
  |    STA 0808H  |    Запись первого результата в память  |  
|   083C  |    08  |    
  |    
  |    
  |  
|   083D  |    08  |    
  |    
  |    
  |  
|   083E  |    16  |    
  |    MVI D,1FH  |    Счетчик = 31  |  
|   083F  |    1F  |    
  |    
  |    
  |  
|   0840  |    3A  |    M3  |    LDA 0803H  |    Загрузка первого слева байта кода в аккумулятор  |  
|   0841  |    03  |    
  |    
  |    
  |  
|   0842  |    08  |    
  |    
  |    
  |  
|   0843  |    E6  |    
  |    ANI E0H  |    Маскирование 3 первых разрядов кода  |  
|   0844  |    E0  |    
  |    
  |    
  |  
|   0845  |    FE  |    
  |    CPI 40H  |    Сравнение аккумулятора с 0100 0000В  |  
|   0846  |    40  |    
  |    
  |    
  |  
|   0847  |    CA  |    
  |    JZ M4  |    
  |  
|   0848  |    6B  |    
  |    
  |    
  |  
|   0849  |    08  |    
  |    
  |    
  |  
|   084A  |    A7  |    
  |    ANA A  |    Обнуление флага переноса  |  
|   084B  |    3A  |    
  |    LDA 0804H  |    
  |  
|   084C  |    04  |    
  |    
  |    
  |  
|   084D  |    08  |    
  |    
  |    
  |  
|   084E  |    1F  |    
  |    RAL  |    
  |  
|   084F  |    32  |    
  |    STA 0804H  |    
  |  
|   0850  |    04  |    
  |    
  |    
  |  
|   0851  |    08  |    
  |    
  |    
  |  
|   0852  |    3A  |    
  |    LDA 0805H  |    
  |  
|   0853  |    05  |    
  |    
  |    
  |  
|   0854  |    08  |    
  |    
  |    
  |  
|   0855  |    17  |    
  |    RAL  |    
  |  
|   0856  |    32  |    
  |    STA 0805H  |    
  |  
|   0857  |    05  |    
  |    
  |    
  |  
|   0858  |    08  |    
  |    
  |    
  |  
|   0859  |    3A  |    
  |    LDA 0806H  |    
  |  
|   085A  |    02  |    
  |    
  |    
  |  
|   085B  |    08  |    
  |    
  |    Последовательный сдвиг  |  
|   085C  |    17  |    
  |    RAL  |    байтов кода влево  |  
|   085D  |    32  |    
  |    STA 0806H  |    
  |  
|   085E  |    06  |    
  |    
  |    
  |  
|   085F  |    08  |    
  |    
  |    
  |  
|   0860  |    3A  |    
  |    LDA 0807H  |    
  |  
|   0861  |    07  |    
  |    
  |    
  |  
|   0862  |    08  |    
  |    
  |    
  |  
|   0863  |    17  |    
  |    RAL  |    
  |  
|   0864  |    32  |    
  |    STA 0807H  |    
  |  
|   0865  |    07  |    
  |    
  |    
  |  
|   0866  |    08  |    
  |    
  |    
  |  
|   0867  |    15  |    
  |    DCR D  |    Вычитание из счетчика единицы  |  
|   0868  |    7A  |    
  |    MOV A, D  |    
  |  
|   0869  |    FE  |    
  |    CPI 02H  |    Сравнение значения счетчика с 1D  |  
|   086A  |    02  |    
  |    
  |    
  |  
|   086B  |    7A  |    M4  |    MOV A, D  |    
  |  
|   086C  |    32  |    
  |    STA 0809H  |    Запись второго результата в память  |  
|   086D  |    08  |    
  |    
  |    
  |  
|   086E  |    09  |    
  |    
  |    
  |  
|   086F  |    76  |    
  |    HLT  |    Останов программы  |  















