Автоматизированные системы контроля и управления РЭС, конспект лекций, страница 31

function Fun: integer

external; <внешняя функция>

begin

Writeln (Fun)

end.

Модуль ассемблера Libra.asm

.MODEL TPASCAL

.CODE

PUBLIC Fun

Fun PROC NEAR

mov ax, 13

ret

Fun ENDP

END

Модульное программирование.

Пример 2: программа ввода данных с модуля rd1 и вывода отсчетов на экран.

uses crt, rd1;

const

        SIZE=256; число отсчетов сигнала

type

        SIGNAL=array[1…SIZE] of integer

{$I display.pas}

var

     signal: SIGNAL; {массив отсчетов сигнала}

     ovf: byte; {флаг ошибки}

begin

{инициализация модуля}

InitBoard;

{установка частоты дискретизации 16 кГц}

Init53(round (FT/16e3), 64, 64);

{измерение}

Meas (SIZE, addr(signal_), RUN, ovf);

{вывод значений сигнала на экран}

display(SIZE, signal_, ovf);

end

Cтруктура модуля rd1.pas:

unit rd1

interface

{$ rd1.int}

implementation

uses crt

{$L rd1.obj} - подключение asm модуля rd1.asm

{$L dma.obj} - подключение asm модуля dma.asm

Procedure INIT_Board; external;

Procedure INIT_53 (div0, div1, div2: word); external;

function dma_setup (channel:word; Buffer:pointer; rmode, dma_chan:word; var ovf:byte):integer; external;

б) Си + ASSEMBLER.

Простая смешанная программа:

Модуль Си

#include <stdio.h>

extern int Fun(void)

main()

{

printf(²%d², Fun());  /*напечатать целое число*/

return 0;

}

Модуль Ассемблера

.MODEL SMALL, C

.CODE

PUBLIC Fun

_Fun PROC NEAR

          mov ax, 13

          ret

_Fun ENDP

END

5.4. Системы автоматизации программирования ССОД

Предназначены для сокращения сроков и трудозатрат создания ССОД. Заменяют традиционное программирование объектным программированием. Позволяют самому пользователю проектировать системы, наилучшим образом отвечающие его задаче.

В настоящее время существует достаточно много интегрированных пакетов или сред разработки подобного назначения, например: TestTeam, WaveTest, TMSL, WorkBenchPC, SuperScope, Labtech Notebook, ASYSTENT GPIB, TestCASE. Однако наиболее мощными и универсальными средами являются системы LabWindows и LabView фирмы National Instruments, которая является ведущей в области ССОД и виртуальных приборов.