Директивы ассемблера и ее трансляция

Команды, влияющие на флаги результата

 

Мнемоника Флаги
Команда 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