;ACME 0.97 !cpu m65 !to "out-m65.o", plain *=$1000 M65 = 1 ; make next include skip the NOP mnemonic (re-used as prefix code by M65) !src "include-6502.a" ; !src "include-65c02.a" ; not used, because 65ce02 changes "(zp)" to "(zp), z" !src "include-bitmanips.a" !src "include-65ce02.a" ; this differs between 65ce02 and 4502: map ; $5c ; this is an alias for NOP: eom ; $ea, "end of mapping" ; "quad mode" m65 extension using NEG:NEG prefix: orq ($01, x) ; 01 orq $05 ; 05 aslq $05 ; 06 aslq ; 0a orq $0d0e ; 0d aslq $0d0e ; 0e orq ($11), y ; 11 orq ($12) ; 12 orq $15, x ; 15 aslq $15, x ; 16 orq $1919, y ; 19 inq ; 1a orq $1d1e, x ; 1d aslq $1d1e, x ; 1e andq ($01, x) ; 21 andq $05 ; 25 rolq $05 ; 26 rolq ; 2a andq $0d0e ; 2d rolq $0d0e ; 2e andq ($11), y ; 31 andq ($12) ; 32 andq $15, x ; 35 rolq $15, x ; 36 andq $1919, y ; 39 deq ; 3a andq $1d1e, x ; 3d rolq $1d1e, x ; 3e eorq ($01, x) ; 41 eorq $05 ; 45 lsrq $05 ; 46 lsrq ; 4a eorq $0d0e ; 4d lsrq $0d0e ; 4e eorq ($11), y ; 51 eorq ($12) ; 52 eorq $15, x ; 55 lsrq $15, x ; 56 eorq $1919, y ; 59 eorq $1d1e, x ; 5d lsrq $1d1e, x ; 5e adcq ($01, x) ; 61 adcq $05 ; 65 rorq $05 ; 66 rorq ; 6a adcq $0d0e ; 6d rorq $0d0e ; 6e adcq ($11), y ; 71 adcq ($12) ; 72 adcq $15, x ; 75 rorq $15, x ; 76 adcq $1919, y ; 79 adcq $1d1e, x ; 7d rorq $1d1e, x ; 7e stq ($01, x) ; 81 stq ($82, s), y ; 82 stq $05 ; 85 stq $0d0e ; 8d stq ($11), y ; 91 stq ($12) ; 92 stq $15, x ; 95 stq $1919, y ; 99 stq $1d1e, x ; 9d ldq ($01, x) ; a1 ldq $05 ; a5 ldq $0d0e ; ad ldq ($11), y ; b1 ldq ($12) ; b2 ldq $15, x ; b5 ldq $1919, y ; b9 ldq $1d1e, x ; bd cpq ($01, x) ; c1 cpq $05 ; c5 deq $05 ; c6 cpq $0d0e ; cd deq $0d0e ; ce cpq ($11), y ; d1 cpq ($12) ; d2 cpq $15, x ; d5 deq $15, x ; d6 cpq $1919, y ; d9 cpq $1d1e, x ; dd deq $1d1e, x ; de sbcq ($01, x) ; e1 ldq ($e2, s), y ; e2 sbcq $05 ; e5 inq $05 ; e6 sbcq $0d0e ; ed inq $0d0e ; ee sbcq ($11), y ; f1 sbcq ($12) ; f2 sbcq $15, x ; f5 inq $15, x ; f6 sbcq $1919, y ; f9 sbcq $1d1e, x ; fd inq $1d1e, x ; fe ; "long mode" m65 extension using NOP prefix: ora [$12], z ; 12 and [$12], z ; 32 eor [$12], z ; 52 adc [$12], z ; 72 sta [$12], z ; 92 lda [$12], z ; b2 cmp [$12], z ; d2 sbc [$12], z ; f2 ; "quad mode" and "long mode" combined using NEG:NEG:NOP prefix: orq [$12] ; 12 andq [$12] ; 32 eorq [$12] ; 52 adcq [$12] ; 72 stq [$12] ; 92 ldq [$12] ; b2 cpq [$12] ; d2 sbcq [$12] ; f2