<--  back   Last regenerated: 2017-07-25 18:23:10 kio

zasm - Z80 Assembler – Version 4.0

Assembler directives

#cflags

Assembler directives: #cflags
Including C Source Files: #cflags
#cflags <option1> <option2> ...

#insert: Examples:
#assert: Example:
incbin: Examples:
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: MACRO
macro -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 Z80
z80 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 Z80
z80 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 Z80
z80 only)   --nogcse No GCSE optimisation --nolabelopt No Pseudo instructions: Label definition
Numeric expressions: Labels
8080 Assembler: Labels
label 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 Z80
z80? --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 Z80
z80, because it has no memory mapped i/o)

Valid HTML   Valid CSS