Provided by: 64tass_1.54.1900-1_amd64 bug

NAME

       64tass - A multi pass optimizing macro assembler for the 65xx series of processors

SYNOPSIS

       64tass [OPTION]... [SOURCES]...

DESCRIPTION

       64tass  is  cross  assembler targeting the 65xx series of micro processors. This manual is
       only describing the command line options. The many features  are  described  in  the  HTML
       manual.

OPTIONS

       -o filename, --output filename
            Place  output  into  filename.  The  default  output filename is "a.out", this option
            changes it.

       --output-section sectionname
            Output this section instead of everything

       -X, --long-address
            Use 3 byte address/length for CBM and nonlinear  output  instead  of  2  bytes.  Also
            increases the size of raw output to 16 MiB.

       --cbm-prg
            Generate  CBM  format  binaries  (default).   The first 2 bytes are the little endian
            address of the first valid byte (start address). Overlapping blocks are flattened and
            uninitialized  memory  is filled up with zeros. Uninitialized memory before the first
            and after the last valid bytes are not saved. Up to  64  KiB  or  16  MiB  with  long
            address.

       -b, --nostart
            Output  raw  data  only  without start address.  Overlapping blocks are flattened and
            uninitialized memory is filled up with zeros. Uninitialized memory before  the  first
            and  after  the  last  valid  bytes  are  not saved. Up to 64 KiB or 16 MiB with long
            address.

       -f, --flat
            Flat address space output mode.  Overlapping blocks are flattened  and  uninitialized
            memory is filled up with zeros. Uninitialized memory after the last valid byte is not
            saved.  Up to 4 GiB.

       -n, --nonlinear
            Generate nonlinear output file.  Overlapping blocks are flattened. Blocks  are  saved
            in sorted order and uninitialized memory is skipped. Up to 64 KiB or 16 MiB with long
            address.

       --atari-xex
            Generate a Atari XEX output file.  Overlapping blocks are kept, continuing blocks are
            concatenated.   Saving   happens   in  the  definition  order  without  sorting,  and
            uninitialized memory is skipped in the output. Up to 64 KiB.

       --apple2
            Generate a Apple II output file (DOS 3.3).   Overlapping  blocks  are  flattened  and
            uninitialized  memory  is filled up with zeros. Uninitialized memory before the first
            and after the last valid bytes are not saved. Up to 64 KiB.

       --intel-hex
            Use Intel HEX output file format.  Overlapping blocks are kept, data is stored in the
            definition  order, and uninitialized areas are skipped. I8HEX up to 64 KiB, I32HEX up
            to 4 GiB.

       --s-record
            Use Motorola S-record output file format.   Overlapping  blocks  are  kept,  data  is
            stored in the definition order, and uninitialized memory areas are skipped. S19 up to
            64 KiB, S28 up to 16 MiB and S37 up to 4 GiB.

       -a, --ascii
            Use ASCII/Unicode text encoding instead of raw 8-bit.  Normally no  conversion  takes
            place,  this  is for backwards compatibility with a DOS based Turbo Assembler editor,
            which could create PETSCII files  for  6502tass.  (including  control  characters  of
            course)  Using  this  option will change the default "none" and "screen" encodings to
            map ´a´-´z´ and ´A´-´Z´ into the correct PETSCII range of $41-$5A and $C1-$DA,  which
            is  more  suitable  for an ASCII editor. It also adds predefined petcat style PETSCII
            literals to the default encodings, and enables Unicode letters in symbol names.   For
            writing sources in UTF-8/UTF-16 encodings this option is required!

       -B, --long-branch
            Automatic  BXX  *+5  JMP  xxx.  Branch  too  long messages can be annoying sometimes,
            usually they'll need to be  rewritten  to  BXX  *+5  JMP  xxx.  64tass  can  do  this
            automatically if this option is used. But BRA is not converted.

       -C, --case-sensitive
            Make  all  symbols  (variables, opcodes, directives, operators, etc.) case sensitive.
            Otherwise everything is case insensitive by default.

       -D label=value
            Defines a label to a value. Same syntax is allowed as in  source  files.  Be  careful
            with string quoting, the shell might eat some of the characters.

       -w, --no-warn
            Suppress warnings. Disables warnings during compile.

       --no-caret-diag
            Suppress displaying of faulty source line and fault position after fault messages.

       -q, --quiet
            Suppress messages. Disables header and summary messages.

       -T, --tasm-compatible
            Enable  TASM  compatible  operators  and precedence Switches the expression evaluator
            into compatibility mode. This enables ".", ":" and "!" operators and disables  64tass
            specific  extensions,  disables  precedence  handling  and  forces  16  bit  unsigned
            evaluation (see "differences to original Turbo Assembler" below)

       -I path
            Specify include search path.  If an included source or binary file can't be found  in
            the  directory  of the source file then this path is tried. More than one directories
            can be specified by repeating this option. If multiple matches exist the first one is
            used.

       -M file
            Specify make rule output file.  Writes a dependency rule suitable for 'make' from the
            list of files used during compilation.

       -E file, --error file
            Specify error output file.  Normally compilation errors a  written  to  the  standard
            error  output.  It's possible to redirect them to a file or to the standard output by
            using '-' as the file name.

       -Wall
            Enable most diagnostic warnings, except those  individually  disabled.  Or  with  the
            'no-' prefix disable all except those enabled.

       -Werror
            Make all diagnostic warnings to an error, except those individually set to a warning.

       -Werror=<name>
            Change  a  diagnostic  warning  to an error.  For example "-Werror=implied-reg" makes
            this check an error. The "-Wno-error=" variant is useful with "-Werror" to  set  some
            to warnings.

       -Walias
            Warns about alias opcodes.

       -Waltmode
            Warn  about  alternative  address  modes.  Sometimes alternative addressing modes are
            used as the fitting one is not available. For example there's no lda direct page y so
            instead data bank y is used with a warning.

       -Wbranch-page
            Warns  if a branch is crossing a page.  Page crossing branches execute with a penalty
            cycle. This option helps to locate them.

       -Wcase-symbol
            Warn if symbol letter case is used inconsistently.

       -Wimmediate
            Warns for cases where immediate addressing is more likely.   -Wimplied-reg  Warns  if
            implied  addressing  is  used  instead  of  register.  Some instructions have implied
            aliases like 'asl' for 'asl a' for compatibility reasons, but this shorthand not  the
            preferred form.

       -Wleading-zeros
            Warns  if  about leading zeros.  A leading zero could be a prefix for an octal number
            but as octals are not supported so the result will be decimal.

       -Wlong-branch
            Warns when a long branch is used.  This option gives a warning for instructions which
            were  modified  by  the  long  branch  function.   Less intrusive than disabling long
            branches and see where it fails.

       -Wno-deprecated
            Don't warn about deprecated features.  Unfortunately there were some  features  added
            previously  which  shouldn't  have been included. This option disables warnings about
            their uses.

       -Wno-float-compare
            Don't warn if floating  point  comparisons  are  only  approximate.   Floating  point
            numbers have a finite precision and comparing them might give unexpected results.

       -Wno-ignored
            Don't warn about ignored directives.

       -Wno-jmp-bug
            Don't  warn about the jmp ($xxff) bug.  It's fine that the high byte is read from the
            'wrong' address on 6502, NMOS 6502 and 65DTV02.

       -Wno-label-left
            Don't warn about certain labels not being on left side.  You may disable this if  you
            use  labels which look like mistyped versions of implied addressing mode instructions
            and you don't want to put them in the first column.

       -Wno-mem-wrap
            Don't warn for compile offset wrap around.  Continue from the beginning of image file
            once it's end was reached.

       -Wno-page
            Don't do an error for page crossing.

       -Wno-pc-wrap
            Don't  warn  for program counter wrap around.  Continue from the beginning of program
            bank once it's end was reached.

       -Wno-pitfalls
            Don't note on common pitfalls.  Experts don't need notes about how to fix things ;)

       -Wno-portable
            Don't warn about source portability problems.

       -Wno-star-assign
            Don't warn about ignored compound multiply.

       -Wold-equal
            Warn  about  old  equal  operator.   The  single  '='  operator  is  only  there  for
            compatibility reasons and should be written as '==' normally.

       -Woptimize
            Warn  about  optimizable  code.   Warns  on  things that could be optimized, at least
            according to the limited analysis done.

       -Wshadow
            Warn about symbol shadowing.  Checks if local variables 'shadow' other  variables  of
            same name in upper scopes in ambiguous ways.

       -Wstrict-bool
            Warn  about  implicit  boolean  conversions.   Boolean  values  can be interpreted as
            numeric 0/1 and other types as booleans. This is convenient but may cause mistakes.

       -Wswitch-case
            Warn about multiple switch case matches

       -Wunused
            Warn about unused constant symbols, any type.

       -Wunused-macro
            Warn about unused macros.

       -Wunused-const
            Warn about unused constants.

       -Wunused-label
            Warn about unused labels.

       -Wunused-variable
            Warn about unused variables.

       --m65xx
            Standard 65xx (default). For writing compatible code, no extra codes.   This  is  the
            default.

       -c, --m65c02
            CMOS 65C02. Enables extra opcodes and addressing modes specific to this CPU.

       --m65ce02
            CSG 65CE02. Enables extra opcodes and addressing modes specific to this CPU.

       -i, --m6502
            NMOS  65xx. Enables extra illegal opcodes. Useful for demo coding for C64, disk drive
            code, etc.

       -t, --m65dtv02
            65DTV02. Enables extra opcodes specific to DTV.

       -x, --m65816
            W65C816. Enables extra opcodes. Useful for SuperCPU projects.

       -e, --m65el02
            65EL02. Enables extra opcodes, useful RedPower CPU  projects.  Probably  you'll  need
            "--nostart" as well.

       --mr65c02
            R65C02. Enables extra opcodes and addressing modes specific to this CPU.

       --mw65c02
            W65C02. Enables extra opcodes and addressing modes specific to this CPU.

       --m4510
            CSG 4510. Enables extra opcodes and addressing modes specific to this CPU. Useful for
            C65 projects.

       -l file, --labels=file
            List labels into file. May be used multiple times.

       --vice-labels
            List labels in a VICE readable format.

       --dump-labels
            List labels for debugging.

       --labels-root=<path>
            Specify the scope to list labels from

       -L file, --list=file
            List into file. Dumps source code and compiled code into file. Useful for  debugging,
            it's much easier to identify the code in memory within the source files.

       -m, --no-monitor
            Don't  put  monitor code into listing. There won't be any monitor listing in the list
            file.

       -s, --no-source
            Don't put source code into listing. There won't be any source  listing  in  the  list
            file.

       --line-numbers
            This  option  creates a new column for showing line numbers for easier identification
            of source origin.

       --tab-size=number
            By default the listing file is using a tab size of 8 to align the  disassembly.  This
            can  be  changed to other more favorable values like 4.  Only spaces are used if 1 is
            selected. Please note that this has no effect on the source code on  the  right  hand
            side.

       --verbose-list
            Normally  the  assembler  tries  to minimize listing output by omitting "unimportant"
            lines. But sometimes it's better to just list everything including comments and empty
            lines.

       -?, --help
            Give this help list. Prints help about command line options.

       --usage
            Give a short usage message. Prints short help about command line options.

       -V, --version
            Print program version.

EXIT STATUS

       Normally the exit status is 0 if no error occured.

AUTHOR

       Written by Zsolt Kajtar.

REPORTING BUGS

       Online bug tracker: <http://sourceforge.net/p/tass64/bugs/>

COPYRIGHT

       Copyright   ©   2019   Zsolt   Kajtar.   License  GPLv2+:  GNU  GPL  version  2  or  later
       <http://gnu.org/licenses/gpl.html>.
       This is free software: you are free to change and redistribute it.  There is NO  WARRANTY,
       to the extent permitted by law.

SEE ALSO

       Full documentation at: <http://tass64.sourceforge.net/>