( 6809 ASSEMBLER ) VOCABULARY ASS IMMEDIATE ASS DEFINITIONS HEX 1 VARIABLE MODE 0 VARIABLE TER 0 VARIABLE REG : DP 3 MODE ! 0 REG ! 0 TER ! ; : IDX 2 MODE ! C@ ; 0 IDX ,X 20 IDX ,Y 40 IDX ,U 80 IDX ,X+ A0 IDX ,Y+ C0 IDX ,U+ 81 IDX ,X++ A1 IDX ,Y++ C1 IDX ,U++ 82 IDX ,-X A2 IDX ,-Y C2 IDX ,-U 83 IDX ,--X A3 IDX ,--Y C3 IDX ,--U 84 IDX X A4 IDX Y C4 IDX U 85 IDX B,X A5 IDX B,Y C5 IDX B,U 86 IDX A,X A6 IDX A,Y C6 IDX A,U 8B IDX D,X AB IDX D,Y CB IDX D,U 60 IDX ,S E0 IDX ,S+ E1 IDX ,S++ E2 IDX ,-S E3 IDX ,--S E4 IDX S E5 IDX B,S E6 IDX A,S EB IDX D,S 0C IDX ,PCR : ] 2 MODE @ = IF 10 OR ELSE 2 MODE ! 1F ENDIF ; : % 1 MODE ! ; ( DIRECT PAGE ) : # 0 MODE ! ; --> ( 6809 ASSEMBLER ) : INH C@ C, DP ; 3A INH ABX, 48 INH ASLA, 58 INH ASLB, 47 INH ASRA, 57 INH ASRB, 4F INH CLRA, 5F INH CLRB, 43 INH COMA, 53 INH COMB, 19 INH DAA, 4A INH DECA, 5A INH DECB, 4C INH INCA, 5C INH INCB, 48 INH LSLA, 58 INH LSLB, 44 INH LSRA, 54 INH LSRB, 3D INH MUL, 40 INH NEGA, 50 INH NEGB, 49 INH ROLA, 59 INH ROLB, 46 INH RORA, 56 INH RORB, 3B INH RTI, 39 INH RTS, 1D INH SEX, 3F INH SWI1, 13 INH SYNC, 4D INH TSTA, 5D INH TSTB, 12 INH NOP, : SWI2, 10 C, SWI1, ; : SWI3, 11 C, SWI1, ; 0 VARIABLE MODETAB -2 ALLOT FF C, 0 C, 60 C, 70 C, 0 C, 10 C, 20 C, 30 C, : ARG DUP C@ REG @ OR REG ! 1+ C@ TER @ 10 * OR TER ! ; --> ( 6809 ASSEMBLER ) 1 A ARG CCR, 2 8 ARG A, 4 9 ARG B, 6 0 ARG D, 8 B ARG DP, 10 1 ARG X, 20 2 ARG Y, 40 3 ARG U, 40 4 ARG S, 80 5 ARG PC, : EXG, 1E C, TER @ C, DP ; : TFR, 1F C, TER @ C, DP ; : PUSHPUL C@ C, REG @ C, DP ; 34 PUSHPUL PSHS, 35 PUSHPUL PULS, 36 PUSHPUL PSHU, 37 PUSHPUL PULU, CODE N! 3 ,X LDA, 0 X) STA, 0 ,X INC, 0= IF, 1 ,X INC, THEN, 2 ,X LDA, 0 X) STA, POPTWO JMP, FORTH : N, HERE N! 2 ALLOT ; : OPC MODE @ DUP MODETAB + C@ ROT + C, 3 AND MODE ! ; : ADDRM OPC MODE @ 1 = IF C, ELSE MODE @ 2 - IF N, ELSE ( INDEX ) DUP 80 AND IF C, ELSE DUP 1F = IF 80 OR C, N, ELSE DUP F AND C = IF ( ,PCR ) SWAP HERE - 2- DUP -80 < OVER 7F > OR IF 1- SWAP 81 OR C, N, ELSE SWAP 80 OR C, C, ENDIF --> ( 6809 ASSEMBLER ) ( ADDRM CONTINUED ) ELSE OVER DUP -11 > SWAP 10 < AND OVER 10 AND 0= AND IF SWAP 1F AND OR C, ELSE OVER DUP -81 > SWAP 80 < AND IF 88 OR C, C, ELSE 89 OR C, N, ENDIF ENDIF ENDIF ENDIF ENDIF ENDIF ENDIF DP ; : RM MODE @ IF C@ DUP 80 AND IF 4 MODE +! ENDIF ADDRM ELSE 1 3 ?ERROR ENDIF ; 8 RM ASL, 7 RM ASR, 3 RM COM, A RM DEC, C RM INC, 8 RM LSL, 4 RM LSR, 0 RM NEG, 9 RM ROL, 6 RM ROR, 87 RM STA, C7 RM STB, CD RM STD, CF RM STU, 8F RM STX, D RM TST, F RM CLR, E RM JMP, 9D RM JSR, : STS, 10 C, STU, ; : STY, 10 C, STX, ; --> ( 6809 ASSEMBLER ) : RRB MODE @ 0= IF 1 MODE ! ENDIF C@ ADDRM ; ( IMM. BYTE ENTSPR. DIRECT PAGE ) : RRW MODE @ 0= IF 3 MODE ! ENDIF C@ ADDRM ; ( IMM. WORD ENTSPR. EXTENDED ) 89 RRB ADCA, C9 RRB ADCB, 8B RRB ADDA, CB RRB ADDB, C3 RRW ADDD, 84 RRB ANDA, C4 RRB ANDB, 85 RRB BITA, C5 RRB BITB, 81 RRB CMPA, C1 RRB CMPB, 8C RRW CMPX, 88 RRB EORA, C8 RRB EORB, 86 RRB LDA, C6 RRB LDB, CC RRW LDD, CE RRW LDU, 8E RRW LDX, 8A RRB ORA, CA RRB ORB, 82 RRB SBCA, C2 RRB SBCB, 80 RRB SUBA, C0 RRB SUBB, 83 RRW SUBD, : CMPD, 10 C, SUBD, ; : CMPS, 11 C, CMPX, ; : CMPU, 11 C, SUBD, ; : CMPY, 10 C, CMPX, ; : LDS, 10 C, LDU, ; : LDY, 10 C, LDX, ; --> ( 6809 ASSEMBLER ) : IMM MODE @ IF 1 3 ?ERROR ELSE C@ C, C, DP ENDIF ; 3C IMM CWAI, 1C IMM ANDCC, 1A IMM ORCC, : IDXO MODE @ 2- IF 1 3 ?ERROR ELSE C@ ADDRM ENDIF ; 32 IDXO LEAS, 33 IDXO LEAU, 30 IDXO LEAX, 31 IDXO LEAY, : SEC 1A01 N, ; : CLC 1CFE N, ; : SEI 1A10 N, ; : CLI 1CEF N, ; : BRC C@ ; 24 BRC < 25 BRC >= 27 BRC NE 2C BRC 0< 2E BRC 0<= 22 BRC <= 2F BRC 0> 23 BRC > 2D BRC 0>= 2B BRC PL 26 BRC 0= 2A BRC MI 21 BRC TRUE 28 BRC VS 29 BRC VC : BRCH SWAP HERE 2+ - DUP FF00 AND IF SWAP 1+ C@ C, 1+ N, ELSE SWAP C@ C, C, ENDIF ; 16 20 BRCH BRA, 17 8D BRCH BSR, --> ( 6809 ASSEMBLER ) : IF, C, HERE 0 C, 2 ; : ELSE, 2 ?PAIRS 20 IF, ROT HERE OVER - 1- SWAP C! ; : ENDIF, ?EXEC 2 ?PAIRS HERE OVER - 1- SWAP C! ; : BEGIN, HERE 1 ; IMMEDIATE : AGAIN, ?EXEC 1 ?PAIRS BRA, ; : UNTIL, SWAP ?EXEC 1 ?PAIRS SWAP HERE 2+ - DUP FF00 AND IF 10 C, SWAP C, 2- N, ELSE SWAP C, C, ENDIF ; : WHILE, 1 ?PAIRS IF, 3 ; : REPEAT, ?EXEC 3 ?PAIRS 20 C, ( BRA ) ROT HERE 1+ - C, ENDIF, ; : BEGINL, 16 C, HERE 0 N, 4 ; ( LBRA ) : CONDL, ?EXEC 4 ?PAIRS HERE OVER - 2- OVER N! 2+ 1 ; : UNTILL, UNTIL, ; ;S