Use this page to select the level of startup code you want to produce, the memory model, and the appropriate floating point format support.
The table below explains the options available on this page.
| Option | Description |
|---|---|
| Tiny | Assumes that data pointers have 8-bit addresses unless explicitly specified with the keyword __far. |
| Small | Use the Small memory model if both the code and the data fit into the 64-kilobyte address space. By default, all variables and functions are accessed with 16-bit addresses. The compiler supports banked functions or paged variables in this memory model, but all accesses must be explicitly handled. |
| Banked | Banked memory model uses banked function calls by default, but the default data access is still 16-bit. Because the overhead of the far function call is not very large, this memory model suits all applications with more than 64-kilobytes of code. Data paging can be used, however all far objects and pointers to them must be specially declared. |
| None | Select for the best code intensity. |
| Float is IEEE32, Double is IEEE32 optimized | All float and double variables are 32-bit IEEE32. Library is optimized, but loses some of the IEEE754 standard compliance. |
| Float is IEEE32, Double is IEEE64 optimized | All float variables are 32-bit/IEEE32 and Double variables are 64-bit/IEEE64. Library is optimized, but loses some of the IEEE754 standard compliance. |
| Minimal startup code | Produces the best code density. The startup code initializes the stack pointer and calls the main function. No initialization of global variables is done, giving you the best speed/code density and a fast startup time. The application code must address variable initialization. ANSI requires variable initialization and therefore this option is not ANSI compliant. |
| ANSI startup code | Initializes global variables/objects and calls the application main routine. |