markz@ssc.UUCP (Mark Zenier) (12/06/90)
---- Cut Here and feed the following to sh ---- #!/bin/sh # This is Frankasm/As6502, a shell archive (shar 3.43) # made 12/04/1990 08:45 UTC by markz@ssc.uucp # Source directory /usr/mark/frank.shar # # existing files will NOT be overwritten unless -c is specified # This format requires very little intelligence at unshar time. # "if test", "echo", "true", and "sed" may be needed. # # This shar contains: # length mode name # ------ ---------- ------------------------------------------ # 1648 -r--r----- as6502.1 # 9447 -r--r----- as6502.doc # 2771 -r--r----- as6502.tst # 5954 -r--r--r-- as6502.tut # 41188 -r--r--r-- as6502.y # # ============= as6502.1 ============== if test -f 'as6502.1' -a X"$1" != X"-c"; then echo 'x - skipping as6502.1 (File already exists)' else echo 'x - extracting as6502.1 (Text)' sed 's/^X//' << 'SHAR_EOF' > 'as6502.1' && X.TH AS6502 1L X.SH NAME Xas6502, as65c00, asr65c00 \- cross assemblers for microcomputers X.SH SYNOPSIS X.nf Xas6502 [-p cpu] [-l listfile] [-o hexfile] [-d] [-s symbolfile] input Xas65c00 [-p cpu] [-l listfile] [-o hexfile] [-d] [-s symbolfile] input Xasr65c00 [-p cpu] [-l listfile] [-o hexfile] [-d] [-s symbolfile] input X.fi X.SH DESCRIPTION XThe as6502, as65c00, asr65c00 command assembles the input file into a Xtext output file representing the program memory for a microcomputer. X XOptions X.IP "-p cpu" XOverride the instruction set selection. X.RS 10 XValid Values for Cpu X.RS 5 X65, 65c, r65, r65c, 21 X.RE X.RE X.IP "-l listfile" XOutput a file formated with the memory address, data, and source input lines. X.IP "-o hexfile" XOutput the memory data image in a form accepted by most prom programmers. X.IP "-h hexfile" XSame as \-o. X.IP \-d XSave the intermediate data file (see FILE) and abort the execution at the Xend of processing. X.IP "-s symbolfile" XPrint the symbol table values and names, one per line in the specified file. X.SH FILES X/usr/tmp/frtXXXXXX X.SH SEE ALSO XFrankenstein Cross Assemblers Users Manual (file base.doc) XAppendix for as6502 Frankenstein Assembler (file as6502.doc) X.SH NOTES XThere is only one input file. X XThe program can select which subset of instructions is accepted. XThe program first uses the name with which it is invoked. XThis is scanned for a substring which indicates which set to use. XThe -p options overrides this selction by performing the same substring Xsearch. XFinally the input file can select which subset to use with the CPU statement. X XThere should only be one executable file with all of its names linked to it. SHAR_EOF true || echo 'restore of as6502.1 failed' fi # ============= as6502.doc ============== if test -f 'as6502.doc' -a X"$1" != X"-c"; then echo 'x - skipping as6502.doc (File already exists)' else echo 'x - extracting as6502.doc (Text)' sed 's/^X//' << 'SHAR_EOF' > 'as6502.doc' && X.HM A 1 1 1 1 1 1 X.H 1 "Appendix for as6502 Frankenstein Assembler" X.H 2 "Pseudo Operations" X.H 3 "Standard Pseudo Operation Mnemonics" X.VL 40 5 1 X.LI "End" XEND X.LI "File Inclusion" XINCL XINCLUDE X.LI "If" XIF X.LI "Else" XELSE X.LI "End If" XENDI X.LI "Equate" XEQU X.LI "Set" XSET X.LI "Org" XORG X.LI "Reserve Memory" XRESERVE XRMB X.LI "Define Byte Data" XBYTE XDB XFCB X.LI "Define Word Data" XDW XFDB XWORD X.LI "Define String Data" XFCC XSTRING X.LI "Define Character Set Translation" XCHARSET X.LI "Define Character Value" XCHARDEF XCHD X.LI "Use Character Translation" XCHARUSE X.LE X.H 3 "Machine Dependent Pseudo Operations" X.H 4 "Define Word Data" XThe define word pseudo-operations generates the byte reversed (low byte, high Xbyte) representation. X.H 4 "Instruction Set Selection" X.DS I N XCPU string X.DE XThe instruction set can be specified in the source file with the CPU Xpseudooperation. XThe string, delimited by quotes or apostrophes, is scanned for a Xsubstring which selects which instruction set is used. XWhen the program is invoked, this operation is performed on the name of Xthe program, then the -p optional arguement, if any, and then any CPU Xstatements. XThe last one selects which subset of the instructions the assembler will Xaccept. XThe instruction set can be changed at any place in the source file. X.DS X.VL 30 5 1 X.LI "Instruction Set" XSubstrings X.LI "ROCKWELL CMOS" XR65C Xr65c X.LI "CMOS" X65C X65c X.LI "ROCKWELL Extended" XR65 Xr65 X.LI "R65C00/21" X21 X.LI "Standard NMOS" X65 X.LE X.DE X.H 2 "Instructions" X.H 3 "Instruction List" X.TS H X; Xl l l. XOpcode Syntax Selection Criteria X.sp X.TH X.sp XADC '#' topexpr XADC '(' topexpr ')' ',' INDEX DIRECT INDEXY XADC '(' topexpr ')' DIRECT INSTCMOS XADC '(' topexpr ',' INDEX ')' DIRECT INDEXX XADC topexpr ',' INDEX DIRECT INDEXX XADC topexpr ',' INDEX EXTENDED INDEXX XADC topexpr ',' INDEX INDEXY XADC topexpr DIRECT XADC topexpr EXTENDED X.sp XAND '#' topexpr XAND '(' topexpr ')' ',' INDEX DIRECT INDEXY XAND '(' topexpr ')' DIRECT INSTCMOS XAND '(' topexpr ',' INDEX ')' DIRECT INDEXX XAND topexpr ',' INDEX DIRECT INDEXX XAND topexpr ',' INDEX EXTENDED INDEXX XAND topexpr ',' INDEX INDEXY XAND topexpr DIRECT XAND topexpr EXTENDED X.sp XASL ACCUM XASL topexpr ',' INDEX DIRECT INDEXX XASL topexpr ',' INDEX EXTENDED INDEXX XASL topexpr DIRECT XASL topexpr EXTENDED X.sp XBBR0 topexpr ',' topexpr INSTROCKWELL X.sp XBBR1 topexpr ',' topexpr INSTROCKWELL X.sp XBBR2 topexpr ',' topexpr INSTROCKWELL X.sp XBBR3 topexpr ',' topexpr INSTROCKWELL X.sp XBBR4 topexpr ',' topexpr INSTROCKWELL X.sp XBBR5 topexpr ',' topexpr INSTROCKWELL X.sp XBBR6 topexpr ',' topexpr INSTROCKWELL X.sp XBBR7 topexpr ',' topexpr INSTROCKWELL X.sp XBBS0 topexpr ',' topexpr INSTROCKWELL X.sp XBBS1 topexpr ',' topexpr INSTROCKWELL X.sp XBBS2 topexpr ',' topexpr INSTROCKWELL X.sp XBBS3 topexpr ',' topexpr INSTROCKWELL X.sp XBBS4 topexpr ',' topexpr INSTROCKWELL X.sp XBBS5 topexpr ',' topexpr INSTROCKWELL X.sp XBBS6 topexpr ',' topexpr INSTROCKWELL X.sp XBBS7 topexpr ',' topexpr INSTROCKWELL X.sp XBCC topexpr X.sp XBCS topexpr X.sp XBEQ topexpr X.sp XBGE topexpr X.sp XBIT '#' topexpr INSTCMOS XBIT topexpr ',' INDEX DIRECT INDEXX INSTCMOS XBIT topexpr ',' INDEX EXTENDED INDEXX INSTCMOS XBIT topexpr DIRECT XBIT topexpr EXTENDED X.sp XBLT topexpr X.sp XBMI topexpr X.sp XBNE topexpr X.sp XBPL topexpr X.sp XBRA topexpr INST21 XBRA topexpr INSTCMOS X.sp XBRK '#' topexpr XBRK X.sp XBVC topexpr X.sp XBVS topexpr X.sp XCLC X.sp XCLD X.sp XCLI X.sp XCLV X.sp XCMP '#' topexpr XCMP '(' topexpr ')' ',' INDEX DIRECT INDEXY XCMP '(' topexpr ')' DIRECT INSTCMOS XCMP '(' topexpr ',' INDEX ')' DIRECT INDEXX XCMP topexpr ',' INDEX DIRECT INDEXX XCMP topexpr ',' INDEX EXTENDED INDEXX XCMP topexpr ',' INDEX INDEXY XCMP topexpr DIRECT XCMP topexpr EXTENDED X.sp XCPX '#' topexpr XCPX topexpr DIRECT XCPX topexpr EXTENDED X.sp XCPY '#' topexpr XCPY topexpr DIRECT XCPY topexpr EXTENDED X.sp XDEC ACCUM INSTCMOS XDEC topexpr ',' INDEX DIRECT INDEXX XDEC topexpr ',' INDEX EXTENDED INDEXX XDEC topexpr DIRECT XDEC topexpr EXTENDED X.sp XDEX X.sp XDEY X.sp XEOR '#' topexpr XEOR '(' topexpr ')' ',' INDEX DIRECT INDEXY XEOR '(' topexpr ')' DIRECT INSTCMOS XEOR '(' topexpr ',' INDEX ')' DIRECT INDEXX XEOR topexpr ',' INDEX DIRECT INDEXX XEOR topexpr ',' INDEX EXTENDED INDEXX XEOR topexpr ',' INDEX INDEXY XEOR topexpr DIRECT XEOR topexpr EXTENDED X.sp XINC ACCUM INSTCMOS XINC topexpr ',' INDEX DIRECT INDEXX XINC topexpr ',' INDEX EXTENDED INDEXX XINC topexpr DIRECT XINC topexpr EXTENDED X.sp XINX X.sp XINY X.sp XJMP '(' topexpr ')' XJMP '(' topexpr ',' INDEX ')' INSTCMOS INDEXX XJMP topexpr X.sp XJSR topexpr X.sp XLDA '#' topexpr XLDA '(' topexpr ')' ',' INDEX DIRECT INDEXY XLDA '(' topexpr ')' DIRECT INSTCMOS XLDA '(' topexpr ',' INDEX ')' DIRECT INDEXX XLDA topexpr ',' INDEX DIRECT INDEXX XLDA topexpr ',' INDEX EXTENDED INDEXX XLDA topexpr ',' INDEX INDEXY XLDA topexpr DIRECT XLDA topexpr EXTENDED X.sp XLDX '#' topexpr XLDX topexpr ',' INDEX DIRECT INDEXY XLDX topexpr ',' INDEX EXTENDED INDEXY XLDX topexpr DIRECT XLDX topexpr EXTENDED X.sp XLDY '#' topexpr XLDY topexpr ',' INDEX DIRECT INDEXX XLDY topexpr ',' INDEX EXTENDED INDEXX XLDY topexpr DIRECT XLDY topexpr EXTENDED X.sp XLSR ACCUM XLSR topexpr ',' INDEX DIRECT INDEXX XLSR topexpr ',' INDEX EXTENDED INDEXX XLSR topexpr DIRECT XLSR topexpr EXTENDED X.sp XMUL INST21 X.sp XNOP X.sp XORA '#' topexpr XORA '(' topexpr ')' ',' INDEX DIRECT INDEXY XORA '(' topexpr ')' DIRECT INSTCMOS XORA '(' topexpr ',' INDEX ')' DIRECT INDEXX XORA topexpr ',' INDEX DIRECT INDEXX XORA topexpr ',' INDEX EXTENDED INDEXX XORA topexpr ',' INDEX INDEXY XORA topexpr DIRECT XORA topexpr EXTENDED X.sp XPHA X.sp XPHP X.sp XPHX INST21 XPHX INSTCMOS X.sp XPHY INST21 XPHY INSTCMOS X.sp XPLA X.sp XPLP X.sp XPLX INST21 XPLX INSTCMOS X.sp XPLY INST21 XPLY INSTCMOS X.sp XRMB0 topexpr INSTROCKWELL X.sp XRMB1 topexpr INSTROCKWELL X.sp XRMB2 topexpr INSTROCKWELL X.sp XRMB3 topexpr INSTROCKWELL X.sp XRMB4 topexpr INSTROCKWELL X.sp XRMB5 topexpr INSTROCKWELL X.sp XRMB6 topexpr INSTROCKWELL X.sp XRMB7 topexpr INSTROCKWELL X.sp XROL ACCUM XROL topexpr ',' INDEX DIRECT INDEXX XROL topexpr ',' INDEX EXTENDED INDEXX XROL topexpr DIRECT XROL topexpr EXTENDED X.sp XROR ACCUM XROR topexpr ',' INDEX DIRECT INDEXX XROR topexpr ',' INDEX EXTENDED INDEXX XROR topexpr DIRECT XROR topexpr EXTENDED X.sp XRTI X.sp XRTS X.sp XSBC '#' topexpr XSBC '(' topexpr ')' ',' INDEX DIRECT INDEXY XSBC '(' topexpr ')' DIRECT INSTCMOS XSBC '(' topexpr ',' INDEX ')' DIRECT INDEXX XSBC topexpr ',' INDEX DIRECT INDEXX XSBC topexpr ',' INDEX EXTENDED INDEXX XSBC topexpr ',' INDEX INDEXY XSBC topexpr DIRECT XSBC topexpr EXTENDED X.sp XSEC X.sp XSED X.sp XSEI X.sp XSMB0 topexpr INSTROCKWELL X.sp XSMB1 topexpr INSTROCKWELL X.sp XSMB2 topexpr INSTROCKWELL X.sp XSMB3 topexpr INSTROCKWELL X.sp XSMB4 topexpr INSTROCKWELL X.sp XSMB5 topexpr INSTROCKWELL X.sp XSMB6 topexpr INSTROCKWELL X.sp XSMB7 topexpr INSTROCKWELL X.sp XSTA '(' topexpr ')' ',' INDEX DIRECT INDEXY XSTA '(' topexpr ')' DIRECT INSTCMOS XSTA '(' topexpr ',' INDEX ')' DIRECT INDEXX XSTA topexpr ',' INDEX DIRECT INDEXX XSTA topexpr ',' INDEX EXTENDED INDEXX XSTA topexpr ',' INDEX INDEXY XSTA topexpr DIRECT XSTA topexpr EXTENDED X.sp XSTX topexpr ',' INDEX DIRECT INDEXY XSTX topexpr DIRECT XSTX topexpr EXTENDED X.sp XSTY topexpr ',' INDEX DIRECT INDEXX XSTY topexpr DIRECT XSTY topexpr EXTENDED X.sp XSTZ topexpr ',' INDEX DIRECT INDEXX INSTCMOS XSTZ topexpr ',' INDEX EXTENDED INDEXX INSTCMOS XSTZ topexpr DIRECT INSTCMOS XSTZ topexpr EXTENDED INSTCMOS X.sp XTAX X.sp XTAY X.sp XTRB topexpr DIRECT INSTCMOS XTRB topexpr EXTENDED INSTCMOS X.sp XTSB topexpr DIRECT INSTCMOS XTSB topexpr EXTENDED INSTCMOS X.sp XTSX X.sp XTXA X.sp XTXS X.sp XTYA X.TE X.H 3 "Operands" X.VL 25 5 X.LI ACCUM XThe a or (A) reserved symbol X.LI INDEX XThe x or y (or X or Y) reserved symbols X.LE X.H 3 "Selection Criteria Keywords" X.VL 25 5 X.LI DIRECT XThe instruction can use the direct addressing mode. XThe expression must have a value between 0 and 255 that is defined when the Xinstruction is processed in the input pass. X.LI EXTENDED XThe instruction can use the extended (16 bit address) mode. X.LI INDEXX XThe instruction can use the X index. X.LI INDEXY XThe instruction can use the Y index. X.LI INSTCMOS XThe instruction is in the CMOS and ROCKWELL CMOS instruction sets. X.LI INSTROCKWELL XThe instruction is in the ROCKWELL, ROCKWELL CMOS, and R65c00/21 instruction Xsets. X.LI INST21 XThe instruction is in the R65c00/21 instruction set. X.LE X.H 3 "Apostrophes" XThe apostrophes in the syntax field are a notation used for the Xparser generator and are not put in the assembler source statement. X.H 2 "Notes" X.H 3 "Top Expressions" XThe syntax of some of the instructions combined with the standard expression Xsyntax resulted in confusion whether an operand was an expression surrounded Xby parenthesis, or a indexed reference. XTo get around this, the expressions in these ambiguous cases were restricted Xto those forms of expression that don't have surrounding parenthesis at the Xtop level. XSubexpressions may be parenthesized, but only if an operator seperates or Xprecedes the subexpression. X.DS I N XExample X.SP Xlda 47h,y ; load absolute, y Xlda +(47h),y ; load absolute, y Xlda (47h),y ; load (indirect), y Xlda ((47h)),y ; error X.DE X.H 3 "Reserved Symbols" X.H 4 "Machine Dependent Reserved Symbols" XA XX XY Xa Xx Xy X.H 4 "Standard Reserved Symbols" XAND XDEFINED XEQ XGE XGT XHIGH XLE XLOW XLT XMOD XNE XNOT XOR XSHL XSHR XXOR Xand Xdefined Xeq Xge Xgt Xhigh Xle Xlow Xlt Xmod Xne Xnot Xor Xshl Xshr Xxor X.TC 1 1 7 SHAR_EOF true || echo 'restore of as6502.doc failed' fi # ============= as6502.tst ============== if test -f 'as6502.tst' -a X"$1" != X"-c"; then echo 'x - skipping as6502.tst (File already exists)' else echo 'x - extracting as6502.tst (Text)' sed 's/^X//' << 'SHAR_EOF' > 'as6502.tst' && X cpu "r65c" Ximmed equ $55 Xdirect equ $44 Xextend equ $1234 X adc # immed X adc ( direct, x ) X adc (direct) X adc (direct),y X adc direct X adc direct,x X adc extend X adc extend,x X adc extend,y X and # immed X and ( direct, x ) X and (direct) X and (direct),y X and direct X and direct,x X and extend X and extend,x X and extend,y X asl a X asl direct X asl direct,x X asl extend X asl extend,x X bbr0 direct, jmpdst X bbr1 direct, jmpdst X bbr2 direct, jmpdst X bbr3 direct, jmpdst X bbr4 direct, jmpdst X bbr5 direct, jmpdst X bbr6 direct, jmpdst X bbr7 direct, jmpdst X bbs0 direct, jmpdst X bbs1 direct, jmpdst X bbs2 direct, jmpdst X bbs3 direct, jmpdst X bbs4 direct, jmpdst X bbs5 direct, jmpdst X bbs6 direct, jmpdst X bbs7 direct, jmpdst Xjmpdst bcc jmpdst X bcs jmpdst X beq jmpdst X bge jmpdst X bit # immed X bit direct X bit direct ,x X bit extend X bit extend, x X blt jmpdst X bmi jmpdst X bne jmpdst X bpl jmpdst X bra jmpdst X brk X brk #99 X bvc jmpdst X bvs jmpdst X clc X cld X cli X clv X cmp # immed X cmp ( direct, x ) X cmp (direct) X cmp (direct),y X cmp direct X cmp direct,x X cmp extend X cmp extend,x X cmp extend,y X cpx # immed X cpx direct X cpx extend X cpy # immed X cpy direct X cpy extend X dec a X dec direct X dec direct,x X dec extend X dec extend,x X dex X dey X eor # immed X eor ( direct, x ) X eor (direct) X eor (direct),y X eor direct X eor direct,x X eor extend X eor extend,x X eor extend,y X inc a X inc direct X inc direct,x X inc extend X inc extend,x X inx X iny X jmp (jmpdst) X jmp (jmpdst,x) X jmp jmpdst X jsr jmpdst X lda # immed X lda ( direct, x ) X lda (direct) X lda (direct),y X lda direct X lda direct,x X lda extend X lda extend,x X lda extend,y X ldx # immed X ldx direct X ldx direct ,y X ldx extend X ldx extend, y X ldy # immed X ldy direct X ldy direct ,x X ldy extend X ldy extend, x X lsr a X lsr direct X lsr direct,x X lsr extend X lsr extend,x X mul X nop X ora # immed X ora ( direct, x ) X ora (direct) X ora (direct),y X ora direct X ora direct,x X ora extend X ora extend,x X ora extend,y X pha X php X phx X phy X pla X plp X plx X ply X rmb0 direct X rmb1 direct X rmb2 direct X rmb3 direct X rmb4 direct X rmb5 direct X rmb6 direct X rmb7 direct X rol a X rol direct X rol direct,x X rol extend X rol extend,x X ror a X ror direct X ror direct,x X ror extend X ror extend,x X rti X rts X sbc # immed X sbc ( direct, x ) X sbc (direct) X sbc (direct),y X sbc direct X sbc direct,x X sbc extend X sbc extend,x X sbc extend,y X sec X sed X sei X smb0 direct X smb1 direct X smb2 direct X smb3 direct X smb4 direct X smb5 direct X smb6 direct X smb7 direct X sta ( direct, x ) X sta (direct) X sta (direct),y X sta direct X sta direct,x X sta extend X sta extend,x X sta extend,y X stx direct X stx direct,y X stx extend X sty direct X sty direct,x X sty extend X stz direct X stz direct ,x X stz extend X stz extend, x X tax X tay X trb direct X trb extend X tsb direct X tsb extend X tsx X txa X txs X tya SHAR_EOF true || echo 'restore of as6502.tst failed' fi # ============= as6502.tut ============== if test -f 'as6502.tut' -a X"$1" != X"-c"; then echo 'x - skipping as6502.tut (File already exists)' else echo 'x - extracting as6502.tut (Text)' sed 's/^X//' << 'SHAR_EOF' > 'as6502.tut' && X00000055 immed 00000044 direct 00001234 extend X00000065 jmpdst X cpu "r65c" X 0x55 immed equ $55 X 0x44 direct equ $44 X 0x1234 extend equ $1234 X0000 69 55 adc # immed X0002 61 44 adc ( direct, x ) X0004 72 44 adc (direct) X0006 71 44 adc (direct),y X0008 65 44 adc direct X000a 75 44 adc direct,x X000c 6d 34 12 adc extend X000f 7d 34 12 adc extend,x X0012 79 34 12 adc extend,y X0015 29 55 and # immed X0017 21 44 and ( direct, x ) X0019 32 44 and (direct) X001b 31 44 and (direct),y X001d 25 44 and direct X001f 35 44 and direct,x X0021 2d 34 12 and extend X0024 3d 34 12 and extend,x X0027 39 34 12 and extend,y X002a 0a asl a X002b 06 44 asl direct X002d 16 44 asl direct,x X002f 0e 34 12 asl extend X0032 1e 34 12 asl extend,x X0035 0f 44 2d bbr0 direct, jmpdst X0038 1f 44 2a bbr1 direct, jmpdst X003b 2f 44 27 bbr2 direct, jmpdst X003e 3f 44 24 bbr3 direct, jmpdst X0041 4f 44 21 bbr4 direct, jmpdst X0044 5f 44 1e bbr5 direct, jmpdst X0047 6f 44 1b bbr6 direct, jmpdst X004a 7f 44 18 bbr7 direct, jmpdst X004d 8f 44 15 bbs0 direct, jmpdst X0050 9f 44 12 bbs1 direct, jmpdst X0053 af 44 0f bbs2 direct, jmpdst X0056 bf 44 0c bbs3 direct, jmpdst X0059 cf 44 09 bbs4 direct, jmpdst X005c df 44 06 bbs5 direct, jmpdst X005f ef 44 03 bbs6 direct, jmpdst X0062 ff 44 00 bbs7 direct, jmpdst X0065 90 fe jmpdst bcc jmpdst X0067 b0 fc bcs jmpdst X0069 f0 fa beq jmpdst X006b b0 f8 bge jmpdst X006d 89 55 bit # immed X006f 24 44 bit direct X0071 34 44 bit direct ,x X0073 2c 34 12 bit extend X0076 3c 34 12 bit extend, x X0079 90 ea blt jmpdst X007b 30 e8 bmi jmpdst X007d d0 e6 bne jmpdst X007f 10 e4 bpl jmpdst X0081 80 e2 bra jmpdst X0083 00 brk X0084 00 63 brk #99 X0086 50 dd bvc jmpdst X0088 70 db bvs jmpdst X008a 18 clc X008b d8 cld X008c 58 cli X008d b8 clv X008e c9 55 cmp # immed X0090 c1 44 cmp ( direct, x ) X0092 d2 44 cmp (direct) X0094 d1 44 cmp (direct),y X0096 c5 44 cmp direct X0098 d5 44 cmp direct,x X009a cd 34 12 cmp extend X009d dd 34 12 cmp extend,x X00a0 d9 34 12 cmp extend,y X00a3 e0 55 cpx # immed X00a5 e4 44 cpx direct X00a7 ec 34 12 cpx extend X00aa c0 55 cpy # immed X00ac c4 44 cpy direct X00ae cc 34 12 cpy extend X00b1 3a dec a X00b2 c6 44 dec direct X00b4 d6 44 dec direct,x X00b6 ce 34 12 dec extend X00b9 de 34 12 dec extend,x X00bc ca dex X00bd 88 dey X00be 49 55 eor # immed X00c0 41 44 eor ( direct, x ) X00c2 52 44 eor (direct) X00c4 51 44 eor (direct),y X00c6 45 44 eor direct X00c8 55 44 eor direct,x X00ca 4d 34 12 eor extend X00cd 5d 34 12 eor extend,x X00d0 59 34 12 eor extend,y X00d3 1a inc a X00d4 e6 44 inc direct X00d6 f6 44 inc direct,x X00d8 ee 34 12 inc extend X00db fe 34 12 inc extend,x X00de e8 inx X00df c8 iny X00e0 6c 65 00 jmp (jmpdst) X00e3 7c 65 00 jmp (jmpdst,x) X00e6 4c 65 00 jmp jmpdst X00e9 20 65 00 jsr jmpdst X00ec a9 55 lda # immed X00ee a1 44 lda ( direct, x ) X00f0 b2 44 lda (direct) X00f2 b1 44 lda (direct),y X00f4 a5 44 lda direct X00f6 b5 44 lda direct,x X00f8 ad 34 12 lda extend X00fb bd 34 12 lda extend,x X00fe b9 34 12 lda extend,y X0101 a2 55 ldx # immed X0103 a6 44 ldx direct X0105 b6 44 ldx direct ,y X0107 ae 34 12 ldx extend X010a be 34 12 ldx extend, y X010d a0 55 ldy # immed X010f a4 44 ldy direct X0111 b4 44 ldy direct ,x X0113 ac 34 12 ldy extend X0116 bc 34 12 ldy extend, x X0119 4a lsr a X011a 46 44 lsr direct X011c 56 44 lsr direct,x X011e 4e 34 12 lsr extend X0121 5e 34 12 lsr extend,x X mul X ERROR - invalid operands/illegal instruction for cpu X0124 ea nop X0125 09 55 ora # immed X0127 01 44 ora ( direct, x ) X0129 12 44 ora (direct) X012b 11 44 ora (direct),y X012d 05 44 ora direct X012f 15 44 ora direct,x X0131 0d 34 12 ora extend X0134 1d 34 12 ora extend,x X0137 19 34 12 ora extend,y X013a 48 pha X013b 08 php X013c da phx X013d 5a phy X013e 68 pla X013f 28 plp X0140 fa plx X0141 7a ply X0142 07 44 rmb0 direct X0144 17 44 rmb1 direct X0146 27 44 rmb2 direct X0148 37 44 rmb3 direct X014a 47 44 rmb4 direct X014c 57 44 rmb5 direct X014e 67 44 rmb6 direct X0150 77 44 rmb7 direct X0152 2a rol a X0153 26 44 rol direct X0155 36 44 rol direct,x X0157 2e 34 12 rol extend X015a 3e 34 12 rol extend,x X015d 6a ror a X015e 66 44 ror direct X0160 76 44 ror direct,x X0162 6e 34 12 ror extend X0165 7e 34 12 ror extend,x X0168 40 rti X0169 60 rts X016a e9 55 sbc # immed X016c e1 44 sbc ( direct, x ) X016e f2 44 sbc (direct) X0170 f1 44 sbc (direct),y X0172 e5 44 sbc direct X0174 f5 44 sbc direct,x X0176 ed 34 12 sbc extend X0179 fd 34 12 sbc extend,x X017c f9 34 12 sbc extend,y X017f 38 sec X0180 f8 sed X0181 78 sei X0182 87 44 smb0 direct X0184 97 44 smb1 direct X0186 a7 44 smb2 direct X0188 b7 44 smb3 direct X018a c7 44 smb4 direct X018c d7 44 smb5 direct X018e e7 44 smb6 direct X0190 f7 44 smb7 direct X0192 81 44 sta ( direct, x ) X0194 92 44 sta (direct) X0196 91 44 sta (direct),y X0198 85 44 sta direct X019a 95 44 sta direct,x X019c 8d 34 12 sta extend X019f 9d 34 12 sta extend,x X01a2 99 34 12 sta extend,y X01a5 86 44 stx direct X01a7 96 44 stx direct,y X01a9 8e 34 12 stx extend X01ac 84 44 sty direct X01ae 94 44 sty direct,x X01b0 8c 34 12 sty extend X01b3 64 44 stz direct X01b5 74 44 stz direct ,x X01b7 9c 34 12 stz extend X01ba 9e 34 12 stz extend, x X01bd aa tax X01be a8 tay X01bf 14 44 trb direct X01c1 1c 34 12 trb extend X01c4 04 44 tsb direct X01c6 0c 34 12 tsb extend X01c9 ba tsx X01ca 8a txa X01cb 9a txs X01cc 98 tya X ERROR SUMMARY - ERRORS DETECTED 1 X - WARNINGS 0 SHAR_EOF true || echo 'restore of as6502.tut failed' fi true || echo 'restore of as6502.y failed' echo End of part 1, continue with part 2 exit 0