Jump to content

DosSelToFlat: Difference between revisions

From EDM2
Ak120 (talk | contribs)
Ak120 (talk | contribs)
 
(3 intermediate revisions by 2 users not shown)
Line 1: Line 1:
==Description==
This converts a 16:16 far pointer to a 32 bit flat address to be usable by 32 bit code. This routine is callable from 16 bit code. The result is returned in eax.
This converts a 16:16 far pointer to a 32 bit flat address to be usable by 32 bit code. This routine is callable from 16 bit code. The result is returned in eax.


Line 13: Line 12:
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.
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.


==Links==
[[Category:Dos]]
* [http://hobbes.nmsu.edu/h-viewer.php?dir=/pub/os2/dev/16-bit&file=inf16bit.zip 16 bit CP reference manual for OS/2 1.X]
 
[[Category:The OS/2 API Project]]

Latest revision as of 00:58, 18 January 2020

This converts a 16:16 far pointer to a 32 bit flat address to be usable by 32 bit code. This routine is callable from 16 bit code. The result is returned in eax.

Syntax

ULONG DOSSELTOFLAT(void far* eax)

Parameters

eax (register)
The pointer to be converted (selector=high word, offset=lowword). This argument is not passed on the stack.

Timur Tabi Comments

This 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.