7. Код программы
;кодирование
cpu6811;
org$00ee;вектор прерывания
jmp$d100;скачок на подпрограмму прерывания
org$c800;основная программа
ldx#$d000;ячейка для использования индексной ;адресации x в дальнейшем
ldd#$F774;запись правой части матрицы
std0,x;
ldd#$7BBA;
std2,x;
ldd#$CAF8 ;
std4,x;
ldd#$657C;
std6,x;
ldd#$32BE;
std8,x;
ldd#$EE6A ;
std10,x;
ldd#$8000;
std12,x;
ldd#$4000;
std14,x;
ldd#$2000;
std16,x;
ldd#$1000;
std18,x;
ldd#$0800;
std20,x;
ldd#$0400;
std22,x;
ldd #$0200
std24,x;
ldd #$0100
std26,x;
ldd #$0080
std28,x;
ldd #$0040
std30,x;
ldd #$0020
std32,x;
ldd #$0010
std34,x;
ldd #$0008
std36,x;
ldd #$0004
std38,x;
ldd #$0002
std40,x
clr #$d00f
staa$d011;счетчик
сli;разрешение прерываний
bra*;замкнутый цикл
org$d100;подпрограмма прерывания
clr #$d010;создание и очистка кармана
ldaa#6
ldab$1F03;загрузка информационного блока из ;порта в аккумулятор b
m2rolb;циклический сдвиг
bccm1;проверка 1 или 0 во флаге переноса
ldaa$d00f ;загрузка из кармана в аккумулятор
eora0,x;сумматор по модулю 2
staa $d00f
ldaa $d010
eora 1,x
staa$d010;возвращение в карман
m1inx;
dec$d011;уменьшение содержимого ячейки на 1
bnem2;если после 16 повторений цикла не 0, то ;возвращение на m2
inx
inx
ldaa$d010;загрузка содержимого кармана
staa$1F04;вывод проверочного блока
;декодирование
ldaa$1F03;загрузка информационного блока из ;порта в аккумулятор a
staa$d200;копирование информационного блока в ;ячейку
ldaa$1F04;загрузка проверочного блока из порта в ;аккумулятор a
staa$d202;копирование проверочного блока в ;ячейку
ldaa#6;
staa$d203;
ldaa#5;
staa$d204;
clr$d205;
ldx#$d000;ячейка для использования индексной ;адресации x в дальнейшем
m4lsl$d200;логический сдвиг влево содержимого ;данной ячейки
bccm3;проверка обнуления счетчика если да то ;переход по метке
ldaa$d205;загрузка в аккумулятор содержимого ;ячейки
eora0,x;сумматор по модулю 2
staa$d205;загрузка из аккумулятора в ячейку
m3inx;
dec$d203;
bnem4;безусловный переход
m6lsl$d202;логический сдвиг влево содержимого ;данной ячейки
bccm5;проверка обнуления счетчика если да то ;переход по метке
ldaa$d205;загрузка в аккумулятор значения ячейки
eora0,x;сумматор по модулю 2
staa$d205;загрузка из аккумулятора в ячейку
m5inx;
dec$d204;
bnem6;безусловный переход
ldy#$d100;ячейка для использования индексной ;адресации y в дальнейшем
ldab#$d205;запись из памяти в аккумулятор ячейки
aby;суммирование в индексном регистре до ;ячейки d205
ldaa0,y;
eora$1F03;сумматор по модулю 2
staa$1F05;декодированная последовательность
- 2.2. Разработка блочной схемы модуля асвк
- 14. Блочные систематические коды.
- 2.2. Процесс написания программного кода на языке ассемблера
- 9. Блочные коды. Систематические и несистематические коды.
- Средства и системы разработки микроконтроллеров.
- 43. Блочные двоичные коды
- 1.2. Линейные блочные коды
- Блочные коды. Избыточность кода. Расстояние Хэмминга. Вес слова.