Изучение материалла по курсу "Основы радиоэлектроники и связи", страница 32

DW – запись констант в память программ;

; - директива открытия комментария до конца строки.

С1 equ 107 – определение константы (С1=107), т.е. С1 и 107 одно и то же.

Пример программы:

Segment bank0_bss

X1:    DS    16                        ; выделяется 16 переменных,

;причем X1 имя первой переменной

Segment bank1_bss

Y1:    DS    1                          ; выделяется 1 переменная

Segment code

ORG %0000

Init:   …

         …

Tabl: DW   %FF98,%1234    ;запись таблицы в память программ

C1:    DW   %5432                 ;запись константы в память программ

         END

13.7.4  Директивы типа операнда

%  - символ ставится перед операндом и означает его запись в шестнадцатиричном коде;

# -   символ ставится перед операндом и означает непосредственную адресацию;

@ - символ означает косвенную адресацию;

LOOP - символ означает использование цикла адресов.

13.7.5  Метки

Для организации операций перехода вместо адреса используется метка. Метка ставится перед командой и отделяется от нее  двоеточием. Эта же метка используется как операнд в командах перехода.

Фрагмент программы:

M1:   LD    A,#0

         ...

         JP      NZ,M1

...

13.7.6  Принцип ввода-вывода данных по прерываниям

Принцип заключается в использовании подпрограммы прерывания для ввода-вывода отсчетов сигнала, а основной программы для цифровой обработки.

Подпрограмма прерывания выполняется следующим образом. Если прерывания разрешены (бит 13 регистра состояния), то при появлении на входе INT положительного уровня сигнала (обычно этот сигнал синхронизирован с импульсами дискретизации поступающими на АЦП) основная программа прерывается, адрес, на котором она остановилась, заносится в стек, а в счетчик команд загружается адрес подпрограммы прерывания. Далее выполняется подпрограмма прерывания (ввод и/или вывод отсчета), завершающаяся командой возврата RET, по которой счетчик команд загружается адресом останова из стека и выполнение основной программы продолжается. Таким образом, процесс обработки сигналов в основной программе не синхронизирован с процессом поступления отсчетов под управлением подпрограммы прерывания. Для синхронизации следует вводить индикатор или счетчик прерываний – переменную, которую можно контролировать из основной программы. Как только основная программа провела очередной цикл обработки, она переходит в режим контроля индикатора или счетчика прерываний, т. е. ожидает поступления очередной порции отсчетов. Возможны и другие процедуры ввода-вывода данных без прерываний, но использование прерываний дает следующие преимущества:

-  наличие аппаратного входа INT для подачи импульсов дискретизации для синхронизации цифровой обработки (микропроцессоры не всегда имеют другие удобные для подачи импульсов дискретизации входы);

-  большую гибкость, например, легкость перехода от ввода одного отсчета к вводу пакета отсчетов;

-  асинхронная обработка отсчетов позволяет сделать программу обработки отсчетов независимой от программы ввода(вывода) отсчетов, что облегчает разработку и отладку программы в целом.