Аппаратное обеспечение IBM PC


         

формирование задержки по таймеру void


// Системные часы реального времени

#define RTC_GET_TIME 2 #define RTC_SET_TIME 3 #define RTC_GET_DATE 4 #define RTC_SET_DATE 5 #define RTC_SET_ALARM 6 #define RTC_CLEAR_ALARM 7

int timer(char, SYSTIMER *); // работа с часами // реального времени void tm_delay(int); // формирование задержки по таймеру void tm_sound(int, int); // формирование тона заданнной // длительности с использованием // таймера

void rnd_set(int); // инициализация генератора // случайных чисел int rnd_get(void); // получение случайного числа

typedef struct _AUX_MODE_ {

union {

struct { unsigned char len : 2, // длина символа stop : 1, // число стоп-битов parity : 2, // контроль четности stuck_parity : 1, // фиксация четности en_break_ctl : 1, // установка перерыва dlab : 1; // загрузка регистра делителя } ctl_word;

char ctl;

} ctl_aux;

unsigned long baud; // скорость передачи данных

} AUX_MODE;

int aux_init(AUX_MODE *, int, int); // инициализация // асинхронного адаптера

void aux_stat(AUX_MODE *, int); // определение режима // асинхронного адаптера void aux_outp(char, int); // вывод символа в // асинхронный адаптер char aux_inp(int); // ввод символа из асинхронного // адаптера

// Прототипы функций для работы с расширенной // памятью.

unsigned XMM_Installed();

long XMM_Version(void); long XMM_RequestHMA(unsigned); long XMM_ReleaseHMA(void); long XMM_GlobalEnableA20(void); long XMM_GlobalDisableA20(void); long XMM_EnableA20(void); long XMM_DisableA20(void); long XMM_QueryA20(void); long XMM_QueryLargestFree(void); long XMM_QueryTotalFree(void); long XMM_AllocateExtended(unsigned); long XMM_FreeExtended(unsigned); long XMM_MoveExtended(struct XMM_Move *); long XMM_LockExtended(unsigned); long XMM_UnLockExtended(unsigned); long XMM_GetHandleLength(unsigned); long XMM_GetHandleInfo(unsigned); long XMM_ReallocateExtended(unsigned,unsigned); long XMM_RequestUMB(unsigned); long XMM_ReleaseUMB(unsigned);

struct XMM_Move { unsigned long Length; unsigned short SourceHandle; unsigned long SourceOffset; unsigned short DestHandle; unsigned long DestOffset; };

// Прототипы функций для работы с дополнительной // памятью.

int ems_init(void); int ems_stat(void); int ems_fram(unsigned *); int ems_page(unsigned *, unsigned *); int ems_open(int, int *); int ems_clos(int *); int ems_map(int, int, int); int ems_ver(char *);


Содержание  Назад  Вперед