Carl-Henrik Skårstedt 53f69edc5a Documented FUNCTION in directives, added errors.md 2020-01-15 11:23:07 -08:00
command_line_options.md Expermenting with starting over on the x65 documentation 2020-01-11 12:58:26 -08:00
directives.md Documented FUNCTION in directives, added errors.md 2020-01-15 11:23:07 -08:00
errors.md Documented FUNCTION in directives, added errors.md 2020-01-15 11:23:07 -08:00
eval_functions.md Update eval_functions.md 2020-01-11 19:52:43 -08:00
macro_samples.md Adding markdown relative links 2020-01-11 13:04:00 -08:00
readme.md Documented FUNCTION in directives, added errors.md 2020-01-15 11:23:07 -08:00


x65 Assembler

x65 is an open source 6502 series assembler that supports object files, linking, fixed address assembling and a relocatable executable.

Assemblers have existed for a long time and what they do is well documented, x65 tries to accomodate most expectations of syntax from Kick Assembler (a Java 6502 assembler) to Merlin (an Apple II assembler).

For debugging, dump_x65 is a tool that will show all content of x65 object files, and x65dsasm is a disassembler intended to review the assembled result.

Noteworthy features:

  • Code with sections, object files and linking or single file fixed address, or mix it up with fixed address sections in object files.
  • Assembler listing with cycle counting for code review.
  • Export multiple binaries with a single link operation.
  • C style scoping within '{' and '}' with local and pool labels respecting scopes.
  • Conditional assembly with if/ifdef/else etc.
  • Assembler directives representing a variety of features.
  • Local labels can be defined in a number of ways, such as leading period (.label) or leading at-sign (@label) or terminating dollar sign (label$).
  • String Symbols system allows building user expressions and macros during assembly.
  • Reassignment of symbols and labels by default.
  • No indentation required for instructions, meaning that labels can't be mnemonics, macros or directives.
  • Supporting the syntax of other 6502 assemblers (Merlin syntax requires command line argument, -endm adds support for sources using macro/endmacro and repeat/endrepeat combos rather than scoeps).
  • Apple II GS executable output.

Command Line Options

Controls the assembler for the entire file

See Command Line Options


Controls the assembler on a line basis

See Directives

Eval Functions

Functions that returns values for use in expressions.

See Eval Functions

Macro examples

Some info about the included example x65macro.i file.

See Macro Samples

List of Errors

See Error List