BIT_MASK (bank, bitnumber) - маскирования бита в режиме bank.
DO_SET_BIT (bank, bit, time, background) - установить bit в регистре bank на время time в фоновом или основном режиме.
Процедуры таймирования:
PAUSE (timeout).
START_TIMER (timer) - запуск таймера.
TIMER_READ (timer, elapsed) - считывание текущего времени с записью в elapsed.
Пример программы с использованием такого рода процедур:
Измерение выходных ВАХ биполярного транзистора: ik=f(UКЭ, iб);
Имеющиеся устройства: ЦАП1 - UКЭ; ЦАП2 - Iб; АЦП - Iк.
Значения Iк поместим в массив I_C;
Используем процедуры: DA_OUT (channel, value) и AD_IN (channel, data, length, background).
Введем идентификаторы:
I_B_MIN dw 0
I_B_MAX dw 1000
U_CE_MIN dw 0
U_CE_MAX dw 20000
IO_B dw 100; приращение тока базы, мкА
U0_CE dw 200; приращение UКЭ, мВ
I_C dw 1000 DUP (0)
Для краткости запишем эту программу на языке Бейсик:
FOR I_B=I_B_MIN TO I_B_MAX STEP IO_B;
CALL DA_OUT (1, I_B);
FOR U_CE=U_CE_MIN TO U_CE_MAX STEP UO_CE;
CALL DA_OUT (2, U_CE)
CALL ADIN (1, I_C, 1000, 0)
CALL ACCUM (I_C, 100, IC_SR)
NEXT U_CE
NEXT I_B
Современные языки программирования высокого уровня предусматривают различные возможности подключения к ним программ, написанных на языке ассемблера. Рассмотрим их на примере гибридного программирования TP_ASM.
5.3. Гибридное программирование ССОД
Современные алгоритмические языки предусматривают включение в них ассемблерных процедур или функций, а также ассемблерных вставок.
а) PASCAL+ASSEMBLER.
В версии ТР6.0 и выше имеется встроенный ассемблер, что позволяет непосредственно включать в паскалевский текст ассемблерные вставки с помощью составного оператора asm end:
ASM
<операторы ассемблера>
Подключение asm – процедур.
Пример1.
Модуль языка Паскаль:
Program TPASCAL
{$L Libra.obj} <директива компилятора, подключение объектного файла Libra.obj>
Уважаемый посетитель!
Чтобы распечатать файл, скачайте его (в формате Word).
Ссылка на скачивание - внизу страницы.