Как принять строку символов из COM-порта и записать ее в строку комментариев?

| рубрика «Программы» | автор Vitasam
Метки: ,
.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 - продолжать прием

    0   PP M 9070   ; Запрет на использование порта
    0   PP M 9085   ; Смещение буфера приема на 0
        PP RM 9075  ; Количество принятых байтов
        P M 0       ; ... записать в регистр 0

A2:     PP RM 9087  ; Считать принятый байт с автоинкрементом
        P M 1       ; Запомнить его в регистре 1
        13 -        ; Вычесть код символа 'CR' (возврат каретки)
        F X!=0 A3   ; Если не 'CR' - выдать в строку комментария
        P RM 1
        PP M 9025   ; Выдать байт в строку комментариев

A3:     F L0 A2     ; Продолжать, пока не выведутся все байты

.END

После загрузки программы в МК-1хх и нажатия В/О С/П ЭКВМ переходит в режим ожидания приема строки из СОМ-порта.

Устанавливаем в терминальной программе нужные параметры порта и вывод локального эха, копируем из буфера обмена строку символов:

Вывод из терминала

В строке комментариев появляется:

Вывод из терминала