DosFlatToSel: Difference between revisions
Appearance
No edit summary |
mNo edit summary |
||
Line 1: | Line 1: | ||
This converts a 32 bit flat address to a 16:16 far pointer to be usable by 16 bit code. This routine is callable from 16 bit code. The result is returned in eax (selector=high word, offset=low word). | This converts a 32 bit flat address to a 16:16 far pointer to be usable by 16 bit code. This routine is callable from 16 bit code. The result is returned in eax (selector=high word, offset=low word). | ||
Line 9: | Line 5: | ||
==Parameters== | ==Parameters== | ||
; eax (register) : The flat address to be converted. This argument is not passed on the stack. | ;eax (register) : The flat address to be converted. This argument is not passed on the stack. | ||
==Timur Tabi Comments== | ==Timur Tabi Comments== |
Revision as of 14:32, 24 May 2019
This converts a 32 bit flat address to a 16:16 far pointer to be usable by 16 bit code. This routine is callable from 16 bit code. The result is returned in eax (selector=high word, offset=low word).
Syntax
void far* DOSFLATTOSEL(ULONG eax)
Parameters
- eax (register)
- The flat address to be converted. This argument is not passed on the stack.
Timur Tabi Comments
These are 16-bit and 32-bit conversion functions. They convert pointers in one memory model to another.[1]
I don't think they're part of the OS/2 API; rather, they are part of the compiler's runtime library. C Set++ has them also.