Добавил:
Studfiles2
Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз:
Предмет:
Файл:Операционная система MS-DOS / 1-2 Том / 276 / DBSP1A / LIBSRC / GET_DEVI
.C/**
*.Name get_devi
*
*.Title Џ®«гзЁвм Ёд®а¬ жЁо ®Ў гбва®©б⢥
*
*.Descr ”гЄжЁп Ї®«гз Ґв Ёд®а¬ жЁо ® д ©«Ґ
* Ё«Ё ®Ў гбва®©б⢥ Ї® ҐЈ® д ©«®ў®¬г ®¬Ґаг.
*
*
*.Proto int get_devi(int handle, int *info);
*
*.Params handle - д ©«®ўл© ®¬Ґа (奤«) ¤«п
* Є®в®а®Ј® Ґ®Ўе®¤Ё¬® Ї®«гзЁвм
* Ёд®а¬жЁо
*
* info - гЄ § ⥫м б«®ў®, ў Є®в®а®Ґ
* ¤®«¦ Ўлвм § ЇЁб Ёд®а¬ жЁп
*
*.Return 0 - Ґб«Ё Ґв ®иЁЎ®Є;
* Љ®¤ ®иЁЎЄЁ - Ґб«Ё Їа®Ё§®и« ®иЁЎЄ .
*
*.Sample show_di.c
**/
#include <stdio.h>
#include <dos.h>
#include "sysp.h"
int get_devi(int handle, int *info) {
union REGS reg;
// ‡ Ї®«пҐ¬ ॣЁбва®ўлҐ бвагЄвгал ¤«п ўл§®ў
// ЇаҐалў Ёп DOS INT 21h. Љ®¤ ЁбЇ®«м§гҐ¬®©
// Ї®¤дгЄжЁЁ - 00h.
reg.x.ax = 0x4400;
reg.x.bx = handle;
// ‚л§лў Ґ¬ ЇаҐалў ЁҐ
intdos(®, ®);
// Џа®ўҐа塞 д« Ј ЇҐаҐ®б
if(reg.x.cflag == 0) {
// …б«Ё д« Ј ЇҐаҐ®б бЎа®иҐ ў 0, ®иЁЎ®Є Ґв.
// ‡ ЇЁблў Ґ¬ Ёд®а¬ жЁо Ї® ¤аҐбг *info
*info = reg.x.dx;
return(0);
}
// …б«Ё д« Ј ЇҐаҐ®б гбв ®ў«Ґ ў 1, ў®§ўа й Ґ¬
// Є®¤ ®иЁЎЄЁ
else return(reg.x.ax);
}
Соседние файлы в папке LIBSRC