# 6502 SpASM (6502 Spreadsheet Assembler and Linker) v1.2.2 ![!test](6502_assembler2.png) This is a ~~proof-of-concept~~ full-featured 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 6502_SpASM-v.x.y.xlsx file is the latest release. Instructions included in the spreadsheet. The 6502_SpASM-v.x.y-example.xlsx file contains an example with different modules linked. Possibly in an older version. ## 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/numeric values - 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) and "#>" and "#<" to reference MSB/LSB as values - display cycle count - ORG within code to define different starting addresses for modules - HEX pseudo-instruction to define HEX data and HEX fills. - ASC/STR pseudo-instructions to define text constants (with ASC, hi-bit is unset, while with STR, it is) - DCI/ADI/STI support to alternate the hibit of the last char - INV/FLS/BLK support for INVERSE/FLASH characters - 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) - supports commented code lines ## Revisions ### v1.2.2 (Feb 20, 2021) - fixed some bugs that invited themselves in v1.2.x, most notably two LDX/LDY addressing and globals that were not working anymore - fixed some highlighting and cleaned the conditional formatting rules ### v1.2.1 (Feb 18, 2021) - now supports commented code lines - added ADI/DCI - added SDI - added INV/FLS/BLK - added "HEX bytes,n" support - added "HEX one_byte," support - moved Example in another workbook that will get updates only if needed ### 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) ### 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.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 (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 #