1
0
mirror of https://github.com/tilleul/apple2.git synced 2024-12-11 02:49:27 +00:00
bitmap-editor/tools/6502_assembler/README.md
2021-02-15 09:40:46 +01:00

2.7 KiB

6502 SpASM (6502 Spreadsheet Assembler and Linker) v1.2.0

!test

This is a proof-of-concept full-featyres 6502 assembler with linker in a spreadsheet (works with Excel, Libre Office, etc.). If you're using Libre Office, you need Libre Office v7.1.x or later if you want to use the linker.

The XLSX file is the latest release. Instructions included in the spreadsheet.

Features

  • all the 6502 instructions plus a couple of pseudo-instructions
  • all addressing modes
  • global and local labels
  • EQUs to declare constants
  • use of +/- offsets with constants/labels
  • use of "#" to reference values
  • decimal notation by default (0-65535)
  • use of "$" for hexadecimal notation (2 bytes max)
  • use of "%" for binary notation (16 bits max)
  • use of ">" and "<" to point to MSB and LSB (2 bytes only)
  • display cycle count
  • ORG within code to define different starting addresses for modules
  • HEX pseudo-instruction to define HEX data
  • ASC/STR pseudo-instructions to define text constants (with ASC, hi-bit is unset, while with STR, it is)
  • syntax highlighting
  • linking of object modules (sheets) in the same workbook
  • global labels across the workbook
  • negative values are supported for decimal notation
  • error checking (highlighted in brown)

Revisions

v1.0 (Jan 31, 2021)

  • initial release

v1.0.1 (Jan 31, 2021)

  • fixed zp jmp/jsr
  • fixed ld_ #> and ld_ #<

v1.1 (Feb 6, 2021)

  • fixed bytes needed for some opcodes
  • added cycles display
  • added support of ORG in the middle of the code
  • added support for #label and #<label and #>label for HEX opcode

v1.1.1 (Feb 8, 2021)

  • fixed more bytes count for some opcodes
  • rewrote the byte count detection in order to avoid possible circular references
  • column D is now colored as comments, it's meant to be used as full-line comments
  • new official name "SpASM" !

v1.1.2 (Feb 8, 2021)

  • fixed instructions because columns were shifted with latest release
  • added syntax highlighting for SUBs
  • deleted Excel external link

v1.2.0 (Feb 15, 2021)

  • added linker
  • linker requires Libre Office v7.1.x or above (or MS Excel)
  • added globals labels page
  • removed more external links
  • little fixes here and there
  • removed Wagner's code samples
  • can reference ASCII values with ' or "
  • errors highlighting
  • added numerous examples in instructions_code sheet (used as a test sheet)

Licence

You may freely use, copy (etc) this spreadsheet for your own creations and you may also redistribute it on any kind of media as long as the "instructions" sheet is included and not modified. If you mention this file or distribute it elsewhere, please send me a message. I'm on Facebook's "Apple II Software Enthusiasts" and "Apple II Enthusiasts" groups, among others.