При передаче символов через последовательный порт в устройство вывода (например, принтер с форматом ASCII) может возникнуть необходимость в выводе служебных сообщений, включающих сообщения об ошибках, диагностику или инструкции для оператора. Эти символьные строки просто описываются при помощи директивы DB.
CR EQU 0DH ; Код возврата каретки (ASCII)
LF EQU 0AH ; Код перевода строки
ESC EQU 1BH ; Код операции ESC
T1 EQU P3.5
TI EQU SCON.1
CALL STRING
DB CR,LF ; Установка новой строки
DB ‘HALLO!’ ; Сообщение
DB ESC ; Завершение
;..............
STRING: POP DPH ;Загрузка первого символа
POP DPL
STR1: CLR А
MOVC A,@A+DPTR ;Выборка первого символа
STR2: JNB Т1,$ ; Ожидание готовности
CLR TI
MOV SBUF,А ; Выдача символа
INC DPTR ; Сдвиг указателя
CLR A
MOVC A,@A+DPTR ; Выборка следующего символа
CJNE A,#ESC,STR2 ; Цикл чтения
MOV А,#1
JMP @A+DPTR ; Возврат к программе после чтения
|