; DIS-ASSEMBLER FOR MC 6809 (SORCIM ACT69 FORMAT) ; CPU DEPENDING PART ; ; 1983.5.1. VER.1.00 ; 1983.6.25 VER.1.05 ; 1983.7.31 VER.1.05A ; 1983,9,22 VER.1.06 ; ; EQUATIONS OF EXTERNAL & ENTRY SYMBOLS ; ENTRY STRTMD ;START MODE SET UP ROUTINE ENTRY LOOPIN ;LOOP INITIALIZE ROUTINE ENTRY SETDB ;SET DEFINE BYTE PSUDO LINE ENTRY SETDW ;SET DEFINE WORD PSEUDO LINE ENTRY SETBDT ;SET BYTE DATA ENTRY SETWDT ;SET WORD DATA ; ENTRY IXMNEM ;MNEMONIC MAIN INDEX ENTRY IXMAIN ;MAIN ROUTINE INDEX ; ENTRY PORG ;ORIGINATE PSUDO DATA POINT ENTRY PEQU ;EQUATION PSUDO DATA POINT ENTRY PEND ;END PSUDO DATA POINT ; ENTRY ASMTYP ;MAKE FILE TYPE (SOURCE FILE) ENTRY CSTUP ;START UP COMMENT ENTRY CPAGE ;PAGE TOP COMMENT ENTRY CTAG ;TAG DATA ENTRY MENDCD ;END CODE POINT ; EXT GETYN ;GET YES NO RESPONSE EXT COPY ;COPY DATA EXT ENDLIS ;ONE LINE END PROCESS EXT STLBOR ;SET LABEL DATA EXT LOOPDL ;LINE DECODE LOOP FOR INDEXED EXT SRCHCD ;SEARCH CODE EXT SETLOC ;SET LOCATION DATA EXT SETBYT ;SET BYTE DATA ; EXT WKOPCD ;OPCODE POINT IN WORK EXT BCODE ;INPUT FILE CODE BUFFER EXT PCURNT ;CURRENT PROGRAM ADDRESS ; ; EQUATIONS OF DATA ; CR EQU 0DH ;CARIAGE RETURN FF EQU 0CH ;FORM FEED LF EQU 0AH ;LINE FEED ; ; OPTION SELECTION AT START POINT ; STRTMD: RET ; ; ONE LINE DECODING LOOP INITIALIZE ROUTINE ; OUTPUT ; HL:LINE END ROUTINE POINTER ; LOOPIN: MVI A,-1 STA MENDCD ;RESET END CODE MODE LXI H,ENDLIN RET ; ; END PROCESS OF ONE LINE ; ENDLIN: JMP ENDLIS ;TO MAIN END ROUTINE ; ; SET UP OF LABELED OPERAND ; SLOPDT: ;DATA LABEL MVI C,'D' JMP STLBOP ; SLOPPR: ;PROGRAM LABEL MVI C,'A' JMP STLBOP ; SLOPTB: ;TABLE LABEL MVI C,'T' STLBOP: MOV A,M INX H MOV L,M MOV H,A ;GET ADDRESS JMP STLBOR ; ; SET DEFINE BYTE ; SETDB: POP H ;CANCEL CODE POINTER SETDBS: CALL CLROPA ;CLEAR OPCODE & OPRAND AREA LXI H,PDB CALL SETOPC ;SET 'DB ' MVI B,1 ;ONE BYTE MVI A,-1 STA MENDCD ;RESET END MODE LDA BCODE ;GET CODE CALL SETBDT ;SET BYTE DATA MVI A,' ' STAX D ;SET ' ' code INX D STAX D INX D ; MVI A,';' STAX D INX D LDA BCODE ;get code ANI 7FH CPI ' ' JNC ASCOK MVI A,'.' ASCOK: STAX D INX D RET ; ; SET DEFINE WORD ; SETDW: LXI H,PDW CALL SETOPC ;SET 'DW ' POP H MVI B,2 ;TWO BYTE DATA JMP SLOPPR ;SET AS PROGRAM LABEL ; ; SET OPCODE TO BUFFER ; INPUT ; HL:OPCODE DATA POINT ; OUTPUT ; DE:OPERAND BUFFER POINT ; SETOPC: LXI D,WKOPCD ;OPCODE DATA BUFFER LXI B,4 ;LENGTH OF OPCODE CALL COPY LXI D,WKOPCD+8 ;OPERAND BUFFER POINT RET ; ; SET COMMA ; SETCOM: PUSH PSW MVI A,',' STAX D INX D POP PSW RET ; ; CLEAR OPCODE & OPERAND AREA ; CLROPA: LXI H,WKOPCD MVI B,26 CLRLIL: MVI M,' ' ;FILL BY SPACE INX H DCR B JNZ CLRLIL MVI M,0 ;SET END CODE RET ; ; SET WORD DATA ; INPUT ; HL:DATA ; DE:BUFFER POINTER ; SETWDT: PUSH PSW MVI A,'$' STAX D INX D CALL SETLOC ;SET ADDRESS POP PSW RET ; ; SET BYTE DATA ; INPUT ; A:DATA ; DE:BUFFER POINTER ; SETBDT: PUSH PSW MVI A,'$' STAX D INX D POP PSW JMP SETBYT ; ; set 8bit offset ; input ; a:data ; de:buffer pointer ; SET8OF: CPI 80H ;+127,-128 JC SETBDT ;PLUS STMNUS: PUSH PSW ;MINUS MVI A,'-' STAX D INX D POP PSW CMA INR A JMP SETBDT ; ; SET END CODE MODE ; STENDC: XRA A STA MENDCD ;SET END CODE MODE RET ; ; EACH INSTRUCTION ROUTINE ; ; INPUT ; A:CODE ; B:LENGTH OF CODE ; DE:OPERAND DATA BUFFER POINT ; HL:CODE DATA BUFFER POINT ; ; ONE BYTE NO OPERAND ; OBNOOP: RET ;DO NOTHING ; OBNOPE: ;NO OPERAND END CODE JMP STENDC ; ; ABSOLUTE PROGRAM ADDRESSING ; ABSOLT: INR B INR B ; + 2 BYTES JMP SLOPPR ;PROGRAM ADDRESS ; ABSOLD: ;DATA ADDRESS INR B INR B ; + 2 BYTES JMP SLOPDT ; ; RELATIVE END CODE ; RELATE: CALL STENDC ; ; RELATIVE ; RELATV: INR B ; + 1 BYTE PUSH D MOV A,M INX H MOV E,A RAL SBB A ;GET SIGN MOV D,A RELATS: LHLD PCURNT ;GET CURRENT ADDRESS MOV A,B INX H ;TO NEXT OPCODE POINT DCR A JNZ $-2 DAD D ;GET ADDRESS POP D MVI C,'A' JMP STLBOR ;SET AS PROGRAM ADDRESS ; ; LONG RELATIVE END ; LRELTE: CALL STENDC ;SET END MODE ; ; LONG RELATIVE ; LRELTV: INR B INR B ; + 2 BYTES PUSH D MOV D,M INX H MOV E,M ;GET BIAS JMP RELATS ; ; IMMEDIATE WITH CC ; IMEDIS: CPI 1CH JNZ IMEDIT ;ORCC MVI A,'C' ;ANDCC STA WKOPCD+4 JMP IMEDIT ; ; DOUBLE OPCODE INSTRUCTIONS ; WOPCOD: MOV C,M ;GET SECOND CODE PUSH H ;SAVE NEXT POINT PUSH D LXI H,IXMN10 LXI D,IXRT10 CPI 10H JZ $+9 ;10 CODE LXI H,IXMN11 ;11 CODE LXI D,IXRT11 PUSH D ;SAVE ROUTINE INDEX TOP MOV A,C CALL SRCHCD ;SEARCH CODE POP B ;ROUTINE INDEX POP D ;OPERAND POINTER JC SETDB ;NOT FOUND DAD B ;GET CODE MOV A,M INX H MOV H,M MOV L,A XTHL MOV A,M ;GET CURRENT CODE INX H ;POINTER TO NEXT MVI B,2 ;BASE CODE LENGTH IS 2 BYTES RET ;TO EACH ROUTINE ; ; FULL MODE ; MODEFL: PUSH PSW ANI 40H CALL SETRGN ;SET REGISTER NAME POP PSW MODEFF: PUSH H LXI H,IXMODE MODEFP: RRC RRC RRC ANI 06H ;GET BIAS ADD L MOV L,A MOV A,H ACI 0 MOV H,A ;GET INDEX POINT MOV A,M INX H MOV H,M MOV L,A XTHL RET ;TO EACH ROUTINE ; ; HALF MODE ; MODEHF: ANI 30H JNZ MODEFF MVI A,'#' ;IMMEDIATE ADDRESS STAX D INX D JMP ABSOLD ; ; MODE FOR PROGRAM COUNTER MODE ; MODEPE: ;END CODE PUSH PSW CALL STENDC ;SET END MODE POP PSW ANI 70H JZ ZPAGP ;DIRECT PAGE CPI 60H JC SETDBS ;MISS MODEPR: PUSH H LXI H,IXMODP ;ROUTINE INDEX FOR PROGRAM COUNTER MODE JMP MODEFP ; ; IMMEDIATE ; IMEDIT: MVI A,'#' STAX D INX D INR B ;+ 1 BYTE MOV A,M ;SET DATA BYTE JMP SETBDT ;SET AS DATA ; ; DIRECT PAGE ADDRESSING ; ZPAGE: ZPAGP: INR B ;+ 1 BYTE MOV A,M ;GET ADDRESS JMP SETBDT ;SET AS BYTE DATA ; ; INDEXED ; INDEXD: INR B ;+ 1 BYTE MOV A,M ;GET POST BYTE INX H MOV C,A ORA A JP INDEXS ;5 BIT OFF SET ANI 1FH ADD A PUSH H CPI 20H JC INDEXI ;NOT INDIRECT LXI H,INDRCT ;INDIRECT MODE XTHL ;SET END ROUTINE FOR INDIRECT PUSH H PUSH PSW MVI A,'[' STAX D POP PSW INX D INDEXI: LXI H,IXRTIX ;INDEX MODE ROUTINE INDEX ADD L MOV L,A MVI A,0 ADC H MOV H,A MOV A,M INX H MOV H,M MOV L,A XTHL RET ;TO EACH ROUTINE ; INDRCT: ;INDIRECT END ROUTINE MVI A,']' STAX D INX D RET ; ; NOT FULL MODE MASKING ; MODEFS: ;FULL EXCEPT IMEDIATE MOV C,A ANI 30H MOV A,C JZ SETDBS ;NOT MATCH JMP MODEFL ; MODEHS: ;HALF EXCEPT IMEDIATE MOV C,A ANI 30H MOV A,C JZ SETDBS JMP MODEHF ; MODERM: ;REGISTER & MODE MOV C,A ANI 70H JZ ZPAGE ;DIRECT PAGE CPI 40H JC SETDBS ;MISS CPI 60H JNC MODEFF ;EXT OR INDEXED MODE RRC RRC RRC RRC MODERG: ;REGISTER ANI 1 ; ; SET REGISTER NAME ; INPUT ; ZF:ON A OFF B ; DE:TOP OF OPERAND AREA ; SETRGN: PUSH B MVI C,'A' JZ $+5 MVI C,'B' PUSH H LXI H,-6 DAD D ;GET OPCODE POINT MOV A,M CPI ' ' JZ $+4 ;SHORT MNEMONIC INX H MOV M,C POP H POP B RET ; ; STACK OPERATION ; OPSTCK: INR B ;2byte inst. PUSH B ANI 2 MOV B,A ;SAVE U/S MODE MOV C,M ;GET BYTE LXI H,IXSTCK MVI A,8 ;BIT COUNT OPSTCL: PUSH PSW ; MOV A,C RLC MOV C,A ; JNC OPSTCN ;NOT USED ; MOV A,B ORA A ;test Breg.(u/s mode) CM SETCOM ;SET COMMA IF NOT FIRST ORI 80H ;SET NOT FIRST MODE MOV B,A ; MOV A,M ;GET REGISTER CODE CPI 'U' JNZ OPSTCU ;NOT USER_STACK MODE MOV A,B ANI 7FH ;MSB MASK MVI A,'U' JZ OPSTCU ;PSHU OR PULU MVI A,'S' ;PSHS OR PULS OPSTCU: STAX D INX D ; INX H MOV A,M ;STORE REGSTER NAME DCX H ; CPI ' ' JZ OPSTCN ;ONE CHARCTER NAME STAX D ;SET SECOND BYTE INX D OPSTCN: INX H INX H POP PSW DCR A JNZ OPSTCL ;TO NEXT BIT POP B RET ; ; TRANSFER OR EXCHANGE REGISTER ; TRANSF: INR B ;+ 1 BYTE MOV C,M ;GET SECOND CODE MOV A,C RRC RRC RRC RRC CALL TRANSH ;SET SOURCE CALL SETCOM ;SET COMMA MOV A,C CALL TRANSH ;SET DESTINATION RET ;NEED FOR ERROR RETURN &&&&&&& ; TRANSH: ANI 0FH ADD A LXI H,IXTRNS ;REGISTER NAME ADD L MOV L,A MVI A,0 ADC H MOV H,A MOV A,M ;GET REGISTER NAME CPI '*' JZ SETDB ;NOT MATCH ERROR STAX D INX D INX H MOV A,M CPI ' ' RZ ;ONE BYTE NAME STAX D ;TWO BYTE NAME INX D RET ; ; INDEXED POST BYTE ROUTINES ; INPUT ; C:POST BYTE CODE ; B:LENGTH ; HL:NEXT CODE POINT ; DE:TEXT POINT ; ; 5 BIT OFF SET MODE ; INDEXS: ANI 1FH CPI 10H JC INDXS1 ;PLUS ; ORI 0F0H CALL STMNUS ;MINUS JMP SETIXR ;set index resister name ; INDXS1: CALL SETBDT ;SET BYTE DATA JMP SETIXR ;SET INDEX REGISTER NAME ; ; AUTO INCREMENT ; AUTINC: CALL SETIXR ;SET INDEX CODE MVI A,'+' STAX D INX D RET ; AUTINT: ;DOUBLE BYTE INCRENET CALL AUTINC STAX D INX D RET ; ; AUTO DECREMENT ; AUTDCR: CALL SETCOM ;SET COMMA AUTDCS: MVI A,'-' STAX D INX D JMP SETIXS ;SET INDEX REGISTER NAME ; AUTDCT: ;DOUBLE BYTE DECREMENT CALL SETCOM MVI A,'-' STAX D INX D JMP AUTDCS ; ; ZERO OFFSET ; ZEROOF: SETIXR: ;SET REGISTER NAME CALL SETCOM ;SET COMMA SETIXS: MOV A,C RLC RLC RLC ANI 3 ;GET INDEX REGISTER CODE PUSH H LXI H,IXIXRG ADD L MOV L,A MVI A,0 ADC H MOV H,A MOV A,M ;GET INDEX REGISTER NAME STAX D INX D POP H RET ; ; REGISTER OFFSET ; BREGOF: ;B REGISTER MVI A,'B' REGOFF: STAX D INX D JMP SETIXR ; AREGOF: ;A REGISTER MVI A,'A' JMP REGOFF ; DREGOF: ;D REGISTER MVI A,'D' JMP REGOFF ; ; BYTE OFFSET ; BYTEOF: INR B ;+ 1 BYTE MOV A,M PUSH B CALL SET8OF ;SET 8bit offset POP B JMP SETIXR ; ; WORD OFFSET ; WORDOF: INR B INR B PUSH B CALL SLOPDT ;SET AS DATA LABEL POP B JMP SETIXR ; ; BYTE PC RELATIVE ; BYTPCR: INR B MOV A,M MOV L,A ;8bit data set MVI H,0 ORA A JP WRDPC1 CMA INR A MVI H,0FFH JMP WRDPC1 ; SETPCS: LXI H,CPCR MVI C,3 setpcr: MOV A,M ;SET ',PC' STAX D INX H INX D DCR C JNZ setpcr RET ; ; WORD PC RELATIVE ; WRDPCR: INR B INR B MOV A,M INX H MOV L,M ;low address set MOV H,A ;high address set ; WRDPC1: PUSH D XCHG LHLD PCURNT ;PC relative calc. DAD D MVI D,0 MOV E,B ;LENGTH DAD D ;adj. PC relative. POP D ; MVI C,'T' ;set table label CALL STLBOR ;set label Call JMP SETPCS ; ; MAIN ROUTINE INDEX ; IXMAIN: DW OBNOOP ;IMPLIED DW OBNOPE ;IMPLIED END DW RELATV ;RELATIVE ADDRESS DW RELATE ;RELATIVE ADDRESS END DW IMEDIS ;IMMEDIATE ONLY DW LRELTV ;LONG RELATIVE DW LRELTE ;LONG RELATIVE END DW OPSTCK ;STACK OPERATION DW TRANSF ;TRANSFER OR EXCHANGE DW WOPCOD ;DOUBLE OPCODE DW INDEXD ;INDEXED ONLY DW MODEFL ;FULL MODE DW MODEFS ;FULL EXCEPT IMMEDIATE DW MODEHF ;HALF DW MODEHS ;HALF EXCEPT IMMEDIATE DW MODEPR ;MODE OF PROGRAM COUNTER DW MODEPE ;MODE OF PROGRAM COUNTER END DW MODERM ;REGISTER & MODE ; ; ROUTINE INDEX FOR DOUBLE OPCODE ; IXRT10: DW LRELTV ;LONG RELATIVE DW OBNOOP ;IMPLIED DW MODEHF ;HALF MODE DW MODEHS ;HALF EXCEPT IMMEDIATE ; IXRT11: DW OBNOOP ;IMPLIED DW MODEHF ;HALF MODE ; ; INDEXED POST BYTE ROUTINE INDEX ; IXRTIX: DW AUTINC ;0 AUTO INCREMENT +1 DW AUTINT ;1 AUTO INCREMENT +2 DW AUTDCR ;2 AUTO DECREMENT -1 DW AUTDCT ;3 AUTO DECREMENT -2 DW ZEROOF ;4 ZERO OFFSET DW BREGOF ;5 B REGISTER OFFSET DW AREGOF ;6 A REGISTER OFFSET DW SETDBS ;7 ------- DW BYTEOF ;8 BYTE OFFSET DW WORDOF ;9 WORD OFFSET DW SETDBS ;A ------- DW DREGOF ;B D REGISTER OFFSET DW BYTPCR ;C PROGRAM COUNTER RELATIVE BYTE OFFSET DW WRDPCR ;D PROGRAM COUNTER RELATIVE WORD OFFSET DW SETDBS ;E ------- DW SETDBS ;F ------- ; ; INDIRECT MODE ; DW SETDB ;0 ------- DW AUTINT ;1 AUTO INCREMENT +2 DW SETDB ;2 ------- DW AUTDCT ;3 AUTO DECREMENT -2 DW ZEROOF ;4 ZERO OFFSET DW BREGOF ;5 B REGISTER OFFSET DW AREGOF ;6 A REGISTER OFFSET DW SETDB ;7 ------- DW BYTEOF ;8 BYTE OFFSET DW WORDOF ;9 WORD OFFSET DW SETDB ;A ------- DW DREGOF ;B D REGISTER OFFSET DW BYTPCR ;C PROGRAM COUNTER RELATIVE BYTE OFFSET DW WRDPCR ;D PROGRAM COUNTER RELATIVE WORD OFFSET DW SETDB ;E ------- DW ABSOLD ;F EXTENED INDIRECT ; ; MODE INDEX ; IXMODE: DW IMEDIT ;IMMEDIATE #00 DW ZPAGE ;DIRECT PAGE ZADD DW INDEXD ;INDEXED 00,X DW ABSOLD ;EXTENDED DADD ; IXMODP: ;FOR PC INSTRUCTIONS DW SETDBS ;IMMEDIATE IS ERROR DW ZPAGP ;DIRECT PAGE DW INDEXD ;INDEXED DW ABSOLT ;EXTENDED ; ; CODE INDEX ; IXMNEM: DB 0FFH,7 ;IMPLIED 0 DB 12H,'NOP ' DB 13H,'SYNC' DB 19H,'DAA ' DB 1DH,'SEX ' DB 3AH,'ABX ' DB 3DH,'MUL ' DB 3FH,'SWI ' ; DB 0FFH,2 ;IMPLIED END DB 39H,'RTS ' DB 3BH,'RTI ' ; DB 0FFH,16 ;RELATIVE DB 21H,'BRN ' DB 22H,'BHI ' DB 23H,'BLS ' DB 24H,'BCC ' DB 25H,'BCS ' DB 26H,'BNE ' DB 27H,'BEQ ' DB 28H,'BVC ' DB 29H,'BVS ' DB 2AH,'BPL ' DB 2BH,'BMI ' DB 2CH,'BGE ' DB 2DH,'BLT ' DB 2EH,'BGT ' DB 2FH,'BLE ' DB 8DH,'BSR ' ; DB 0FFH,1 ;RELATIVE END DB 20H,'BRA ' ; DB 0FFH,3 ;IMMEDIATE ONLY DB 1AH,'ORCC' DB 1CH,'ANDC' DB 3CH,'CWAI' ; DB 0FFH,1 ;LONG RELATIVE DB 17H,'LBSR' ; DB 0FFH,1 ;LONG RELATIVE END DB 16H,'LBRA' ; DB 0FFH,4 ;STACK OPERATION DB 34H,'PSHS' DB 35H,'PULS' DB 36H,'PSHU' DB 37H,'PULU' ; DB 0FFH,2 ;TRANSFER DB 1EH,'EXG ' DB 1FH,'TFR ' ; DB 0FFH,2 ;TWO BYTE OPCODE DB 10H,'****' DB 11H,'****' ; DB 0FFH,4 ;INDEXED ONLY DB 30H,'LEAX' DB 31H,'LEAY' DB 32H,'LEAS' DB 33H,'LEAU' ; DB 8FH,10 ;FULL MODE DB 8BH,'ADD ' DB 89H,'ADC ' DB 84H,'AND ' DB 85H,'BIT ' DB 81H,'CMP ' DB 88H,'EOR ' DB 86H,'LD ' DB 8AH,'OR ' DB 80H,'SUB ' DB 82H,'SBC ' ; DB 8FH,1 ;EXCEPT IMMEDIATE DB 87H,'ST ' ; DB 0CFH,6 ;HALF MODE DB 083H,'SUBD' DB 0C3H,'ADDD' DB 08CH,'CMPX' DB 08EH,'LDX ' DB 0CEH,'LDU ' DB 0CCH,'LDD ' ; DB 0CFH,3 ;EXCEPT IMMEDIATE HALF DB 08FH,'STX ' DB 0CDH,'STD ' DB 0CFH,'STU ' ; DB 0CFH,1 ;HALF EXCEPT IMMEDIATE PROGRAM DB 08DH,'JSR ' ; DB 08FH,1 ;HALF EXCEPT IMMEDIATE PROGRAM END DB 0EH,'JMP ' ; DB 08FH,11 ;REGISTER & MODE DB 00H,'NEG ' DB 03H,'COM ' DB 04H,'LSR ' DB 06H,'ROR ' DB 07H,'ASR ' DB 08H,'ASL ' DB 09H,'ROL ' DB 0AH,'DEC ' DB 0CH,'INC ' DB 0DH,'TST ' DB 0FH,'CLR ' ; DB 0 ; ; DOUBLE OPCODE DATA ; IXMN10: ;FOR 10H CODE DB 0FFH,15 ;LONG RELATIVE DB 21H,'LBRN' DB 22H,'LBHI' DB 23H,'LBLS' DB 24H,'LBCC' DB 25H,'LBCS' DB 26H,'LBNE' DB 27H,'LBEQ' DB 28H,'LBVC' DB 29H,'LBVS' DB 2AH,'LBPL' DB 2BH,'LBMI' DB 2CH,'LBGE' DB 2DH,'LBLT' DB 2EH,'LBGT' DB 2FH,'LBLE' ; DB 0FFH,1 ;IMPLIED DB 3FH,'SWI2' ; DB 0CFH,4 ;HALF MODE DB 83H,'CMPD' DB 8CH,'CMPY' DB 8EH,'LDY ' DB 0CEH,'LDS ' ; DB 0CFH,2 ;HALF EXCEPT IMMEDIATE DB 8FH,'STY ' DB 0CFH,'STS ' ; DB 0 ; ; IXMN11: ;11 CODE DB 0FFH,1 ;IMPLIED DB 3FH,'SWI3' ; DB 0CFH,2 ;HALF DB 83H,'CMPU' DB 8CH,'CMPS' ; DB 0 ; ; INDEX OF REGISTER NAME ; IXSTCK: ;STACK OPERATION DB 'PCU Y X DPB A CC ' IXTRNS: ;TRANSFER OR EXCHANGE DB 'D X Y U S PC****A B CCDP********' IXIXRG: ;INDEX REGISTER DB 'XYUS' CPCR: DB ',PC' ;',PC' ; ; PSEUDO OPERATION CODES ; PORG: DB 'ORG ' PEND: DB 'END ' PEQU: DB 'EQU ' PDB: DB 'DB ' PDW: DB 'DW ' ; ; COMMENTS ; CSTUP: DB 'DIS-ASSEMBLER MC6809 VER.1.06',0 CPAGE: DB FF,'/* DIS-ASSEMBLER MC6809 VER.1.06 */',0 CTAG: DB ':',0 ;TAG DATA ASMTYP: DW '69' ;STANDERD TYPE = 'SM' ; ; MENDCD: DS 1 ;END CODE MODE 0 END CODE ; ; ; END