| back |  | Last regenerated: 2022-04-20 17:31:36 kio

# zasm - Z80 Assembler – Version 4.4

# Including C Source Files

[<prev] [next>]

| ### #cflags
    Assembler directives: #cflags
    Including C Source Files: #cflags#cflags <option1> <option2> ...
#insert: Examples: #assert: Example: incbin: Examples: #assert: Example:Example:
    Assembler directives: #cflags
    Including C Source Files: #cflags#cflags $CFLAGS --reserve-regs-iy
Define or modify the flags passed to the c compiler. This option is only useful Assembler directives: #if, #elif, #else, #endif Pseudo instructions: if, endif if you include c sources. Assembler directives: #cflags Including C Source Files: #cflags#cflags defines new flags for the c compiler. Assembler directives: #if, #elif, #else, #endif Pseudo instructions: if, endif If you just want to add another option, you can include the current flags with the keyword $CFLAGS. Some flags are always added and cannot be removed with Assembler directives: #cflags Including C Source Files: #cflags#cflags: The flags '-S' and '-mz80' for sdcc An include directory passed with "-I" on the command line. After your custom flags zasm adds '-o', the destination file name and the source file name. In case you use a different c compiler (i don't know whether this is possible) then you can modify passing of the source and destination file with the keywords $SOURCE and $DEST. ##### useful flags for sdcc:
    -Dname[=value]          Define Pseudo instructions: macro, .macro, endm and .endm
    8080 pseudo instructions: MACROmacro
    -Ipath                  Add to the header include path
    --nostdinc              Do not include the standard directory in the Assembler directives: #include
    Including C Source Files: #include#include search path
    --Werror                Treat warnings as errors
    --std-c89               Use C89 standard (slightly incomplete)
    --std-sdcc89            Use C89 standard with SDCC extensions (default)
    --std-c99               Use C99 standard (incomplete)
    --std-sdcc99            Use C99 standard with SDCC extensions
    --funsigned-char        Make "char" unsigned by default
    --disable-warning nnnn  Disable specific warning

    --callee-saves func[,func,...]  Cause the called function to save registers instead of the caller
    --all-callee-saves      all functions save and restore all registers
    --callee-saves-bc       all functions save/restore BC on entry/exit (Command Line Options: --z80
    Pseudo instructions: .z80, .z180 and .8080
    Targets: #target Z80z80 only)
    --fomit-frame-pointer   Leave out the frame pointer.
    --fno-omit-frame-pointer  Never omit frame pointer (Command Line Options: --z80
    Pseudo instructions: .z80, .z180 and .8080
    Targets: #target Z80z80 only)
    --stack-probe           insert call to function __stack_probe at each function prologue
    --no-c-code-in-asm      don't include c-code as comments in the asm file
    --no-peep-comments      don't include peephole optimizer comments
    --codeseg name          put code (and const's) in .area _name, e.g. --codeseg CODE => .area _CODE
    --reserve-regs-iy       Do not use IY (incompatible with --fomit-frame-pointer) (Command Line Options: --z80
    Pseudo instructions: .z80, .z180 and .8080
    Targets: #target Z80z80 only)

    --nogcse              No GCSE optimisation
    --nolabelopt          No Pseudo instructions: Label definition
    Numeric expressions: Labels
    8080 Assembler: Labelslabel optimisation
    --noinvariant         No optimisation of invariants
    --noinduction         No loop variable induction
    --nojtbound           No boundary check for jump tables (dangerous)
    --noloopreverse       No loop reverse optimisation
    --no-peep             No peephole assembly file optimisation
    --no-reg-params       Don't some parameters in registers (On some ports)  TODO: Command Line Options: --z80
    Pseudo instructions: .z80, .z180 and .8080
    Targets: #target Z80z80?
    --peep-asm            Do peephole optimization on inline assembly
    --peep-return         Do peephole optimization for return instructions
    --no-peep-return      No peephole optimization for return instructions
    --peep-file file      use this extra peephole file
    --max-allocs-per-node Maximum number of register assignments considered at each node of the tree decomposition
    --nolospre            Disable lospre. lospre is an advanced redundancy elimination technique,
                          essentially an improved variant of global subexpression elimination.
    --lospre-unsafe-read  Allow unsafe reads in lospre. code may sometimes read from random memory locations.
                          (should be ok for the Command Line Options: --z80
    Pseudo instructions: .z80, .z180 and .8080
    Targets: #target Z80z80, because it has no memory mapped i/o)

[<prev] [top] [next>]