CodeNet / Языки программирования / C / C++ / Руководства и справочные материалы по C/C++ / Справочники по функциям / Справочник по библиотечным функциям языка Си
_farptr_tolong - дальний указатель в длинное
Описание
_farptr_norm нормализует дальний указатель таким обра- зом, что смещение становится менее 16. _farptr_fromlong преобразует long к нормализованному дальнему указателю. Параметр задает линейный адрес от 0. _farptr_tolong преобразует дальний указатель к линейному адресу типа long, представленному данным указателем.
Использование
#include <dos.h> void far *_farptr_norm(void far *ptr); void far *_farptr_fromlong(long value); long _farptr_tolong(void far *ptr);
Возвращаемое значение
_farptr_norm возвращает нормализованный дальний указа- тель. _farptr_fromlong возвращает нормализованный даль- ний указатель. _farptr_tolong возвращает значение типа long.
Пример
#include <stdio.h> #include <dos.h> main() { void far * pin, far * pout; long value; pin = MK_FP(0x1100, 0x2678); pout = _farptr_norm(pin); printf("%lp после нормализации должен стать" "1367:0008, а фактически=%lp\n", pin, pout); value = 0xB7543; pout = _farptr_fromlong(value); printf("Преобразование 0x%lX в дальний указатель" "должно быть B754:0003, \n фактически=%lp\n", value, pout); pin = MK_FP(0xbB754, 0x0013>); value = _farptr_tolong(pin); printf("Преобразование %lp в long должно быть" "0xB7553, \n it actually is 0x%lX\n", pin, value); }