int bdos(int fnum, unsigned dx, unsigned al)
int bdosptr(int fnum, void *dsdx, unsigned al)
Прототип:
Описание:
Эти функции не определены стандартом ANSI С.
Функция bdos() используется для доступа к системному вызову DOS, указанному параметром fnum. Вначале она помещает значение dx в регистр DX, а значение al — в регистр AL, а затем выполняет инструкцию INT 0x21.
Если необходимо передать в качестве аргумента указатель, то надо использовать функцию bdosptr() вместо bdos(). Хотя для моделей памяти tiny, small и medium две эти функции работают эквивалентно, при использовании больших моделей памяти требуются 32-битные указатели. В этом случае указатель передается в DS:DX.
Обе функции bdos() и bdosptr() возвращают значение регистра АХ, используемого DOS для возвращения информации.
Пример:
Следующая программа читает символы непосредственно с клавиатуры, обходя все функции ввода/вывода С, до тех пор, пока не будет встречен символ «q»:
/* чтение с клавиатуры */
#include <dos.h>
int main(void)
{
char ch;
while((ch=bdos(1, 0, 0))!='q');
/* ... */
return 0;
}
/* чтение с клавиатуры */
#include <dos.h>
int main(void)
{
char ch;
while((ch=bdos(1, 0, 0))!='q');
/* ... */
return 0;
}