For programs that manually construct function pointers from numeric literals and call them, the C standard only says that the behavior is undefined. This means that you cannot expect that the program will behave the same from computer to computer or even from launch to run on the same computer.
, :
IBM PC, MS-DOS, FFFF:0000 . ( F000:FFF0 - , , , , , , - , .) , , , .
, MK_FP , , IBM PC MS-DOS, FFFF:0000 .
( IBM PC) , . , MK_FP() 32- 64- , . , , , , , . , . DOS, , .
, - , , ! - , (Unix-family: reboot(2); Windows: ExitWindowsEx), .
, FFFF:0000 - , Linux x86. , , . . http://lxr.free-electrons.com/source/arch/x86/kernel/reboot.c#L484 http://lxr.free-electrons.com/source/arch/x86/realmode/rm/reboot.S , FFFF:0000 "" (16- ).