.CHARSET 1251
; Прием текстовой строки с СОМ-порта и вывод ее в строку комментариев.
; Cкорость 9600, 8 бит, без контроля чётности.
;
.ORG 0
1 PP M 9070 ; Разрешение использования порта
CX
PP M 9072 ; Установить режим 8 бит
9 PP M 9071 ; Установить скорость 9600
0 PP M 9074 ; Режим автоматического приема разрешен
4 PP M 9073 ; Задержка между байтами при приеме 1,25*4 = 6 мс
1 PP M 9076 ; Прием
A1: PP RM 9076 ; Проверить окончание приема
F X=0 A1 ; пока не равно 0 - продолжать прием
Алгоритмы взяты из книги В.П. Дьяконова "Справочник по алгоритмам и программам на языке Бэйсик для персональных ЭВМ" и представляют собой программы 3.49-3.53. Использование программы 3.52 (простой метод Гаусса) в определенных случаях (например, при делении на ноль) приводит к останову МК (ОШ 125). Исполняемый код может быть загружен непосредственно из главного меню, путем выбора соответствующего СМП. По умолчанию матрица заполняется случайными целыми числами в диапазоне от -3 до 3, для ручного ввода элементов нужно после загрузки программы, до ее запуска набрать следующее: 40 INPUT A(I,J).
Несколько месяцев назад в своем блоге я писал про пробу QT-SDK - кроссплатформенного инструментария разработки ПО на языке программирования С++.
Благодаря Алексею Digitalinvitro Сугоняеву, который ведет разработку кода, данная "проба пера" развилась в совершенно новый проект: легендарный калькулятор МК-61 в новом обличье QT.
Программа Китайский год замотивировала меня посидеть пару вечеров с интернет-планшеткой.
В результате получился такой скрипт на языке Python, преобразующий монохромный BMP файл в некое подобие исходного текста программы MKL программируемых калькуляторов МК-152/161.
Увеличенный в 4 x 4 раза исходный BMP файл bw_32x32_face.bmp:
Пишет digitalinvitro: По определению СЕМИКО МК-161 - это платформа пром. контроллера, с этим ИМХО тут все согласны. Писать компилятор Си например в МК161 автокод СЕМИКО не станет - не принесет это прибыли. Это и есть интересы коммерции.
При изучении современных шифров требуется возводить степень и искать обратные числа в конечных полях. Эти вычисления вручную довольно трудоемки и если возведение в степень по модулю ещё может сделать калькулятор Винды, то деление надо программировать отдельно. Эта программа введенная в РПЗУ МК-52 или МК-152 может быть хорошим подспорьем студенту.
Перед первым запуском нажать [БП] [5] [7]
Деление С = (А / В) mod D
Вводить: [В/О] A [ПП] B [ПП] D [С/П]
Тест: (3 / 18) mod 257 = 43
Результат - на экране.