S Гость
|
Добавлено: Ср Мар 27 2002 12:26 Заголовок сообщения: Re: Assembler |
|
|
У меня есть драйвера аналогово-цифрового преобразователя под ДОС. Помогите если можно переписать драйвера под 32-битную сегментацию данных. Компилятор С++Билдер ругается, что естественно на 16-битную.
;* Ассемблерный драйвер для платы ADC-12E содержащий *; ;* интерфейсные функции взаимодействия с платой для программ *; ;* написанных на языке 'Паскаль', 'Си'. *; ;* *; ;* Драйвер написан на языке Турбо Ассемблер (TASM 3.2). *; ;* *; ;* HOLIT Data Systems SoftWare Lab limited, Kiev, 23.03.98 *; ;****************************************************************;.. платы работают на машинах типа 286, 386, 486 и Pentium .286
; Все нижеприведенные функции и используемые указатели имеют тип FAR.
; Для компилирования для использования драйвера в программах на языке ; 'Си' необходимо использовать следующую директиву : .MODEL LARGE, C
LOCALS
.CODE ;***********************************************.. ОБЪЯВЛЕНИЕ ЭКСПОРТИРУЕМЫХ ФУНКЦИЙ
; Функции общего назначения:
PUBLIC SETBASEADDRESS12E ; установка базового адреса платы ; в адресном пространстве PC PUBLIC PLATATEST12E ; проверка наличия платы PUBLIC INIT12E ; инициализация платы
; Функции по работе с аналого-цифровыми каналами PUBLIC WAITADC12E ; ожидание готовности АЦП PUBLIC RESETADC12E ; сброс готовности АЦП PUBLIC SETCHANNEL12E ; установка номера канала PUBLIC PROGSTART12E ; программный запуск АЦП PUBLIC READADC12E ; однократный ввод с АЦП PUBLIC KADR12E ; однократный многоканальный ввод с АЦП по таймеру PUBLIC KADRP12E ; однократный многоканальный программный ввод с АЦП PUBLIC SOFT12E ; многоканальный ввод по таймеру
; Функции по работе с цифровыми (дискретными) ТТЛ линиями PUBLIC DIGIN12E ; чтение цифровых линий PUBLIC DIGOUT12E ; запись цифровых линий
; Функции для работы с таймерами PUBLIC SETTIMER12E ; программирование таймеров PUBLIC STOPTIMER12E ; остановка таймеров
;*********************************************************.. ОПИСАНИЕ ПЕРЕМЕННЫХ С АДРЕСАМИ ПОРТОВ
DataRG DW 378h ; адpес поpта pегистpа данных StatRG DW 379h ; адpес поpта pегистpа статуса CtrlRG DW 37Ah ; адpес поpта контpольного pегистpа
;************* Определение локальных переменных ***** CtrlByte DB 38h ; initbyte для DataRG
;***********************************************************.. ТЕКСТЫ ВЫШЕОПИСАННЫХ ФУНКЦИЙ
;**********************************************************.. ФУНКЦИЯ : void SETBASEADDRESS( int address ) * ;* устанавливает новый базовый адрес в простран ... |
|