Sirius 65816 Quick reference, v2.0, 3/01 NED --- C=-INST - Toggle insert mode shift-return - Insert a new line cursor keys, return - What you would expect insert, delete - Likewise shift-clear - Clear all text HOME - Set bookmark C=-HOME - Goto bookmark R/S - Forwards tab (move to next field) shift-R/S - Backwards tab F1 - Assemble F2 - Exit to ML monitor F7 - Disk menu CTRL-a - Delete characters to right of cursor -d - Delete line -D - Delete multiple lines -b/n - Move to beginning/end of line -B/N - Move to beginning/end of text -c/x - Copy/cut lines to clipboard -p - Paste line from clipboard -j/k - Move 40 columns left/right (max 240 columns) -i/m - Move 25 rows up/down -g - Goto line # -f/F - Find / Force new find -l/L - Find label -r/R - Find label in opcode field -o - Oops -- undo changes to current line -h - Help -= - Comment line of equals-signs -^ - Comment line of * -lira - Comment line of - -Z - Re-format all text -shift- <- - Exit to BASIC (SYS 1020 to re-enter) -1 thru 8 - Go to buffer 1-8 Assembler --------- R/S - Halt assembly <- - Toggle screen output label opcode argument comment * Fields must be separated by at least one space * Labels and opcodes are case insensitive * Arguements are 24-bit * Comments ;this is a comment * This is also a comment, provided * is in column 1 * Alternate mnemonics: BCC BLT BCS BGE DEC A DEA INC A INA JSR JSL (Long JSR) JMP JML (Force long JMP) BRK and COP may specify optional one-byte argument. * Quotes: Upper-case letters are 96-127 within single quotes, 192-223 within double quotes; space also has high bit clear/set. CMP #' ' ;CMP #32 CMP #" " ;CMP #160 TXT 'Hola' ;104 79 76 65 TXT "Hola" ;200 79 76 65 * Label '*' refers to address of current opcode * Local labels begin with : (e.g. :LOOP) * Prefixes Immediate mode: Operand One-byte result Two-byte result #$01020304 04 04 03 #<$01020304 04 04 03 #>$01020304 03 03 02 #^$01020304 02 02 01 (Sirius currently supports only 24-bits, not 32-bit) Absolute mode: < Force one byte (direct a.k.a. zero page) ! Force two bytes (absolute) > Force three bytes (abs long) Example: LDA $0203 and LDA !$010203 are equivalent. * Pseudo-Opcodes ORG address Set program ORiGin ORG $C000 ORG Re-ORG *= * Alternate syntax *= $C000 EQU or = EQUate label CHROUT = $FFD2 DFB or DB DeFine Byte DFB 100,$64,%1100100 DA or DW Define Address DA $FFD2 ;D2 FF DLA Define Long Address DA $0102 ;00 01 02 HEX Define hex bytes HEX 20D2FF ;20 D2 FF DS Define Storage DS 5 ;00 00 00 00 00 DS ^ Fill to page boundary DS ^,$3D ;$3D to boundary TXT TeXT TXT 'Hola' ;68 4F 4C 41 TXT "Hola",0d ;C8 4F 4C 41 0D DO arg Conditional assembly DO 0 ;Don't assemble ELSE Reverse last DO FIN End DO/ELSE constructs PUT 'file' Assemble from disk PUT 'test,s' ;SEQ file PUT 'test',9 ;PRG file, dev 9 BIN 'file' Include binary file BIN 'tables',9 PRT Redirect screen output to printer PRT 'file' Redirect screen output to disk file REG #arg Set 8/16-bit assembly (set status reg) REG ON Automatically follow REP and SEP (default) REG OFF Don't track REP and SEP Note: 8/16 tracking doesn't track E! REL Assemble as relocatable file EXT Label is external to file ENT Label is entry point AJam ---- a adr Assemble. Use !x !m !! to toggle X and M bits d Disassemble <- Backwards-disassemble !e Toggle emulation bit !d Toggle display mode !m Clear memory display in alternate display !j Toggle JSR following in single-stepping lira Toggle REP/SEP tracking , adr byte1 ... Re-disassemble p adr1 adr2 Disassemble range # Number conversion (hex, decimal, binary) r/e Display regs/alternate regs m [adr1] [adr2] Display memory [range] i [adr1] [adr2] Display memory+text [range] i* [adr1] [adr2] Display as screen codes h adr1 adr2 data Hunt. Data is either bytes or "string" f adr1 adr2 byte Fill t adr1 adr2 dest Transfer n adr1 adr2 adr3 dest Relocate (adr1=start, adr2=end, adr3=end vars) w Where am I? -- use to relocate Jammon ;^: Alter regs l "name",dev[,adr] Load s "name",dev,adr1,adr2 Save @ @$ @#dev @command Send disk command/change device/directory/error channel b adr Set breakpoint g [adr] Go z [adr] Zingle Ztep (Zet brkpoint und go!) x Exit (to editor) ? List command keys Memory Map ---------- $1000-$5000 Sirius $6000-$7800 Jammon $020000- Assembled source code $030000- Storage for Sirius and Jammon $040000- Source code