Direct memory addressing in TURBO C/C++

Craig D. Berry x1710 berryc at arcturus.uucp
Sat Mar 9 07:07:32 AEST 1991


catfood at NCoast.ORG (Mark W. Schumann) writes:

>In article <MORGAN.91Feb27195403 at chaos.cs.brandeis.edu> morgan at chaos.cs.brandeis.edu (Dylan Kaufman) writes:
>>I have been trying to figure out how to do direct memory addressing in
>>C++.  The addressing I am thinking about in particular is done with
>>the keyword absolute in TURBO Pascal.  For example, to turn the Num
>>Lock key off :
>>var
>>  Key_Status_Bit : word absolute $0040:$0017;
>>begin
>>  Key_Status_Bits := (Key_Status_Bits and $DF);
>>end.
>>
>You can do this with--
>    * (unsigned int *) MK_FP (0x0040, 0x0017);
>MK_FP() is a macro that is defined in Turbo C (2.0 at least) and
>Mix Power C.  I think it is defined in MC.  This is NOT considered
>part of ANSI but it looks as if you are trying to do some very
>machine-dependent stuff anyway.

Note that for total safety, that should be (unsigned int far *).  This
would be the default in a large model program compilation, but it never
hurts to be careful...



More information about the Comp.lang.c mailing list