# 6502 SpASM (6502 Spreadsheet Assembler and Linker) v1.2.0 ![!test](6502_assembler.png) 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 #