Директивы ассемблера и ее трансляция
Команды, влияющие на флаги результата
Мнемоника | Флаги |
Команда ADD A, <байт источника> | AC C OV |
Команда ADDC A, <байт источника> | AC C OV |
Команда ANL C, <бит источникa> | C |
Команда ANL C, </бит источникa> | C |
Команда CJNE <байт назначения>, <байт источника>, <смещение> | C |
Команда CLR C | C |
Команда CLR <bit> | bit |
Команда CPL C | C |
Команда CPL <bit> | bit |
Команда DA A | AC C |
Команда DIV AB | C=0 OV |
Команда MOV <бит назначения>, <бит источника> | C bit |
Команда MUL AB | C=0 OV |
Команда ORL C, <бит источникa> | C |
Команда ORL C, </бит источникa> | C |
Команда RLC A | С |
Команда RRC A | C |
Команда SETB C | C |
Команда SETB <bit> | bit |
Команда SUBB A, <байт источника> | AC C OV |
Кроме команд программа может содержать директивы ассемблера:
Ниже приводится пример записи на языке ассемблера текста программы TABLO.ASM:
Метка | Мнемокод | Операнды | Комментарий |
; Основная программа
MAIN: MOV R0,#20H ; начальный адрес массива в РПД
MOV DPTR,#20H ; адрес таблицы символов в ПП
MOV R7,#32 ; число элементов массива
LCALL TEXT ; вызов подпрограммы TEXT
MOV R0,#20H ; начальный адрес массива в РПД
MOV DPTR,#40H ; адрес таблицы символов в ПП
MOV R7,#32 ; число элементов массива
LCALL TEXT ; очистка экрана
SJMP MAIN ; зацикливание программы
; Подпрограмма заполнения массива ОЗУ
TEXT: CLR A ; очистка аккумулятора
MOVC A,@A+DPTR ; пересылка символа в А
MOV @R0,А ; пересылка символа в РПД
DJNZ R6,$ ; временная задержка
INC R0 ; увеличение указателей памяти
INC DPTR ; на единицу
DJNZ R7,TEXT ; организация цикла обработки
RET ; массива
; Таблица кодов отображаемых символов
ORG 20H
DB '▫▫DEAR▫▫FRIEND!▫WELCOME▫TO▫TOMSK'
ORG 40H
DB '▫▫▫▫▫▫▫▫▫▫▫▫▫▫▫▫▫▫▫▫▫▫▫▫▫▫▫▫▫▫▫▫' ; 32 пробела
END