Sujet : Re: RP2350 and Pico 2 - things missing
De : none (at) *nospam* invalid.com (mm0fmf)
Groupes : comp.sys.raspberry-piDate : 23. Aug 2024, 14:15:33
Autres entêtes
Organisation : A noiseless patient Spider
Message-ID : <vaa21m$tla1$1@dont-email.me>
References : 1 2 3 4 5 6 7 8 9
User-Agent : Mozilla Thunderbird
On 23/08/2024 13:38, The Natural Philosopher wrote:
Not in any compiler I used.
It was in 16bit MS C Compiler, Watcom C, Borland C, Zorland/Zortech C/C++. In fact the availability of memory models exceeding small and large was a desirability of 8086 compilers. Such large code small data, small code, large data and huge (large code and large data). In fact the legacy of NEAR and FAR keywords lived on for a long time.
Certainly MS Visual Studio 2019 includes header files for code designed for Windows (windef.h) with the following legacy definitions still:
#ifndef pascal
#define pascal __ONLY_IN_WINELIB(__stdcall)
#endif
#ifndef _pascal
#define _pascal __ONLY_IN_WINELIB(__stdcall)
#endif
#ifndef __export
#define __export __ONLY_IN_WINELIB(__stdcall)
#endif
#ifndef near
#define near __ONLY_IN_WINELIB(/* nothing */)
#endif
#ifndef far
#define far __ONLY_IN_WINELIB(/* nothing */)
#endif
#ifndef _near
#define _near __ONLY_IN_WINELIB(/* nothing */)
#endif
#ifndef _far
#define _far __ONLY_IN_WINELIB(/* nothing */)
#endif
#ifndef NEAR
#define NEAR __ONLY_IN_WINELIB(/* nothing */)
#endif
#ifndef FAR
#define FAR __ONLY_IN_WINELIB(/* nothing */)
#endif
Segment registers still exist on x86-64 CPUS.