3.3.7 DS390 / DS400 Options
Keywords: sdccman

##
3.3.7 DS390 / DS400 Options

- [—model-flat24] Generate 24-bit flat mode code. This is the one and only that the ds390 code generator supports right now and is default when using -mds390. See section Memory Models for more details.
- [—protect-sp-update] disable interrupts during ESP:SP updates.
- [—stack-10bit] Generate code for the 10 bit stack mode of the Dallas DS80C390 part. This is the one and only that the ds390 code generator supports right now and is default when using -mds390. In this mode, the stack is located in the lower 1K of the internal RAM, which is mapped to 0x400000. Note that the support is incomplete, since it still uses a single byte as the stack pointer. This means that only the lower 256 bytes of the potential 1K stack space will actually be used. However, this does allow you to reclaim the precious 256 bytes of low RAM for use for the DATA and IDATA segments. The compiler will not generate any code to put the processor into 10 bit stack mode. It is important to ensure that the processor is in this mode before calling any re-entrant functions compiled with this option. In principle, this should work with the —stack-auto option, but that has not been tested. It is incompatible with the —xstack option. It also only makes sense if the processor is in 24 bit contiguous addressing mode (see the —model-flat24 option).
- [—stack-probe] insert call to function __stack_probe at each function prologue.
- [—tini-libid] <nnnn> LibraryID used in -mTININative.
- [—use-accelerator] generate code for DS390 Arithmetic Accelerator.