URL
https://opencores.org/ocsvn/xgate/xgate/trunk
Subversion Repositories xgate
Compare Revisions
- This comparison shows the changes necessary to convert path
/xgate
- from Rev 2 to Rev 3
- ↔ Reverse comparison
Rev 2 → Rev 3
/trunk/bench/tools/a.out
Cannot display: file marked as a binary type.
svn:mime-type = application/octet-stream
trunk/bench/tools/a.out
Property changes :
Deleted: svn:executable
Deleted: svn:mime-type
## -1 +0,0 ##
-application/octet-stream
\ No newline at end of property
Index: trunk/bench/tools/HSW12ASM/test_XGATE.lst
===================================================================
--- trunk/bench/tools/HSW12ASM/test_XGATE.lst (revision 2)
+++ trunk/bench/tools/HSW12ASM/test_XGATE.lst (nonexistent)
@@ -1,111 +0,0 @@
-?????? XGATE CODE: CPU XGATE
-00B000 003000 ORG $B000
-00B000 003000 DS.W 2 ; reserve two words at cahnnel 0
- ; channel 1
-00B004 003004 20 1E DC.W _START ; point to start address
-00B006 003006 00 7B DC.W V_PTR ; point to initial variables
-002000 0F6000 ORG $2000 ; with comment
-002000 0F6000 -> $007B V_PTR EQU 123
-002000 0F6000 -> $00D0 SPI0 EQU $D0
-002000 0F6000 -> $0005 SPI_CR EQU 5
-002000 0F6000 20 42 DC.W BACK_
-002002 0F6002 DS.W 8
-002012 0F6012 56 DC.B $56
-002013 0F6013 DS.B 11
-00201E 0F601E ALIGN 1
-00201E 0F601E _START
-00201E 0F601E 02 F8 TFR R2,CCR ; R2 = CCR
-002020 0F6020 01 F9 TFR CCR,R1 ; CCR = R1
- ;empty line
-002022 0F6022 41 25 LDB R1,(R1,#SPI_CR) ; willi
-002024 0F6024 49 24 LDW R1,(R1,#4)
-002026 0F6026 51 24 STB R1,(R1,#4) ; willi
-002028 0F6028 59 24 STW R1,(R1,#4)
-00202A 0F602A 61 28 LDB R1,(R1,R2)
-00202C 0F602C 69 28 LDW R1,(R1,R2)
-00202E 0F602E 71 28 STB R1,(R1,R2)
-002030 0F6030 79 28 STW R1,(R1,R2)
-002032 0F6032 61 29 LDB R1,(R1,R2+)
-002034 0F6034 69 29 LDW R1,(R1,R2+)
-002036 0F6036 71 29 STB R1,(R1,R2+)
-002038 0F6038 79 29 STW R1,(R1,R2+)
-00203A 0F603A 61 2A LDB R1,(R1,-R2)
-00203C 0F603C 69 2A LDW R1,(R1,-R2)
-00203E 0F603E 71 2A STB R1,(R1,-R2)
-002040 0F6040 79 2A STW R1,(R1,-R2)
-002042 0F6042 03 F4 BACK_ SEX R3
-002044 0F6044 04 F5 PAR R4
-002046 0F6046 07 F6 JAL R7
-002048 0F6048 01 F0 CSEM #1 ; semaphores
-00204A 0F604A 01 F1 CSEM R1 ; same as above + 1
-00204C 0F604C 07 F2 SSEM #7 ; semaphores
-00204E 0F604E 07 F3 SSEM R7 ; same as above + 1
-002050 0F6050 0C B0 BFFO R4,R5
-002052 0F6052 0E F1 ASR R6,R7
-002054 0F6054 0A 52 CSL R2,R2
-002056 0F6056 0D 73 CSR R5,R3
-002058 0F6058 0A 14 LSL R2,R0
-00205A 0F605A 08 75 LSR R0,R3
-00205C 0F605C 0C 56 ROL R4,R2
-00205E 0F605E 0D D7 ROR R5,R6
-002060 0F6060 0E 19 ASR R6,#1
-002062 0F6062 0A 2A CSL R2,#2
-002064 0F6064 0D 3B CSR R5,#3
-002066 0F6066 0A 4C LSL R2,#4
-002068 0F6068 08 5D LSR R0,#5
-00206A 0F606A 0C 6E ROL R4,#6
-00206C 0F606C 0D 7F ROR R5,#7
-00206E 0F606E 10 28 AND R0,R1,R2 ; bit compare R1,R2
-002070 0F6070 11 4E OR R1,R2,R3
-002072 0F6072 12 0F XNOR R2,R0,R3 ; invert R3
-002074 0F6074 12 0F COM R2,R3 ; as pseudo op with two operands (r2 = ~r3)
-002076 0F6076 13 0F COM R3 ; as pseudo op with single op (r3 = ~r3)
-002078 0F6078 18 4C SUB R0,R2,R3 ; compare
-00207A 0F607A 18 4C CMP R2,R3 ; compare as pseudo op
-00207C 0F607C 18 40 SUB R0,R2,R0 ; compare
-00207E 0F607E 1A 0C NEG R2,R3 ; as pseudo op with two operands (r3 = 0-r2)
-002080 0F6080 1B 0C NEG R3 ; as pseudo op with single op (r3 = 0-r3)
-002082 0F6082 18 40 TST R2 ; compare as pseudo op
-002084 0F6084 1C B9 SBC R4,R5,R6
-002086 0F6086 18 B9 SBC R0,R5,R6
-002088 0F6088 18 B9 CPC R5,R6 ; compare as pseudo op
-00208A 0F608A 1E FE ADD R6,R7,R7 ; R7*2
-00208C 0F608C 1B 47 ADC R3,R2,R1
-00208E 0F608E 20 00 BCC *+2
-002090 0F6090 22 00 BCS *+2
-002092 0F6092 27 FF BEQ *
-002094 0F6094 24 00 BNE FWD
-002096 0F6096 29 D5 FWD BPL BACK_
-002098 0F6098 2B D4 BMI BACK_
-00209A 0F609A 2C 00 BVC *+2
-00209C 0F609C 2E 00 BVS *+2
-00209E 0F609E 30 00 BHI *+2
-0020A0 0F60A0 32 00 BLS *+2
-0020A2 0F60A2 34 00 BGE *+2
-0020A4 0F60A4 38 00 BGT *+2
-0020A6 0F60A6 3F CD BRA BACK_
-0020A8 0F60A8 64 BB BFEXT R4,R5,R6
-0020AA 0F60AA 6C BB BFINS R4,R5,R6 ; clear BitField
-0020AC 0F60AC 74 1B BFINSI R4,R0,R6 ; set BF
-0020AE 0F60AE 7C BB BFINSX R4,R5,R6 ; toggle
-0020B0 0F60B0 83 FE ANDL R3,#$FE
-0020B2 0F60B2 8B 13 ANDH R3,#4+(5*3) ; 19dec = $13
-0020B4 0F60B4 93 FE BITL R3,#($FE+1-1) ; $FE
-0020B6 0F60B6 9B FF BITH R3,#255
-0020B8 0F60B8 A3 01 ORL R3,#~$FE ; should be 1
-0020BA 0F60BA AB 00 ORH R3,#~(~0) ; should be 0
-0020BC 0F60BC B3 FE XNORL R3,#$FE
-0020BE 0F60BE BB FE XNORH R3,#~$01 ; toggle bit 0 = $FE
-0020C0 0F60C0 C3 00 SUBL R3,#0
-0020C2 0F60C2 CC 02 SUBH R4,#2
-0020C4 0F60C4 D3 00 CMPL R3,#0
-0020C6 0F60C6 DC 02 CPCH R4,#2
-0020C8 0F60C8 E3 00 ADDL R3,#0
-0020CA 0F60CA EC 02 ADDH R4,#2
-0020CC 0F60CC F3 00 LDL R3,#0
-0020CE 0F60CE FC 02 LDH R4,#2
-0020D0 0F60D0 03 00 SIF
-0020D2 0F60D2 07 F7 SIF R7
-0020D4 0F60D4 00 00 BRK
-0020D6 0F60D6 01 00 NOP
-0020D8 0F60D8 02 00 RTS
Index: trunk/bench/tools/HSW12ASM/test_XGATE_pag.s28
===================================================================
--- trunk/bench/tools/HSW12ASM/test_XGATE_pag.s28 (revision 2)
+++ trunk/bench/tools/HSW12ASM/test_XGATE_pag.s28 (nonexistent)
@@ -1,8 +0,0 @@
-S00D0000544553545F5847415445DA
-S206002000204277
-S20600201256FF72
-S24400201E02F801F9412549245124592461286928712879286129692971297929612A692A712A792A03F404F507F601F001F107F207F30CB00EF10A520D730A1408750C5665
-S24400205E0DD70E190A2A0D3B0A4C085D0C6E0D7F1028114E120F120F130F184C184C18401A0C1B0C18401CB918B918B91EFE1B472000220027FF240029D52BD42C002E005D
-S24000209E30003200340038003FCD64BB6CBB741B7CBB83FE8B1393FE9BFFA301AB00B3FEBBFEC300CC02D300DC02E300EC02F300FC02030007F700000100020010
-S20800B004201E007B8A
-S804000000FB
Index: trunk/bench/tools/HSW12ASM/test_S12.s
===================================================================
--- trunk/bench/tools/HSW12ASM/test_S12.s (revision 2)
+++ trunk/bench/tools/HSW12ASM/test_S12.s (nonexistent)
@@ -1,5563 +0,0 @@
-
-*
-* S12 test case
-*
-
- CPU S12
-
-char equ 65
-immed equ $72
-dir equ $55
-ext equ $1234
-ind equ $37
-small equ $e
-mask equ %11001100
-ROTATE000 EQU $0188
-ROTATE001 EQU $8944
-ROTATE002 EQU $3333
-ROTATE003 EQU $4444
-INDEX EQU 3
-*
-*
-*
- ORG $1000
-
-TEST1 EQU 1
-TEST2 EQU 2
-TEST3 EQU 3
-TEST4 EQU 4
-TEST5 EQU 5
-TEST6 EQU 6
-TEST7 EQU 7
-TEST8 EQU 8
-
-#ifdef TEST1
- ldaa #TEST1
-#ifdef TEST2
- ldaa #TEST2
-#ifndef TEST3
- ldab #TEST3
-#ifdef TEST4
- ldab #TEST4
-#endif
-#ifdef TEST5
- ldaa #TEST5
-*#ifdef TEST6
-* ldaa #TEST6
-*#ifdef TEST7
-* ldaa #TEST7
-*#ifdef TEST8
-* ldaa #TEST8
-*#endif
-*#endif
-*#endif
-#else
- ldd #3333
-#ifdef TEST7
- ldd #7777
-#else
- ldaa #'N'
-#endif
-#endif
-#else
- ldd #3333
-#ifdef TEST17
- ldd #7777
-#else
- ldaa #'N'
-#endif
-#endif
-#endif
-#endif
-*#endif
-
- ORG $4000
-
-
- movb 5,-y,-16,sp
-
-#ifdef a4fn
- movb 5,-y,-16,x
-#endif
-
-#ifdef b32ff
- movb 5,-y,-16,y
-#endif
-
-; funny ` test
-; stinky `` test
-;
- movb 5,-y,-small,pc
-happy`
-
- movb 5,-y,-small,sp
- movb 5,y-,-small,sp
-
-
- dw 2
- db 2
- dc.w 2
- dc.b 2
- fcb 2
- fdb 2222
- ds 34
- ds.b 34
- ds.w 34
- rmb 34
- rmw 34
-
-bb equ 1
-
-#ifdef aa
- movb 5,-y,-small,x
-#endif
-
- movb 5,-y,-small,y
-
-#ifdef aa
- movb 5,-y,0,pc
-#endif
-
- movb 5,-y,0,sp
- trap $39
-
-#ifdef aa
- bclr 1,+sp,#$55
- bclr 1,sp-,#$55
-#endif
-
-#ifdef bb
- bclr 1,+x,$55
- bclr 1,+x,#$55
-#endif
-
- bclr dir,$55
- bclr dir,#$55
-
- bclr ext,$55
- bclr ext,#$55
-
- brclr 1,+sp,$55, *
- brclr 1,+sp,#$55, *
-
- brset 1,+sp,$55,*
- brset 1,+sp,#$55,*
-
- brset dir,$55,*
- brset dir,#$55,*
-
- brset ext,$55,*
- brset ext,#$55,*
-
- bset 1,+sp,$55
- bset 1,+sp,#$55
-
- bset dir,$55
- bset dir,#$55
-
- movw ext, 2,x
- movw 2,x, 0,x
-
- movb 1,sp, ext
- movb 1,sp, 12,x
- movw 2,sp, ext
- movw 2,sp, 12,x
-
-
- movb #immed, 1,-sp
- movw ext, 2,-sp
- movb ext, 1,-sp
- movw #immed, 2,-sp
- movw #immed, 2,-sp
- aba
- abx
- aby
- ALIGN 0
- adca #immed
- adca #immed
- adca #immed
- adca #immed
- adca #immed
-#ifndef dense
- adca 1,+sp
-#else
- adca 1,+x
-#endif
- adca 1,+y
- LOC
- adca 8,+sp ; a comma is in , order in the comment
- adca 8,+y
- adca ,pc
- adca ,sp
- adca ,x
-
- adca ,y
- adca 1,-sp
-reset
- adca 1,-x
- adca 1,-y
- adca 8,-sp
-reset`
- adca 8,-x
- adca 8,-y
- adca -1,sp
- adca -1,x
-*
-* helwo warry bud
-* hewe is you comment
-*
- adca -1,y
- adca -16,sp
- lbls reset ;mert
- jsr reset-*,pc
- jsr *,pc
- jsr *
- lbls *
- adca -16,x
- adca -16,y
- adca -17,sp
- ALIGN 1
- adca -17,x
- adca -17,y
- ALIGN 3
- adca -small,pc
- adca -small,sp
- adca -small,x
- ALIGN 7
- adca -small,y
- adca 0,pc
- adca 0,sp
- adca 0,x
- adca 0,y
- adca 1,sp+
- adca 1,x+
- adca ext,x
- adca ext,x
- adca ext,x
- adca ext,x
- adca ext,x
- adca 1,y+
- adca 1,sp
- adca 1,x
- adca 1,y
- adca 1,sp-
- adca 1,x-
- adca 1,y-
- adca 125,pc
- adca 125,sp
- adca 125,x
- adca 125,y
- adca 15,sp
- adca 15,x
- adca 15,y
- adca 16,sp
- adca 16,x
- adca 16,y
- adca 8,sp+
- adca 8,x+
- adca 8,y+
- adca 8,sp-
- adca 8,x-
- adca 8,y-
- adca a,sp
- adca a,x
- adca a,y
- adca b,sp
- adca b,x
- adca b,y
- adca d,sp
- adca d,x
- adca d,y
- adca dir
- adca dir
- adca ext
- adca ext
- adca ext,sp
- adca ext,x
- adca ext,y
- adca ind,pc
- adca ind,sp
- adca ind,x
- adca ind,y
- adca small,pc
- adca small,sp
- adca small,x
- adca small,y
- adcb #immed
- adcb 1,+sp
- adcb -small,pc
- adcb 125,pc
- adcb dir
- adcb ext
- adcb ext,sp
- adda #immed
- adda 1,+sp
- adda dir
- adda ext
- adda ext
- addb #immed
- addb 1,+sp
- addb dir
- addb ext
- addd #immed
- addd 1,+sp
- addd dir
- addd ext
- anda #immed
- anda 1,+sp
- anda dir
- anda ext
- andb #immed
- andb 1,+sp
- andb dir
- andb ext
- andcc #immed
- asl 1,+sp
- asl dir
- asl ext
- asla
- aslb
- asld
- asr 1,+sp
- asr dir
- asr ext
- asra
- asrb
- bcc *
- bcs *
- beq *
- bge *
- bgt *
- bhi *
- bita #immed
- bita 1,+sp
- bita dir
- bita ext
- bitb #immed
- bitb 1,+sp
- bitb dir
- bitb ext
- ble *
- bls *
- blt *
- bmi *
- bne *
- bpl *
- bra *
- brn *
- bsr *
- bvc *
- bvs *
- cba
- clc
- cli
- clr 1,+sp
- clr dir
- clr ext
- clra
- clrb
- clv
- cmpa #immed
- cmpa 1,+sp
- cmpa dir
- cmpa ext
-
- cmpb #immed
- cmpb #immed
- cmpb 1,+sp
- cmpb 1,+x
- cmpb 1,+y
- cmpb 8,+sp
- cmpb 8,+x
- cmpb 8,+y
- cmpb ,pc
- cmpb ,sp
- cmpb ,x
- cmpb ,y
- cmpb 1,-sp
- cmpb 1,-x
- cmpb 1,-y
- cmpb 8,-sp
- cmpb 8,-x
- cmpb 8,-y
- cmpb -1,sp
- cmpb -1,x
- cmpb -1,y
- cmpb -16,sp
- cmpb -16,x
- cmpb -16,y
- cmpb -17,sp
- cmpb -17,x
- cmpb -17,y
- cmpb -small,pc
- cmpb -small,sp
- cmpb -small,x
- cmpb -small,y
- cmpb 0,pc
- cmpb 0,sp
- cmpb 0,x
- cmpb 0,y
- cmpb 1,sp+
- cmpb 1,x+
- cmpb 1,y+
- cmpb 1,sp
- cmpb 1,x
- cmpb 1,y
- cmpb 1,sp-
- cmpb 1,x-
- cmpb 1,y-
- cmpb 125,pc
- cmpb 125,sp
- cmpb 125,x
- cmpb 125,y
- cmpb 15,sp
- cmpb 15,x
- cmpb 15,y
- cmpb 16,sp
- cmpb 16,x
- cmpb 16,y
- cmpb 8,sp+
- cmpb 8,x+
- cmpb 8,y+
- cmpb 8,sp-
- cmpb 8,x-
- cmpb 8,y-
- cmpb a,sp
- cmpb a,x
- cmpb a,y
- cmpb b,sp
- cmpb b,x
- cmpb b,y
- cmpb d,sp
- cmpb d,x
- cmpb d,y
- cmpb dir
- cmpb dir
- cmpb ext
- cmpb ext
- cmpb ext,sp
- cmpb ext,x
- cmpb ext,y
- cmpb ind,pc
- cmpb ind,sp
- cmpb ind,x
- cmpb ind,y
- cmpb small,pc
- cmpb small,sp
- cmpb small,x
- cmpb small,y
- com 1,+sp
- com 1,+x
- com 1,+y
- com 8,+sp
- com 8,+x
- com 8,+y
- com ,pc
- com ,sp
- com ,x
- com ,y
- com 1,-sp
- com 1,-x
- com 1,-y
- com 8,-sp
- com 8,-x
- com 8,-y
- com -1,sp
- com -1,x
- com -1,y
- com -16,sp
- com -16,x
- com -16,y
- com -17,sp
- com -17,x
- com -17,y
- com -small,pc
- com -small,sp
- com -small,x
- com -small,y
- com 0,pc
- com 0,sp
- com 0,x
- com 0,y
- com 1,sp+
- com 1,x+
- com 1,y+
- com 1,sp
- com 1,x
- com 1,y
- com 1,sp-
- com 1,x-
- com 1,y-
- com 125,pc
- com 125,sp
- com 125,x
- com 125,y
- com 15,sp
- com 15,x
- com 15,y
- com 16,sp
- com 16,x
- com 16,y
- com 8,sp+
- com 8,x+
- com 8,y+
- com 8,sp-
- com 8,x-
- com 8,y-
- com a,sp
- com a,x
- com a,y
- com b,sp
- com b,x
- com b,y
- com d,sp
- com d,x
- com d,y
- com dir
- com ext
- com ext
- com ext,sp
- com ext,x
- com ext,y
- com ind,pc
- com ind,sp
- com ind,x
- com ind,y
- com small,pc
- com small,sp
- com small,x
- com small,y
- coma
- comb
- cpd #immed
- cpd #immed
- cpd 1,+sp
- cpd 1,+x
- cpd 1,+y
- cpd 8,+sp
- cpd 8,+x
- cpd 8,+y
- cpd ,pc
- cpd ,sp
- cpd ,x
- cpd ,y
- cpd 1,-sp
- cpd 1,-x
- cpd 1,-y
- cpd 8,-sp
- cpd 8,-x
- cpd 8,-y
- cpd -1,sp
- cpd -1,x
- cpd -1,y
- cpd -16,sp
- cpd -16,x
- cpd -16,y
- cpd -17,sp
- cpd -17,x
- cpd -17,y
- cpd -small,pc
- cpd -small,sp
- cpd -small,x
- cpd -small,y
- cpd 0,pc
- cpd 0,sp
- cpd 0,x
- cpd 0,y
- cpd 1,sp+
- cpd 1,x+
- cpd 1,y+
- cpd 1,sp
- cpd 1,x
- cpd 1,y
- cpd 1,sp-
- cpd 1,x-
- cpd 1,y-
- cpd 125,pc
- cpd 125,sp
- cpd 125,x
- cpd 125,y
- cpd 15,sp
- cpd 15,x
- cpd 15,y
- cpd 16,sp
- cpd 16,x
- cpd 16,y
- cpd 8,sp+
- cpd 8,x+
- cpd 8,y+
- cpd 8,sp-
- cpd 8,x-
- cpd 8,y-
- cpd a,sp
- cpd a,x
- cpd a,y
- cpd b,sp
- cpd b,x
- cpd b,y
- cpd d,sp
- cpd d,x
- cpd d,y
- cpd dir
- cpd dir
- cpd ext
- cpd ext
- cpd ext,sp
- cpd ext,x
- cpd ext,y
- cpd ind,pc
- cpd ind,sp
- cpd ind,x
- cpd ind,y
- cpd small,pc
- cpd small,sp
- cpd small,x
- cpd small,y
- cps #immed
- cps 1,+sp
- cps 1,+x
- cps 1,+y
- cps 8,+sp
- cps 8,+x
- cps 8,+y
- cps ,pc
- cps ,sp
- cps ,x
- cps ,y
- cps 1,-sp
- cps 1,-x
- cps 1,-y
- cps 8,-sp
- cps 8,-x
- cps 8,-y
- cps -1,sp
- cps -1,x
- cps -1,y
- cps -16,sp
- cps -16,x
- cps -16,y
- cps -17,sp
- cps -17,x
- cps -17,y
- cps -small,pc
- cps -small,sp
- cps -small,x
- cps -small,y
- cps 0,pc
- cps 0,sp
- cps 0,x
- cps 0,y
- cps 1,sp+
- cps 1,x+
- cps 1,y+
- cps 1,sp
- cps 1,x
- cps 1,y
- cps 1,sp-
- cps 1,x-
- cps 1,y-
- cps 125,pc
- cps 125,sp
- cps 125,x
- cps 125,y
- cps 15,sp
- cps 15,x
- cps 15,y
- cps 16,sp
- cps 16,x
- cps 16,y
- cps 8,sp+
- cps 8,x+
- cps 8,y+
- cps 8,sp-
- cps 8,x-
- cps 8,y-
- cps a,sp
- cps a,x
- cps a,y
- cps b,sp
- cps b,x
- cps b,y
- cps d,sp
- cps d,x
- cps d,y
- cps dir
- cps dir
- cps ext
- cps ext
- cps ext,sp
- cps ext,x
- cps ext,y
- cps ind,pc
- cps ind,sp
- cps ind,x
- cps ind,y
- cps small,pc
- cps small,sp
- cps small,x
- cps small,y
- cpx #immed
- cpx #immed
- cpx 1,+sp
- cpx 1,+x
- cpx 1,+y
- cpx 8,+sp
- cpx 8,+x
- cpx 8,+y
- cpx ,pc
- cpx ,sp
- cpx ,x
- cpx ,y
- cpx 1,-sp
- cpx 1,-x
- cpx 1,-y
- cpx 8,-sp
- cpx 8,-x
- cpx 8,-y
- cpx -1,sp
- cpx -1,x
- cpx -1,y
- cpx -16,sp
- cpx -16,x
- cpx -16,y
- cpx -17,sp
- cpx -17,x
- cpx -17,y
- cpx -small,pc
- cpx -small,sp
- cpx -small,x
- cpx -small,y
- cpx 0,pc
- cpx 0,sp
- cpx 0,x
- cpx 0,y
- cpx 1,sp+
- cpx 1,x+
- cpx 1,y+
- cpx 1,sp
- cpx 1,x
- cpx 1,y
- cpx 1,sp-
- cpx 1,x-
- cpx 1,y-
- cpx 125,pc
- cpx 125,sp
- cpx 125,x
- cpx 125,y
- cpx 15,sp
- cpx 15,x
- cpx 15,y
- cpx 16,sp
- cpx 16,x
- cpx 16,y
- cpx 8,sp+
- cpx 8,x+
- cpx 8,y+
- cpx 8,sp-
- cpx 8,x-
- cpx 8,y-
- cpx a,sp
- cpx a,x
- cpx a,y
- cpx b,sp
- cpx b,x
- cpx b,y
- cpx d,sp
- cpx d,x
- cpx d,y
- cpx dir
- cpx dir
- cpx ext
- cpx ext
- cpx ext,sp
- cpx ext,x
- cpx ext,y
- cpx ind,pc
- cpx ind,sp
- cpx ind,x
- cpx ind,y
- cpx small,pc
- cpx small,sp
- cpx small,x
- cpx small,y
- cpy #immed
- cpy #immed
- cpy 1,+sp
- cpy 1,+x
- cpy 1,+y
- cpy 8,+sp
- cpy 8,+x
- cpy 8,+y
- cpy ,pc
- cpy ,sp
- cpy ,x
- cpy ,y
- cpy 1,-sp
- cpy 1,-x
- cpy 1,-y
- cpy 8,-sp
- cpy 8,-x
- cpy 8,-y
- cpy -1,sp
- cpy -1,x
- cpy -1,y
- cpy -16,sp
- cpy -16,x
- cpy -16,y
- cpy -17,sp
- cpy -17,x
- cpy -17,y
- cpy -small,pc
- cpy -small,sp
- cpy -small,x
- cpy -small,y
- cpy 0,pc
- cpy 0,sp
- cpy 0,x
- cpy 0,y
- cpy 1,sp+
- cpy 1,x+
- cpy 1,y+
- cpy 1,sp
- cpy 1,x
- cpy 1,y
- cpy 1,sp-
- cpy 1,x-
- cpy 1,y-
- cpy 125,pc
- cpy 125,sp
- cpy 125,x
- cpy 125,y
- cpy 15,sp
- cpy 15,x
- cpy 15,y
- cpy 16,sp
- cpy 16,x
- cpy 16,y
- cpy 8,sp+
- cpy 8,x+
- cpy 8,y+
- cpy 8,sp-
- cpy 8,x-
- cpy 8,y-
- cpy a,sp
- cpy a,x
- cpy a,y
- cpy b,sp
- cpy b,x
- cpy b,y
- cpy d,sp
- cpy d,x
- cpy d,y
- cpy dir
- cpy dir
- cpy ext
- cpy ext
- cpy ext,sp
- cpy ext,x
- cpy ext,y
- cpy ind,pc
- cpy ind,sp
- cpy ind,x
- cpy ind,y
- cpy small,pc
- cpy small,sp
- cpy small,x
- cpy small,y
- daa
- dbne a, *
- dbne b, *
- dbne x, *
- dbne y, *
- dec 1,+sp
- dec 1,+x
- dec 1,+y
- dec 8,+sp
- dec 8,+x
- dec 8,+y
- dec ,pc
- dec ,sp
- dec ,x
- dec ,y
- dec 1,-sp
- dec 1,-x
- dec 1,-y
- dec 8,-sp
- dec 8,-x
- dec 8,-y
- dec -1,sp
- dec -1,x
- dec -1,y
- dec -16,sp
- dec -16,x
- dec -16,y
- dec -17,sp
- dec -17,x
- dec -17,y
- dec -small,pc
- dec -small,sp
- dec -small,x
- dec -small,y
- dec 0,pc
- dec 0,sp
- dec 0,x
- dec 0,y
- dec 1,sp+
- dec 1,x+
- dec 1,y+
- dec 1,sp
- dec 1,x
- dec 1,y
- dec 1,sp-
- dec 1,x-
- dec 1,y-
- dec 125,pc
- dec 125,sp
- dec 125,x
- dec 125,y
- dec 15,sp
- dec 15,x
- dec 15,y
- dec 16,sp
- dec 16,x
- dec 16,y
- dec 8,sp+
- dec 8,x+
- dec 8,y+
- dec 8,sp-
- dec 8,x-
- dec 8,y-
- dec a,sp
- dec a,x
- dec a,y
- dec b,sp
- dec b,x
- dec b,y
- dec d,sp
- dec d,x
- dec d,y
- dec dir
- dec ext
- dec ext
- dec ext,sp
- dec ext,x
- dec ext,y
- dec ind,pc
- dec ind,sp
- dec ind,x
- dec ind,y
- dec small,pc
- dec small,sp
- dec small,x
- dec small,y
- deca
- decb
- des
- dex
- dey
- ediv
- edivs
- emacs dir
- emacs ext
- emacs small
- emaxd 1,+sp
- emaxd 1,+x
- emaxd 1,+y
- emaxd 8,+sp
- emaxd 8,+x
- emaxd 8,+y
- emaxd ,pc
- emaxd ,sp
- emaxd ,x
- emaxd ,y
- emaxd 1,-sp
- emaxd 1,-x
- emaxd 1,-y
- emaxd 8,-sp
- emaxd 8,-x
- emaxd 8,-y
- emaxd -1,sp
- emaxd -1,x
- emaxd -1,y
- emaxd -16,sp
- emaxd -16,x
- emaxd -16,y
- emaxd -17,sp
- emaxd -17,x
- emaxd -17,y
- emaxd -small,pc
- emaxd -small,sp
- emaxd -small,x
- emaxd -small,y
- emaxd 0,pc
- emaxd 0,sp
- emaxd 0,x
- emaxd 0,y
- emaxd 1,sp+
- emaxd 1,x+
- emaxd 1,y+
- emaxd 1,sp
- emaxd 1,x
- emaxd 1,y
- emaxd 1,sp-
- emaxd 1,x-
- emaxd 1,y-
- emaxd 125,pc
- emaxd 125,sp
- emaxd 125,x
- emaxd 125,y
- emaxd 15,sp
- emaxd 15,x
- emaxd 15,y
- emaxd 16,sp
- emaxd 16,x
- emaxd 16,y
- emaxd 8,sp+
- emaxd 8,x+
- emaxd 8,y+
- emaxd 8,sp-
- emaxd 8,x-
- emaxd 8,y-
- emaxd a,sp
- emaxd a,x
- emaxd a,y
- emaxd b,sp
- emaxd b,x
- emaxd b,y
- emaxd d,sp
- emaxd d,x
- emaxd d,y
- emaxd ext,sp
- emaxd ext,x
- emaxd ext,y
- emaxd ind,pc
- emaxd ind,sp
- emaxd ind,x
- emaxd ind,y
- emaxd small,pc
- emaxd small,sp
- emaxd small,x
- emaxd small,y
- emaxm 1,+sp
- emaxm 1,+x
- emaxm 1,+y
- emaxm 8,+sp
- emaxm 8,+x
- emaxm 8,+y
- emaxm ,pc
- emaxm ,sp
- emaxm ,x
- emaxm ,y
- emaxm 1,-sp
- emaxm 1,-x
- emaxm 1,-y
- emaxm 8,-sp
- emaxm 8,-x
- emaxm 8,-y
- emaxm -1,sp
- emaxm -1,x
- emaxm -1,y
- emaxm -16,sp
- emaxm -16,x
- emaxm -16,y
- emaxm -17,sp
- emaxm -17,x
- emaxm -17,y
- emaxm -small,pc
- emaxm -small,sp
- emaxm -small,x
- emaxm -small,y
- emaxm 0,pc
- emaxm 0,sp
- emaxm 0,x
- emaxm 0,y
- emaxm 1,sp+
- emaxm 1,x+
- emaxm 1,y+
- emaxm 1,sp
- emaxm 1,x
- emaxm 1,y
- emaxm 1,sp-
- emaxm 1,x-
- emaxm 1,y-
- emaxm 125,pc
- emaxm 125,sp
- emaxm 125,x
- emaxm 125,y
- emaxm 15,sp
- emaxm 15,x
- emaxm 15,y
- emaxm 16,sp
- emaxm 16,x
- emaxm 16,y
- emaxm 8,sp+
- emaxm 8,x+
- emaxm 8,y+
- emaxm 8,sp-
- emaxm 8,x-
- emaxm 8,y-
- emaxm a,sp
- emaxm a,x
- emaxm a,y
- emaxm b,sp
- emaxm b,x
- emaxm b,y
- emaxm d,sp
- emaxm d,x
- emaxm d,y
- emaxm ext,sp
- emaxm ext,x
- emaxm ext,y
- emaxm ind,pc
- emaxm ind,sp
- emaxm ind,x
- emaxm ind,y
- emaxm small,pc
- emaxm small,sp
- emaxm small,x
- emaxm small,y
- emind 1,+sp
- emind 1,+x
- emind 1,+y
- emind 8,+sp
- emind 8,+x
- emind 8,+y
- emind ,pc
- emind ,sp
- emind ,x
- emind ,y
- emind 1,-sp
- emind 1,-x
- emind 1,-y
- emind 8,-sp
- emind 8,-x
- emind 8,-y
- emind -1,sp
- emind -1,x
- emind -1,y
- emind -16,sp
- emind -16,x
- emind -16,y
- emind -17,sp
- emind -17,x
- emind -17,y
- emind -small,pc
- emind -small,sp
- emind -small,x
- emind -small,y
- emind 0,pc
- emind 0,sp
- emind 0,x
- emind 0,y
- emind 1,sp+
- emind 1,x+
- emind 1,y+
- emind 1,sp
- emind 1,x
- emind 1,y
- emind 1,sp-
- emind 1,x-
- emind 1,y-
- emind 125,pc
- emind 125,sp
- emind 125,x
- emind 125,y
- emind 15,sp
- emind 15,x
- emind 15,y
- emind 16,sp
- emind 16,x
- emind 16,y
- emind 8,sp+
- emind 8,x+
- emind 8,y+
- emind 8,sp-
- emind 8,x-
- emind 8,y-
- emind a,sp
- emind a,x
- emind a,y
- emind b,sp
- emind b,x
- emind b,y
- emind d,sp
- emind d,x
- emind d,y
- emind ext,sp
- emind ext,x
- emind ext,y
- emind ind,pc
- emind ind,sp
- emind ind,x
- emind ind,y
- emind small,pc
- emind small,sp
- emind small,x
- emind small,y
- eminm 1,+sp
- eminm 1,+x
- eminm 1,+y
- eminm 8,+sp
- eminm 8,+x
- eminm 8,+y
- eminm ,pc
- eminm ,sp
- eminm ,x
- eminm ,y
- eminm 1,-sp
- eminm 1,-x
- eminm 1,-y
- eminm 8,-sp
- eminm 8,-x
- eminm 8,-y
- eminm -1,sp
- eminm -1,x
- eminm -1,y
- eminm -16,sp
- eminm -16,x
- eminm -16,y
- eminm -17,sp
- eminm -17,x
- eminm -17,y
- eminm -small,pc
- eminm -small,sp
- eminm -small,x
- eminm -small,y
- eminm 0,pc
- eminm 0,sp
- eminm 0,x
- eminm 0,y
- eminm 1,sp+
- eminm 1,x+
- eminm 1,y+
- eminm 1,sp
- eminm 1,x
- eminm 1,y
- eminm 1,sp-
- eminm 1,x-
- eminm 1,y-
- eminm 125,pc
- eminm 125,sp
- eminm 125,x
- eminm 125,y
- eminm 15,sp
- eminm 15,x
- eminm 15,y
- eminm 16,sp
- eminm 16,x
- eminm 16,y
- eminm 8,sp+
- eminm 8,x+
- eminm 8,y+
- eminm 8,sp-
- eminm 8,x-
- eminm 8,y-
- eminm a,sp
- eminm a,x
- eminm a,y
- eminm b,sp
- eminm b,x
- eminm b,y
- eminm d,sp
- eminm d,x
- eminm d,y
- eminm ext,sp
- eminm ext,x
- eminm ext,y
- eminm ind,pc
- eminm ind,sp
- eminm ind,x
- eminm ind,y
- eminm small,pc
- eminm small,sp
- eminm small,x
- eminm small,y
- eora #immed
- eora #immed
- eora 1,+sp
- eora 1,+x
- eora 1,+y
- eora 8,+sp
- eora 8,+x
- eora 8,+y
- eora ,pc
- eora ,sp
- eora ,x
- eora ,y
- eora 1,-sp
- eora 1,-x
- eora 1,-y
- eora 8,-sp
- eora 8,-x
- eora 8,-y
- eora -1,sp
- eora -1,x
- eora -1,y
- eora -16,sp
- eora -16,x
- eora -16,y
- eora -17,sp
- eora -17,x
- eora -17,y
- eora -small,pc
- eora -small,sp
- eora -small,x
- eora -small,y
- eora 0,pc
- eora 0,sp
- eora 0,x
- eora 0,y
- eora 1,sp+
- eora 1,x+
- eora 1,y+
- eora 1,sp
- eora 1,x
- eora 1,y
- eora 1,sp-
- eora 1,x-
- eora 1,y-
- eora 125,pc
- eora 125,sp
- eora 125,x
- eora 125,y
- eora 15,sp
- eora 15,x
- eora 15,y
- eora 16,sp
- eora 16,x
- eora 16,y
- eora 8,sp+
- eora 8,x+
- eora 8,y+
- eora 8,sp-
- eora 8,x-
- eora 8,y-
- eora a,sp
- eora a,x
- eora a,y
- eora b,sp
- eora b,x
- eora b,y
- eora d,sp
- eora d,x
- eora d,y
- eora dir
- eora dir
- eora ext
- eora ext
- eora ext,sp
- eora ext,x
- eora ext,y
- eora ind,pc
- eora ind,sp
- eora ind,x
- eora ind,y
- eora small,pc
- eora small,sp
- eora small,x
- eora small,y
- eorb #immed
- eorb #immed
- eorb 1,+sp
- eorb 1,+x
- eorb 1,+y
- eorb 8,+sp
- eorb 8,+x
- eorb 8,+y
- eorb ,pc
- eorb ,sp
- eorb ,x
- eorb ,y
- eorb 1,-sp
- eorb 1,-x
- eorb 1,-y
- eorb 8,-sp
- eorb 8,-x
- eorb 8,-y
- eorb -1,sp
- eorb -1,x
- eorb -1,y
- eorb -16,sp
- eorb -16,x
- eorb -16,y
- eorb -17,sp
- eorb -17,x
- eorb -17,y
- eorb -small,pc
- eorb -small,sp
- eorb -small,x
- eorb -small,y
- eorb 0,pc
- eorb 0,sp
- eorb 0,x
- eorb 0,y
- eorb 1,sp+
- eorb 1,x+
- eorb 1,y+
- eorb 1,sp
- eorb 1,x
- eorb 1,y
- eorb 1,sp-
- eorb 1,x-
- eorb 1,y-
- eorb 125,pc
- eorb 125,sp
- eorb 125,x
- eorb 125,y
- eorb 15,sp
- eorb 15,x
- eorb 15,y
- eorb 16,sp
- eorb 16,x
- eorb 16,y
- eorb 8,sp+
- eorb 8,x+
- eorb 8,y+
- eorb 8,sp-
- eorb 8,x-
- eorb 8,y-
- eorb a,sp
- eorb a,x
- eorb a,y
- eorb b,sp
- eorb b,x
- eorb b,y
- eorb d,sp
- eorb d,x
- eorb d,y
- eorb dir
- eorb dir
- eorb ext
- eorb ext
- eorb ext,sp
- eorb ext,x
- eorb ext,y
- eorb ind,pc
- eorb ind,sp
- eorb ind,x
- eorb ind,y
- eorb small,pc
- eorb small,sp
- eorb small,x
- eorb small,y
- etbl 5,x
- exg a, a
- exg a, b
- exg a, b
- exg a, ccr
- exg a, d
- exg a, sp
- exg a, x
- exg a, x
- exg a, y
- exg a, x
- exg b, a
- exg b, b
- exg b, ccr
- exg b, d
- exg b, sp
- exg b, x
- exg b, y
- exg ccr, a
- exg ccr, b
- exg ccr, ccr
- exg ccr, d
- exg ccr, sp
- exg ccr, x
- exg ccr, y
- exg d, a
- exg d, b
- exg d, ccr
- exg d, d
- exg d, sp
- exg d, x
- exg d, y
- exg sp, a
- exg sp, b
- exg sp, ccr
- exg sp, d
- exg sp, sp
- exg sp, x
- exg sp, y
- exg x, a
- exg x, b
- exg x, ccr
- exg x, d
- exg x, sp
- exg x, x
- exg x, y
- exg x,y
- exg y, a
- exg y, b
- exg y, ccr
- exg y, d
- exg y, sp
- exg y, x
- exg y, y
- fdiv
- idiv
- inc 1,+sp
- inc 1,+x
- inc 1,+y
- inc 8,+sp
- inc 8,+x
- inc 8,+y
- inc ,pc
- inc ,sp
- inc ,x
- inc ,y
- inc 1,-sp
- inc 1,-x
- inc 1,-y
- inc 8,-sp
- inc 8,-x
- inc 8,-y
- inc -1,sp
- inc -1,x
- inc -1,y
- inc -16,sp
- inc -16,x
- inc -16,y
- inc -17,sp
- inc -17,x
- inc -17,y
- inc -small,pc
- inc -small,sp
- inc -small,x
- inc -small,y
- inc 0,pc
- inc 0,sp
- inc 0,x
- inc 0,y
- inc 1,sp+
- inc 1,x+
- inc 1,y+
- inc 1,sp
- inc 1,x
- inc 1,y
- inc 1,sp-
- inc 1,x-
- inc 1,y-
- inc 125,pc
- inc 125,sp
- inc 125,x
- inc 125,y
- inc 15,sp
- inc 15,x
- inc 15,y
- inc 16,sp
- inc 16,x
- inc 16,y
- inc 8,sp+
- inc 8,x+
- inc 8,y+
- inc 8,sp-
- inc 8,x-
- inc 8,y-
- inc a,sp
- inc a,x
- inc a,y
- inc b,sp
- inc b,x
- inc b,y
- inc d,sp
- inc d,x
- inc d,y
- inc dir
- inc ext
- inc ext
- inc ext,sp
- inc ext,x
- inc ext,y
- inc ind,pc
- inc ind,sp
- inc ind,x
- inc ind,y
- inc small,pc
- inc small,sp
- inc small,x
- inc small,y
- inca
- incb
- ins
- inx
- iny
- jmp 1,+sp
- jmp 1,+x
- jmp 1,+y
- jmp 8,+sp
- jmp 8,+x
- jmp 8,+y
- jmp ,pc
- jmp ,sp
- jmp ,x
- jmp ,y
- jmp 1,-sp
- jmp 1,-x
- jmp 1,-y
- jmp 8,-sp
- jmp 8,-x
- jmp 8,-y
- jmp -1,sp
- jmp -1,x
- jmp -1,y
- jmp -16,sp
- jmp -16,x
- jmp -16,y
- jmp -17,sp
- jmp -17,x
- jmp -17,y
- jmp -small,pc
- jmp -small,sp
- jmp -small,x
- jmp -small,y
- jmp 0,pc
- jmp 0,sp
- jmp 0,x
- jmp 0,y
- jmp 1,sp+
- jmp 1,x+
- jmp 1,y+
- jmp 1,sp
- jmp 1,x
- jmp 1,y
- jmp 1,sp-
- jmp 1,x-
- jmp 1,y-
- jmp 125,pc
- jmp 125,sp
- jmp 125,x
- jmp 125,y
- jmp 15,sp
- jmp 15,x
- jmp 15,y
- jmp 16,sp
- jmp 16,x
- jmp 16,y
- jmp 8,sp+
- jmp 8,x+
- jmp 8,y+
- jmp 8,sp-
- jmp 8,x-
- jmp 8,y-
- jmp a,sp
- jmp a,x
- jmp a,y
- jmp b,sp
- jmp b,x
- jmp b,y
- jmp d,sp
- jmp d,x
- jmp d,y
- jmp dir
- jmp ext
- jmp ext
- jmp ext,sp
- jmp ext,x
- jmp ext,y
- jmp ind,pc
- jmp ind,sp
- jmp ind,x
- jmp ind,y
- jmp small,pc
- jmp small,sp
- jmp small,x
- jmp small,y
- jsr 1,+sp
- jsr 1,+x
- jsr 1,+y
- jsr 8,+sp
- jsr 8,+x
- jsr 8,+y
- jsr ,pc
- jsr ,sp
- jsr ,x
- jsr ,y
- jsr 1,-sp
- jsr 1,-x
- jsr 1,-y
- jsr 8,-sp
- jsr 8,-x
- jsr 8,-y
- jsr -1,sp
- jsr -1,x
- jsr -1,y
- jsr -16,sp
- jsr -16,x
- jsr -16,y
- jsr -17,sp
- jsr -17,x
- jsr -17,y
- jsr -small,pc
- jsr -small,sp
- jsr -small,x
- jsr -small,y
- jsr 0,pc
- jsr 0,sp
- jsr 0,x
- jsr 0,y
- jsr 1,sp+
- jsr 1,x+
- jsr 1,y+
- jsr 1,sp
- jsr 1,x
- jsr 1,y
- jsr 1,sp-
- jsr 1,x-
- jsr 1,y-
- jsr 125,pc
- jsr 125,sp
- jsr 125,x
- jsr 125,y
- jsr 15,sp
- jsr 15,x
- jsr 15,y
- jsr 16,sp
- jsr 16,x
- jsr 16,y
- jsr 8,sp+
- jsr 8,x+
- jsr 8,y+
- jsr 8,sp-
- jsr 8,x-
- jsr 8,y-
- jsr a,sp
- jsr a,x
- jsr a,y
- jsr b,sp
- jsr b,x
- jsr b,y
- jsr d,sp
- jsr d,x
- jsr d,y
- jsr dir
- jsr dir
- jsr ext
- jsr ext
- jsr ext
- jsr ext,sp
- jsr ext,x
- jsr ext,y
- jsr ind,pc
- jsr ind,sp
- jsr ind,x
- jsr ind,y
- jsr small,pc
- jsr small,sp
- jsr small,x
- jsr small,y
- lbcc *
- lbcc *
- lbcs *
- lbeq *
- lbge *
- lbgt *
- lbhi *
- lble *
- lbls *
- lblt *
- lbmi *
- lbne *
- lbpl *
- lbra *
- lbrn *
- lbls *
- lbvc *
- lbvs *
- ldaa #immed
- ldaa #immed
- ldaa 1,+sp
- ldaa 1,+x
- ldaa 1,+y
- ldaa 8,+sp
- ldaa 8,+x
- ldaa 8,+y
- ldaa ,pc
- ldaa ,sp
- ldaa ,x
- ldaa ,y
- ldaa 1,-sp
- ldaa 1,-x
- ldaa 1,-y
- ldaa 8,-sp
- ldaa 8,-x
- ldaa 8,-y
- ldaa -1,sp
- ldaa -1,x
- ldaa -1,y
- ldaa -16,sp
- ldaa -16,x
- ldaa -16,y
- ldaa -17,sp
- ldaa -17,x
- ldaa -17,y
- ldaa -small,pc
- ldaa -small,sp
- ldaa -small,x
- ldaa -small,y
- ldaa 0,pc
- ldaa 0,sp
- ldaa 0,x
- ldaa 0,y
- ldaa 1,sp+
- ldaa 1,x+
- ldaa 1,y+
- ldaa 1,sp
- ldaa 1,x
- ldaa 1,y
- ldaa 1,sp-
- ldaa 1,x-
- ldaa 1,y-
- ldaa 125,pc
- ldaa 125,sp
- ldaa 125,x
- ldaa 125,y
- ldaa 15,sp
- ldaa 15,x
- ldaa 15,y
- ldaa 16,sp
- ldaa 16,x
- ldaa 16,y
- ldaa 8,sp+
- ldaa 8,x+
- ldaa 8,y+
- ldaa 8,sp-
- ldaa 8,x-
- ldaa 8,y-
- ldaa a,sp
- ldaa a,x
- ldaa a,y
- ldaa b,sp
- ldaa b,x
- ldaa b,y
- ldaa d,sp
- ldaa d,x
- ldaa d,y
- ldaa dir
- ldaa dir
- ldaa ext
- ldaa ext
- ldaa ext,sp
- ldaa ext,x
- ldaa ext,y
- ldaa ind,pc
- ldaa ind,sp
- ldaa ind,x
- ldaa ind,y
- ldaa small,pc
- ldaa small,sp
- ldaa small,x
- ldaa small,y
- ldab #immed
- ldab #immed
- ldab 1,+sp
- ldab 1,+x
- ldab 1,+y
- ldab 8,+sp
- ldab 8,+x
- ldab 8,+y
- ldab ,pc
- ldab ,sp
- ldab ,x
- ldab ,y
- ldab 1,-sp
- ldab 1,-x
- ldab 1,-y
- ldab 8,-sp
- ldab 8,-x
- ldab 8,-y
- ldab -1,sp
- ldab -1,x
- ldab -1,y
- ldab -16,sp
- ldab -16,x
- ldab -16,y
- ldab -17,sp
- ldab -17,x
- ldab -17,y
- ldab -small,pc
- ldab -small,sp
- ldab -small,x
- ldab -small,y
- ldab 0,pc
- ldab 0,sp
- ldab 0,x
- ldab 0,y
- ldab 1,sp+
- ldab 1,x+
- ldab 1,y+
- ldab 1,sp
- ldab 1,x
- ldab 1,y
- ldab 1,sp-
- ldab 1,x-
- ldab 1,y-
- ldab 125,pc
- ldab 125,sp
- ldab 125,x
- ldab 125,y
- ldab 15,sp
- ldab 15,x
- ldab 15,y
- ldab 16,sp
- ldab 16,x
- ldab 16,y
- ldab 8,sp+
- ldab 8,x+
- ldab 8,y+
- ldab 8,sp-
- ldab 8,x-
- ldab 8,y-
- ldab a,sp
- ldab a,x
- ldab a,y
- ldab b,sp
- ldab b,x
- ldab b,y
- ldab d,sp
- ldab d,x
- ldab d,y
- ldab dir
- ldab dir
- ldab ext
- ldab ext
- ldab ext,sp
- ldab ext,x
- ldab ext,y
- ldab ind,pc
- ldab ind,sp
- ldab ind,x
- ldab ind,y
- ldab small,pc
- ldab small,sp
- ldab small,x
- ldab small,y
- ldd #immed
- ldd #immed
- ldd 1,+sp
- ldd 1,+x
- ldd 1,+y
- ldd 8,+sp
- ldd 8,+x
- ldd 8,+y
- ldd ,pc
- ldd ,sp
- ldd ,x
- ldd ,y
- ldd 1,-sp
- ldd 1,-x
- ldd 1,-y
- ldd 8,-sp
- ldd 8,-x
- ldd 8,-y
- ldd -1,sp
- ldd -1,x
- ldd -1,y
- ldd -16,sp
- ldd -16,x
- ldd -16,y
- ldd -17,sp
- ldd -17,x
- ldd -17,y
- ldd -small,pc
- ldd -small,sp
- ldd -small,x
- ldd -small,y
- ldd 0,pc
- ldd 0,sp
- ldd 0,x
- ldd 0,y
- ldd 1,sp+
- ldd 1,x+
- ldd 1,y+
- ldd 1,sp
- ldd 1,x
- ldd 1,y
- ldd 1,sp-
- ldd 1,x-
- ldd 1,y-
- ldd 125,pc
- ldd 125,sp
- ldd 125,x
- ldd 125,y
- ldd 15,sp
- ldd 15,x
- ldd 15,y
- ldd 16,sp
- ldd 16,x
- ldd 16,y
- ldd 8,sp+
- ldd 8,x+
- ldd 8,y+
- ldd 8,sp-
- ldd 8,x-
- ldd 8,y-
- ldd a,sp
- ldd a,x
- ldd a,y
- ldd b,sp
- ldd b,x
- ldd b,y
- ldd d,sp
- ldd d,x
- ldd d,y
- ldd dir
- ldd dir
- ldd ext
- ldd ext
- ldd ext,sp
- ldd ext,x
- ldd ext,y
- ldd ind,pc
- ldd ind,sp
- ldd ind,x
- ldd ind,y
- ldd small,pc
- ldd small,sp
- ldd small,x
- ldd small,y
- lds #immed
- lds #immed
- lds 1,+sp
- lds 1,+x
- lds 1,+y
- lds 8,+sp
- lds 8,+x
- lds 8,+y
- lds ,pc
- lds ,sp
- lds ,x
- lds ,y
- lds 1,-sp
- lds 1,-x
- lds 1,-y
- lds 8,-sp
- lds 8,-x
- lds 8,-y
- lds -1,sp
- lds -1,x
- lds -1,y
- lds -16,sp
- lds -16,x
- lds -16,y
- lds -17,sp
- lds -17,x
- lds -17,y
- lds -small,pc
- lds -small,sp
- lds -small,x
- lds -small,y
- lds 0,pc
- lds 0,sp
- lds 0,x
- lds 0,y
- lds 1,sp+
- lds 1,x+
- lds 1,y+
- lds 1,sp
- lds 1,x
- lds 1,y
- lds 1,sp-
- lds 1,x-
- lds 1,y-
- lds 125,pc
- lds 125,sp
- lds 125,x
- lds 125,y
- lds 15,sp
- lds 15,x
- lds 15,y
- lds 16,sp
- lds 16,x
- lds 16,y
- lds 8,sp+
- lds 8,x+
- lds 8,y+
- lds 8,sp-
- lds 8,x-
- lds 8,y-
- lds a,sp
- lds a,x
- lds a,y
- lds b,sp
- lds b,x
- lds b,y
- lds d,sp
- lds d,x
- lds d,y
- lds dir
- lds ext
- lds ext,sp
- lds ext,x
- lds ext,y
- lds ind,pc
- lds ind,sp
- lds ind,x
- lds ind,y
- lds small,pc
- lds small,sp
- lds small,x
- lds small,y
- ldx #immed
- ldx #immed
- ldx 1,+sp
- ldx 1,+x
- ldx 1,+y
- ldx 8,+sp
- ldx 8,+x
- ldx 8,+y
- ldx ,pc
- ldx ,sp
- ldx ,x
- ldx ,y
- ldx 1,-sp
- ldx 1,-x
- ldx 1,-y
- ldx 8,-sp
- ldx 8,-x
- ldx 8,-y
- ldx -1,sp
- ldx -1,x
- ldx -1,y
- ldx -16,sp
- ldx -16,x
- ldx -16,y
- ldx -17,sp
- ldx -17,x
- ldx -17,y
- ldx -small,pc
- ldx -small,sp
- ldx -small,x
- ldx -small,y
- ldx 0,pc
- ldx 0,sp
- ldx 0,x
- ldx 0,y
- ldx 1,sp+
- ldx 1,x+
- ldx 1,y+
- ldx 1,sp
- ldx 1,x
- ldx 1,y
- ldx 1,sp-
- ldx 1,x-
- ldx 1,y-
- ldx 125,pc
- ldx 125,sp
- ldx 125,x
- ldx 125,y
- ldx 15,sp
- ldx 15,x
- ldx 15,y
- ldx 16,sp
- ldx 16,x
- ldx 16,y
- ldx 8,sp+
- ldx 8,x+
- ldx 8,y+
- ldx 8,sp-
- ldx 8,x-
- ldx 8,y-
- ldx a,sp
- ldx a,x
- ldx a,y
- ldx b,sp
- ldx b,x
- ldx b,y
- ldx d,sp
- ldx d,x
- ldx d,y
- ldx dir
- ldx dir
- ldx ext
- ldx ext
- ldx ext,sp
- ldx ext,x
- ldx ext,y
- ldx ind,pc
- ldx ind,sp
- ldx ind,x
- ldx ind,y
- ldx small,pc
- ldx small,sp
- ldx small,x
- ldx small,y
- ldy #immed
- ldy #immed
- ldy 1,+sp
- ldy 1,+x
- ldy 1,+y
- ldy 8,+sp
- ldy 8,+x
- ldy 8,+y
- ldy ,pc
- ldy ,sp
- ldy ,x
- ldy ,y
- ldy 1,-sp
- ldy 1,-x
- ldy 1,-y
- ldy 8,-sp
- ldy 8,-x
- ldy 8,-y
- ldy -1,sp
- ldy -1,x
- ldy -1,y
- ldy -16,sp
- ldy -16,x
- ldy -16,y
- ldy -17,sp
- ldy -17,x
- ldy -17,y
- ldy -small,pc
- ldy -small,sp
- ldy -small,x
- ldy -small,y
- ldy 0,pc
- ldy 0,sp
- ldy 0,x
- ldy 0,y
- ldy 1,sp+
- ldy 1,x+
- ldy 1,y+
- ldy 1,sp
- ldy 1,x
- ldy 1,y
- ldy 1,sp-
- ldy 1,x-
- ldy 1,y-
- ldy 125,pc
- ldy 125,sp
- ldy 125,x
- ldy 125,y
- ldy 15,sp
- ldy 15,x
- ldy 15,y
- ldy 16,sp
- ldy 16,x
- ldy 16,y
- ldy 8,sp+
- ldy 8,x+
- ldy 8,y+
- ldy 8,sp-
- ldy 8,x-
- ldy 8,y-
- ldy a,sp
- ldy a,x
- ldy a,y
- ldy b,sp
- ldy b,x
- ldy b,y
- ldy d,sp
- ldy d,x
- ldy d,y
- ldy dir
- ldy dir
- ldy ext
- ldy ext
- ldy ext,sp
- ldy ext,x
- ldy ext,y
- ldy ind,pc
- ldy ind,sp
- ldy ind,x
- ldy ind,y
- ldy small,pc
- ldy small,sp
- ldy small,x
- ldy small,y
- leas 1,+sp
- leas 1,+x
- leas 1,+y
- leas 8,+sp
- leas 8,+x
- leas 8,+y
- leas ,pc
- leas ,sp
- leas ,x
- leas ,y
- leas 1,-sp
- leas 1,-x
- leas 1,-y
- leas 8,-sp
- leas 8,-x
- leas 8,-y
- leas -1,sp
- leas -1,x
- leas -1,y
- leas -16,sp
- leas -16,x
- leas -16,y
- leas -17,sp
- leas -17,x
- leas -17,y
- leas -small,pc
- leas -small,sp
- leas -small,x
- leas -small,y
- leas 0,pc
- leas 0,sp
- leas 0,x
- leas 0,y
- leas 1,sp+
- leas 1,x+
- leas 1,y+
- leas 1,sp
- leas 1,x
- leas 1,y
- leas 1,sp-
- leas 1,x-
- leas 1,y-
- leas 125,pc
- leas 125,sp
- leas 125,x
- leas 125,y
- leas 15,sp
- leas 15,x
- leas 15,y
- leas 16,sp
- leas 16,x
- leas 16,y
- leas 8,sp+
- leas 8,x+
- leas 8,y+
- leas 8,sp-
- leas 8,x-
- leas 8,y-
- leas a,sp
- leas a,x
- leas a,y
- leas b,sp
- leas b,x
- leas b,y
- leas d,sp
- leas d,x
- leas d,y
- leas ext,sp
- leas ext,x
- leas ext,y
- leas ind,pc
- leas ind,sp
- leas ind,x
- leas ind,y
- leas small,pc
- leas small,sp
- leas small,x
- leas small,y
- leax 1,+sp
- leax 1,+x
- leax 1,+y
- leax 8,+sp
- leax 8,+x
- leax 8,+y
- leax ,pc
- leax ,sp
- leax ,x
- leax ,y
- leax 1,-sp
- leax 1,-x
- leax 1,-y
- leax 8,-sp
- leax 8,-x
- leax 8,-y
- leax -1,sp
- leax -1,x
- leax -1,y
- leax -16,sp
- leax -16,x
- leax -16,y
- leax -17,sp
- leax -17,x
- leax -17,y
- leax -small,pc
- leax -small,sp
- leax -small,x
- leax -small,y
- leax 0,pc
- leax 0,sp
- leax 0,x
- leax 0,y
- leax 1,sp+
- leax 1,x+
- leax 1,y+
- leax 1,sp
- leax 1,x
- leax 1,y
- leax 1,sp-
- leax 1,x-
- leax 1,y-
- leax 125,pc
- leax 125,sp
- leax 125,x
- leax 125,y
- leax 15,sp
- leax 15,x
- leax 15,y
- leax 16,sp
- leax 16,x
- leax 16,y
- leax 8,sp+
- leax 8,x+
- leax 8,y+
- leax 8,sp-
- leax 8,x-
- leax 8,y-
- leax a,sp
- leax a,x
- leax a,y
- leax b,sp
- leax b,x
- leax b,y
- leax d,sp
- leax d,x
- leax d,y
- leax ext,sp
- leax ext,x
- leax ext,y
- leax ind,pc
- leax ind,sp
- leax ind,x
- leax ind,y
- leax small,pc
- leax small,sp
- leax small,x
- leax small,y
- leay 1,+sp
- leay 1,+x
- leay 1,+y
- leay 8,+sp
- leay 8,+x
- leay 8,+y
- leay ,pc
- leay ,sp
- leay ,x
- leay ,y
- leay 1,-sp
- leay 1,-x
- leay 1,-y
- leay 8,-sp
- leay 8,-x
- leay 8,-y
- leay -1,sp
- leay -1,x
- leay -1,y
- leay -16,sp
- leay -16,x
- leay -16,y
- leay -17,sp
- leay -17,x
- leay -17,y
- leay -small,pc
- leay -small,sp
- leay -small,x
- leay -small,y
- leay 0,pc
- leay 0,sp
- leay 0,x
- leay 0,y
- leay 1,sp+
- leay 1,x+
- leay 1,y+
- leay 1,sp
- leay 1,x
- leay 1,y
- leay 1,sp-
- leay 1,x-
- leay 1,y-
- leay 125,pc
- leay 125,sp
- leay 125,x
- leay 125,y
- leay 15,sp
- leay 15,x
- leay 15,y
- leay 16,sp
- leay 16,x
- leay 16,y
- leay 8,sp+
- leay 8,x+
- leay 8,y+
- leay 8,sp-
- leay 8,x-
- leay 8,y-
- leay a,sp
- leay a,x
- leay a,y
- leay b,sp
- leay b,x
- leay b,y
- leay d,sp
- leay d,x
- leay d,y
- leay ext,sp
- leay ext,x
- leay ext,y
- leay ind,pc
- leay ind,sp
- leay ind,x
- leay ind,y
- leay small,pc
- leay small,sp
- leay small,x
- leay small,y
- lsl 1,+sp
- lsl 1,+x
- lsl 1,+y
- lsl 8,+sp
- lsl 8,+x
- lsl 8,+y
- lsl ,pc
- lsl ,sp
- lsl ,x
- lsl ,y
- lsl 1,-sp
- lsl 1,-x
- lsl 1,-y
- lsl 8,-sp
- lsl 8,-x
- lsl 8,-y
- lsl -1,sp
- lsl -1,x
- lsl -1,y
- lsl -16,sp
- lsl -16,x
- lsl -16,y
- lsl -17,sp
- lsl -17,x
- lsl -17,y
- lsl -small,pc
- lsl -small,sp
- lsl -small,x
- lsl -small,y
- lsl 0,pc
- lsl 0,sp
- lsl 0,x
- lsl 0,y
- lsl 1,sp+
- lsl 1,x+
- lsl 1,y+
- lsl 1,sp
- lsl 1,x
- lsl 1,y
- lsl 1,sp-
- lsl 1,x-
- lsl 1,y-
- lsl 125,pc
- lsl 125,sp
- lsl 125,x
- lsl 125,y
- lsl 15,sp
- lsl 15,x
- lsl 15,y
- lsl 16,sp
- lsl 16,x
- lsl 16,y
- lsl 8,sp+
- lsl 8,x+
- lsl 8,y+
- lsl 8,sp-
- lsl 8,x-
- lsl 8,y-
- lsl a,sp
- lsl a,x
- lsl a,y
- lsl b,sp
- lsl b,x
- lsl b,y
- lsl d,sp
- lsl d,x
- lsl d,y
- lsl dir
- lsl ext
- lsl ext
- lsl ext,sp
- lsl ext,x
- lsl ext,y
- lsl ind,pc
- lsl ind,sp
- lsl ind,x
- lsl ind,y
- lsl small,pc
- lsl small,sp
- lsl small,x
- lsl small,y
- lsla
- lslb
- lsld
- lsr 1,+sp
- lsr 1,+x
- lsr 1,+y
- lsr 8,+sp
- lsr 8,+x
- lsr 8,+y
- lsr ,pc
- lsr ,sp
- lsr ,x
- lsr ,y
- lsr 1,-sp
- lsr 1,-x
- lsr 1,-y
- lsr 8,-sp
- lsr 8,-x
- lsr 8,-y
- lsr -1,sp
- lsr -1,x
- lsr -1,y
- lsr -16,sp
- lsr -16,x
- lsr -16,y
- lsr -17,sp
- lsr -17,x
- lsr -17,y
- lsr -small,pc
- lsr -small,sp
- lsr -small,x
- lsr -small,y
- lsr 0,pc
- lsr 0,sp
- lsr 0,x
- lsr 0,y
- lsr 1,sp+
- lsr 1,x+
- lsr 1,y+
- lsr 1,sp
- lsr 1,x
- lsr 1,y
- lsr 1,sp-
- lsr 1,x-
- lsr 1,y-
- lsr 125,pc
- lsr 125,sp
- lsr 125,x
- lsr 125,y
- lsr 15,sp
- lsr 15,x
- lsr 15,y
- lsr 16,sp
- lsr 16,x
- lsr 16,y
- lsr 8,sp+
- lsr 8,x+
- lsr 8,y+
- lsr 8,sp-
- lsr 8,x-
- lsr 8,y-
- lsr a,sp
- lsr a,x
- lsr a,y
- lsr b,sp
- lsr b,x
- lsr b,y
- lsr d,sp
- lsr d,x
- lsr d,y
- lsr dir
- lsr ext
- lsr ext
- lsr ext,sp
- lsr ext,x
- lsr ext,y
- lsr ind,pc
- lsr ind,sp
- lsr ind,x
- lsr ind,y
- lsr small,pc
- lsr small,sp
- lsr small,x
- lsr small,y
- lsra
- lsrb
- lsrd
- lsrd
- maxa 1,+sp
- maxa 1,+x
- maxa 1,+y
- maxa 8,+sp
- maxa 8,+x
- maxa 8,+y
- maxa ,pc
- maxa ,sp
- maxa ,x
- maxa ,y
- maxa 1,-sp
- maxa 1,-x
- maxa 1,-y
- maxa 8,-sp
- maxa 8,-x
- maxa 8,-y
- maxa -1,sp
- maxa -1,x
- maxa -1,y
- maxa -16,sp
- maxa -16,x
- maxa -16,y
- maxa -17,sp
- maxa -17,x
- maxa -17,y
- maxa -small,pc
- maxa -small,sp
- maxa -small,x
- maxa -small,y
- maxa 0,pc
- maxa 0,sp
- maxa 0,x
- maxa 0,y
- maxa 1,sp+
- maxa 1,x+
- maxa 1,y+
- maxa 1,sp
- maxa 1,x
- maxa 1,y
- maxa 1,sp-
- maxa 1,x-
- maxa 1,y-
- maxa 125,pc
- maxa 125,sp
- maxa 125,x
- maxa 125,y
- maxa 15,sp
- maxa 15,x
- maxa 15,y
- maxa 16,sp
- maxa 16,x
- maxa 16,y
- maxa 8,sp+
- maxa 8,x+
- maxa 8,y+
- maxa 8,sp-
- maxa 8,x-
- maxa 8,y-
- maxa a,sp
- maxa a,x
- maxa a,y
- maxa b,sp
- maxa b,x
- maxa b,y
- maxa d,sp
- maxa d,x
- maxa d,y
- maxa ext,sp
- maxa ext,x
- maxa ext,y
- maxa ind,pc
- maxa ind,sp
- maxa ind,x
- maxa ind,y
- maxa small,pc
- maxa small,sp
- maxa small,x
- maxa small,y
- maxm 1,+sp
- maxm 1,+x
- maxm 1,+y
- maxm 8,+sp
- maxm 8,+x
- maxm 8,+y
- maxm ,pc
- maxm ,sp
- maxm ,x
- maxm ,y
- maxm 1,-sp
- maxm 1,-x
- maxm 1,-y
- maxm 8,-sp
- maxm 8,-x
- maxm 8,-y
- maxm -1,sp
- maxm -1,x
- maxm -1,y
- maxm -16,sp
- maxm -16,x
- maxm -16,y
- maxm -17,sp
- maxm -17,x
- maxm -17,y
- maxm -small,pc
- maxm -small,sp
- maxm -small,x
- maxm -small,y
- maxm 0,pc
- maxm 0,sp
- maxm 0,x
- maxm 0,y
- maxm 1,sp+
- maxm 1,x+
- maxm 1,y+
- maxm 1,sp
- maxm 1,x
- maxm 1,y
- maxm 1,sp-
- maxm 1,x-
- maxm 1,y-
- maxm 125,pc
- maxm 125,sp
- maxm 125,x
- maxm 125,y
- maxm 15,sp
- maxm 15,x
- maxm 15,y
- maxm 16,sp
- maxm 16,x
- maxm 16,y
- maxm 8,sp+
- maxm 8,x+
- maxm 8,y+
- maxm 8,sp-
- maxm 8,x-
- maxm 8,y-
- maxm a,sp
- maxm a,x
- maxm a,y
- maxm b,sp
- maxm b,x
- maxm b,y
- maxm d,sp
- maxm d,x
- maxm d,y
- maxm ext,sp
- maxm ext,x
- maxm ext,y
- maxm ind,pc
- maxm ind,sp
- maxm ind,x
- maxm ind,y
- maxm small,pc
- maxm small,sp
- maxm small,x
- maxm small,y
- mem
- mina 1,+sp
- mina 1,+x
- mina 1,+y
- mina 8,+sp
- mina 8,+x
- mina 8,+y
- mina ,pc
- mina ,sp
- mina ,x
- mina ,y
- mina 1,-sp
- mina 1,-x
- mina 1,-y
- mina 8,-sp
- mina 8,-x
- mina 8,-y
- mina -1,sp
- mina -1,x
- mina -1,y
- mina -16,sp
- mina -16,x
- mina -16,y
- mina -17,sp
- mina -17,x
- mina -17,y
- mina -small,pc
- mina -small,sp
- mina -small,x
- mina -small,y
- mina 0,pc
- mina 0,sp
- mina 0,x
- mina 0,y
- mina 1,sp+
- mina 1,x+
- mina 1,y+
- mina 1,sp
- mina 1,x
- mina 1,y
- mina 1,sp-
- mina 1,x-
- mina 1,y-
- mina 125,pc
- mina 125,sp
- mina 125,x
- mina 125,y
- mina 15,sp
- mina 15,x
- mina 15,y
- mina 16,sp
- mina 16,x
- mina 16,y
- mina 8,sp+
- mina 8,x+
- mina 8,y+
- mina 8,sp-
- mina 8,x-
- mina 8,y-
- mina a,sp
- mina a,x
- mina a,y
- mina b,sp
- mina b,x
- mina b,y
- mina d,sp
- mina d,x
- mina d,y
- mina ext,sp
- mina ext,x
- mina ext,y
- mina ind,pc
- mina ind,sp
- mina ind,x
- mina ind,y
- mina small,pc
- mina small,sp
- mina small,x
- mina small,y
- minm 1,+sp
- minm 1,+x
- minm 1,+y
- minm 8,+sp
- minm 8,+x
- minm 8,+y
- minm ,pc
- minm ,sp
- minm ,x
- minm ,y
- minm 1,-sp
- minm 1,-x
- minm 1,-y
- minm 8,-sp
- minm 8,-x
- minm 8,-y
- minm -1,sp
- minm -1,x
- minm -1,y
- minm -16,sp
- minm -16,x
- minm -16,y
- minm -17,sp
- minm -17,x
- minm -17,y
- minm -small,pc
- minm -small,sp
- minm -small,x
- minm -small,y
- minm 0,pc
- minm 0,sp
- minm 0,x
- minm 0,y
- minm 1,sp+
- minm 1,x+
- minm 1,y+
- minm 1,sp
- minm 1,x
- minm 1,y
- minm 1,sp-
- minm 1,x-
- minm 1,y-
- minm 125,pc
- minm 125,sp
- minm 125,x
- minm 125,y
- minm 15,sp
- minm 15,x
- minm 15,y
- minm 16,sp
- minm 16,x
- minm 16,y
- minm 8,sp+
- minm 8,x+
- minm 8,y+
- minm 8,sp-
- minm 8,x-
- minm 8,y-
- minm a,sp
- minm a,x
- minm a,y
- minm b,sp
- minm b,x
- minm b,y
- minm d,sp
- minm d,x
- minm d,y
- minm ext,sp
- minm ext,x
- minm ext,y
- minm ind,pc
- minm ind,sp
- minm ind,x
- minm ind,y
- minm small,pc
- minm small,sp
- minm small,x
- minm small,y
- mul
- neg 1,+sp
- neg 1,+x
- neg 1,+y
- neg 8,+sp
- neg 8,+x
- neg 8,+y
- neg ,pc
- neg ,sp
- neg ,x
- neg ,y
- neg 1,-sp
- neg 1,-x
- neg 1,-y
- neg 8,-sp
- neg 8,-x
- neg 8,-y
- neg -1,sp
- neg -1,x
- neg -1,y
- neg -16,sp
- neg -16,x
- neg -16,y
- neg -17,sp
- neg -17,x
- neg -17,y
- neg -small,pc
- neg -small,sp
- neg -small,x
- neg -small,y
- neg 0,pc
- neg 0,sp
- neg 0,x
- neg 0,y
- neg 1,sp+
- neg 1,x+
- neg 1,y+
- neg 1,sp
- neg 1,x
- neg 1,y
- neg 1,sp-
- neg 1,x-
- neg 1,y-
- neg 125,pc
- neg 125,sp
- neg 125,x
- neg 125,y
- neg 15,sp
- neg 15,x
- neg 15,y
- neg 16,sp
- neg 16,x
- neg 16,y
- neg 8,sp+
- neg 8,x+
- neg 8,y+
- neg 8,sp-
- neg 8,x-
- neg 8,y-
- neg a,sp
- neg a,x
- neg a,y
- neg b,sp
- neg b,x
- neg b,y
- neg d,sp
- neg d,x
- neg d,y
- neg dir
- neg ext
- neg ext
- neg ext,sp
- neg ext,x
- neg ext,y
- neg ind,pc
- neg ind,sp
- neg ind,x
- neg ind,y
- neg small,pc
- neg small,sp
- neg small,x
- neg small,y
- nega
- negb
- nop
- oraa #immed
- oraa #immed
- oraa 1,+sp
- oraa 1,+x
- oraa 1,+y
- oraa 8,+sp
- oraa 8,+x
- oraa 8,+y
- oraa ,pc
- oraa ,sp
- oraa ,x
- oraa ,y
- oraa 1,-sp
- oraa 1,-x
- oraa 1,-y
- oraa 8,-sp
- oraa 8,-x
- oraa 8,-y
- oraa -1,sp
- oraa -1,x
- oraa -1,y
- oraa -16,sp
- oraa -16,x
- oraa -16,y
- oraa -17,sp
- oraa -17,x
- oraa -17,y
- oraa -small,pc
- oraa -small,sp
- oraa -small,x
- oraa -small,y
- oraa 0,pc
- oraa 0,sp
- oraa 0,x
- oraa 0,y
- oraa 1,sp+
- oraa 1,x+
- oraa 1,y+
- oraa 1,sp
- oraa 1,x
- oraa 1,y
- oraa 1,sp-
- oraa 1,x-
- oraa 1,y-
- oraa 125,pc
- oraa 125,sp
- oraa 125,x
- oraa 125,y
- oraa 15,sp
- oraa 15,x
- oraa 15,y
- oraa 16,sp
- oraa 16,x
- oraa 16,y
- oraa 8,sp+
- oraa 8,x+
- oraa 8,y+
- oraa 8,sp-
- oraa 8,x-
- oraa 8,y-
- oraa a,sp
- oraa a,x
- oraa a,y
- oraa b,sp
- oraa b,x
- oraa b,y
- oraa d,sp
- oraa d,x
- oraa d,y
- oraa dir
- oraa dir
- oraa ext
- oraa ext
- oraa ext,sp
- oraa ext,x
- oraa ext,y
- oraa ind,pc
- oraa ind,sp
- oraa ind,x
- oraa ind,y
- oraa small,pc
- oraa small,sp
- oraa small,x
- oraa small,y
- orab #immed
- orab #immed
- orab 1,+sp
- orab 1,+x
- orab 1,+y
- orab 8,+sp
- orab 8,+x
- orab 8,+y
- orab ,pc
- orab ,sp
- orab ,x
- orab ,y
- orab 1,-sp
- orab 1,-x
- orab 1,-y
- orab 8,-sp
- orab 8,-x
- orab 8,-y
- orab -1,sp
- orab -1,x
- orab -1,y
- orab -16,sp
- orab -16,x
- orab -16,y
- orab -17,sp
- orab -17,x
- orab -17,y
- orab -small,pc
- orab -small,sp
- orab -small,x
- orab -small,y
- orab 0,pc
- orab 0,sp
- orab 0,x
- orab 0,y
- orab 1,sp+
- orab 1,x+
- orab 1,y+
- orab 1,sp
- orab 1,x
- orab 1,y
- orab 1,sp-
- orab 1,x-
- orab 1,y-
- orab 125,pc
- orab 125,sp
- orab 125,x
- orab 125,y
- orab 15,sp
- orab 15,x
- orab 15,y
- orab 16,sp
- orab 16,x
- orab 16,y
- orab 8,sp+
- orab 8,x+
- orab 8,y+
- orab 8,sp-
- orab 8,x-
- orab 8,y-
- orab a,sp
- orab a,x
- orab a,y
- orab b,sp
- orab b,x
- orab b,y
- orab d,sp
- orab d,x
- orab d,y
- orab dir
- orab dir
- orab ext
- orab ext
- orab ext,sp
- orab ext,x
- orab ext,y
- orab ind,pc
- orab ind,sp
- orab ind,x
- orab ind,y
- orab small,pc
- orab small,sp
- orab small,x
- orab small,y
- orcc #immed
- psha
- pshb
- pshd
- pshx
- pshy
- pula
- pulb
- pulc
- puld
- pulx
- puly
- rev
- rol 1,+sp
- rol 1,+x
- rol 1,+y
- rol 8,+sp
- rol 8,+x
- rol 8,+y
- rol ,pc
- rol ,sp
- rol ,x
- rol ,y
- rol 1,-sp
- rol 1,-x
- rol 1,-y
- rol 8,-sp
- rol 8,-x
- rol 8,-y
- rol -1,sp
- rol -1,x
- rol -1,y
- rol -16,sp
- rol -16,x
- rol -16,y
- rol -17,sp
- rol -17,x
- rol -17,y
- rol -small,pc
- rol -small,sp
- rol -small,x
- rol -small,y
- rol 0,pc
- rol 0,sp
- rol 0,x
- rol 0,y
- rol 1,sp+
- rol 1,x+
- rol 1,y+
- rol 1,sp
- rol 1,x
- rol 1,y
- rol 1,sp-
- rol 1,x-
- rol 1,y-
- rol 125,pc
- rol 125,sp
- rol 125,x
- rol 125,y
- rol 15,sp
- rol 15,x
- rol 15,y
- rol 16,sp
- rol 16,x
- rol 16,y
- rol 8,sp+
- rol 8,x+
- rol 8,y+
- rol 8,sp-
- rol 8,x-
- rol 8,y-
- rol a,sp
- rol a,x
- rol a,y
- rol b,sp
- rol b,x
- rol b,y
- rol d,sp
- rol d,x
- rol d,y
- rol dir
- rol ext
- rol ext
- rol ext,sp
- rol ext,x
- rol ext,y
- rol ind,pc
- rol ind,sp
- rol ind,x
- rol ind,y
- rol small,pc
- rol small,sp
- rol small,x
- rol small,y
- rola
- rolb
- ror 1,+sp
- ror 1,+x
- ror 1,+y
- ror 8,+sp
- ror 8,+x
- ror 8,+y
- ror ,pc
- ror ,sp
- ror ,x
- ror ,y
- ror 1,-sp
- ror 1,-x
- ror 1,-y
- ror 8,-sp
- ror 8,-x
- ror 8,-y
- ror -1,sp
- ror -1,x
- ror -1,y
- ror -16,sp
- ror -16,x
- ror -16,y
- ror -17,sp
- ror -17,x
- ror -17,y
- ror -small,pc
- ror -small,sp
- ror -small,x
- ror -small,y
- ror 0,pc
- ror 0,sp
- ror 0,x
- ror 0,y
- ror 1,sp+
- ror 1,x+
- ror 1,y+
- ror 1,sp
- ror 1,x
- ror 1,y
- ror 1,sp-
- ror 1,x-
- ror 1,y-
- ror 125,pc
- ror 125,sp
- ror 125,x
- ror 125,y
- ror 15,sp
- ror 15,x
- ror 15,y
- ror 16,sp
- ror 16,x
- ror 16,y
- ror 8,sp+
- ror 8,x+
- ror 8,y+
- ror 8,sp-
- ror 8,x-
- ror 8,y-
- ror a,sp
- ror a,x
- ror a,y
- ror b,sp
- ror b,x
- ror b,y
- ror d,sp
- ror d,x
- ror d,y
- ror dir
- ror ext
- ror ext
- ror ext,sp
- ror ext,x
- ror ext,y
- ror ind,pc
- ror ind,sp
- ror ind,x
- ror ind,y
- ror small,pc
- ror small,sp
- ror small,x
- ror small,y
- rora
- rorb
- rti
- rts
- sba
- sbca #immed
- sbca #immed
- sbca 1,+sp
- sbca 1,+x
- sbca 1,+y
- sbca 8,+sp
- sbca 8,+x
- sbca 8,+y
- sbca ,pc
- sbca ,sp
- sbca ,x
- sbca ,y
- sbca 1,-sp
- sbca 1,-x
- sbca 1,-y
- sbca 8,-sp
- sbca 8,-x
- sbca 8,-y
- sbca -1,sp
- sbca -1,x
- sbca -1,y
- sbca -16,sp
- sbca -16,x
- sbca -16,y
- sbca -17,sp
- sbca -17,x
- sbca -17,y
- sbca -small,pc
- sbca -small,sp
- sbca -small,x
- sbca -small,y
- sbca 0,pc
- sbca 0,sp
- sbca 0,x
- sbca 0,y
- sbca 1,sp+
- sbca 1,x+
- sbca 1,y+
- sbca 1,sp
- sbca 1,x
- sbca 1,y
- sbca 1,sp-
- sbca 1,x-
- sbca 1,y-
- sbca 125,pc
- sbca 125,sp
- sbca 125,x
- sbca 125,y
- sbca 15,sp
- sbca 15,x
- sbca 15,y
- sbca 16,sp
- sbca 16,x
- sbca 16,y
- sbca 8,sp+
- sbca 8,x+
- sbca 8,y+
- sbca 8,sp-
- sbca 8,x-
- sbca 8,y-
- sbca a,sp
- sbca a,x
- sbca a,y
- sbca b,sp
- sbca b,x
- sbca b,y
- sbca d,sp
- sbca d,x
- sbca d,y
- sbca dir
- sbca dir
- sbca ext
- sbca ext
- sbca ext,sp
- sbca ext,x
- sbca ext,y
- sbca ind,pc
- sbca ind,sp
- sbca ind,x
- sbca ind,y
- sbca small,pc
- sbca small,sp
- sbca small,x
- sbca small,y
- sbcb #immed
- sbcb #immed
- sbcb 1,+sp
- sbcb 1,+x
- sbcb 1,+y
- sbcb 8,+sp
- sbcb 8,+x
- sbcb 8,+y
- sbcb ,pc
- sbcb ,sp
- sbcb ,x
- sbcb ,y
- sbcb 1,-sp
- sbcb 1,-x
- sbcb 1,-y
- sbcb 8,-sp
- sbcb 8,-x
- sbcb 8,-y
- sbcb -1,sp
- sbcb -1,x
- sbcb -1,y
- sbcb -16,sp
- sbcb -16,x
- sbcb -16,y
- sbcb -17,sp
- sbcb -17,x
- sbcb -17,y
- sbcb -small,pc
- sbcb -small,sp
- sbcb -small,x
- sbcb -small,y
- sbcb 0,pc
- sbcb 0,sp
- sbcb 0,x
- sbcb 0,y
- sbcb 1,sp+
- sbcb 1,x+
- sbcb 1,y+
- sbcb 1,sp
- sbcb 1,x
- sbcb 1,y
- sbcb 1,sp-
- sbcb 1,x-
- sbcb 1,y-
- sbcb 125,pc
- sbcb 125,sp
- sbcb 125,x
- sbcb 125,y
- sbcb 15,sp
- sbcb 15,x
- sbcb 15,y
- sbcb 16,sp
- sbcb 16,x
- sbcb 16,y
- sbcb 8,sp+
- sbcb 8,x+
- sbcb 8,y+
- sbcb 8,sp-
- sbcb 8,x-
- sbcb 8,y-
- sbcb a,sp
- sbcb a,x
- sbcb a,y
- sbcb b,sp
- sbcb b,x
- sbcb b,y
- sbcb d,sp
- sbcb d,x
- sbcb d,y
- sbcb dir
- sbcb dir
- sbcb ext
- sbcb ext
- sbcb ext,sp
- sbcb ext,x
- sbcb ext,y
- sbcb ind,pc
- sbcb ind,sp
- sbcb ind,x
- sbcb ind,y
- sbcb small,pc
- sbcb small,sp
- sbcb small,x
- sbcb small,y
- sec
- sei
- sev
- sex a, d
- sex a, sp
- sex a,sp
- sex a, x
- sex a,x
- sex a, y
- sex a,y
- sex b, d
- sex b, sp
- sex b,sp
- sex b, x
- sex b,x
- sex b, y
- sex b,y
- sex ccr, d
- sex ccr, sp
- sex ccr, x
- sex ccr, y
- staa 1,+sp
- staa 1,+x
- staa 1,+y
- staa 8,+sp
- staa 8,+x
- staa 8,+y
- staa ,pc
- staa ,sp
- staa ,x
- staa ,y
- staa 1,-sp
- staa 1,-x
- staa 1,-y
- staa 8,-sp
- staa 8,-x
- staa 8,-y
- staa -1,sp
- staa -1,x
- staa -1,y
- staa -16,sp
- staa -16,x
- staa -16,y
- staa -17,sp
- staa -17,x
- staa -17,y
- staa -small,pc
- staa -small,sp
- staa -small,x
- staa -small,y
- staa 0,pc
- staa 0,sp
- staa 0,x
- staa 0,y
- staa 1,sp+
- staa 1,x+
- staa 1,y+
- staa 1,sp
- staa 1,x
- staa 1,y
- staa 1,sp-
- staa 1,x-
- staa 1,y-
- staa 125,pc
- staa 125,sp
- staa 125,x
- staa 125,y
- staa 15,sp
- staa 15,x
- staa 15,y
- staa 16,sp
- staa 16,x
- staa 16,y
- staa 8,sp+
- staa 8,x+
- staa 8,y+
- staa 8,sp-
- staa 8,x-
- staa 8,y-
- staa a,sp
- staa a,x
- staa a,y
- staa b,sp
- staa b,x
- staa b,y
- staa d,sp
- staa d,x
- staa d,y
- staa dir
- staa dir
- staa ext
- staa ext
- staa ext,sp
- staa ext,x
- staa ext,y
- staa ind,pc
- staa ind,sp
- staa ind,x
- staa ind,y
- staa small,pc
- staa small,sp
- staa small,x
- staa small,y
- stab 1,+sp
- stab 1,+x
- stab 1,+y
- stab 8,+sp
- stab 8,+x
- stab 8,+y
- stab ,pc
- stab ,sp
- stab ,x
- stab ,y
- stab 1,-sp
- stab 1,-x
- stab 1,-y
- stab 8,-sp
- stab 8,-x
- stab 8,-y
- stab -1,sp
- stab -1,x
- stab -1,y
- stab -16,sp
- stab -16,x
- stab -16,y
- stab -17,sp
- stab -17,x
- stab -17,y
- stab -small,pc
- stab -small,sp
- stab -small,x
- stab -small,y
- stab 0,pc
- stab 0,sp
- stab 0,x
- stab 0,y
- stab 1,sp+
- stab 1,x+
- stab 1,y+
- stab 1,sp
- stab 1,x
- stab 1,y
- stab 1,sp-
- stab 1,x-
- stab 1,y-
- stab 125,pc
- stab 125,sp
- stab 125,x
- stab 125,y
- stab 15,sp
- stab 15,x
- stab 15,y
- stab 16,sp
- stab 16,x
- stab 16,y
- stab 8,sp+
- stab 8,x+
- stab 8,y+
- stab 8,sp-
- stab 8,x-
- stab 8,y-
- stab a,sp
- stab a,x
- stab a,y
- stab b,sp
- stab b,x
- stab b,y
- stab d,sp
- stab d,x
- stab d,y
- stab dir
- stab dir
- stab ext
- stab ext
- stab ext,sp
- stab ext,x
- stab ext,y
- stab ind,pc
- stab ind,sp
- stab ind,x
- stab ind,y
- stab small,pc
- stab small,sp
- stab small,x
- stab small,y
- std 1,+sp
- std 1,+x
- std 1,+y
- std 8,+sp
- std 8,+x
- std 8,+y
- std ,pc
- std ,sp
- std ,x
- std ,y
- std 1,-sp
- std 1,-x
- std 1,-y
- std 8,-sp
- std 8,-x
- std 8,-y
- std -1,sp
- std -1,x
- std -1,y
- std -16,sp
- std -16,x
- std -16,y
- std -17,sp
- std -17,x
- std -17,y
- std -small,pc
- std -small,sp
- std -small,x
- std -small,y
- std 0,pc
- std 0,sp
- std 0,x
- std 0,y
- std 1,sp+
- std 1,x+
- std 1,y+
- std 1,sp
- std 1,x
- std 1,y
- std 1,sp-
- std 1,x-
- std 1,y-
- std 125,pc
- std 125,sp
- std 125,x
- std 125,y
- std 15,sp
- std 15,x
- std 15,y
- std 16,sp
- std 16,x
- std 16,y
- std 8,sp+
- std 8,x+
- std 8,y+
- std 8,sp-
- std 8,x-
- std 8,y-
- std a,sp
- std a,x
- std a,y
- std b,sp
- std b,x
- std b,y
- std d,sp
- std d,x
- std d,y
- std dir
- std dir
- std ext
- std ext
- std ext,sp
- std ext,x
- std ext,y
- std ind,pc
- std ind,sp
- std ind,x
- std ind,y
- std small,pc
- std small,sp
- std small,x
- std small,y
- stop
- sts 1,+sp
- sts 1,+x
- sts 1,+y
- sts 8,+sp
- sts 8,+x
- sts 8,+y
- sts ,pc
- sts ,sp
- sts ,x
- sts ,y
- sts 1,-sp
- sts 1,-x
- sts 1,-y
- sts 8,-sp
- sts 8,-x
- sts 8,-y
- sts -1,sp
- sts -1,x
- sts -1,y
- sts -16,sp
- sts -16,x
- sts -16,y
- sts -17,sp
- sts -17,x
- sts -17,y
- sts -small,pc
- sts -small,sp
- sts -small,x
- sts -small,y
- sts 0,pc
- sts 0,sp
- sts 0,x
- sts 0,y
- sts 1,sp+
- sts 1,x+
- sts 1,y+
- sts 1,sp
- sts 1,x
- sts 1,y
- sts 1,sp-
- sts 1,x-
- sts 1,y-
- sts 125,pc
- sts 125,sp
- sts 125,x
- sts 125,y
- sts 15,sp
- sts 15,x
- sts 15,y
- sts 16,sp
- sts 16,x
- sts 16,y
- sts 8,sp+
- sts 8,x+
- sts 8,y+
- sts 8,sp-
- sts 8,x-
- sts 8,y-
- sts a,sp
- sts a,x
- sts a,y
- sts b,sp
- sts b,x
- sts b,y
- sts d,sp
- sts d,x
- sts d,y
- sts dir
- sts ext
- sts ext,sp
- sts ext,x
- sts ext,y
- sts ind,pc
- sts ind,sp
- sts ind,x
- sts ind,y
- sts small,pc
- sts small,sp
- sts small,x
- sts small,y
- stx 1,+sp
- stx 1,+x
- stx 1,+y
- stx 8,+sp
- stx 8,+x
- stx 8,+y
- stx ,pc
- stx ,sp
- stx ,x
- stx ,y
- stx 1,-sp
- stx 1,-x
- stx 1,-y
- stx 8,-sp
- stx 8,-x
- stx 8,-y
- stx -1,sp
- stx -1,x
- stx -1,y
- stx -16,sp
- stx -16,x
- stx -16,y
- stx -17,sp
- stx -17,x
- stx -17,y
- stx -small,pc
- stx -small,sp
- stx -small,x
- stx -small,y
- stx 0,pc
- stx 0,sp
- stx 0,x
- stx 0,y
- stx 1,sp+
- stx 1,x+
- stx 1,y+
- stx 1,sp
- stx 1,x
- stx 1,y
- stx 1,sp-
- stx 1,x-
- stx 1,y-
- stx 125,pc
- stx 125,sp
- stx 125,x
- stx 125,y
- stx 15,sp
- stx 15,x
- stx 15,y
- stx 16,sp
- stx 16,x
- stx 16,y
- stx 8,sp+
- stx 8,x+
- stx 8,y+
- stx 8,sp-
- stx 8,x-
- stx 8,y-
- stx a,sp
- stx a,x
- stx a,y
- stx b,sp
- stx b,x
- stx b,y
- stx d,sp
- stx d,x
- stx d,y
- stx dir
- stx dir
- stx ext
- stx ext
- stx ext,sp
- stx ext,x
- stx ext,y
- stx ind,pc
- stx ind,sp
- stx ind,x
- stx ind,y
- stx small,pc
- stx small,sp
- stx small,x
- stx small,y
- sty 1,+sp
- sty 1,+x
- sty 1,+y
- sty 8,+sp
- sty 8,+x
- sty 8,+y
- sty ,pc
- sty ,sp
- sty ,x
- sty ,y
- sty 1,-sp
- sty 1,-x
- sty 1,-y
- sty 8,-sp
- sty 8,-x
- sty 8,-y
- sty -1,sp
- sty -1,x
- sty -1,y
- sty -16,sp
- sty -16,x
- sty -16,y
- sty -17,sp
- sty -17,x
- sty -17,y
- sty -small,pc
- sty -small,sp
- sty -small,x
- sty -small,y
- sty 0,pc
- sty 0,sp
- sty 0,x
- sty 0,y
- sty 1,sp+
- sty 1,x+
- sty 1,y+
- sty 1,sp
- sty 1,x
- sty 1,y
- sty 1,sp-
- sty 1,x-
- sty 1,y-
- sty 125,pc
- sty 125,sp
- sty 125,x
- sty 125,y
- sty 15,sp
- sty 15,x
- sty 15,y
- sty 16,sp
- sty 16,x
- sty 16,y
- sty 8,sp+
- sty 8,x+
- sty 8,y+
- sty 8,sp-
- sty 8,x-
- sty 8,y-
- sty a,sp
- sty a,x
- sty a,y
- sty b,sp
- sty b,x
- sty b,y
- sty d,sp
- sty d,x
- sty d,y
- sty dir
- sty dir
- sty ext
- sty ext
- sty ext,sp
- sty ext,x
- sty ext,y
- sty ind,pc
- sty ind,sp
- sty ind,x
- sty ind,y
- sty small,pc
- sty small,sp
- sty small,x
- sty small,y
- suba #immed
- suba 1,+sp
- suba 1,+x
- suba 1,+y
- suba 8,+sp
- suba 8,+x
- suba 8,+y
- suba ,pc
- suba ,sp
- suba ,x
- suba ,y
- suba 1,-sp
- suba 1,-x
- suba 1,-y
- suba 8,-sp
- suba 8,-x
- suba 8,-y
- suba -1,sp
- suba -1,x
- suba -1,y
- suba -16,sp
- suba -16,x
- suba -16,y
- suba -17,sp
- suba -17,x
- suba -17,y
- suba -small,pc
- suba -small,sp
- suba -small,x
- suba -small,y
- suba 0,pc
- suba 0,sp
- suba 0,x
- suba 0,y
- suba 1,sp+
- suba 1,x+
- suba 1,y+
- suba 1,sp
- suba 1,x
- suba 1,y
- suba 1,sp-
- suba 1,x-
- suba 1,y-
- suba 125,pc
- suba 125,sp
- suba 125,x
- suba 125,y
- suba 15,sp
- suba 15,x
- suba 15,y
- suba 16,sp
- suba 16,x
- suba 16,y
- suba 8,sp+
- suba 8,x+
- suba 8,y+
- suba 8,sp-
- suba 8,x-
- suba 8,y-
- suba a,sp
- suba a,x
- suba a,y
- suba b,sp
- suba b,x
- suba b,y
- suba d,sp
- suba d,x
- suba d,y
- suba dir
- suba ext
- suba ext,sp
- suba ext,x
- suba ext,y
- suba ind,pc
- suba ind,sp
- suba ind,x
- suba ind,y
- suba small,pc
- suba small,sp
- suba small,x
- suba small,y
- subb #immed
- subb #immed
- subb 1,+sp
- subb 1,+x
- subb 1,+y
- subb 8,+sp
- subb 8,+x
- subb 8,+y
- subb ,pc
- subb ,sp
- subb ,x
- subb ,y
- subb 1,-sp
- subb 1,-x
- subb 1,-y
- subb 8,-sp
- subb 8,-x
- subb 8,-y
- subb -1,sp
- subb -1,x
- subb -1,y
- subb -16,sp
- subb -16,x
- subb -16,y
- subb -17,sp
- subb -17,x
- subb -17,y
- subb -small,pc
- subb -small,sp
- subb -small,x
- subb -small,y
- subb 0,pc
- subb 0,sp
- subb 0,x
- subb 0,y
- subb 1,sp+
- subb 1,x+
- subb 1,y+
- subb 1,sp
- subb 1,x
- subb 1,y
- subb 1,sp-
- subb 1,x-
- subb 1,y-
- subb 125,pc
- subb 125,sp
- subb 125,x
- subb 125,y
- subb 15,sp
- subb 15,x
- subb 15,y
- subb 16,sp
- subb 16,x
- subb 16,y
- subb 8,sp+
- subb 8,x+
- subb 8,y+
- subb 8,sp-
- subb 8,x-
- subb 8,y-
- subb a,sp
- subb a,x
- subb a,y
- subb b,sp
- subb b,x
- subb b,y
- subb d,sp
- subb d,x
- subb d,y
- subb dir
- subb dir
- subb ext
- subb ext
- subb ext,sp
- subb ext,x
- subb ext,y
- subb ind,pc
- subb ind,sp
- subb ind,x
- subb ind,y
- subb small,pc
- subb small,sp
- subb small,x
- subb small,y
- subd #immed
- subd #immed
- subd 1,+sp
- subd 1,+x
- subd 1,+y
- subd 8,+sp
- subd 8,+x
- subd 8,+y
- subd ,pc
- subd ,sp
- subd ,x
- subd ,y
- subd 1,-sp
- subd 1,-x
- subd 1,-y
- subd 8,-sp
- subd 8,-x
- subd 8,-y
- subd -1,sp
- subd -1,x
- subd -1,y
- subd -16,sp
- subd -16,x
- subd -16,y
- subd -17,sp
- subd -17,x
- subd -17,y
- subd -small,pc
- subd -small,sp
- subd -small,x
- subd -small,y
- subd 0,pc
- subd 0,sp
- subd 0,x
- subd 0,y
- subd 1,sp+
- subd 1,x+
- subd 1,y+
- subd 1,sp
- subd 1,x
- subd 1,y
- subd 1,sp-
- subd 1,x-
- subd 1,y-
- subd 125,pc
- subd 125,sp
- subd 125,x
- subd 125,y
- subd 15,sp
- subd 15,x
- subd 15,y
- subd 16,sp
- subd 16,x
- subd 16,y
- subd 8,sp+
- subd 8,x+
- subd 8,y+
- subd 8,sp-
- subd 8,x-
- subd 8,y-
- subd a,sp
- subd a,x
- subd a,y
- subd b,sp
- subd b,x
- subd b,y
- subd d,sp
- subd d,x
- subd d,y
- subd dir
- subd dir
- subd ext
- subd ext
- subd ext,sp
- subd ext,x
- subd ext,y
- subd ind,pc
- subd ind,sp
- subd ind,x
- subd ind,y
- subd small,pc
- subd small,sp
- subd small,x
- subd small,y
- swi
- tab
- tap
- tba
- tbl b,x
- tfr a, a
- tfr a,a
- tfr a, b
- tfr a,b
- tfr a, ccr
- tfr a, d
- tfr a, sp
- tfr a, x
- tfr a,x
- tfr a, y
- tfr a,y
- tfr b, a
- tfr b, b
- tfr b, ccr
- tfr b, d
- tfr b, sp
- tfr b, x
- tfr b, y
- tfr ccr, a
- tfr ccr, b
- tfr ccr, ccr
- tfr ccr, d
- tfr ccr, sp
- tfr ccr, x
- tfr ccr, y
- tfr d, a
- tfr d, b
- tfr d, ccr
- tfr d, d
- tfr d, sp
- tfr d, x
- tfr d, y
- tfr sp, a
- tfr sp, b
- tfr sp, ccr
- tfr sp, d
- tfr sp, sp
- tfr sp, x
- tfr sp, y
- tfr x, a
- tfr x, b
- tfr x, ccr
- tfr x, d
- tfr x, sp
- tfr x, x
- tfr x, y
- tfr y, a
- tfr y, b
- tfr y, ccr
- tfr y, d
- tfr y, sp
- tfr y, x
- tfr y, y
- tpa
- tst 1,+sp
- tst 1,+x
- tst 1,+y
- tst 8,+sp
- tst 8,+x
- tst 8,+y
- tst ,pc
- tst ,sp
- tst ,x
- tst ,y
- tst 1,-sp
- tst 1,-x
- tst 1,-y
- tst 8,-sp
- tst 8,-x
- tst 8,-y
- tst -1,sp
- tst -1,x
- tst -1,y
- tst -16,sp
- tst -16,x
- tst -16,y
- tst -17,sp
- tst -17,x
- tst -17,y
- tst -small,pc
- tst -small,sp
- tst -small,x
- tst -small,y
- tst 0,pc
- tst 0,sp
- tst 0,x
- tst 0,y
- tst 1,sp+
- tst 1,x+
- tst 1,y+
- tst 1,sp
- tst 1,x
- tst 1,y
- tst 1,sp-
- tst 1,x-
- tst 1,y-
- tst 125,pc
- tst 125,sp
- tst 125,x
- tst 125,y
- tst 15,sp
- tst 15,x
- tst 15,y
- tst 16,sp
- tst 16,x
- tst 16,y
- tst 8,sp+
- tst 8,x+
- tst 8,y+
- tst 8,sp-
- tst 8,x-
- tst 8,y-
- tst a,sp
- tst a,x
- tst a,y
- tst b,sp
- tst b,x
- tst b,y
- tst d,sp
- tst d,x
- tst d,y
- tst dir
- tst ext
- tst ext
- tst ext,sp
- tst ext,x
- tst ext,y
- tst ind,pc
- tst ind,sp
- tst ind,x
- tst ind,y
- tst small,pc
- tst small,sp
- tst small,x
- tst small,y
- tsta
- tstb
- tsx
- tsy
- txs
- tys
- wai
- wav
- xgdx
- xgdy
- call 1,+sp, $55
- call 1,+x, $55
- call 1,+y, $55
- call 8,+sp, $55
- call 8,+x, $55
- call 8,+y, $55
- call ,pc, $55
- call ,sp, $55
- call ,x, $55
- call ,y, $55
- call 1,-sp, $55
- call 1,-x, $55
- call 1,-y, $55
- call 8,-sp, $55
- call 8,-x, $55
- call 8,-y, $55
- call -1,sp, $55
- call -1,x, $55
- call -1,y, $55
- call -16,sp, $55
- call -16,x, $55
- call -16,y, $55
- call -17,sp, $55
- call -17,x, $55
- call -17,y, $55
- call -small,pc, $55
- call -small,sp, $55
- call -small,x, $55
- call -small,y, $55
- call 0,pc, $55
- call 0,sp, $55
- call 0,x, $55
- call 0,y, $55
- call 1,sp+, $55
- call 1,x+, $55
- call 1,y+, $55
- call 1,sp, $55
- call 1,x, $55
- call 1,y, $55
- call 1,sp-, $55
- call 1,x-, $55
- call 1,y-, $55
- call 125,pc, $55
- call 125,sp, $55
- call 125,x, $55
- call 125,y, $55
- call 15,sp, $55
- call 15,x, $55
- call 15,y, $55
- call 16,sp, $55
- call 16,x, $55
- call 16,y, $55
- call 8,sp+, $55
- call 8,x+, $55
- call 8,y+, $55
- call 8,sp-, $55
- call 8,x-, $55
- call 8,y-, $55
- call a,sp, $55
- call a,x, $55
- call a,y, $55
- call b,sp, $55
- call b,x, $55
- call b,y, $55
- call d,sp, $55
- call d,x, $55
- call d,y, $55
- call dir, $55
- call ext, $55
- call ext,sp, $55
- call ext,x, $55
- call ext,y, $55
- call ind,pc, $55
- call ind,sp, $55
- call ind,x, $55
- call ind,y, $55
- call small,pc, $55
- call small,sp, $55
- call small,x, $55
- call small,y, $55
- pshc
- rtc
- movb #immed, 3,+x
- movb #immed, 5,-y
- movb #immed, 5,sp
- movb #immed, ext
- movb 1,+sp, 3,+x
- movb 1,+sp, 5,-y
- movb 1,+sp, 5,sp
- movb 1,+sp, ext
- movb 1,+x, 3,+x
- movb 1,+x, 5,-y
- movb 1,+x, 5,sp
- movb 1,+x, ext
- movb 1,+y, 3,+x
- movb 1,+y, 5,-y
- movb 1,+y, 5,sp
- movb 1,+y, ext
- movb 3,+x, 1,+sp
- movb 3,+x, 1,+x
- movb 3,+x, 1,+y
- movb 3,+x, 8,+sp
- movb 3,+x, 8,+x
- movb 3,+x, 8,+y
- movb 3,+x, ,pc
- movb 3,+x, ,sp
- movb 3,+x, ,x
- movb 3,+x, ,y
- movb 3,+x, 1,-sp
- movb 3,+x, 1,-x
- movb 3,+x, 1,-y
- movb 3,+x, 8,-sp
- movb 3,+x, 8,-x
- movb 3,+x, 8,-y
- movb 3,+x, -1,sp
- movb 3,+x, -1,x
- movb 3,+x, -1,y
- movb 3,+x, -16,sp
- movb 3,+x, -16,x
- movb 3,+x, -16,y
- movb 3,+x, -small,pc
- movb 3,+x, -small,sp
- movb 3,+x, -small,x
- movb 3,+x, -small,y
- movb 3,+x, 0,pc
- movb 3,+x, 0,sp
- movb 3,+x, 0,x
- movb 3,+x, 0,y
- movb 3,+x, 1,sp+
- movb 3,+x, 1,x+
- movb 3,+x, 1,y+
- movb 3,+x, 1,sp
- movb 3,+x, 1,x
- movb 3,+x, 1,y
- movb 3,+x, 1,sp-
- movb 3,+x, 1,x-
- movb 3,+x, 1,y-
- movb 3,+x, 15,sp
- movb 3,+x, 15,x
- movb 3,+x, 15,y
- movb 3,+x, 8,sp+
- movb 3,+x, 8,x+
- movb 3,+x, 8,y+
- movb 3,+x, 8,sp-
- movb 3,+x, 8,x-
- movb 3,+x, 8,y-
- movb 3,+x, a,sp
- movb 3,+x, a,x
- movb 3,+x, a,y
- movb 3,+x, b,sp
- movb 3,+x, b,x
- movb 3,+x, b,y
- movb 3,+x, d,sp
- movb 3,+x, d,x
- movb 3,+x, d,y
- movb 3,+x, ext
- movb 3,+x, small,pc
- movb 3,+x, small,sp
- movb 3,+x, small,x
- movb 3,+x, small,y
- movb 8,+sp, 3,+x
- movb 8,+sp, 5,-y
- movb 8,+sp, 5,sp
- movb 8,+sp, ext
- movb 8,+x, 3,+x
- movb 8,+x, 5,-y
- movb 8,+x, 5,sp
- movb 8,+x, ext
- movb 8,+y, 3,+x
- movb 8,+y, 5,-y
- movb 8,+y, 5,sp
- movb 8,+y, ext
- movb ,pc, 3,+x
- movb ,pc, 5,-y
- movb ,pc, 5,sp
- movb ,pc, ext
- movb ,sp, 3,+x
- movb ,sp, 5,-y
- movb ,sp, 5,sp
- movb ,sp, ext
- movb ,x, 3,+x
- movb ,x, 5,-y
- movb ,x, 5,sp
- movb ,x, ext
- movb ,y, 3,+x
- movb ,y, 5,-y
- movb ,y, 5,sp
- movb ,y, ext
- movb 1,-sp, 3,+x
- movb 1,-sp, 5,-y
- movb 1,-sp, 5,sp
- movb 1,-sp, ext
- movb 1,-x, 3,+x
- movb 1,-x, 5,-y
- movb 1,-x, 5,sp
- movb 1,-x, ext
- movb 1,-y, 3,+x
- movb 1,-y, 5,-y
- movb 1,-y, 5,sp
- movb 1,-y, ext
- movb 8,-sp, 3,+x
- movb 8,-sp, 5,-y
- movb 8,-sp, 5,sp
- movb 8,-sp, ext
- movb 8,-x, 3,+x
- movb 8,-x, 5,-y
- movb 8,-x, 5,sp
- movb 8,-x, ext
- movb 8,-y, 3,+x
- movb 8,-y, 5,-y
- movb 8,-y, 5,sp
- movb 8,-y, ext
- movb -1,sp, 3,+x
- movb -1,sp, 5,-y
- movb -1,sp, 5,sp
- movb -1,sp, ext
- movb -1,x, 3,+x
- movb -1,x, 5,-y
- movb -1,x, 5,sp
- movb -1,x, ext
- movb -1,y, 3,+x
- movb -1,y, 5,-y
- movb -1,y, 5,sp
- movb -1,y, ext
- movb -16,sp, 3,+x
- movb -16,sp, 5,-y
- movb -16,sp, 5,sp
- movb -16,sp, ext
- movb -16,x, 3,+x
- movb -16,x, 5,-y
- movb -16,x, 5,sp
- movb -16,x, ext
- movb -16,y, 3,+x
- movb -16,y, 5,-y
- movb -16,y, 5,sp
- movb -16,y, ext
- movb -small,pc, 3,+x
- movb -small,pc, 5,-y
- movb -small,pc, 5,sp
- movb -small,pc, ext
- movb -small,sp, 3,+x
- movb -small,sp, 5,-y
- movb -small,sp, 5,sp
- movb -small,sp, ext
- movb -small,x, 3,+x
- movb -small,x, 5,-y
- movb -small,x, 5,sp
- movb -small,x, ext
- movb -small,y, 3,+x
- movb -small,y, 5,-y
- movb -small,y, 5,sp
- movb -small,y, ext
- movb 0,pc, 3,+x
- movb 0,pc, 5,-y
- movb 0,pc, 5,sp
- movb 0,pc, ext
- movb 0,sp, 3,+x
- movb 0,sp, 5,-y
- movb 0,sp, 5,sp
- movb 0,sp, ext
- movb 0,x, 3,+x
- movb 0,x, 5,-y
- movb 0,x, 5,sp
- movb 0,x, ext
- movb 0,y, 3,+x
- movb 0,y, 5,-y
- movb 0,y, 5,sp
- movb 0,y, ext
- movb 1,sp+, 3,+x
- movb 1,sp+, 5,-y
- movb 1,sp+, 5,sp
- movb 1,sp+, ext
- movb 1,x+, 3,+x
- movb 1,x+, 5,-y
- movb 1,x+, 5,sp
- movb 1,x+, ext
- movb 1,y+, 3,+x
- movb 1,y+, 5,-y
- movb 1,y+, 5,sp
- movb 1,y+, ext
- movb 1,sp, 3,+x
- movb 1,sp, 5,-y
- movb 1,sp, 5,sp
- movb 1,sp, ext
- movb 1,x, 3,+x
- movb 1,x, 5,-y
- movb 1,x, 5,sp
- movb 1,x, ext
- movb 1,y, 3,+x
- movb 1,y, 5,-y
- movb 1,y, 5,sp
- movb 1,y, ext
- movb 1,sp-, 3,+x
- movb 1,sp-, 5,-y
- movb 1,sp-, 5,sp
- movb 1,sp-, ext
- movb 1,x-, 3,+x
- movb 1,x-, 5,-y
- movb 1,x-, 5,sp
- movb 1,x-, ext
- movb 1,y-, 3,+x
- movb 1,y-, 5,-y
- movb 1,y-, 5,sp
- movb 1,y-, ext
- movb 5,-y, 1,+sp
- movb 5,-y, 1,+x
- movb 5,-y, 1,+y
- movb 5,-y, 8,+sp
- movb 5,-y, 8,+x
- movb 5,-y, 8,+y
- movb 5,-y, ,pc
- movb 5,-y, ,sp
- movb 5,-y, ,x
- movb 5,-y, ,y
- movb 5,-y, 1,-sp
- movb 5,-y, 1,-x
- movb 5,-y, 1,-y
- movb 5,-y, 8,-sp
- movb 5,-y, 8,-x
- movb 5,-y, 8,-y
- movb 5,-y, -1,sp
- movb 5,-y, -1,x
- movb 5,-y, -1,y
- movb 5,-y, -16,sp
- movb 5,-y, -16,x
- movb 5,-y, -16,y
- movb 5,-y, -small,pc
- movb 5,-y, -small,sp
- movb 5,-y, -small,x
- movb 5,-y, -small,y
- movb 5,-y, 0,pc
- movb 5,-y, 0,sp
- movb 5,-y, 0,x
- movb 5,-y, 0,y
- movb 5,-y, 1,sp+
- movb 5,-y, 1,x+
- movb 5,-y, 1,y+
- movb 5,-y, 1,sp
- movb 5,-y, 1,x
- movb 5,-y, 1,y
- movb 5,-y, 1,sp-
- movb 5,-y, 1,x-
- movb 5,-y, 1,y-
- movb 5,-y, 15,sp
- movb 5,-y, 15,x
- movb 5,-y, 15,y
- movb 5,-y, 8,sp+
- movb 5,-y, 8,x+
- movb 5,-y, 8,y+
- movb 5,-y, 8,sp-
- movb 5,-y, 8,x-
- movb 5,-y, 8,y-
- movb 5,-y, a,sp
- movb 5,-y, a,x
- movb 5,-y, a,y
- movb 5,-y, b,sp
- movb 5,-y, b,x
- movb 5,-y, b,y
- movb 5,-y, d,sp
- movb 5,-y, d,x
- movb 5,-y, d,y
- movb 5,-y, ext
- movb 5,-y, small,pc
- movb 5,-y, small,sp
- movb 5,-y, small,x
- movb 5,-y, small,y
- movb 15,sp, 3,+x
- movb 15,sp, 5,-y
- movb 15,sp, 5,sp
- movb 15,sp, ext
- movb 15,x, 3,+x
- movb 15,x, 5,-y
- movb 15,x, 5,sp
- movb 15,x, ext
- movb 15,y, 3,+x
- movb 15,y, 5,-y
- movb 15,y, 5,sp
- movb 15,y, ext
- movb 5,sp, 1,+sp
- movb 5,sp, 1,+x
- movb 5,sp, 1,+y
- movb 5,sp, 8,+sp
- movb 5,sp, 8,+x
- movb 5,sp, 8,+y
- movb 5,sp,,pc
- movb 5,sp,,sp
- movb 5,sp,,x
- movb 5,sp,,y
- movb 5,sp, 1,-sp
- movb 5,sp, 1,-x
- movb 5,sp, 1,-y
- movb 5,sp, 8,-sp
- movb 5,sp, 8,-x
- movb 5,sp, 8,-y
- movb 5,sp, -1,sp
- movb 5,sp, -1,x
- movb 5,sp, -1,y
- movb 5,sp, -16,sp
- movb 5,sp, -16,x
- movb 5,sp, -16,y
- movb 5,sp, -small,pc
- movb 5,sp, -small,sp
- movb 5,sp, -small,x
- movb 5,sp, -small,y
- movb 5,sp, 0,pc
- movb 5,sp, 0,sp
- movb 5,sp, 0,x
- movb 5,sp, 0,y
- movb 5,sp, 1,sp+
- movb 5,sp, 1,x+
- movb 5,sp, 1,y+
- movb 5,sp, 1,sp
- movb 5,sp, 1,x
- movb 5,sp, 1,y
- movb 5,sp, 1,sp-
- movb 5,sp, 1,x-
- movb 5,sp, 1,y-
- movb 5,sp, 8,sp+
- movb 5,sp, 8,x+
- movb 5,sp, 8,y+
- movb 5,sp, 8,sp-
- movb 5,sp, 8,x-
- movb 5,sp, 8,y-
- movb 5,sp, a,sp
- movb 5,sp, a,x
- movb 5,sp, a,y
- movb 5,sp, b,sp
- movb 5,sp, b,x
- movb 5,sp, b,y
- movb 5,sp, d,sp
- movb 5,sp, d,x
- movb 5,sp, d,y
- movb 5,sp, ext
- movb 5,sp, small,pc
- movb 5,sp, small,sp
- movb 5,sp, small,x
- movb 5,sp, small,y
- movb 8,sp+, 3,+x
- movb 8,sp+, 5,-y
- movb 8,sp+, 5,sp
- movb 8,sp+, ext
- movb 8,x+, 3,+x
- movb 8,x+, 5,-y
- movb 8,x+, 5,sp
- movb 8,x+, ext
- movb 8,y+, 3,+x
- movb 8,y+, 5,-y
- movb 8,y+, 5,sp
- movb 8,y+, ext
- movb 8,sp-, 3,+x
- movb 8,sp-, 5,-y
- movb 8,sp-, 5,sp
- movb 8,sp-, ext
- movb 8,x-, 3,+x
- movb 8,x-, 5,-y
- movb 8,x-, 5,sp
- movb 8,x-, ext
- movb 8,y-, 3,+x
- movb 8,y-, 5,-y
- movb 8,y-, 5,sp
- movb 8,y-, ext
- movb a,sp, 3,+x
- movb a,sp, 5,-y
- movb a,sp, 5,sp
- movb a,sp, ext
- movb a,x, 3,+x
- movb a,x, 5,-y
- movb a,x, 5,sp
- movb a,x, ext
- movb a,y, 3,+x
- movb a,y, 5,-y
- movb a,y, 5,sp
- movb a,y, ext
- movb b,sp, 3,+x
- movb b,sp, 5,-y
- movb b,sp, 5,sp
- movb b,sp, ext
- movb b,x, 3,+x
- movb b,x, 5,-y
- movb b,x, 5,sp
- movb b,x, ext
- movb b,y, 3,+x
- movb b,y, 5,-y
- movb b,y, 5,sp
- movb b,y, ext
- movb d,sp, 3,+x
- movb d,sp, 5,-y
- movb d,sp, 5,sp
- movb d,sp, ext
- movb d,x, 3,+x
- movb d,x, 5,-y
- movb d,x, 5,sp
- movb d,x, ext
- movb d,y, 3,+x
- movb d,y, 5,-y
- movb d,y, 5,sp
- movb d,y, ext
- movb ext, 1,+sp
- movb ext, 1,+x
- movb ext, 1,+y
- movb ext, 8,+sp
- movb ext, 8,+x
- movb ext, 8,+y
- movb ext, ,pc
- movb ext, ,sp
- movb ext, ,x
- movb ext, ,y
- movb ext, 1,-sp
- movb ext, 1,-x
- movb ext, 1,-y
- movb ext, 8,-sp
- movb ext, 8,-x
- movb ext, 8,-y
- movb ext, -1,sp
- movb ext, -1,x
- movb ext, -1,y
- movb ext, -16,sp
- movb ext, -16,x
- movb ext, -16,y
- movb ext, -small,pc
- movb ext, -small,sp
- movb ext, -small,x
- movb ext, -small,y
- movb ext, 0,pc
- movb ext, 0,sp
- movb ext, 0,x
- movb ext, 0,y
- movb ext, 1,sp+
- movb ext, 1,x+
- movb ext, 1,y+
- movb ext, 1,sp
- movb ext, 1,x
- movb ext, 1,y
- movb ext, 1,sp-
- movb ext, 1,x-
- movb ext, 1,y-
- movb ext, 8,sp+
- movb ext, 8,x+
- movb ext, 8,y+
- movb ext, 8,sp-
- movb ext, 8,x-
- movb ext, 8,y-
- movb ext, a,sp
- movb ext, a,x
- movb ext, a,y
- movb ext, b,sp
- movb ext, b,x
- movb ext, b,y
- movb ext, d,sp
- movb ext, d,x
- movb ext, d,y
- movb ext, ext
- movb ext, small,pc
- movb ext, small,sp
- movb ext, small,x
- movb ext, small,y
- movb small,pc, 3,+x
- movb small,pc, 5,-y
- movb small,pc, 5,sp
- movb small,pc, ext
- movb small,sp, 3,+x
- movb small,sp, 5,-y
- movb small,sp, 5,sp
- movb small,sp, ext
- movb small,x, 3,+x
- movb small,x, 5,-y
- movb small,x, 5,sp
- movb small,x, ext
- movb small,y, 3,+x
- movb small,y, 5,-y
- movb small,y, 5,sp
- movb small,y, ext
- movw #immed, 3,+x
- movw #immed, 5,-y
- movw #immed, 5,sp
- movw #immed, ext
- movw 1,+sp, 3,+x
- movw 1,+sp, 5,-y
- movw 1,+sp, 5,sp
- movw 1,+sp, ext
- movw 1,+x, 3,+x
- movw 1,+x, 5,-y
- movw 1,+x, 5,sp
- movw 1,+x, ext
- movw 1,+y, 3,+x
- movw 1,+y, 5,-y
- movw 1,+y, 5,sp
- movw 1,+y, ext
- movw 3,+x, 1,+sp
- movw 3,+x, 1,+x
- movw 3,+x, 1,+y
- movw 3,+x, 8,+sp
- movw 3,+x, 8,+x
- movw 3,+x, 8,+y
- movw 3,+x, ,pc
- movw 3,+x, ,sp
- movw 3,+x, ,x
- movw 3,+x, ,y
- movw 3,+x, 1,-sp
- movw 3,+x, 1,-x
- movw 3,+x, 1,-y
- movw 3,+x, 8,-sp
- movw 3,+x, 8,-x
- movw 3,+x, 8,-y
- movw 3,+x, -1,sp
- movw 3,+x, -1,x
- movw 3,+x, -1,y
- movw 3,+x, -16,sp
- movw 3,+x, -16,x
- movw 3,+x, -16,y
- movw 3,+x, -small,pc
- movw 3,+x, -small,sp
- movw 3,+x, -small,x
- movw 3,+x, -small,y
- movw 3,+x, 0,pc
- movw 3,+x, 0,sp
- movw 3,+x, 0,x
- movw 3,+x, 0,y
- movw 3,+x, 1,sp+
- movw 3,+x, 1,x+
- movw 3,+x, 1,y+
- movw 3,+x, 1,sp
- movw 3,+x, 1,x
- movw 3,+x, 1,y
- movw 3,+x, 1,sp-
- movw 3,+x, 1,x-
- movw 3,+x, 1,y-
- movw 3,+x, 8,sp+
- movw 3,+x, 8,x+
- movw 3,+x, 8,y+
- movw 3,+x, 8,sp-
- movw 3,+x, 8,x-
- movw 3,+x, 8,y-
- movw 3,+x, a,sp
- movw 3,+x, a,x
- movw 3,+x, a,y
- movw 3,+x, b,sp
- movw 3,+x, b,x
- movw 3,+x, b,y
- movw 3,+x, d,sp
- movw 3,+x, d,x
- movw 3,+x, d,y
- movw 3,+x, ext
- movw 3,+x , small,pc
- movw 3,+x , small,sp
- movw 3,+x , small,x
- movw 3,+x , small,y
- movw 8,+sp , 3,+x
- movw 8,+sp , 5,-y
- movw 8,+sp , 5,sp
- movw 8,+sp , ext
- movw 8,+x , 3,+x
- movw 8,+x , 5,-y
- movw 8,+x , 5,sp
- movw 8,+x , ext
- movw 8,+y , 3,+x
- movw 8,+y , 5,-y
- movw 8,+y , 5,sp
- movw 8,+y , ext
- movw ,pc , 3,+x
- movw ,pc , 5,-y
- movw ,pc , 5,sp
- movw ,pc , ext
- movw ,sp , 3,+x
- movw ,sp , 5,-y
- movw ,sp , 5,sp
- movw ,sp , ext
- movw ,x , 3,+x
- movw ,x , 5,-y
- movw ,x , 5,sp
- movw ,x , ext
- movw ,y , 3,+x
- movw ,y , 5,-y
- movw ,y , 5,sp
- movw ,y , ext
- movw 1,-sp , 3,+x
- movw 1,-sp , 5,-y
- movw 1,-sp , 5,sp
- movw 1,-sp , ext
- movw 1,-x , 3,+x
- movw 1,-x , 5,-y
- movw 1,-x , 5,sp
- movw 1,-x , ext
- movw 1,-y , 3,+x
- movw 1,-y , 5,-y
- movw 1,-y , 5,sp
- movw 1,-y , ext
- movw 8,-sp , 3,+x
- movw 8,-sp , 5,-y
- movw 8,-sp , 5,sp
- movw 8,-sp , ext
- movw 8,-x , 3,+x
- movw 8,-x , 5,-y
- movw 8,-x , 5,sp
- movw 8,-x , ext
- movw 8,-y , 3,+x
- movw 8,-y , 5,-y
- movw 8,-y , 5,sp
- movw 8,-y , ext
- movw -1,sp , 3,+x
- movw -1,sp , 5,-y
- movw -1,sp , 5,sp
- movw -1,sp , ext
- movw -1,x , 3,+x
- movw -1,x , 5,-y
- movw -1,x , 5,sp
- movw -1,x , ext
- movw -1,y , 3,+x
- movw -1,y , 5,-y
- movw -1,y , 5,sp
- movw -1,y , ext
- movw -16,sp , 3,+x
- movw -16,sp , 5,-y
- movw -16,sp , 5,sp
- movw -16,sp , ext
- movw -16,x , 3,+x
- movw -16,x , 5,-y
- movw -16,x , 5,sp
- movw -16,x , ext
- movw -16,y , 3,+x
- movw -16,y , 5,-y
- movw -16,y , 5,sp
- movw -16,y , ext
- movw -small,pc,3,+x
- movw -small,pc,5,-y
- movw -small,pc,5,sp
- movw -small,pc,ext
- movw -small,sp,3,+x
- movw -small,sp,5,-y
- movw -small,sp,5,sp
- movw -small,sp,ext
- movw -small,x, 3,+x
- movw -small,x, 5,-y
- movw -small,x, 5,sp
- movw -small,x, ext
- movw -small,y, 3,+x
- movw -small,y, 5,-y
- movw -small,y, 5,sp
- movw -small,y, ext
- movw 0,pc, 3,+x
- movw 0,pc, 5,-y
- movw 0,pc, 5,sp
- movw 0,pc, ext
- movw 0,sp, 3,+x
- movw 0,sp, 5,-y
- movw 0,sp, 5,sp
- movw 0,sp, ext
- movw 0,x, 3,+x
- movw 0,x, 5,-y
- movw 0,x, 5,sp
- movw 0,x, ext
- movw 0,y, 3,+x
- movw 0,y, 5,-y
- movw 0,y, 5,sp
- movw 0,y, ext
- movw 1,sp+, 3,+x
- movw 1,sp+, 5,-y
- movw 1,sp+, 5,sp
- movw 1,sp+, ext
- movw 1,x+, 3,+x
- movw 1,x+, 5,-y
- movw 1,x+, 5,sp
- movw 1,x+, ext
- movw 1,y+, 3,+x
- movw 1,y+, 5,-y
- movw 1,y+, 5,sp
- movw 1,y+, ext
- movw 1,sp, 3,+x
- movw 1,sp, 5,-y
- movw 1,sp, 5,sp
- movw 1,sp, ext
- movw 1,x, 3,+x
- movw 1,x, 5,-y
- movw 1,x, 5,sp
- movw 1,x, ext
- movw 1,y, 3,+x
- movw 1,y, 5,-y
- movw 1,y, 5,sp
- movw 1,y, ext
- movw 1,sp-, 3,+x
- movw 1,sp-, 5,-y
- movw 1,sp-, 5,sp
- movw 1,sp-, ext
- movw 1,x-, 3,+x
- movw 1,x-, 5,-y
- movw 1,x-, 5,sp
- movw 1,x-, ext
- movw 1,y-, 3,+x
- movw 1,y-, 5,-y
- movw 1,y-, 5,sp
- movw 1,y-, ext
- movw 5,-y, 1,+sp
- movw 5,-y, 1,+x
- movw 5,-y, 1,+y
- movw 5,-y, 8,+sp
- movw 5,-y, 8,+x
- movw 5,-y, 8,+y
- movw 5,-y, ,pc
- movw 5,-y, ,sp
- movw 5,-y, ,x
- movw 5,-y, ,y
- movw 5,-y, 1,-sp
- movw 5,-y, 1,-x
- movw 5,-y, 1,-y
- movw 5,-y, 8,-sp
- movw 5,-y, 8,-x
- movw 5,-y, 8,-y
- movw 5,-y, -1,sp
- movw 5,-y, -1,x
- movw 5,-y, -1,y
- movw 5,-y, -16,sp
- movw 5,-y, -16,x
- movw 5,-y, -16,y
- movw 5,-y, -small,pc
- movw 5,-y, -small,sp
- movw 5,-y, -small,x
- movw 5,-y, -small,y
- movw 5,-y, 0,pc
- movw 5,-y, 0,sp
- movw 5,-y, 0,x
- movw 5,-y, 0,y
- movw 5,-y, 1,sp+
- movw 5,-y, 1,x+
- movw 5,-y, 1,y+
- movw 5,-y, 1,sp
- movw 5,-y, 1,x
- movw 5,-y, 1,y
- movw 5,-y, 1,sp-
- movw 5,-y, 1,x-
- movw 5,-y, 1,y-
- movw 5,-y, 15,sp
- movw 5,-y, 15,x
- movw 5,-y, 15,y
- movw 5,-y, 8,sp+
- movw 5,-y, 8,x+
- movw 5,-y, 8,y+
- movw 5,-y, 8,sp-
- movw 5,-y, 8,x-
- movw 5,-y, 8,y-
- movw 5,-y, a,sp
- movw 5,-y, a,x
- movw 5,-y, a,y
- movw 5,-y, b,sp
- movw 5,-y, b,x
- movw 5,-y, b,y
- movw 5,-y, d,sp
- movw 5,-y, d,x
- movw 5,-y, d,y
- movw 5,-y, ext
- movw 5,-y, small,pc
- movw 5,-y, small,sp
- movw 5,-y, small,x
- movw 5,-y, small,y
- movw 15,sp, 3,+x
- movw 15,sp, 5,-y
- movw 15,sp, 5,sp
- movw 15,sp, ext
- movw 15,x, 3,+x
- movw 15,x, 5,-y
- movw 15,x, 5,sp
- movw 15,x, ext
- movw 15,y, 3,+x
- movw 15,y, 5,-y
- movw 15,y, 5,sp
- movw 15,y, ext
- movw 5,sp, 1,+sp
- movw 5,sp, 1,+x
- movw 5,sp, 1,+y
- movw 5,sp, 8,+sp
- movw 5,sp, 8,+x
- movw 5,sp, 8,+y
- movw 5,sp,,pc
- movw 5,sp,,sp
- movw 5,sp,,x
- movw 5,sp,,y
- movw 5,sp, 1,-sp
- movw 5,sp, 1,-x
- movw 5,sp, 1,-y
- movw 5,sp, 8,-sp
- movw 5,sp, 8,-x
- movw 5,sp, 8,-y
- movw 5,sp, -1,sp
- movw 5,sp, -1,x
- movw 5,sp, -1,y
- movw 5,sp, -16,sp
- movw 5,sp, -16,x
- movw 5,sp, -16,y
- movw 5,sp, -small,pc
- movw 5,sp, -small,sp
- movw 5,sp, -small,x
- movw 5,sp, -small,y
- movw 5,sp, 0,pc
- movw 5,sp, 0,sp
- movw 5,sp, 0,x
- movw 5,sp, 0,y
- movw 5,sp, 1,sp+
- movw 5,sp, 1,x+
- movw 5,sp, 1,y+
- movw 5,sp, 1,sp
- movw 5,sp, 1,x
- movw 5,sp, 1,y
- movw 5,sp, 1,sp-
- movw 5,sp, 1,x-
- movw 5,sp, 1,y-
- movw 5,sp, 8,sp+
- movw 5,sp, 8,x+
- movw 5,sp, 8,y+
- movw 5,sp, 8,sp-
- movw 5,sp, 8,x-
- movw 5,sp, 8,y-
- movw 5,sp, a,sp
- movw 5,sp, a,x
- movw 5,sp, a,y
- movw 5,sp, b,sp
- movw 5,sp, b,x
- movw 5,sp, b,y
- movw 5,sp, d,sp
- movw 5,sp, d,x
- movw 5,sp, d,y
- movw 5,sp, ext
- movw 5,sp, small,pc
- movw 5,sp, small,sp
- movw 5,sp, small,x
- movw 5,sp, small,y
- movw 8,sp+, 3,+x
- movw 8,sp+, 5,-y
- movw 8,sp+, 5,sp
- movw 8,sp+, ext
- movw 8,x+, 3,+x
- movw 8,x+, 5,-y
- movw 8,x+, 5,sp
- movw 8,x+, ext
- movw 8,y+, 3,+x
- movw 8,y+, 5,-y
- movw 8,y+, 5,sp
- movw 8,y+, ext
- movw 8,sp-, 3,+x
- movw 8,sp-, 5,-y
- movw 8,sp-, 5,sp
- movw 8,sp-, ext
- movw 8,x-, 3,+x
- movw 8,x-, 5,-y
- movw 8,x-, 5,sp
- movw 8,x-, ext
- movw 8,y-, 3,+x
- movw 8,y-, 5,-y
- movw 8,y-, 5,sp
- movw 8,y-, ext
- movw a,sp, 3,+x
- movw a,sp, 5,-y
- movw a,sp, 5,sp
- movw a,sp, ext
- movw a,x, 3,+x
- movw a,x, 5,-y
- movw a,x, 5,sp
- movw a,x, ext
- movw a,y, 3,+x
- movw a,y, 5,-y
- movw a,y, 5,sp
- movw a,y, ext
- movw b,sp, 3,+x
- movw b,sp, 5,-y
- movw b,sp, 5,sp
- movw b,sp, ext
- movw b,x, 3,+x
- movw b,x, 5,-y
- movw b,x, 5,sp
- movw b,x, ext
- movw b,y, 3,+x
- movw b,y, 5,-y
- movw b,y, 5,sp
- movw b,y, ext
- movw d,sp, 3,+x
- movw d,sp, 5,-y
- movw d,sp, 5,sp
- movw d,sp, ext
- movw d,x, 3,+x
- movw d,x, 5,-y
- movw d,x, 5,sp
- movw d,x, ext
- movw d,y, 3,+x
- movw d,y, 5,-y
- movw d,y, 5,sp
- movw d,y, ext
- movw ext, 1,+sp
- movw ext, 1,+x
- movw ext, 1,+y
- movw ext, 8,+sp
- movw ext, 8,+x
- movw ext, 8,+y
- movw ext,,pc
- movw ext,,sp
- movw ext,,x
- movw ext,,y
- movw ext, 1,-sp
- movw ext, 1,-x
- movw ext, 1,-y
- movw ext, 8,-sp
- movw ext, 8,-x
- movw ext, 8,-y
- movw ext, -1,sp
- movw ext, -1,x
- movw ext, -1,y
- movw ext, -16,sp
- movw ext, -16,x
- movw ext, -16,y
- movw ext, -small,pc
- movw ext, -small,sp
- movw ext, -small,x
- movw ext, -small,y
- movw ext, 0,pc
- movw ext, 0,sp
- movw ext, 0,x
- movw ext, 0,y
- movw ext, 1,sp+
- movw ext, 1,x+
- movw ext, 1,y+
- movw ext, 1,sp
- movw ext, 1,x
- movw ext, 1,y
- movw ext, 1,sp-
- movw ext, 1,x-
- movw ext, 1,y-
- movw ext, 8,sp+
- movw ext, 8,x+
- movw ext, 8,y+
- movw ext, 8,sp-
- movw ext, 8,x-
- movw ext, 8,y-
- movw ext, a,sp
- movw ext, a,x
- movw ext, a,y
- movw ext, b,sp
- movw ext, b,x
- movw ext, b,y
- movw ext, d,sp
- movw ext, d,x
- movw ext, d,y
- movw ext, ext
- movw ext, small,pc
- movw ext, small,sp
- movw ext, small,x
- movw ext, small,y
- movw small,pc, 3,+x
- movw small,pc, 5,-y
- movw small,pc, 5,sp
- movw small,pc, ext
- movw small,sp, 3,+x
- movw small,sp, 5,-y
- movw small,sp, 5,sp
- movw small,sp, ext
- movw small,x , 3,+x
- movw small,x , 5,-y
- movw small,x , 5,sp
- movw small,x , ext
- movw small,y , 3,+x
- movw small,y , 5,-y
- movw small,y , 5,sp
- movw small,y , ext
- movb 1,x+, 1,y-
- movb 0,x, 0,x
-
-
-
-
trunk/bench/tools/HSW12ASM/test_S12.s
Property changes :
Deleted: svn:executable
Index: trunk/bench/tools/HSW12ASM/hsw12asm.pl
===================================================================
--- trunk/bench/tools/HSW12ASM/hsw12asm.pl (revision 2)
+++ trunk/bench/tools/HSW12ASM/hsw12asm.pl (nonexistent)
@@ -1,217 +0,0 @@
-#! /usr/bin/perl -w
-##################################################################################
-# HSW12 #
-##################################################################################
-# file: hsw12asm.pl #
-# author: Dirk Heisswolf #
-# purpose: HSW12 Command Line Assembler #
-##################################################################################
-# Copyright (C) 2003-2009 by Dirk Heisswolf. All rights reserved. #
-# This file is part of "HSW12". HSW12 is free software; #
-# You must comply to the license.txt file #
-##################################################################################
-=pod
-=head1 NAME
-
-hsw12asm.pl - HSW12 Command Line Assembler
-
-=head1 SYNOPSIS
-
- hsw12asm.pl -L -D
-
-=head1 REQUIRES
-
-perl5.005, hsw12_asm, File::Basename, FindBin
-
-=head1 DESCRIPTION
-
-This script is a command line frontend to the HSW12 Assembler.
-
-=head1 METHODS
-
-=over 4
-
-=item hsw12.pl -L -D
-
- Starts the HSW12 Assembler.
- This script reads the following arguments:
- 1. src files: source code files(*.s)
- 2. library pathes: directories to search for include files
- 3. defines: assembler defines
-
-=back
-
-=head1 AUTHOR
-
-Dirk Heisswolf
-
-=head1 VERSION HISTORY
-
-=item V00.00 - Feb 9, 2003
-
- initial release
-
-=item V00.01 - Apr 2, 2003
-
- -added "-s28" and "-s19" command line options
-
-=item V00.02 - Apr 29, 2003
-
- -making use of the new "verbose mode"
-
-=cut
-
-#################
-# Perl settings #
-#################
-use 5.005;
-#use warnings;
-use File::Basename;
-use FindBin qw($RealBin);
-use lib $RealBin;
-require hsw12_asm;
-
-###############
-# global vars #
-###############
-@src_files = ();
-@lib_files = ();
-%defines = ();
-$prog_name = "";
-$arg_type = "src";
-$srec_format = $hsw12_asm::srec_def_format;
-$srec_data_length = $hsw12_asm::srec_def_data_length;
-$srec_add_s5 = $hsw12_asm::srec_def_add_s5;
-$srec_word_entries = 1;
-$code = {};
-
-##########################
-# read command line args #
-##########################
-foreach $arg (@ARGV) {
- if ($arg =~ /^\s*\-L\s*$/i) {
- $arg_type = "lib";
- } elsif ($arg =~ /^\s*\-D\s*$/i) {
- $arg_type = "def";
- } elsif ($arg =~ /^\s*\-s19\s*$/i) {
- $srec_format = "S19";
- if ($srec_data_length > 32) {
- $srec_data_length = 32;
- }
- } elsif ($arg =~ /^\s*\-s28\s*$/i) {
- $srec_format = "S28";
- } elsif ($arg =~ /^\s*\-/) {
- #ignore
- } elsif ($arg_type eq "src") {
- #sourcs file
- push @src_files, $arg;
- } elsif ($arg_type eq "lib") {
- #library path
- if ($arg !~ /\/$/) {$arg = sprintf("%s/", $arg);}
- unshift @lib_files, $arg;
- } elsif ($arg_type eq "def") {
- #precompiler define
- if ($arg =~ /^\s*(\w+)=(\w+)\s*$/) {
- $defines{uc($1)} = $2;
- } elsif ($arg =~ /^\s*(\w+)\s*$/) {
- $defines{uc($1)} = "";
- }
- }
-}
-
-###################
-# print help text #
-###################
-if ($#src_files < 0) {
- printf "usage: %s [-s19|-s28] [-L ] [-D ]\n", $0;
- print "\n";
- exit;
-}
-
-##########################
-# determine program name #
-##########################
-$prog_name = basename($src_files[0], ".s");
-
-###################
-# add default lib #
-###################
-if ($#lib_files < 0) {
- push @lib_files, sprintf("%s/", dirname($src_files[0]));
-}
-
-#######################
-# compile source code #
-#######################
-#printf STDERR "src files: \"%s\"\n", join("\", \"", @src_files);
-#printf STDERR "lib files: \"%s\"\n", join("\", \"", @lib_files);
-#printf STDERR "defines: \"%s\"\n", join("\", \"", @defines);
-$code = hsw12_asm->new(\@src_files, \@lib_files, \%defines, "S12", 1);
-
-###################
-# write list file #
-###################
-if (open (FILEHANDLE, sprintf(">%s.lst", $prog_name))) {
- $out_string = $code->print_listing();
- print FILEHANDLE $out_string;
- #print STDOUT $out_string;
- close FILEHANDLE;
-} else {
- printf STDERR "Can't open list file \"%s.lst\"\n", $prog_name;
- exit;
-}
-
-#####################
-# check code status #
-#####################
-if ($code->{problems}) {
- printf STDERR "Problem summary: %s\n", $code->{problems};
-} else {
-
- #########################
- # write linear S-record #
- #########################
- if (open (FILEHANDLE, sprintf(">%s_lin.%s\n", $prog_name, lc($srec_format)))) {
- $out_string = $code->print_lin_srec(uc($prog_name),
- $srec_format,
- $srec_data_length,
- $srec_add_s5,
- $srec_word_entries);
- print FILEHANDLE $out_string;
- close FILEHANDLE;
- } else {
- printf STDERR "Can't open S-recordfile \"%s_lin.%s\"\n", $prog_name, lc(srec_format);
- exit;
- }
-
- ########################
- # write paged S-record #
- ########################
- if (open (FILEHANDLE, sprintf(">%s_pag.%s\n", $prog_name, lc($srec_format)))) {
- $out_string = $code->print_pag_srec(uc($prog_name),
- $srec_format,
- $srec_data_length,
- $srec_add_s5,
- $srec_word_entries);
- print FILEHANDLE $out_string;
- close FILEHANDLE;
- } else {
- printf STDERR "Can't open S-recordfile \"%s_pag.%s\"\n", $prog_name, lc($srec_format);
- exit;
- }
-}
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
trunk/bench/tools/HSW12ASM/hsw12asm.pl
Property changes :
Deleted: svn:executable
Index: trunk/bench/tools/HSW12ASM/hsw12_asm.pm
===================================================================
--- trunk/bench/tools/HSW12ASM/hsw12_asm.pm (revision 2)
+++ trunk/bench/tools/HSW12ASM/hsw12_asm.pm (nonexistent)
@@ -1,11810 +0,0 @@
-#! /usr/bin/env perl
-##################################################################################
-# HC(S)12 ASSEMBLER #
-##################################################################################
-# file: hsw12_asm.pm #
-# author: Dirk Heisswolf #
-# purpose: This is the core of the HSW12 Assembler #
-##################################################################################
-# Copyright (C) 2003-2009 by Dirk Heisswolf. All rights reserved. #
-# This file is part of "HSW12". HSW12 is free software; #
-# You must comply to the license.txt file #
-##################################################################################
-=pod
-=head1 NAME
-
-hsw12_asm - HC(S) Assembler
-
-=head1 SYNOPSIS
-
- require hsw12_asm
-
- $asm = hsw12_asm->new(\@source_files, \@library_dirs, \%assembler_defines, $cpu, $verbose);
- print FILEHANDLE $asm->print_listing();
- print FILEHANDLE $asm->print_lin_srec();
- print FILEHANDLE $asm->print_pag_srec();
-
-=head1 REQUIRES
-
-perl5.005, File::Basename, FindBin, Text::Tabs
-
-=head1 DESCRIPTION
-
-This module provides subroutines to...
-
-=over 4
-
- - compile HC(S)12 assembler source code
- - create code lisings
- - create linear and paged S-Records
- - provide access to the symbols used in the source code
-
-=back
-
-=head1 METHODS
-
-=head2 Creation
-
-=over 4
-
-=item hsw12_asm->new(\@source_files, \@library_dirs, \%assembler_defines, $verbose)
-
- Creates and returns an hsw12_asm object.
- This method requires five arguments:
- 1. \@source_files: a list of files to compile (array reference)
- 2. \@library_dirs: a list of directories to search include files in (array reference)
- 3. \%assembler_defines: assembler defines to set before compiling the source code (hash reference)
- 4. $cpu: the target CPU ("HC11", "HC12"/"S12", "S12X", "XGATE") (string)
- 5. $verbose: switch to enable progress messages (boolean)
-
-=back
-
-=head2 Outputs
-
-=over 4
-
-=item $asm_object->print_listing()
-
- Returns the listing of the assembler source code (string).
-
-=item $asm_object->print_lin_srec($string,
- $srec_format,
- $srec_length,
- $s5,
- $fill_bytes)
-
- Returns a linear S-Record of the compiled code (string).
- This method requires five arguments:
- 1. $string: S0 header (string)
- 2. $srec_format: address format: S19, S28, or S37 (string)
- 3. $srec_length: nuber of data bytes in S-Record (integer)
- 4. $fill_bytes: add fill bytes (boolean)
-
-=item $asm_object->print_pag_srec($string,
- $srec_format,
- $srec_length,
- $s5,
- $fill_bytes)
-
- Returns a paged S-Record of the compiled code (string).
- This method requires five arguments:
- 1. $string: S0 header (string)
- 2. $srec_format: address format: S19, S28, or S37 (string)
- 3. $srec_length: nuber of data bytes in S-Record (integer)
- 4. $fill_bytes: add fill bytes (boolean)
-
-=item $asm_object->print_pag_srec($string,
- $srec_format,
- $srec_length,
- $s5,
- $fill_bytes)
-
- Returns a paged S-Record of the compiled code (string).
- This method requires five arguments:
- 1. $string: S0 header (string)
- 2. $srec_format: address format: S19, S28, or S37 (string)
- 3. $srec_length: nuber of data bytes in S-Record (integer)
- 4. $fill_bytes: add fill bytes (boolean)
-
-=back
-
-=head2 Misc
-
-=over 4
-
-=item $asm_object->reload(boolean)
- This method requires one argument:
- 1. $verbose: switch to enable progress messages (boolean)
-
- Recompiles the source code files.
-
-=item $asm_object->$evaluate_expression($expr, $pc_lin, $pc_pag, $loc)
-
- Converts an expression into an integer and resolves compiler symbols.
- This method requires four arguments:
- 1. $expr: expression (string)
- 2. $pc_lin: current linear program counter (integer)
- 3. $pc_pag: current paged program counter (integer)
- 4. $loc: current "LOC" count (integer)
-
-=back
-
-=head1 AUTHOR
-
-Dirk Heisswolf
-
-=head1 VERSION HISTORY
-
-=item V00.00 - Feb 9, 2003
-
- initial release
-
-=item V00.01 - Feb 23, 2003
-
- -fixed BCC opcode
- -fixed relative address mode
- -replacing tabs with Text::Tabs::expand()
-
-=item V00.02 - Feb 24, 2003
-
- -fixed compiler symbol table
-
-=item V00.03 - Feb 28, 2003
-
- -fixed IDX1 addressing mode
- -fixed IDX2 addressing mode
- -fixed REL9 addressing mode for DBEQ, DBNE, IBEQ, IBNE
- -fixed EXG and TFR command
-
-=item V00.04 - Mar 2, 2003
-
- -fixed ascii expressions
- -allow value changes of symbols during compilation
- -fixed FCC pseudo opcode
- -fixed long hex codes in listing
-
-=item V00.05 - Mar 11, 2003
-
- -new default mapping for linear PC:
- $0000 - $3FFF are mapped to flash page $3D
-
-=item V00.06 - Mar 28, 2003
-
- -fixed S-Record output (data fields used to be one byte too short)
-
-=item V00.07 - Apr 1, 2003
-
- -added options to configure the S-Record format, including "fill bytes"
-
-=item V00.08 - Apr 23, 2003
-
- -fixed S0 record format
- -fixd fill byte insertion
-
-=item V00.09 - Apr 29, 2003
-
- -added member variable "compile_count"
- -undefined symbols will now generate errors
- -accepting "_" on integer numbers
- -added a "verbose mode" to print out progress messages
-
-=item V00.10 - May 6, 2003
-
- -bugfix in "evaluate_expression"
-
-=item V00.11 - Jun 5, 2003
-
- -bugfix in "precompile"
-
-=item V00.12 - Sep 22, 2003
-
- -allow more generic instruction tables
-
-=item V00.13 - Sep 27, 2003
-
- -added HC11, S12X, and XGATE instruction tables
-
-=item V00.14 - Sep 28, 2003
-
- -added XGATE pseudo instructions
-
-=item V00.15 - Sep 30, 2003
-
- -added XGATE "IDO5" address mode
-
-=item V00.16 - Nov 24, 2003
-
- -fixed relaxed error condition of "REL8" address mode
-
-=item V00.17 - Nov 27, 2003
-
- -updated S12X SEX instruction
-
-=item V00.18 - Jan 27, 2004
-
- -fixed missing S12X move address modes
- -various minor fixes
-
-=item V00.19 - Feb 13, 2004
-
- -fixed regular expressions for parsing pseudo opcodes
-
-=item V00.20 - Mar 9, 2004
-
- -detect auto in/decrement of PC
-
-=item V00.21 - Aug 4, 2004
-
- -added XGATE command "TFR RD,PC"
-
-=item V00.22 - Oct 28, 2004
-
- -fixed "TFR", "EXG", and "SEX" instructions
- -added pseudo opcodes which are to be ignored
-
-=item V00.23 - Nov 26, 2004
-
- -fixed regular expression "TFR Rx,PC"
- -added 16-bit immediatate pseudo instructions
-
-=item V00.24 - Apr 24, 2005
-
- -automatically turn branch instructions into long branches
- if out of range
- -added pseudo opcode "JOB" to automatically choose between
- "BRA rel8" and "JMP ext" opcodes
- -added pseudo opcode "JOBSR" to automatically choose between
- "BSR rel8" and "JSR ext" opcodes
-
-=cut
-
-#################
-# Perl settings #
-#################
-#use warnings;
-#use strict;
-
-####################
-# create namespace #
-####################
-package hsw12_asm;
-
-###########
-# modules #
-###########
-use IO::File;
-use Fcntl;
-use Text::Tabs;
-
-####################
-# global variables #
-####################
-#@source_files (array)
-#@libraies (array)
-#@initial_defs (hash)
-#$problems (boolean)
-#@code (array)
-#%precomp_defs (hash)
-#%comp_symbols (hash)
-#%lin_addrspace (hash)
-#%pag_addrspace (hash)
-#$compile_count (integer)
-#$verbose (boolean)
-
-#############
-# constants #
-#############
-###########
-# version #
-###########
-*version = \"00.24";#"
-
-#############################
-# default S-record settings #
-#############################
-*srec_def_format = \"S28";#"
-*srec_def_data_length = \64;
-*srec_def_add_s5 = \0;
-*srec_def_fill_byte = \0xff;
-
-###################
-# path delimeters #
-###################
-*path_del = \qr/[\/\\]/;
-*path_absolute = \qr/^\.?[\/\\]/;
-
-########################
-# code entry structure #
-########################
-*code_entry_line = \0;
-*code_entry_file = \1;
-*code_entry_code = \2;
-*code_entry_label = \3;
-*code_entry_opcode = \4;
-*code_entry_args = \5;
-*code_entry_lin_pc = \6;
-*code_entry_pag_pc = \7;
-*code_entry_hex = \8;
-*code_entry_bytes = \9;
-*code_entry_errors = \10;
-
-###########################
-# precompiler expressions #
-###########################
-*precomp_directive = \qr/^\#(\w+)\s*([\S]*)\s*([^;]*)\s*[;\*]?/; #$1:directive $2:name $3:value
-*precomp_define = \qr/define/i;
-*precomp_undef = \qr/undef/i;
-*precomp_ifdef = \qr/ifdef/i;
-*precomp_ifndef = \qr/ifndef/i;
-*precomp_else = \qr/else/i;
-*precomp_endif = \qr/endif/i;
-*precomp_include = \qr/include/i;
-*precomp_blanc_line = \qr/^\s*$/;
-*precomp_comment_line = \qr/^\s*[\;\*]/;
-*precomp_opcode = \qr/^([^\#]\w*\`?):?\s*([\w\.]*)\s*([^;]*)\s*[;\*]?/; #$1:label $2:opcode $3:arguments
-
-#############
-# TFR codes #
-#############
-*tfr_s12 = \0;
-*tfr_s12x = \1;
-*tfr_tfr = \0;
-*tfr_sex = \1;
-*tfr_exg = \2;
-
-############################
-# address mode expressions #
-############################
-#operands (S12)
-*op_keywords = \qr/^\s*(A|B|D|X|Y|PC|SP|UNMAPPED|R[0-7])\s*$/i; #$1: keyword
-#*del = \qr/\s*,\s*/;
-*del = \qr/\s*[\s,]\s*/;
-*op_expr = \qr/([^\"\'\s\,]+\'?|\".*\"|\'.*\')/i;
-*op_offset = \qr/([^\"\'\s\,]*\'?|\".*\"|\'.*\')/i;
-*op_imm = \qr/\#$op_expr/i;
-*op_dir = \qr/$op_expr/i;
-*op_ext = \qr/$op_expr/i;
-*op_idx = \qr/$op_offset,([\+\-]?)(X|Y|SP|PC)([\+\-]?)/i; #$1:offset $2:preop $3:register $4:postop
-*op_idx1 = \qr/$op_offset,(X|Y|SP|PC)/i; #$1:offset $2:register
-*op_idx2 = \qr/$op_offset,\s*(X|Y|SP|PC)/i; #$1:offset $2:register
-*op_ididx = \qr/\[\s*D\s*,\s*(X|Y|SP|PC)\s*\]/i; #$1:register
-*op_iidx2 = \qr/\[\s*$op_offset\s*,\s*(X|Y|SP|PC)\s*\]/i; #$1:offset $2:register
-*op_pg = \qr/$op_expr/i; #$1:page
-*op_rel = \qr/$op_expr/i; #$1:address
-*op_msk = \qr/\#?$op_expr/i; #$1:mask
-*op_trap = \qr/$op_expr/i; #$1:value
-*op_reg_src = \qr/(A|B|D|X|XL|Y|YL|SP|SPL|CCR|CCRL|TMP3|TMP3L)/i; #$1:register
-*op_reg_dst = \qr/(A|B|D|X|XL|Y|YL|SP|SPL|CCR|CCRL|TMP2|TMP2L)/i; #$1:register
-*op_reg_idx = \qr/(A|B|D|X|Y|SP)/i; #$1:register
-#operands (S12X)
-*op_s12x_reg_src = \qr/(A|B|D|X|XH|XL|Y|YH|YL|SP|SPH|SPL|CCR|CCRW|CCRH|CCRL|TMP1|TMP3|TMP3H|TMP3L)/i; #$1:register
-*op_s12x_reg_dst = \qr/(A|B|D|X|XH|XL|Y|YH|YL|SP|SPH|SPL|CCR|CCRW|CCRH|CCRL|TMP1|TMP2|TMP2H|TMP2L)/i; #$1:register
-#operands (HC11)
-*op_indx = \qr/$op_offset$del[X]/i; #$1:offset $2:preop $3:register $4:postop
-*op_indy = \qr/$op_offset$del[Y]/i; #$1:offset $2:preop $3:register $4:postop
-#operands (XGATE)
-*op_xgate_reg_gpr = \qr/(R[0-7])/i; #$1:register
-*op_xgate_reg_src = \qr/(R[0-7]|CCR)/i; #$1:register
-*op_xgate_reg_dst = \qr/(R[0-7]|CCR)/i; #$1:register
-#operands (pseudo opcodes)
-*op_psop = \qr/$op_expr/i; #$1:operand
-
-#S12 address modes
-*amod_inh = \qr/^\s*$/i;
-*amod_imm8 = \qr/^\s*$op_imm\s*$/i; #$1:data
-*amod_imm16 = \$amod_imm8;
-*amod_dir = \qr/^\s*$op_dir\s*$/i; #$1:address
-*amod_ext = \qr/^\s*$op_ext\s*$/i; #$1:address
-*amod_rel8 = \qr/^\s*$op_rel\s*$/i; #$1:address
-*amod_rel16 = \$amod_rel8;
-*amod_idx = \qr/^\s*$op_idx\s*$/i; #$1:offset $2:preop $3:register $4:postop
-*amod_idx1 = \qr/^\s*$op_idx1\s*$/i; #$1:offset $2:register
-*amod_idx2 = \$amod_idx1;
-*amod_ididx = \qr/^\s*$op_ididx\s*$/i; #$1:register
-*amod_iidx2 = \qr/^\s*$op_iidx2\s*$/i; #$1:offset $2:register
-
-*amod_dir_msk = \qr/^\s*$op_dir$del$op_msk\s*$/i; #$1:address $2:mask
-*amod_ext_msk = \qr/^\s*$op_ext$del$op_msk\s*$/i; #$1:address $2:mask
-*amod_idx_msk = \qr/^\s*$op_idx$del$op_msk\s*$/i; #$1:offset $2:preop $3:register $4:postop $4:mask
-*amod_idx1_msk = \qr/^\s*$op_idx1$del$op_msk\s*$/i; #$1:offset $2:register $3:mask
-*amod_idx2_msk = \$amod_idx1_msk;
-
-*amod_dir_msk_rel = \qr/^\s*$op_dir$del$op_msk$del$op_rel\s*$/i; #$1:address $2:mask $3:address
-*amod_ext_msk_rel = \qr/^\s*$op_ext$del$op_msk$del$op_rel\s*$/i; #$1:address $2:mask $3:address
-*amod_idx_msk_rel = \qr/^\s*$op_idx$del$op_msk$del$op_rel\s*$/i; #$1:offset $2:preop $3:register $4:postop $5:mask $6:address
-*amod_idx1_msk_rel = \qr/^\s*$op_idx1$del$op_msk$del$op_rel\s*$/i; #$1:offset $2:register $3:mask $4:address
-*amod_idx2_msk_rel = \$amod_idx1_msk_rel;
-
-*amod_ext_pgimpl = \qr/^\s*$op_ext\s*$/i; #$1:address
-*amod_ext_pg = \qr/^\s*$op_ext$del$op_pg\s*$/i; #$1:address $2:page
-*amod_idx_pg = \qr/^\s*$op_idx$del$op_pg\s*$/i; #$1:offset $2:preop $3:register $4:postop $5:page
-*amod_idx1_pg = \qr/^\s*$op_idx1$del$op_pg\s*$/i; #$1:offset $2:register $3:page
-*amod_idx2_pg = \$amod_idx1_pg;
-*amod_ididx_pg = \qr/^\s*$op_ididx$del$op_pg\s*$/i; #$1:register $2:page
-*amod_iidx2_pg = \qr/^\s*$op_iidx2$del$op_pg\s*$/i; #$1:offset $2:register $3:page
-
-*amod_imm8_ext = \qr/^\s*$op_imm$del$op_ext\s*$/i; #$1:data $2:address
-*amod_imm8_idx = \qr/^\s*$op_imm$del$op_idx\s*$/i; #$1:data $2:offset $3:preop $4:register $5:postop
-*amod_imm16_ext = \$amod_imm8_ext;
-*amod_imm16_idx = \$amod_imm8_idx;
-*amod_ext_ext = \qr/^\s*$op_ext$del$op_ext\s*$/i; #$1:address $2:address
-*amod_ext_idx = \qr/^\s*$op_ext$del$op_idx\s*$/i; #$1:address $2:offset $3:preop $4:register $5:postop
-*amod_idx_ext = \qr/^\s*$op_idx$del$op_ext\s*$/i; #$1:offset $1:preop $3:register $4:postop $5:address
-*amod_idx_idx = \qr/^\s*$op_idx$del$op_idx\s*$/i; #$1:offset $2:preop $3:register $4:postop #$5:offset $6:preop $7:register $8:postop
-
-*amod_exg = \qr/^\s*$op_reg_src$del$op_reg_dst\s*$/i; #$1:register $1:register
-*amod_tfr = \$amod_exg; #$1:register $1:register
-
-*amod_dbeq = \qr/^\s*$op_reg_idx$del$op_rel\s*$/i; #$1:register $1:address
-*amod_dbne = \$amod_dbeq;
-*amod_tbeq = \$amod_dbeq;
-*amod_tbne = \$amod_dbeq;
-*amod_ibeq = \$amod_dbeq;
-*amod_ibne = \$amod_dbeq;
-
-*amod_trap = \qr/^\s*$op_trap\s*$/i; #$1:value
-
-#HC11 address modes
-*amod_hc11_indx = \qr/^\s*$op_indx\s*$/i; #$1:offset
-*amod_hc11_indy = \qr/^\s*$op_indy\s*$/i; #$1:offset
-*amod_hc11_indx_msk = \qr/^\s*$op_indx$del$op_msk\s*$/i; #$1:offset $2:mask
-*amod_hc11_indy_msk = \qr/^\s*$op_indy$del$op_msk\s*$/i; #$1:offset $2:mask
-*amod_hc11_indx_msk_rel = \qr/^\s*$op_indx$del$op_msk$del$op_rel\s*$/i; #$1:offset $2:mask $3:address
-*amod_hc11_indy_msk_rel = \qr/^\s*$op_indy$del$op_msk$del$op_rel\s*$/i; #$1:offset $2:mask $3:address
-
-#S12X address modes
-*amod_s12x_dir = \$amod_dir;
-*amod_s12x_dir_msk = \$amod_dir_msk;
-*amod_s12x_dir_msk_rel = \$amod_dir_msk_rel;
-
-*amod_imm8_idx1 = \qr/^\s*$op_imm$del$op_idx1\s*$/i; #$1:data $2:offset $3:register;
-*amod_imm8_idx2 = \$amod_imm8_idx1;
-*amod_imm8_ididx = \qr/^\s*$op_imm$del$op_ididx\s*$/i; #$1:data $2:register;
-*amod_imm8_iidx2 = \qr/^\s*$op_imm$del$op_iidx2\s*$/i; #$1:data $2:offset $3:register;
-
-*amod_imm16_idx1 = \$amod_imm8_idx1;
-*amod_imm16_idx2 = \$amod_imm8_idx2;
-*amod_imm16_ididx = \$amod_imm8_ididx;
-*amod_imm16_iidx2 = \$amod_imm8_iidx2;
-
-*amod_ext_idx1 = \qr/^\s*$op_ext$del$op_idx1\s*$/i; #$1:address $2:offset $3:register;
-*amod_ext_idx2 = \$amod_ext_idx1;
-*amod_ext_ididx = \qr/^\s*$op_ext$del$op_ididx\s*$/i; #$1:address $2:register;
-*amod_ext_iidx2 = \qr/^\s*$op_ext$del$op_iidx2\s*$/i; #$1:address $2:offset $3:register;
-
-*amod_idx_idx1 = \qr/^\s*$op_idx$del$op_idx1\s*$/i; #$1:offset $2:preop $3:register $4:postop $5:offset $6:register;
-*amod_idx_idx2 = \$amod_idx_idx1;
-*amod_idx_ididx = \qr/^\s*$op_idx$del$op_ididx\s*$/i; #$1:offset $2:preop $3:register $4:postop $5:register;
-*amod_idx_iidx2 = \qr/^\s*$op_idx$del$op_iidx2\s*$/i; #$1:offset $2:preop $3:register $4:postop $5:offset $6:register;
-
-*amod_idx1_ext = \qr/^\s*$op_idx1$del$op_ext\s*$/i; #$1:offset $2:register $3:address;
-*amod_idx1_idx = \qr/^\s*$op_idx1$del$op_idx\s*$/i; #$1:offset $2:register $3:offset $4:preop $5:register $6:postop;
-*amod_idx1_idx1 = \qr/^\s*$op_idx1$del$op_idx1\s*$/i; #$1:offset $2:register $3:offset $4:register;
-*amod_idx1_idx2 = \$amod_idx1_idx1;
-*amod_idx1_ididx = \qr/^\s*$op_idx1$del$op_ididx\s*$/i;#1$:offset $2:register $3:register;
-*amod_idx1_iidx2 = \qr/^\s*$op_idx1$del$op_iidx2\s*$/i;#1$:offset $2:register $3:offset $4:register;
-
-*amod_idx2_ext = \$amod_idx1_ext;
-*amod_idx2_idx = \$amod_idx1_idx;
-*amod_idx2_idx1 = \$amod_idx1_idx1;
-*amod_idx2_idx2 = \$amod_idx1_idx1;
-*amod_idx2_ididx = \$amod_idx1_ididx;
-*amod_idx2_iidx2 = \$amod_idx1_iidx2;
-
-*amod_ididx_ext = \qr/^\s*$op_ididx$del$op_ext\s*$/i; #$1:register $2:address;
-*amod_ididx_idx = \qr/^\s*$op_ididx$del$op_idx\s*$/i; #$1:register $2:offset $3:preop $4:register $5:postop;
-*amod_ididx_idx1 = \qr/^\s*$op_ididx$del$op_idx1\s*$/i; #$1:register $2:offset $3:register;
-*amod_ididx_idx2 = \$amod_ididx_idx1;
-*amod_ididx_ididx = \qr/^\s*$op_ididx$del$op_ididx\s*$/i;#$1:register $2:register;
-*amod_ididx_iidx2 = \qr/^\s*$op_ididx$del$op_iidx2\s*$/i;#$1:register $2:offset $3:register;
-
-*amod_iidx2_ext = \qr/^\s*$op_iidx2$del$op_ext\s*$/i; #$1:offset $2:register $3:address;
-*amod_iidx2_idx = \qr/^\s*$op_ididx$del$op_idx\s*$/i; #$1:offset $2:register $3:offset $4:preop $5:register $6:postop;
-*amod_iidx2_idx1 = \qr/^\s*$op_iidx2$del$op_idx1\s*$/i; #$1:offset $2:register $3:offset $4:register;
-*amod_iidx2_idx2 = \$amod_iidx2_idx1;
-*amod_iidx2_ididx = \qr/^\s*$op_iidx2$del$op_ididx\s*$/i;#$1:offset $2:register $3:register;
-*amod_iidx2_iidx2 = \qr/^\s*$op_iidx2$del$op_iidx2\s*$/i;#$1:offset $2:register $3:offset $4:register;
-
-*amod_s12x_exg = \qr/^\s*$op_s12x_reg_src$del$op_s12x_reg_dst\s*$/i; #$1:register $1:register
-*amod_s12x_tfr = \$amod_s12x_exg; #$1:register $1:register
-
-*amod_s12x_trap = \$amod_trap;
-
-#XGATE address modes
-*amod_xgate_imm3 = \qr/^\s*$op_imm\s*$/i; #$1:value
-*amod_xgate_imm4 = \qr/^\s*$op_xgate_reg_gpr$del$op_imm\s*$/i; #$1:register $2:value
-*amod_xgate_imm8 = \$amod_xgate_imm4;
-*amod_xgate_imm16 = \$amod_xgate_imm4;
-*amod_xgate_mon = \qr/^\s*$op_xgate_reg_gpr\s*$/i; #$1:register
-*amod_xgate_dya = \qr/^\s*$op_xgate_reg_gpr$del$op_xgate_reg_gpr\s*$/i; #$1:register
-*amod_xgate_tri = \qr/^\s*$op_xgate_reg_gpr$del$op_xgate_reg_gpr$del$op_xgate_reg_gpr\s*$/i; #$1:register
-*amod_xgate_rel9 = \qr/^\s*$op_rel\s*$/i; #$1:address
-*amod_xgate_rel10 = \$amod_xgate_rel9;
-*amod_xgate_ido5 = \qr/^\s*$op_xgate_reg_gpr$del\(\s*$op_xgate_reg_gpr\s*,\s*$op_imm\s*\)\s*$/i; #$1:register $2:register $3:offset
-*amod_xgate_idr = \qr/^\s*$op_xgate_reg_gpr$del\(\s*$op_xgate_reg_gpr\s*,\s*$op_xgate_reg_gpr\s*\)\s*$/i; #$1:register $2:register $3:register
-*amod_xgate_idri = \qr/^\s*$op_xgate_reg_gpr$del\(\s*$op_xgate_reg_gpr\s*,\s*$op_xgate_reg_gpr[+]\s*\)\s*$/i;#$1:register $2:register $3:register
-*amod_xgate_idrd = \qr/^\s*$op_xgate_reg_gpr$del\(\s*$op_xgate_reg_gpr\s*,\s*[-]$op_xgate_reg_gpr\s*\)\s*$/i;#$1:register $2:register $3:register
-*amod_xgate_tfr_rd_ccr = \qr/^\s*$op_xgate_reg_gpr$del\CCR\s*$/i; #$1:register
-*amod_xgate_tfr_ccr_rs = \qr/^\s*CCR$del$op_xgate_reg_gpr\s*$/i; #$1:register
-*amod_xgate_tfr_rd_pc = \qr/^\s*$op_xgate_reg_gpr$del[P]C\s*$/i; #$1:register
-
-##############################
-# pseudo opcocde expressions #
-##############################
-*psop_no_arg = \qr/^\s*$/i; #
-*psop_1_arg = \qr/^\s*$op_psop\s*$/i; #$1:arg
-*psop_2_args = \qr/^\s*$op_psop$del$op_psop\s*$/i; #$1:arg $2:arg
-*psop_3_args = \qr/^\s*$op_psop$del$op_psop$del$op_psop\s*$/i; #$1:arg $2:arg $3:arg
-*psop_string = \qr/^\s*(.+)\s*$/i; #$1:string
-
-#######################
-# operand expressions #
-#######################
-*op_unmapped = \qr/^\s*UNMAPPED\s*$/i;
-*op_oprtr = \qr/\-|\+|\*|\/|%|&|\||~|<<|>>/;
-*op_no_oprtr = \qr/[^\-\+\/%&\|~<>\s]/;
-*op_term = \qr/\%[01]+|[0-9]+|\$[0-9a-fA-F]+|\"(\w)\"|\*|\@/;
-*op_binery = \qr/^\s*([~\-]?)\s*\%([01_]+)\s*$/; #$1:complement $2:binery number
-*op_dec = \qr/^\s*([~\-]?)\s*([0-9_]+)\s*$/; #$1:complement $2:decimal number
-*op_hex = \qr/^\s*([~\-]?)\s*\$([0-9a-fA-F_]+)\s*$/; #$1:complement $2:hex number
-*op_ascii = \qr/^\s*([~\-]?)\s*[\'\"](.+)[\'\"]\s*$/; #$1:complement $2:ASCII caracter
-*op_symbol = \qr/^\s*([~\-]?)\s*([\w]+[\`]?)\s*$/; #$1:complement $2:symbol
-#*op_symbol = \qr/^\s*([~\-]?)\s*([\w]+[\`]?|[\`])\s*$/; #$1:complement $2:symbol
-*op_curr_lin_pc = \qr/^\s*([~\-]?)\s*\@\s*$/;
-*op_curr_pag_pc = \qr/^\s*([~\-]?)\s*\*\s*$/;
-*op_formula = \qr/^\s*($op_psop)\s*$/; #$1:formula
-*op_formula_pars = \qr/^\s*(.*)\s*\(\s*([^\(\)]+)\s*\)\s*(.*)\s*$/; #$1:leftside $2:inside $3:rightside
-*op_formula_complement = \qr/^\s*([~\-])\s*([~\-].*)\s*$/; #$1:leftside $2:rightside
-*op_formula_and = \qr/^\s*([^\&]*)\s*\&\s*(.+)\s*$/; #$1:leftside $2:rightside
-*op_formula_or = \qr/^\s*([^\|]*)\s*\|\s*(.+)\s*$/; #$1:leftside $2:rightside
-*op_formula_exor = \qr/^\s*([^\^]*)\s*\^\s*(.+)\s*$/; #$1:leftside $2:rightside
-*op_formula_rightshift = \qr/^\s*([^>]*)\s*>>\s*(.+)\s*$/; #$1:leftside $2:rightside
-*op_formula_leftshift = \qr/^\s*([^<]*)\s*<<\s*(.+)\s*$/; #$1:leftside $2:rightside
-*op_formula_mul = \qr/^\s*(.*$op_no_oprtr)\s*\*\s*(.+)\s*$/; #$1:leftside $2:rightside
-*op_formula_div = \qr/^\s*([^\/]*)\s*\/\s*(.+)\s*$/; #$1:leftside $2:rightside
-*op_formula_mod = \qr/^\s*(.*$op_no_oprtr)\s*\%\s*(.*)\s*$/; #$1:leftside $2:rightside
-*op_formula_plus = \qr/^\s*([^\+]*)\s*\+\s*(.+)\s*$/; #$1:leftside $2:rightside
-*op_formula_minus = \qr/^\s*(.*$op_no_oprtr)\s*\-\s*(.+)\s*$/; #$1:leftside $2:rightside
-*op_whitespace = \qr/^\s*$/;
-
-########################
-# compiler expressions #
-########################
-*cmp_no_hexcode = \qr/^\s*(.*?[^0-9a-fA-F\ ].*?)\s*$/; #$1:string
-
-#############
-# cpu types #
-#############
-*cpu_hc11 = \qr/^\s*HC11\s*$/i;
-*cpu_s12 = \qr/^\s*((HC)|(S))12\s*$/i;
-*cpu_s12x = \qr/^\s*S12X\s*$/i;
-*cpu_xgate = \qr/^\s*XGATE\s*$/i;
-
-#################
-# opcode tables #
-#################
-#HC11: MNEMONIC ADDRESS MODE OPCODE
-*opctab_hc11 = \{"ABA" => [[$amod_inh, \&check_inh, "1B" ]], #INH
- "ABX" => [[$amod_inh, \&check_inh, "3A" ]], #INH
- "ABY" => [[$amod_inh, \&check_inh, "18 3A"]], #INH
- "ADCA" => [[$amod_imm8, \&check_imm8, "89" ], #IMM
- [$amod_dir, \&check_dir, "99" ], #DIR
- [$amod_ext, \&check_ext, "B9" ], #EXT
- [$amod_hc11_indx, \&check_hc11_indx, "A9" ], #IND,X
- [$amod_hc11_indy, \&check_hc11_indy, "18 A9"]], #IND,Y
- "ADCB" => [[$amod_imm8, \&check_imm8, "C9" ], #IMM
- [$amod_dir, \&check_dir, "D9" ], #DIR
- [$amod_ext, \&check_ext, "F9" ], #EXT
- [$amod_hc11_indx, \&check_hc11_indx, "E9" ], #IND,X
- [$amod_hc11_indy, \&check_hc11_indy, "18 E9"]], #IND,Y
- "ADDA" => [[$amod_imm8, \&check_imm8, "8B" ], #IMM
- [$amod_dir, \&check_dir, "9B" ], #DIR
- [$amod_ext, \&check_ext, "BB" ], #EXT
- [$amod_hc11_indx, \&check_hc11_indx, "AB" ], #IND,X
- [$amod_hc11_indy, \&check_hc11_indy, "18 AB"]], #IND,Y
- "ADDB" => [[$amod_imm8, \&check_imm8, "CB" ], #IMM
- [$amod_dir, \&check_dir, "DB" ], #DIR
- [$amod_ext, \&check_ext, "FB" ], #EXT
- [$amod_hc11_indx, \&check_hc11_indx, "EB" ], #IND,X
- [$amod_hc11_indy, \&check_hc11_indy, "18 EB"]], #IND,Y
- "ADDD" => [[$amod_imm16, \&check_imm16, "C3" ], #IMM
- [$amod_dir, \&check_dir, "D3" ], #DIR
- [$amod_ext, \&check_ext, "F3" ], #EXT
- [$amod_hc11_indx, \&check_hc11_indx, "E3" ], #IND,X
- [$amod_hc11_indy, \&check_hc11_indy, "18 E3"]], #IND,Y
- "ANDA" => [[$amod_imm8, \&check_imm8, "84" ], #IMM
- [$amod_dir, \&check_dir, "94" ], #DIR
- [$amod_ext, \&check_ext, "B4" ], #EXT
- [$amod_hc11_indx, \&check_hc11_indx, "A4" ], #IND,X
- [$amod_hc11_indy, \&check_hc11_indy, "18 A4"]], #IND,Y
- "ANDB" => [[$amod_imm8, \&check_imm8, "C4" ], #IMM
- [$amod_dir, \&check_dir, "D4" ], #DIR
- [$amod_ext, \&check_ext, "F4" ], #EXT
- [$amod_hc11_indx, \&check_hc11_indx, "E4" ], #IND,X
- [$amod_hc11_indy, \&check_hc11_indy, "18 E4"]], #IND,Y
- "ASL" => [[$amod_ext, \&check_ext, "78" ], #EXT
- [$amod_hc11_indx, \&check_hc11_indx, "68" ], #IND,X
- [$amod_hc11_indy, \&check_hc11_indy, "18 68"]], #IND,Y
- "ASLA" => [[$amod_inh, \&check_inh, "48" ]], #INH
- "ASLB" => [[$amod_inh, \&check_inh, "58" ]], #INH
- "ASLD" => [[$amod_inh, \&check_inh, "05" ]], #INH
- "ASR" => [[$amod_ext, \&check_ext, "77" ], #EXT
- [$amod_hc11_indx, \&check_hc11_indx, "67" ], #IND,X
- [$amod_hc11_indy, \&check_hc11_indy, "18 67"]], #IND,Y
- "ASRA" => [[$amod_inh, \&check_inh, "47" ]], #INH
- "ASRB" => [[$amod_inh, \&check_inh, "57" ]], #INH
- "BCC" => [[$amod_rel8, \&check_rel8, "24" ]], #REL
- "BCLR" => [[$amod_dir_msk, \&check_dir_msk, "15" ], #DIR
- [$amod_hc11_indx_msk, \&check_hc11_indx_msk, "1D" ], #IND,X
- [$amod_hc11_indy_msk, \&check_hc11_indy_msk, "18 1D"]], #IND,Y
- "BCS" => [[$amod_rel8, \&check_rel8, "25" ]], #REL
- "BEQ" => [[$amod_rel8, \&check_rel8, "27" ]], #REL
- "BGE" => [[$amod_rel8, \&check_rel8, "2C" ]], #REL
- "BGT" => [[$amod_rel8, \&check_rel8, "2E" ]], #REL
- "BHI" => [[$amod_rel8, \&check_rel8, "22" ]], #REL
- "BHS" => [[$amod_rel8, \&check_rel8, "24" ]], #REL
- "BITA" => [[$amod_imm8, \&check_imm8, "85" ], #IMM
- [$amod_dir, \&check_dir, "95" ], #DIR
- [$amod_ext, \&check_ext, "B5" ], #EXT
- [$amod_hc11_indx, \&check_hc11_indx, "A5" ], #IND,X
- [$amod_hc11_indy, \&check_hc11_indy, "18 A5"]], #IND,Y
- "BITB" => [[$amod_imm8, \&check_imm8, "C5" ], #IMM
- [$amod_dir, \&check_dir, "D5" ], #DIR
- [$amod_ext, \&check_ext, "F5" ], #EXT
- [$amod_hc11_indx, \&check_hc11_indx, "E5" ], #IND,X
- [$amod_hc11_indy, \&check_hc11_indy, "18 E5"]], #IND,Y
- "BLE" => [[$amod_rel8, \&check_rel8, "2F" ]], #REL
- "BLO" => [[$amod_rel8, \&check_rel8, "25" ]], #REL
- "BLS" => [[$amod_rel8, \&check_rel8, "23" ]], #REL
- "BLT" => [[$amod_rel8, \&check_rel8, "2D" ]], #REL
- "BMI" => [[$amod_rel8, \&check_rel8, "2B" ]], #REL
- "BNE" => [[$amod_rel8, \&check_rel8, "26" ]], #REL
- "BPL" => [[$amod_rel8, \&check_rel8, "2A" ]], #REL
- "BRA" => [[$amod_rel8, \&check_rel8, "20" ]], #REL
- "BRCLR" => [[$amod_dir_msk_rel, \&check_dir_msk_rel, "13" ], #DIR
- [$amod_hc11_indx_msk_rel, \&check_hc11_indx_msk_rel, "1F" ], #IND,X
- [$amod_hc11_indy_msk_rel, \&check_hc11_indy_msk_rel, "18 1F"]], #IND,Y
- "BRN" => [[$amod_rel8, \&check_rel8, "21" ]], #REL
- "BRSET" => [[$amod_dir_msk_rel, \&check_dir_msk_rel, "12" ], #DIR
- [$amod_hc11_indx_msk_rel, \&check_hc11_indx_msk_rel, "1E" ], #IND,X
- [$amod_hc11_indy_msk_rel, \&check_hc11_indy_msk_rel, "18 1E"]], #IND,Y
- "BSET" => [[$amod_dir_msk, \&check_dir_msk, "14" ], #DIR
- [$amod_hc11_indx_msk, \&check_hc11_indx_msk, "1C" ], #IND,X
- [$amod_hc11_indy_msk, \&check_hc11_indy_msk, "18 1C"]], #IND,Y
- "BSR" => [[$amod_rel8, \&check_rel8, "8D" ]], #REL
- "BVC" => [[$amod_rel8, \&check_rel8, "28" ]], #REL
- "BVS" => [[$amod_rel8, \&check_rel8, "29" ]], #REL
- "CBA" => [[$amod_inh, \&check_inh, "11" ]], #INH
- "CLC" => [[$amod_inh, \&check_inh, "0C" ]], #INH
- "CLI" => [[$amod_inh, \&check_inh, "0E" ]], #INH
- "CLR" => [[$amod_ext, \&check_ext, "7F" ], #EXT
- [$amod_hc11_indx, \&check_hc11_indx, "6F" ], #IND,X
- [$amod_hc11_indy, \&check_hc11_indy, "18 6F"]], #IND,Y
- "CLRA" => [[$amod_inh, \&check_inh, "4F" ]], #INH
- "CLRB" => [[$amod_inh, \&check_inh, "5F" ]], #INH
- "CLV" => [[$amod_inh, \&check_inh, "0A" ]], #INH
- "CMPA" => [[$amod_imm8, \&check_imm8, "81" ], #IMM
- [$amod_dir, \&check_dir, "91" ], #DIR
- [$amod_ext, \&check_ext, "B1" ], #EXT
- [$amod_hc11_indx, \&check_hc11_indx, "A1" ], #IND,X
- [$amod_hc11_indy, \&check_hc11_indy, "18 A1"]], #IND,Y
- "CMPB" => [[$amod_imm8, \&check_imm8, "C1" ], #IMM
- [$amod_dir, \&check_dir, "D1" ], #DIR
- [$amod_ext, \&check_ext, "F1" ], #EXT
- [$amod_hc11_indx, \&check_hc11_indx, "E1" ], #IND,X
- [$amod_hc11_indy, \&check_hc11_indy, "18 E1"]], #IND,Y
- "COM" => [[$amod_ext, \&check_ext, "73" ], #EXT
- [$amod_hc11_indx, \&check_hc11_indx, "63" ], #IND,X
- [$amod_hc11_indy, \&check_hc11_indy, "18 63"]], #IND,Y
- "COMA" => [[$amod_inh, \&check_inh, "43" ]], #INH
- "COMB" => [[$amod_inh, \&check_inh, "53" ]], #INH
- "CPD" => [[$amod_imm16, \&check_imm16, "1A 83"], #IMM
- [$amod_dir, \&check_dir, "1A 93"], #DIR
- [$amod_ext, \&check_ext, "1A B3"], #EXT
- [$amod_hc11_indx, \&check_hc11_indx, "1A A3"], #IND,X
- [$amod_hc11_indy, \&check_hc11_indy, "CD A3"]], #IND,Y
- "CPX" => [[$amod_imm16, \&check_imm16, "8C" ], #IMM
- [$amod_dir, \&check_dir, "9C" ], #DIR
- [$amod_ext, \&check_ext, "BC" ], #EXT
- [$amod_hc11_indx, \&check_hc11_indx, "AC" ], #IND,X
- [$amod_hc11_indy, \&check_hc11_indy, "CD AC"]], #IND,Y
- "CPY" => [[$amod_imm16, \&check_imm16, "18 8D"], #IMM
- [$amod_dir, \&check_dir, "18 9D"], #DIR
- [$amod_ext, \&check_ext, "18 BD"], #EXT
- [$amod_hc11_indx, \&check_hc11_indx, "1A AC"], #IND,X
- [$amod_hc11_indy, \&check_hc11_indy, "18 AC"]], #IND,Y
- "DAA" => [[$amod_inh, \&check_inh, "19" ]], #INH
- "DEC" => [[$amod_ext, \&check_ext, "7A" ], #EXT
- [$amod_hc11_indx, \&check_hc11_indx, "6A" ], #IND,X
- [$amod_hc11_indy, \&check_hc11_indy, "18 6A"]], #IND,Y
- "DECA" => [[$amod_inh, \&check_inh, "4A" ]], #INH
- "DECB" => [[$amod_inh, \&check_inh, "5A" ]], #INH
- "DES" => [[$amod_inh, \&check_inh, "34" ]], #INH
- "DEX" => [[$amod_inh, \&check_inh, "09" ]], #INH
- "DEY" => [[$amod_inh, \&check_inh, "18 09"]], #INH
- "EORA" => [[$amod_imm8, \&check_imm8, "88" ], #IMM
- [$amod_dir, \&check_dir, "98" ], #DIR
- [$amod_ext, \&check_ext, "B8" ], #EXT
- [$amod_hc11_indx, \&check_hc11_indx, "A8" ], #IND,X
- [$amod_hc11_indy, \&check_hc11_indy, "18 A8"]], #IND,Y
- "EORB" => [[$amod_imm8, \&check_imm8, "C8" ], #IMM
- [$amod_dir, \&check_dir, "D8" ], #DIR
- [$amod_ext, \&check_ext, "F8" ], #EXT
- [$amod_hc11_indx, \&check_hc11_indx, "E8" ], #IND,X
- [$amod_hc11_indy, \&check_hc11_indy, "18 E8"]], #IND,Y
- "FDIV" => [[$amod_inh, \&check_inh, "03" ]], #INH
- "IDIV" => [[$amod_inh, \&check_inh, "02" ]], #INH
- "INC" => [[$amod_ext, \&check_ext, "7C" ], #EXT
- [$amod_hc11_indx, \&check_hc11_indx, "6C" ], #IND,X
- [$amod_hc11_indy, \&check_hc11_indy, "18 6C"]], #IND,Y
- "INCA" => [[$amod_inh, \&check_inh, "4C" ]], #INH
- "INCB" => [[$amod_inh, \&check_inh, "5C" ]], #INH
- "INS" => [[$amod_inh, \&check_inh, "31" ]], #INH
- "INX" => [[$amod_inh, \&check_inh, "08" ]], #INH
- "INY" => [[$amod_inh, \&check_inh, "18 08"]], #INH
- "JMP" => [[$amod_ext, \&check_ext, "7E" ], #EXT
- [$amod_hc11_indx, \&check_hc11_indx, "6E" ], #IND,X
- [$amod_hc11_indy, \&check_hc11_indy, "18 6E"]], #IND,Y
- "JSR" => [[$amod_dir, \&check_dir, "9D" ], #DIR
- [$amod_ext, \&check_ext, "BD" ], #EXT
- [$amod_hc11_indx, \&check_hc11_indx, "AD" ], #IND,X
- [$amod_hc11_indy, \&check_hc11_indy, "18 AD"]], #IND,Y
- "LDAA" => [[$amod_imm8, \&check_imm8, "86" ], #IMM
- [$amod_dir, \&check_dir, "96" ], #DIR
- [$amod_ext, \&check_ext, "B6" ], #EXT
- [$amod_hc11_indx, \&check_hc11_indx, "A6" ], #IND,X
- [$amod_hc11_indy, \&check_hc11_indy, "18 A6"]], #IND,Y
- "LDAB" => [[$amod_imm8, \&check_imm8, "C6" ], #IMM
- [$amod_dir, \&check_dir, "D6" ], #DIR
- [$amod_ext, \&check_ext, "F6" ], #EXT
- [$amod_hc11_indx, \&check_hc11_indx, "E6" ], #IND,X
- [$amod_hc11_indy, \&check_hc11_indy, "18 E6"]], #IND,Y
- "LDD" => [[$amod_imm16, \&check_imm16, "CC" ], #IMM
- [$amod_dir, \&check_dir, "DC" ], #DIR
- [$amod_ext, \&check_ext, "FC" ], #EXT
- [$amod_hc11_indx, \&check_hc11_indx, "EC" ], #IND,X
- [$amod_hc11_indy, \&check_hc11_indy, "18 EC"]], #IND,Y
- "LDS" => [[$amod_imm16, \&check_imm16, "8E" ], #IMM
- [$amod_dir, \&check_dir, "9E" ], #DIR
- [$amod_ext, \&check_ext, "BE" ], #EXT
- [$amod_hc11_indx, \&check_hc11_indx, "AE" ], #IND,X
- [$amod_hc11_indy, \&check_hc11_indy, "18 AE"]], #IND,Y
- "LDX" => [[$amod_imm16, \&check_imm16, "CE" ], #IMM
- [$amod_dir, \&check_dir, "DE" ], #DIR
- [$amod_ext, \&check_ext, "FE" ], #EXT
- [$amod_hc11_indx, \&check_hc11_indx, "EE" ], #IND,X
- [$amod_hc11_indy, \&check_hc11_indy, "CD EE"]], #IND,Y
- "LDY" => [[$amod_imm16, \&check_imm16, "18 CE"], #IMM
- [$amod_dir, \&check_dir, "18 DE"], #DIR
- [$amod_ext, \&check_ext, "18 FE"], #EXT
- [$amod_hc11_indx, \&check_hc11_indx, "1A EE"], #IND,X
- [$amod_hc11_indy, \&check_hc11_indy, "18 EE"]], #IND,Y
- "LSL" => [[$amod_ext, \&check_ext, "78" ], #EXT
- [$amod_hc11_indx, \&check_hc11_indx, "68" ], #IND,X
- [$amod_hc11_indy, \&check_hc11_indy, "18 68"]], #IND,Y
- "LSLA" => [[$amod_inh, \&check_inh, "48" ]], #INH
- "LSLB" => [[$amod_inh, \&check_inh, "58" ]], #INH
- "LSLD" => [[$amod_inh, \&check_inh, "05" ]], #INH
- "LSR" => [[$amod_ext, \&check_ext, "74" ], #EXT
- [$amod_hc11_indx, \&check_hc11_indx, "64" ], #IND,X
- [$amod_hc11_indy, \&check_hc11_indy, "18 64"]], #IND,Y
- "LSRA" => [[$amod_inh, \&check_inh, "44" ]], #INH
- "LSRB" => [[$amod_inh, \&check_inh, "54" ]], #INH
- "LSRD" => [[$amod_inh, \&check_inh, "04" ]], #INH
- "MUL" => [[$amod_inh, \&check_inh, "3D" ]], #INH
- "NEG" => [[$amod_ext, \&check_ext, "70" ], #EXT
- [$amod_hc11_indx, \&check_hc11_indx, "60" ], #IND,X
- [$amod_hc11_indy, \&check_hc11_indy, "18 60"]], #IND,Y
- "NEGA" => [[$amod_inh, \&check_inh, "40" ]], #INH
- "NEGB" => [[$amod_inh, \&check_inh, "50" ]], #INH
- "NOP" => [[$amod_inh, \&check_inh, "01" ]], #INH
- "ORAA" => [[$amod_imm8, \&check_imm8, "8A" ], #IMM
- [$amod_dir, \&check_dir, "9A" ], #DIR
- [$amod_ext, \&check_ext, "BA" ], #EXT
- [$amod_hc11_indx, \&check_hc11_indx, "AA" ], #IND,X
- [$amod_hc11_indy, \&check_hc11_indy, "18 AA"]], #IND,Y
- "ORAB" => [[$amod_imm8, \&check_imm8, "CA" ], #IMM
- [$amod_dir, \&check_dir, "DA" ], #DIR
- [$amod_ext, \&check_ext, "FA" ], #EXT
- [$amod_hc11_indx, \&check_hc11_indx, "EA" ], #IND,X
- [$amod_hc11_indy, \&check_hc11_indy, "18 EA"]], #IND,Y
- "PSHA" => [[$amod_inh, \&check_inh, "36" ]], #INH
- "PSHB" => [[$amod_inh, \&check_inh, "37" ]], #INH
- "PSHX" => [[$amod_inh, \&check_inh, "3C" ]], #INH
- "PSHY" => [[$amod_inh, \&check_inh, "18 3C"]], #INH
- "PULA" => [[$amod_inh, \&check_inh, "32" ]], #INH
- "PULB" => [[$amod_inh, \&check_inh, "33" ]], #INH
- "PULX" => [[$amod_inh, \&check_inh, "38" ]], #INH
- "PULY" => [[$amod_inh, \&check_inh, "18 38"]], #INH
- "ROL" => [[$amod_ext, \&check_ext, "79" ], #EXT
- [$amod_hc11_indx, \&check_hc11_indx, "69" ], #IND,X
- [$amod_hc11_indy, \&check_hc11_indy, "18 69"]], #IND,Y
- "ROLA" => [[$amod_inh, \&check_inh, "49" ]], #INH
- "ROLB" => [[$amod_inh, \&check_inh, "59" ]], #INH
- "ROR" => [[$amod_ext, \&check_ext, "76" ], #EXT
- [$amod_hc11_indx, \&check_hc11_indx, "66" ], #IND,X
- [$amod_hc11_indy, \&check_hc11_indy, "18 66"]], #IND,Y
- "RORA" => [[$amod_inh, \&check_inh, "46" ]], #INH
- "RORB" => [[$amod_inh, \&check_inh, "56" ]], #INH
- "RTI" => [[$amod_inh, \&check_inh, "3B" ]], #INH
- "RTS" => [[$amod_inh, \&check_inh, "39" ]], #INH
- "SBA" => [[$amod_inh, \&check_inh, "10" ]], #INH
- "SBCA" => [[$amod_imm8, \&check_imm8, "82" ], #IMM
- [$amod_dir, \&check_dir, "92" ], #DIR
- [$amod_ext, \&check_ext, "B2" ], #EXT
- [$amod_hc11_indx, \&check_hc11_indx, "A2" ], #IND,X
- [$amod_hc11_indy, \&check_hc11_indy, "18 A2"]], #IND,Y
- "SBCB" => [[$amod_imm8, \&check_imm8, "C2" ], #IMM
- [$amod_dir, \&check_dir, "D2" ], #DIR
- [$amod_ext, \&check_ext, "F2" ], #EXT
- [$amod_hc11_indx, \&check_hc11_indx, "E2" ], #IND,X
- [$amod_hc11_indy, \&check_hc11_indy, "18 E2"]], #IND,Y
- "SEC" => [[$amod_inh, \&check_inh, "0D" ]], #INH
- "SEI" => [[$amod_inh, \&check_inh, "0F" ]], #INH
- "SEV" => [[$amod_inh, \&check_inh, "0B" ]], #INH
- "STAA" => [[$amod_dir, \&check_dir, "97" ], #DIR
- [$amod_ext, \&check_ext, "B7" ], #EXT
- [$amod_hc11_indx, \&check_hc11_indx, "A7" ], #IND,X
- [$amod_hc11_indy, \&check_hc11_indy, "18 A7"]], #IND,Y
- "STAB" => [[$amod_dir, \&check_dir, "D7" ], #DIR
- [$amod_ext, \&check_ext, "F7" ], #EXT
- [$amod_hc11_indx, \&check_hc11_indx, "E7" ], #IND,X
- [$amod_hc11_indy, \&check_hc11_indy, "18 E7"]], #IND,Y
- "STD" => [[$amod_dir, \&check_dir, "DD" ], #DIR
- [$amod_ext, \&check_ext, "FD" ], #EXT
- [$amod_hc11_indx, \&check_hc11_indx, "ED" ], #IND,X
- [$amod_hc11_indy, \&check_hc11_indy, "18 ED"]], #IND,Y
- "STOP" => [[$amod_inh, \&check_inh, "18 3E"]], #INH
- "STS" => [[$amod_dir, \&check_dir, "9F" ], #DIR
- [$amod_ext, \&check_ext, "BF" ], #EXT
- [$amod_hc11_indx, \&check_hc11_indx, "AF" ], #IND,X
- [$amod_hc11_indy, \&check_hc11_indy, "18 AF"]], #IND,Y
- "STX" => [[$amod_dir, \&check_dir, "DF" ], #DIR
- [$amod_ext, \&check_ext, "FF" ], #EXT
- [$amod_hc11_indx, \&check_hc11_indx, "EF" ], #IND,X
- [$amod_hc11_indy, \&check_hc11_indy, "CD EF"]], #IND,Y
- "STY" => [[$amod_dir, \&check_dir, "18 DF"], #DIR
- [$amod_ext, \&check_ext, "18 FF"], #EXT
- [$amod_hc11_indx, \&check_hc11_indx, "1A EF"], #IND,X
- [$amod_hc11_indy, \&check_hc11_indy, "18 EF"]], #IND,Y
- "SUBA" => [[$amod_imm8, \&check_imm8, "80" ], #IMM
- [$amod_dir, \&check_dir, "90" ], #DIR
- [$amod_ext, \&check_ext, "B0" ], #EXT
- [$amod_hc11_indx, \&check_hc11_indx, "A0" ], #IND,X
- [$amod_hc11_indy, \&check_hc11_indy, "18 A0"]], #IND,Y
- "SUBB" => [[$amod_imm8, \&check_imm8, "C0" ], #IMM
- [$amod_dir, \&check_dir, "D0" ], #DIR
- [$amod_ext, \&check_ext, "F0" ], #EXT
- [$amod_hc11_indx, \&check_hc11_indx, "E0" ], #IND,X
- [$amod_hc11_indy, \&check_hc11_indy, "18 E0"]], #IND,Y
- "SUBD" => [[$amod_imm16, \&check_imm16, "83" ], #IMM
- [$amod_dir, \&check_dir, "93" ], #DIR
- [$amod_ext, \&check_ext, "B3" ], #EXT
- [$amod_hc11_indx, \&check_hc11_indx, "A3" ], #IND,X
- [$amod_hc11_indy, \&check_hc11_indy, "18 A3"]], #IND,Y
- "SWI" => [[$amod_inh, \&check_inh, "3F" ]], #INH
- "TAB" => [[$amod_inh, \&check_inh, "16" ]], #INH
- "TAP" => [[$amod_inh, \&check_inh, "06" ]], #INH
- "TBA" => [[$amod_inh, \&check_inh, "17" ]], #INH
- "TEST" => [[$amod_inh, \&check_inh, "00" ]], #INH
- "TPA" => [[$amod_inh, \&check_inh, "07" ]], #INH
- "TST" => [[$amod_ext, \&check_ext, "7D" ], #EXT
- [$amod_hc11_indx, \&check_hc11_indx, "6D" ], #IND,X
- [$amod_hc11_indy, \&check_hc11_indy, "18 6D"]], #IND,Y
- "TSTA" => [[$amod_inh, \&check_inh, "4D" ]], #INH
- "TSTB" => [[$amod_inh, \&check_inh, "5D" ]], #INH
- "TSX" => [[$amod_inh, \&check_inh, "30" ]], #INH
- "TSY" => [[$amod_inh, \&check_inh, "18 30"]], #INH
- "TXS" => [[$amod_inh, \&check_inh, "35" ]], #INH
- "TYS" => [[$amod_inh, \&check_inh, "18 35"]], #INH
- "WAI" => [[$amod_inh, \&check_inh, "3E" ]], #INH
- "XGDX" => [[$amod_inh, \&check_inh, "8F" ]], #INH
- "XGDY" => [[$amod_inh, \&check_inh, "18 8F"]]};#INH
-
-#HC12/S12: MNEMONIC ADDRESS MODE OPCODE
-*opctab_s12 = \{"ABA" => [[$amod_inh, \&check_inh, "18 06"]], #INH
- "ABX" => [[$amod_inh, \&check_inh, "1A E5"]], #INH
- "ABY" => [[$amod_inh, \&check_inh, "19 ED"]], #INH
- "ADCA" => [[$amod_imm8, \&check_imm8, "89" ], #IMM
- [$amod_dir, \&check_dir, "99" ], #DIR
- [$amod_ext, \&check_ext, "B9" ], #EXT
- [$amod_idx, \&check_idx, "A9" ], #IDX
- [$amod_idx1, \&check_idx1, "A9" ], #IDX1
- [$amod_idx2, \&check_idx2, "A9" ], #IDX2
- [$amod_ididx, \&check_ididx, "A9" ], #[D,IDX]
- [$amod_iidx2, \&check_iidx2, "A9" ]], #[IDX2]
- "ADCB" => [[$amod_imm8, \&check_imm8, "C9" ], #IMM
- [$amod_dir, \&check_dir, "D9" ], #DIR
- [$amod_ext, \&check_ext, "F9" ], #EXT
- [$amod_idx, \&check_idx, "E9" ], #IDX
- [$amod_idx1, \&check_idx1, "E9" ], #IDX1
- [$amod_idx2, \&check_idx2, "E9" ], #IDX2
- [$amod_ididx, \&check_ididx, "E9" ], #[D,IDX]
- [$amod_iidx2, \&check_iidx2, "E9" ]], #[IDX2]
- "ADDA" => [[$amod_imm8, \&check_imm8, "8B" ], #IMM
- [$amod_dir, \&check_dir, "9B" ], #DIR
- [$amod_ext, \&check_ext, "BB" ], #EXT
- [$amod_idx, \&check_idx, "AB" ], #IDX
- [$amod_idx1, \&check_idx1, "AB" ], #IDX1
- [$amod_idx2, \&check_idx2, "AB" ], #IDX2
- [$amod_ididx, \&check_ididx, "AB" ], #[D,IDX]
- [$amod_iidx2, \&check_iidx2, "AB" ]], #[IDX2]
- "ADDB" => [[$amod_imm8, \&check_imm8, "CB" ], #IMM
- [$amod_dir, \&check_dir, "DB" ], #DIR
- [$amod_ext, \&check_ext, "FB" ], #EXT
- [$amod_idx, \&check_idx, "EB" ], #IDX
- [$amod_idx1, \&check_idx1, "EB" ], #IDX1
- [$amod_idx2, \&check_idx2, "EB" ], #IDX2
- [$amod_ididx, \&check_ididx, "EB" ], #[D,IDX]
- [$amod_iidx2, \&check_iidx2, "EB" ]], #[IDX2]
- "ADDD" => [[$amod_imm16, \&check_imm16, "C3" ], #IMM
- [$amod_dir, \&check_dir, "D3" ], #DIR
- [$amod_ext, \&check_ext, "F3" ], #EXT
- [$amod_idx, \&check_idx, "E3" ], #IDX
- [$amod_idx1, \&check_idx1, "E3" ], #IDX1
- [$amod_idx2, \&check_idx2, "E3" ], #IDX2
- [$amod_ididx, \&check_ididx, "E3" ], #[D,IDX]
- [$amod_iidx2, \&check_iidx2, "E3" ]], #[IDX2]
- "ANDA" => [[$amod_imm8, \&check_imm8, "84" ], #IMM
- [$amod_dir, \&check_dir, "94" ], #DIR
- [$amod_ext, \&check_ext, "B4" ], #EXT
- [$amod_idx, \&check_idx, "A4" ], #IDX
- [$amod_idx1, \&check_idx1, "A4" ], #IDX1
- [$amod_idx2, \&check_idx2, "A4" ], #IDX2
- [$amod_ididx, \&check_ididx, "A4" ], #[D,IDX]
- [$amod_iidx2, \&check_iidx2, "A4" ]], #[IDX2]
- "ANDB" => [[$amod_imm8, \&check_imm8, "C4" ], #IMM
- [$amod_dir, \&check_dir, "D4" ], #DIR
- [$amod_ext, \&check_ext, "F4" ], #EXT
- [$amod_idx, \&check_idx, "E4" ], #IDX
- [$amod_idx1, \&check_idx1, "E4" ], #IDX1
- [$amod_idx2, \&check_idx2, "E4" ], #IDX2
- [$amod_ididx, \&check_ididx, "E4" ], #[D,IDX]
- [$amod_iidx2, \&check_iidx2, "E4" ]], #[IDX2]
- "ANDCC" => [[$amod_imm8, \&check_imm8, "10" ]], #IMM
- "ASL" => [[$amod_ext, \&check_ext, "78" ], #EXT
- [$amod_idx, \&check_idx, "68" ], #IDX
- [$amod_idx1, \&check_idx1, "68" ], #IDX1
- [$amod_idx2, \&check_idx2, "68" ], #IDX2
- [$amod_ididx, \&check_ididx, "68" ], #[D,IDX]
- [$amod_iidx2, \&check_iidx2, "68" ]], #[IDX2]
- "ASLA" => [[$amod_inh, \&check_inh, "48" ]], #INH
- "ASLB" => [[$amod_inh, \&check_inh, "58" ]], #INH
- "ASLD" => [[$amod_inh, \&check_inh, "59" ]], #INH
- "ASR" => [[$amod_ext, \&check_ext, "77" ], #EXT
- [$amod_idx, \&check_idx, "67" ], #IDX
- [$amod_idx1, \&check_idx1, "67" ], #IDX1
- [$amod_idx2, \&check_idx2, "67" ], #IDX2
- [$amod_ididx, \&check_ididx, "67" ], #[D,IDX]
- [$amod_iidx2, \&check_iidx2, "67" ]], #[IDX2]
- "ASRA" => [[$amod_inh, \&check_inh, "47" ]], #INH
- "ASRB" => [[$amod_inh, \&check_inh, "57" ]], #INH
- "BCC" => [[$amod_rel8, \&check_rel8, "24" ], #REL
- [$amod_rel16, \&check_rel16, "18 24"]], #REL
- "BCLR" => [[$amod_dir_msk, \&check_dir_msk, "4D" ], #DIR
- [$amod_ext_msk, \&check_ext_msk, "1D" ], #EXT
- [$amod_idx_msk, \&check_idx_msk, "0D" ], #IDX
- [$amod_idx1_msk, \&check_idx1_msk, "0D" ], #IDX1
- [$amod_idx2_msk, \&check_idx2_msk, "0D" ]], #IDX2
- "BCS" => [[$amod_rel8, \&check_rel8, "25" ], #REL
- [$amod_rel16, \&check_rel16, "18 25"]], #REL
- "BEQ" => [[$amod_rel8, \&check_rel8, "27" ], #REL
- [$amod_rel16, \&check_rel16, "18 27"]], #REL
- "BGE" => [[$amod_rel8, \&check_rel8, "2C" ], #REL
- [$amod_rel16, \&check_rel16, "18 2C"]], #REL
- "BKGD" => [[$amod_inh, \&check_inh, "00" ]], #INH
- "BGT" => [[$amod_rel8, \&check_rel8, "2E" ], #REL
- [$amod_rel16, \&check_rel16, "18 2E"]], #REL
- "BHI" => [[$amod_rel8, \&check_rel8, "22" ], #REL
- [$amod_rel16, \&check_rel16, "18 22"]], #REL
- "BHS" => [[$amod_rel8, \&check_rel8, "24" ], #REL
- [$amod_rel16, \&check_rel16, "18 24"]], #REL
- "BITA" => [[$amod_imm8, \&check_imm8, "85" ], #IMM
- [$amod_dir, \&check_dir, "95" ], #DIR
- [$amod_ext, \&check_ext, "B5" ], #EXT
- [$amod_idx, \&check_idx, "A5" ], #IDX
- [$amod_idx1, \&check_idx1, "A5" ], #IDX1
- [$amod_idx2, \&check_idx2, "A5" ], #IDX2
- [$amod_ididx, \&check_ididx, "A5" ], #[D,IDX]
- [$amod_iidx2, \&check_iidx2, "A5" ]], #[IDX2]
- "BITB" => [[$amod_imm8, \&check_imm8, "C5" ], #IMM
- [$amod_dir, \&check_dir, "D5" ], #DIR
- [$amod_ext, \&check_ext, "F5" ], #EXT
- [$amod_idx, \&check_idx, "E5" ], #IDX
- [$amod_idx1, \&check_idx1, "E5" ], #IDX1
- [$amod_idx2, \&check_idx2, "E5" ], #IDX2
- [$amod_ididx, \&check_ididx, "E5" ], #[D,IDX]
- [$amod_iidx2, \&check_iidx2, "E5" ]], #[IDX2]
- "BLE" => [[$amod_rel8, \&check_rel8, "2F" ], #REL
- [$amod_rel16, \&check_rel16, "18 2F"]], #REL
- "BLO" => [[$amod_rel8, \&check_rel8, "25" ], #REL
- [$amod_rel16, \&check_rel16, "18 25"]], #REL
- "BLS" => [[$amod_rel8, \&check_rel8, "23" ], #REL
- [$amod_rel16, \&check_rel16, "18 23"]], #REL
- "BLT" => [[$amod_rel8, \&check_rel8, "2D" ], #REL
- [$amod_rel16, \&check_rel16, "18 2D"]], #REL
- "BMI" => [[$amod_rel8, \&check_rel8, "2B" ], #REL
- [$amod_rel16, \&check_rel16, "18 2B"]], #REL
- "BNE" => [[$amod_rel8, \&check_rel8, "26" ], #REL
- [$amod_rel16, \&check_rel16, "18 26"]], #REL
- "BPL" => [[$amod_rel8, \&check_rel8, "2A" ], #REL
- [$amod_rel16, \&check_rel16, "18 2A"]], #REL
- "BRA" => [[$amod_rel8, \&check_rel8, "20" ], #REL
- [$amod_rel16, \&check_rel16, "18 20"]], #REL
- "BRCLR" => [[$amod_dir_msk_rel, \&check_dir_msk_rel, "4F" ], #DIR
- [$amod_ext_msk_rel, \&check_ext_msk_rel, "1F" ], #EXT
- [$amod_idx_msk_rel, \&check_idx_msk_rel, "0F" ], #IDX
- [$amod_idx1_msk_rel, \&check_idx1_msk_rel, "0F" ], #IDX1
- [$amod_idx2_msk_rel, \&check_idx2_msk_rel, "0F" ]], #IDX2
- "BRN" => [[$amod_rel8, \&check_rel8, "21" ], #REL
- [$amod_rel16, \&check_rel16, "18 21"]], #REL
- "BRSET" => [[$amod_dir_msk_rel, \&check_dir_msk_rel, "4E" ], #DIR
- [$amod_ext_msk_rel, \&check_ext_msk_rel, "1E" ], #EXT
- [$amod_idx_msk_rel, \&check_idx_msk_rel, "0E" ], #IDX
- [$amod_idx1_msk_rel, \&check_idx1_msk_rel, "0E" ], #IDX1
- [$amod_idx2_msk_rel, \&check_idx2_msk_rel, "0E" ]], #IDX2
- "BSET" => [[$amod_dir_msk, \&check_dir_msk, "4C" ], #DIR
- [$amod_ext_msk, \&check_ext_msk, "1C" ], #EXT
- [$amod_idx_msk, \&check_idx_msk, "0C" ], #IDX
- [$amod_idx1_msk, \&check_idx1_msk, "0C" ], #IDX1
- [$amod_idx2_msk, \&check_idx2_msk, "0C" ]], #IDX2
- "BSR" => [[$amod_rel8, \&check_rel8, "07" ]], #REL
- "BVC" => [[$amod_rel8, \&check_rel8, "28" ], #REL
- [$amod_rel16, \&check_rel16, "18 28"]], #REL
- "BVS" => [[$amod_rel8, \&check_rel8, "29" ], #REL
- [$amod_rel16, \&check_rel16, "18 29"]], #REL
- "CALL" => [[$amod_ext_pgimpl, \&check_ext_pgimpl, "4A" ], #EXT
- [$amod_ext_pg, \&check_ext_pg, "4A" ], #EXT
- [$amod_idx_pg, \&check_idx_pg, "4B" ], #IDX
- [$amod_idx1_pg, \&check_idx1_pg, "4B" ], #IDX1
- [$amod_idx2_pg, \&check_idx2_pg, "4B" ], #IDX2
- [$amod_ididx_pg, \&check_ididx_pg, "4B" ], #[D,IDX]
- [$amod_iidx2_pg, \&check_iidx2_pg, "4B" ]], #[IDX2]
- "CBA" => [[$amod_inh, \&check_inh, "18 17"]], #INH
- "CLC" => [[$amod_inh, \&check_inh, "10 FE"]], #INH
- "CLI" => [[$amod_inh, \&check_inh, "10 EF"]], #INH
- "CLR" => [[$amod_ext, \&check_ext, "79" ], #EXT
- [$amod_idx, \&check_idx, "69" ], #IDX
- [$amod_idx1, \&check_idx1, "69" ], #IDX1
- [$amod_idx2, \&check_idx2, "69" ], #IDX2
- [$amod_ididx, \&check_ididx, "69" ], #[D,IDX]
- [$amod_iidx2, \&check_iidx2, "69" ]], #[IDX2]
- "CLRA" => [[$amod_inh, \&check_inh, "87" ]], #INH
- "CLRB" => [[$amod_inh, \&check_inh, "C7" ]], #INH
- "CLV" => [[$amod_inh, \&check_inh, "10 FD"]], #INH
- "CMPA" => [[$amod_imm8, \&check_imm8, "81" ], #IMM
- [$amod_dir, \&check_dir, "91" ], #DIR
- [$amod_ext, \&check_ext, "B1" ], #EXT
- [$amod_idx, \&check_idx, "A1" ], #IDX
- [$amod_idx1, \&check_idx1, "A1" ], #IDX1
- [$amod_idx2, \&check_idx2, "A1" ], #IDX2
- [$amod_ididx, \&check_ididx, "A1" ], #[D,IDX]
- [$amod_iidx2, \&check_iidx2, "A1" ]], #[IDX2]
- "CMPB" => [[$amod_imm8, \&check_imm8, "C1" ], #IMM
- [$amod_dir, \&check_dir, "D1" ], #DIR
- [$amod_ext, \&check_ext, "F1" ], #EXT
- [$amod_idx, \&check_idx, "E1" ], #IDX
- [$amod_idx1, \&check_idx1, "E1" ], #IDX1
- [$amod_idx2, \&check_idx2, "E1" ], #IDX2
- [$amod_ididx, \&check_ididx, "E1" ], #[D,IDX]
- [$amod_iidx2, \&check_iidx2, "E1" ]], #[IDX2]
- "COM" => [[$amod_ext, \&check_ext, "71" ], #EXT
- [$amod_idx, \&check_idx, "61" ], #IDX
- [$amod_idx1, \&check_idx1, "61" ], #IDX1
- [$amod_idx2, \&check_idx2, "61" ], #IDX2
- [$amod_ididx, \&check_ididx, "61" ], #[D,IDX]
- [$amod_iidx2, \&check_iidx2, "61" ]], #[IDX2]
- "COMA" => [[$amod_inh, \&check_inh, "41" ]], #INH
- "COMB" => [[$amod_inh, \&check_inh, "51" ]], #INH
- "CPD" => [[$amod_imm16, \&check_imm16, "8C" ], #IMM
- [$amod_dir, \&check_dir, "9C" ], #DIR
- [$amod_ext, \&check_ext, "BC" ], #EXT
- [$amod_idx, \&check_idx, "AC" ], #IDX
- [$amod_idx1, \&check_idx1, "AC" ], #IDX1
- [$amod_idx2, \&check_idx2, "AC" ], #IDX2
- [$amod_ididx, \&check_ididx, "AC" ], #[D,IDX]
- [$amod_iidx2, \&check_iidx2, "AC" ]], #[IDX2]
- "CPS" => [[$amod_imm16, \&check_imm16, "8F" ], #IMM
- [$amod_dir, \&check_dir, "9F" ], #DIR
- [$amod_ext, \&check_ext, "BF" ], #EXT
- [$amod_idx, \&check_idx, "AF" ], #IDX
- [$amod_idx1, \&check_idx1, "AF" ], #IDX1
- [$amod_idx2, \&check_idx2, "AF" ], #IDX2
- [$amod_ididx, \&check_ididx, "AF" ], #[D,IDX]
- [$amod_iidx2, \&check_iidx2, "AF" ]], #[IDX2]
- "CPX" => [[$amod_imm16, \&check_imm16, "8E" ], #IMM
- [$amod_dir, \&check_dir, "9E" ], #DIR
- [$amod_ext, \&check_ext, "BE" ], #EXT
- [$amod_idx, \&check_idx, "AE" ], #IDX
- [$amod_idx1, \&check_idx1, "AE" ], #IDX1
- [$amod_idx2, \&check_idx2, "AE" ], #IDX2
- [$amod_ididx, \&check_ididx, "AE" ], #[D,IDX]
- [$amod_iidx2, \&check_iidx2, "AE" ]], #[IDX2]
- "CPY" => [[$amod_imm16, \&check_imm16, "8D" ], #IMM
- [$amod_dir, \&check_dir, "9D" ], #DIR
- [$amod_ext, \&check_ext, "BD" ], #EXT
- [$amod_idx, \&check_idx, "AD" ], #IDX
- [$amod_idx1, \&check_idx1, "AD" ], #IDX1
- [$amod_idx2, \&check_idx2, "AD" ], #IDX2
- [$amod_ididx, \&check_ididx, "AD" ], #[D,IDX]
- [$amod_iidx2, \&check_iidx2, "AD" ]], #[IDX2]
- "DAA" => [[$amod_inh, \&check_inh, "18 07"]], #INH
- "DBEQ" => [[$amod_dbeq, \&check_dbeq, "04" ]], #REL
- "DBNE" => [[$amod_dbne, \&check_dbne, "04" ]], #REL
- "DEC" => [[$amod_ext, \&check_ext, "73" ], #EXT
- [$amod_idx, \&check_idx, "63" ], #IDX
- [$amod_idx1, \&check_idx1, "63" ], #IDX1
- [$amod_idx2, \&check_idx2, "63" ], #IDX2
- [$amod_ididx, \&check_ididx, "63" ], #[D,IDX]
- [$amod_iidx2, \&check_iidx2, "63" ]], #[IDX2]
- "DECA" => [[$amod_inh, \&check_inh, "43" ]], #INH
- "DECB" => [[$amod_inh, \&check_inh, "53" ]], #INH
- "DES" => [[$amod_inh, \&check_inh, "1B 9F"]], #INH
- "DEX" => [[$amod_inh, \&check_inh, "09" ]], #INH
- "DEY" => [[$amod_inh, \&check_inh, "03" ]], #INH
- "EDIV" => [[$amod_inh, \&check_inh, "11" ]], #INH
- "EDIVS" => [[$amod_inh, \&check_inh, "18 14"]], #INH
- "EMACS" => [[$amod_ext, \&check_ext, "18 12"]], #EXT
- "EMAXD" => [[$amod_idx, \&check_idx, "18 1A"], #IDX
- [$amod_idx1, \&check_idx1, "18 1A"], #IDX1
- [$amod_idx2, \&check_idx2, "18 1A"], #IDX2
- [$amod_ididx, \&check_ididx, "18 1A"], #[D,IDX]
- [$amod_iidx2, \&check_iidx2, "18 1A"]], #[IDX2]
- "EMAXM" => [[$amod_idx, \&check_idx, "18 1E"], #IDX
- [$amod_idx1, \&check_idx1, "18 1E"], #IDX1
- [$amod_idx2, \&check_idx2, "18 1E"], #IDX2
- [$amod_ididx, \&check_ididx, "18 1E"], #[D,IDX]
- [$amod_iidx2, \&check_iidx2, "18 1E"]], #[IDX2]
- "EMIND" => [[$amod_idx, \&check_idx, "18 1B"], #IDX
- [$amod_idx1, \&check_idx1, "18 1B"], #IDX1
- [$amod_idx2, \&check_idx2, "18 1B"], #IDX2
- [$amod_ididx, \&check_ididx, "18 1B"], #[D,IDX]
- [$amod_iidx2, \&check_iidx2, "18 1B"]], #[IDX2]
- "EMINM" => [[$amod_idx, \&check_idx, "18 1F"], #IDX
- [$amod_idx1, \&check_idx1, "18 1F"], #IDX1
- [$amod_idx2, \&check_idx2, "18 1F"], #IDX2
- [$amod_ididx, \&check_ididx, "18 1F"], #[D,IDX]
- [$amod_iidx2, \&check_iidx2, "18 1F"]], #[IDX2]
- "EMUL" => [[$amod_inh, \&check_inh, "13" ]], #INH
- "EMULS" => [[$amod_inh, \&check_inh, "18 13"]], #INH
- "EORA" => [[$amod_imm8, \&check_imm8, "88" ], #IMM
- [$amod_dir, \&check_dir, "98" ], #DIR
- [$amod_ext, \&check_ext, "B8" ], #EXT
- [$amod_idx, \&check_idx, "A8" ], #IDX
- [$amod_idx1, \&check_idx1, "A8" ], #IDX1
- [$amod_idx2, \&check_idx2, "A8" ], #IDX2
- [$amod_ididx, \&check_ididx, "A8" ], #[D,IDX]
- [$amod_iidx2, \&check_iidx2, "A8" ]], #[IDX2]
- "EORB" => [[$amod_imm8, \&check_imm8, "C8" ], #IMM
- [$amod_dir, \&check_dir, "D8" ], #DIR
- [$amod_ext, \&check_ext, "F8" ], #EXT
- [$amod_idx, \&check_idx, "E8" ], #IDX
- [$amod_idx1, \&check_idx1, "E8" ], #IDX1
- [$amod_idx2, \&check_idx2, "E8" ], #IDX2
- [$amod_ididx, \&check_ididx, "E8" ], #[D,IDX]
- [$amod_iidx2, \&check_iidx2, "E8" ]], #[IDX2]
- "ETBL" => [[$amod_idx, \&check_idx, "18 3F"]], #IDX
- "EXG" => [[$amod_exg, \&check_exg, "B7" ]], #INH
- "FDIV" => [[$amod_inh, \&check_inh, "18 11"]], #INH
- "IBEQ" => [[$amod_ibeq, \&check_ibeq, "04" ]], #REL
- "IBNE" => [[$amod_ibne, \&check_ibne, "04" ]], #REL
- "IDIV" => [[$amod_inh, \&check_inh, "18 10"]], #INH
- "IDIVS" => [[$amod_inh, \&check_inh, "18 15"]], #INH
- "INC" => [[$amod_ext, \&check_ext, "72" ], #EXT
- [$amod_idx, \&check_idx, "62" ], #IDX
- [$amod_idx1, \&check_idx1, "62" ], #IDX1
- [$amod_idx2, \&check_idx2, "62" ], #IDX2
- [$amod_ididx, \&check_ididx, "62" ], #[D,IDX]
- [$amod_iidx2, \&check_iidx2, "62" ]], #[IDX2]
- "INCA" => [[$amod_inh, \&check_inh, "42" ]], #INH
- "INCB" => [[$amod_inh, \&check_inh, "52" ]], #INH
- "INS" => [[$amod_inh, \&check_inh, "1B 81"]], #INH
- "INX" => [[$amod_inh, \&check_inh, "08" ]], #INH
- "INY" => [[$amod_inh, \&check_inh, "02" ]], #INH
- "JMP" => [[$amod_ext, \&check_ext, "06" ], #EXT
- [$amod_idx, \&check_idx, "05" ], #IDX
- [$amod_idx1, \&check_idx1, "05" ], #IDX1
- [$amod_idx2, \&check_idx2, "05" ], #IDX2
- [$amod_ididx, \&check_ididx, "05" ], #[D,IDX]
- [$amod_iidx2, \&check_iidx2, "05" ]], #[IDX2]
- "JOB" => [[$amod_rel8, \&check_rel8, "20" ], #REL
- [$amod_ext, \&check_ext, "06" ]], #EXT
- "JOBSR" => [[$amod_rel8, \&check_rel8, "07" ], #REL
- [$amod_ext, \&check_ext, "16" ]], #EXT
- "JSR" => [[$amod_dir, \&check_dir, "17" ], #DIR
- [$amod_ext, \&check_ext, "16" ], #EXT
- [$amod_idx, \&check_idx, "15" ], #IDX
- [$amod_idx1, \&check_idx1, "15" ], #IDX1
- [$amod_idx2, \&check_idx2, "15" ], #IDX2
- [$amod_ididx, \&check_ididx, "15" ], #[D,IDX]
- [$amod_iidx2, \&check_iidx2, "15" ]], #[IDX2]
- "LBCC" => [[$amod_rel16, \&check_rel16, "18 24"]], #REL
- "LBCS" => [[$amod_rel16, \&check_rel16, "18 25"]], #REL
- "LBEQ" => [[$amod_rel16, \&check_rel16, "18 27"]], #REL
- "LBGE" => [[$amod_rel16, \&check_rel16, "18 2C"]], #REL
- "LBGT" => [[$amod_rel16, \&check_rel16, "18 2E"]], #REL
- "LBHI" => [[$amod_rel16, \&check_rel16, "18 22"]], #REL
- "LBHS" => [[$amod_rel16, \&check_rel16, "18 24"]], #REL
- "LBLE" => [[$amod_rel16, \&check_rel16, "18 2F"]], #REL
- "LBLO" => [[$amod_rel16, \&check_rel16, "18 25"]], #REL
- "LBLS" => [[$amod_rel16, \&check_rel16, "18 23"]], #REL
- "LBLT" => [[$amod_rel16, \&check_rel16, "18 2D"]], #REL
- "LBMI" => [[$amod_rel16, \&check_rel16, "18 2B"]], #REL
- "LBNE" => [[$amod_rel16, \&check_rel16, "18 26"]], #REL
- "LBPL" => [[$amod_rel16, \&check_rel16, "18 2A"]], #REL
- "LBRA" => [[$amod_rel16, \&check_rel16, "18 20"]], #REL
- "LBRN" => [[$amod_rel16, \&check_rel16, "18 21"]], #REL
- "LBVC" => [[$amod_rel16, \&check_rel16, "18 28"]], #REL
- "LBVS" => [[$amod_rel16, \&check_rel16, "18 29"]], #REL
- "LDAA" => [[$amod_imm8, \&check_imm8, "86" ], #IMM
- [$amod_dir, \&check_dir, "96" ], #DIR
- [$amod_ext, \&check_ext, "B6" ], #EXT
- [$amod_idx, \&check_idx, "A6" ], #IDX
- [$amod_idx1, \&check_idx1, "A6" ], #IDX1
- [$amod_idx2, \&check_idx2, "A6" ], #IDX2
- [$amod_ididx, \&check_ididx, "A6" ], #[D,IDX]
- [$amod_iidx2, \&check_iidx2, "A6" ]], #[IDX2]
- "LDAB" => [[$amod_imm8, \&check_imm8, "C6" ], #IMM
- [$amod_dir, \&check_dir, "D6" ], #DIR
- [$amod_ext, \&check_ext, "F6" ], #EXT
- [$amod_idx, \&check_idx, "E6" ], #IDX
- [$amod_idx1, \&check_idx1, "E6" ], #IDX1
- [$amod_idx2, \&check_idx2, "E6" ], #IDX2
- [$amod_ididx, \&check_ididx, "E6" ], #[D,IDX]
- [$amod_iidx2, \&check_iidx2, "E6" ]], #[IDX2]
- "LDD" => [[$amod_imm16, \&check_imm16, "CC" ], #IMM
- [$amod_dir, \&check_dir, "DC" ], #DIR
- [$amod_ext, \&check_ext, "FC" ], #EXT
- [$amod_idx, \&check_idx, "EC" ], #IDX
- [$amod_idx1, \&check_idx1, "EC" ], #IDX1
- [$amod_idx2, \&check_idx2, "EC" ], #IDX2
- [$amod_ididx, \&check_ididx, "EC" ], #[D,IDX]
- [$amod_iidx2, \&check_iidx2, "EC" ]], #[IDX2]
- "LDS" => [[$amod_imm16, \&check_imm16, "CF" ], #IMM
- [$amod_dir, \&check_dir, "DF" ], #DIR
- [$amod_ext, \&check_ext, "FF" ], #EXT
- [$amod_idx, \&check_idx, "EF" ], #IDX
- [$amod_idx1, \&check_idx1, "EF" ], #IDX1
- [$amod_idx2, \&check_idx2, "EF" ], #IDX2
- [$amod_ididx, \&check_ididx, "EF" ], #[D,IDX]
- [$amod_iidx2, \&check_iidx2, "EF" ]], #[IDX2]
- "LDX" => [[$amod_imm16, \&check_imm16, "CE" ], #IMM
- [$amod_dir, \&check_dir, "DE" ], #DIR
- [$amod_ext, \&check_ext, "FE" ], #EXT
- [$amod_idx, \&check_idx, "EE" ], #IDX
- [$amod_idx1, \&check_idx1, "EE" ], #IDX1
- [$amod_idx2, \&check_idx2, "EE" ], #IDX2
- [$amod_ididx, \&check_ididx, "EE" ], #[D,IDX]
- [$amod_iidx2, \&check_iidx2, "EE" ]], #[IDX2]
- "LDY" => [[$amod_imm16, \&check_imm16, "CD" ], #IMM
- [$amod_dir, \&check_dir, "DD" ], #DIR
- [$amod_ext, \&check_ext, "FD" ], #EXT
- [$amod_idx, \&check_idx, "ED" ], #IDX
- [$amod_idx1, \&check_idx1, "ED" ], #IDX1
- [$amod_idx2, \&check_idx2, "ED" ], #IDX2
- [$amod_ididx, \&check_ididx, "ED" ], #[D,IDX]
- [$amod_iidx2, \&check_iidx2, "ED" ]], #[IDX2]
- "LEAS" => [[$amod_idx, \&check_idx, "1B" ], #IDX
- [$amod_idx1, \&check_idx1, "1B" ], #IDX1
- [$amod_idx2, \&check_idx2, "1B" ]], #IDX2
- "LEAX" => [[$amod_idx, \&check_idx, "1A" ], #IDX
- [$amod_idx1, \&check_idx1, "1A" ], #IDX1
- [$amod_idx2, \&check_idx2, "1A" ]], #IDX2
- "LEAY" => [[$amod_idx, \&check_idx, "19" ], #IDX
- [$amod_idx1, \&check_idx1, "19" ], #IDX1
- [$amod_idx2, \&check_idx2, "19" ]], #IDX2
- "LSL" => [[$amod_ext, \&check_ext, "78" ], #EXT
- [$amod_idx, \&check_idx, "68" ], #IDX
- [$amod_idx1, \&check_idx1, "68" ], #IDX1
- [$amod_idx2, \&check_idx2, "68" ], #IDX2
- [$amod_ididx, \&check_ididx, "68" ], #[D,IDX]
- [$amod_iidx2, \&check_iidx2, "68" ]], #[IDX2]
- "LSLA" => [[$amod_inh, \&check_inh, "48" ]], #INH
- "LSLB" => [[$amod_inh, \&check_inh, "58" ]], #INH
- "LSLD" => [[$amod_inh, \&check_inh, "59" ]], #INH
- "LSR" => [[$amod_ext, \&check_ext, "74" ], #EXT
- [$amod_idx, \&check_idx, "64" ], #IDX
- [$amod_idx1, \&check_idx1, "64" ], #IDX1
- [$amod_idx2, \&check_idx2, "64" ], #IDX2
- [$amod_ididx, \&check_ididx, "64" ], #[D,IDX]
- [$amod_iidx2, \&check_iidx2, "64" ]], #[IDX2]
- "LSRA" => [[$amod_inh, \&check_inh, "44" ]], #INH
- "LSRB" => [[$amod_inh, \&check_inh, "54" ]], #INH
- "LSRD" => [[$amod_inh, \&check_inh, "49" ]], #INH
- "MAXA" => [[$amod_idx, \&check_idx, "18 18"], #IDX
- [$amod_idx1, \&check_idx1, "18 18"], #IDX1
- [$amod_idx2, \&check_idx2, "18 18"], #IDX2
- [$amod_ididx, \&check_ididx, "18 18"], #[D,IDX]
- [$amod_iidx2, \&check_iidx2, "18 18"]], #[IDX2]
- "MAXM" => [[$amod_idx, \&check_idx, "18 1C"], #IDX
- [$amod_idx1, \&check_idx1, "18 1C"], #IDX1
- [$amod_idx2, \&check_idx2, "18 1C"], #IDX2
- [$amod_ididx, \&check_ididx, "18 1C"], #[D,IDX]
- [$amod_iidx2, \&check_iidx2, "18 1C"]], #[IDX2]
- "MEM" => [[$amod_inh, \&check_inh, "01" ]], #INH
- "MINA" => [[$amod_idx, \&check_idx, "18 19"], #IDX
- [$amod_idx1, \&check_idx1, "18 19"], #IDX1
- [$amod_idx2, \&check_idx2, "18 19"], #IDX2
- [$amod_ididx, \&check_ididx, "18 19"], #[D,IDX]
- [$amod_iidx2, \&check_iidx2, "18 19"]], #[IDX2]
- "MINM" => [[$amod_idx, \&check_idx, "18 1D"], #IDX
- [$amod_idx1, \&check_idx1, "18 1D"], #IDX1
- [$amod_idx2, \&check_idx2, "18 1D"], #IDX2
- [$amod_ididx, \&check_ididx, "18 1D"], #[D,IDX]
- [$amod_iidx2, \&check_iidx2, "18 1D"]], #[IDX2]
- "MOVB" => [[$amod_imm8_ext, \&check_imm8_ext, "18 0B"], #IMM-EXT
- [$amod_imm8_idx, \&check_imm8_idx, "18 08"], #IMM-IDX
- [$amod_ext_ext, \&check_ext_ext, "18 0C"], #EXT-EXT
- [$amod_ext_idx, \&check_ext_idx, "18 09"], #EXT-IDX
- [$amod_idx_ext, \&check_idx_ext, "18 0D"], #IDX-EXT
- [$amod_idx_idx, \&check_idx_idx, "18 0A"]], #IDX-IDX
- "MOVW" => [[$amod_imm16_ext, \&check_imm16_ext, "18 03"], #IMM-EXT
- [$amod_imm16_idx, \&check_imm16_idx, "18 00"], #IMM-IDX
- [$amod_ext_ext, \&check_ext_ext, "18 04"], #EXT-EXT
- [$amod_ext_idx, \&check_ext_idx, "18 01"], #EXT-IDX
- [$amod_idx_ext, \&check_idx_ext, "18 05"], #IDX-EXT
- [$amod_idx_idx, \&check_idx_idx, "18 02"]], #IDX-IDX
- "MUL" => [[$amod_inh, \&check_inh, "12" ]], #INH
- "NEG" => [[$amod_ext, \&check_ext, "70" ], #EXT
- [$amod_idx, \&check_idx, "60" ], #IDX
- [$amod_idx1, \&check_idx1, "60" ], #IDX1
- [$amod_idx2, \&check_idx2, "60" ], #IDX2
- [$amod_ididx, \&check_ididx, "60" ], #[D,IDX]
- [$amod_iidx2, \&check_iidx2, "60" ]], #[IDX2]
- "NEGA" => [[$amod_inh, \&check_inh, "40" ]], #INH
- "NEGB" => [[$amod_inh, \&check_inh, "50" ]], #INH
- "NOP" => [[$amod_inh, \&check_inh, "A7" ]], #INH
- "ORAA" => [[$amod_imm8, \&check_imm8, "8A" ], #IMM
- [$amod_dir, \&check_dir, "9A" ], #DIR
- [$amod_ext, \&check_ext, "BA" ], #EXT
- [$amod_idx, \&check_idx, "AA" ], #IDX
- [$amod_idx1, \&check_idx1, "AA" ], #IDX1
- [$amod_idx2, \&check_idx2, "AA" ], #IDX2
- [$amod_ididx, \&check_ididx, "AA" ], #[D,IDX]
- [$amod_iidx2, \&check_iidx2, "AA" ]], #[IDX2]
- "ORAB" => [[$amod_imm8, \&check_imm8, "CA" ], #IMM
- [$amod_dir, \&check_dir, "DA" ], #DIR
- [$amod_ext, \&check_ext, "FA" ], #EXT
- [$amod_idx, \&check_idx, "EA" ], #IDX
- [$amod_idx1, \&check_idx1, "EA" ], #IDX1
- [$amod_idx2, \&check_idx2, "EA" ], #IDX2
- [$amod_ididx, \&check_ididx, "EA" ], #[D,IDX]
- [$amod_iidx2, \&check_iidx2, "EA" ]], #[IDX2]
- "ORCC" => [[$amod_imm8, \&check_imm8, "14" ]], #INH
- "PSHA" => [[$amod_inh, \&check_inh, "36" ]], #INH
- "PSHB" => [[$amod_inh, \&check_inh, "37" ]], #INH
- "PSHC" => [[$amod_inh, \&check_inh, "39" ]], #INH
- "PSHD" => [[$amod_inh, \&check_inh, "3B" ]], #INH
- "PSHX" => [[$amod_inh, \&check_inh, "34" ]], #INH
- "PSHY" => [[$amod_inh, \&check_inh, "35" ]], #INH
- "PULA" => [[$amod_inh, \&check_inh, "32" ]], #INH
- "PULB" => [[$amod_inh, \&check_inh, "33" ]], #INH
- "PULC" => [[$amod_inh, \&check_inh, "38" ]], #INH
- "PULD" => [[$amod_inh, \&check_inh, "3A" ]], #INH
- "PULX" => [[$amod_inh, \&check_inh, "30" ]], #INH
- "PULY" => [[$amod_inh, \&check_inh, "31" ]], #INH
- "REV" => [[$amod_inh, \&check_inh, "18 3A"]], #INH
- "REVW" => [[$amod_inh, \&check_inh, "18 3B"]], #INH
- "ROL" => [[$amod_ext, \&check_ext, "75" ], #EXT
- [$amod_idx, \&check_idx, "65" ], #IDX
- [$amod_idx1, \&check_idx1, "65" ], #IDX1
- [$amod_idx2, \&check_idx2, "65" ], #IDX2
- [$amod_ididx, \&check_ididx, "65" ], #[D,IDX]
- [$amod_iidx2, \&check_iidx2, "65" ]], #[IDX2]
- "ROLA" => [[$amod_inh, \&check_inh, "45" ]], #INH
- "ROLB" => [[$amod_inh, \&check_inh, "55" ]], #INH
- "ROR" => [[$amod_ext, \&check_ext, "76" ], #EXT
- [$amod_idx, \&check_idx, "66" ], #IDX
- [$amod_idx1, \&check_idx1, "66" ], #IDX1
- [$amod_idx2, \&check_idx2, "66" ], #IDX2
- [$amod_ididx, \&check_ididx, "66" ], #[D,IDX]
- [$amod_iidx2, \&check_iidx2, "66" ]], #[IDX2]
- "RORA" => [[$amod_inh, \&check_inh, "46" ]], #INH
- "RORB" => [[$amod_inh, \&check_inh, "56" ]], #INH
- "RTC" => [[$amod_inh, \&check_inh, "0A" ]], #INH
- "RTI" => [[$amod_inh, \&check_inh, "0B" ]], #INH
- "RTS" => [[$amod_inh, \&check_inh, "3D" ]], #INH
- "SBA" => [[$amod_inh, \&check_inh, "18 16"]], #INH
- "SBCA" => [[$amod_imm8, \&check_imm8, "82" ], #IMM
- [$amod_dir, \&check_dir, "92" ], #DIR
- [$amod_ext, \&check_ext, "B2" ], #EXT
- [$amod_idx, \&check_idx, "A2" ], #IDX
- [$amod_idx1, \&check_idx1, "A2" ], #IDX1
- [$amod_idx2, \&check_idx2, "A2" ], #IDX2
- [$amod_ididx, \&check_ididx, "A2" ], #[D,IDX]
- [$amod_iidx2, \&check_iidx2, "A2" ]], #[IDX2]
- "SBCB" => [[$amod_imm8, \&check_imm8, "C2" ], #IMM
- [$amod_dir, \&check_dir, "D2" ], #DIR
- [$amod_ext, \&check_ext, "F2" ], #EXT
- [$amod_idx, \&check_idx, "E2" ], #IDX
- [$amod_idx1, \&check_idx1, "E2" ], #IDX1
- [$amod_idx2, \&check_idx2, "E2" ], #IDX2
- [$amod_ididx, \&check_ididx, "E2" ], #[D,IDX]
- [$amod_iidx2, \&check_iidx2, "E2" ]], #[IDX2]
- "SEC" => [[$amod_inh, \&check_inh, "14 01"]], #INH
- "SEI" => [[$amod_inh, \&check_inh, "14 10"]], #INH
- "SEV" => [[$amod_inh, \&check_inh, "14 02"]], #INH
- "SEX" => [[$amod_tfr, \&check_sex, "B7" ]], #INH
- "STAA" => [[$amod_dir, \&check_dir, "5A" ], #DIR
- [$amod_ext, \&check_ext, "7A" ], #EXT
- [$amod_idx, \&check_idx, "6A" ], #IDX
- [$amod_idx1, \&check_idx1, "6A" ], #IDX1
- [$amod_idx2, \&check_idx2, "6A" ], #IDX2
- [$amod_ididx, \&check_ididx, "6A" ], #[D,IDX]
- [$amod_iidx2, \&check_iidx2, "6A" ]], #[IDX2]
- "STAB" => [[$amod_dir, \&check_dir, "5B" ], #DIR
- [$amod_ext, \&check_ext, "7B" ], #EXT
- [$amod_idx, \&check_idx, "6B" ], #IDX
- [$amod_idx1, \&check_idx1, "6B" ], #IDX1
- [$amod_idx2, \&check_idx2, "6B" ], #IDX2
- [$amod_ididx, \&check_ididx, "6B" ], #[D,IDX]
- [$amod_iidx2, \&check_iidx2, "6B" ]], #[IDX2]
- "STD" => [[$amod_dir, \&check_dir, "5C" ], #DIR
- [$amod_ext, \&check_ext, "7C" ], #EXT
- [$amod_idx, \&check_idx, "6C" ], #IDX
- [$amod_idx1, \&check_idx1, "6C" ], #IDX1
- [$amod_idx2, \&check_idx2, "6C" ], #IDX2
- [$amod_ididx, \&check_ididx, "6C" ], #[D,IDX]
- [$amod_iidx2, \&check_iidx2, "6C" ]], #[IDX2]
- "STOP" => [[$amod_inh, \&check_inh, "18 3E"]], #INH
- "STS" => [[$amod_dir, \&check_dir, "5F" ], #DIR
- [$amod_ext, \&check_ext, "7F" ], #EXT
- [$amod_idx, \&check_idx, "6F" ], #IDX
- [$amod_idx1, \&check_idx1, "6F" ], #IDX1
- [$amod_idx2, \&check_idx2, "6F" ], #IDX2
- [$amod_ididx, \&check_ididx, "6F" ], #[D,IDX]
- [$amod_iidx2, \&check_iidx2, "6F" ]], #[IDX2]
- "STX" => [[$amod_dir, \&check_dir, "5E" ], #DIR
- [$amod_ext, \&check_ext, "7E" ], #EXT
- [$amod_idx, \&check_idx, "6E" ], #IDX
- [$amod_idx1, \&check_idx1, "6E" ], #IDX1
- [$amod_idx2, \&check_idx2, "6E" ], #IDX2
- [$amod_ididx, \&check_ididx, "6E" ], #[D,IDX]
- [$amod_iidx2, \&check_iidx2, "6E" ]], #[IDX2]
- "STY" => [[$amod_dir, \&check_dir, "5D" ], #DIR
- [$amod_ext, \&check_ext, "7D" ], #EXT
- [$amod_idx, \&check_idx, "6D" ], #IDX
- [$amod_idx1, \&check_idx1, "6D" ], #IDX1
- [$amod_idx2, \&check_idx2, "6D" ], #IDX2
- [$amod_ididx, \&check_ididx, "6D" ], #[D,IDX]
- [$amod_iidx2, \&check_iidx2, "6D" ]], #[IDX2]
- "SUBA" => [[$amod_imm8, \&check_imm8, "80" ], #IMM
- [$amod_dir, \&check_dir, "90" ], #DIR
- [$amod_ext, \&check_ext, "B0" ], #EXT
- [$amod_idx, \&check_idx, "A0" ], #IDX
- [$amod_idx1, \&check_idx1, "A0" ], #IDX1
- [$amod_idx2, \&check_idx2, "A0" ], #IDX2
- [$amod_ididx, \&check_ididx, "A0" ], #[D,IDX]
- [$amod_iidx2, \&check_iidx2, "A0" ]], #[IDX2]
- "SUBB" => [[$amod_imm8, \&check_imm8, "C0" ], #IMM
- [$amod_dir, \&check_dir, "D0" ], #DIR
- [$amod_ext, \&check_ext, "F0" ], #EXT
- [$amod_idx, \&check_idx, "E0" ], #IDX
- [$amod_idx1, \&check_idx1, "E0" ], #IDX1
- [$amod_idx2, \&check_idx2, "E0" ], #IDX2
- [$amod_ididx, \&check_ididx, "E0" ], #[D,IDX]
- [$amod_iidx2, \&check_iidx2, "E0" ]], #[IDX2]
- "SUBD" => [[$amod_imm16, \&check_imm16, "83" ], #IMM
- [$amod_dir, \&check_dir, "93" ], #DIR
- [$amod_ext, \&check_ext, "B3" ], #EXT
- [$amod_idx, \&check_idx, "A3" ], #IDX
- [$amod_idx1, \&check_idx1, "A3" ], #IDX1
- [$amod_idx2, \&check_idx2, "A3" ], #IDX2
- [$amod_ididx, \&check_ididx, "A3" ], #[D,IDX]
- [$amod_iidx2, \&check_iidx2, "A3" ]], #[IDX2]
- "SWI" => [[$amod_inh, \&check_inh, "3F" ]], #INH
- "TAB" => [[$amod_inh, \&check_inh, "18 0E"]], #INH
- "TAP" => [[$amod_inh, \&check_inh, "B7 02"]], #INH
- "TBA" => [[$amod_inh, \&check_inh, "18 0F"]], #INH
- "TBEQ" => [[$amod_tbeq, \&check_tbeq, "04" ]], #REL
- "TBL" => [[$amod_idx, \&check_idx, "18 3D"]], #IDX
- "TBNE" => [[$amod_tbne, \&check_tbne, "04" ]], #REL
- "TFR" => [[$amod_tfr, \&check_tfr, "B7" ]], #INH
- "TPA" => [[$amod_inh, \&check_inh, "B7 20"]], #INH
- "TRAP" => [[$amod_trap, \&check_trap, "18" ]], #INH
- "TST" => [[$amod_ext, \&check_ext, "F7" ], #EXT
- [$amod_idx, \&check_idx, "E7" ], #IDX
- [$amod_idx1, \&check_idx1, "E7" ], #IDX1
- [$amod_idx2, \&check_idx2, "E7" ], #IDX2
- [$amod_ididx, \&check_ididx, "E7" ], #[D,IDX]
- [$amod_iidx2, \&check_iidx2, "E7" ]], #[IDX2]
- "TSTA" => [[$amod_inh, \&check_inh, "97" ]], #INH
- "TSTB" => [[$amod_inh, \&check_inh, "D7" ]], #INH
- "TSX" => [[$amod_inh, \&check_inh, "B7 75"]], #INH
- "TSY" => [[$amod_inh, \&check_inh, "B7 76"]], #INH
- "TXS" => [[$amod_inh, \&check_inh, "B7 57"]], #INH
- "TYS" => [[$amod_inh, \&check_inh, "B7 67"]], #INH
- "WAI" => [[$amod_inh, \&check_inh, "3E" ]], #INH
- "WAV" => [[$amod_inh, \&check_inh, "18 3C"]], #INH
- "WAVR" => [[$amod_inh, \&check_inh, "3C" ]], #INH
- "XGDX" => [[$amod_inh, \&check_inh, "B7 C5"]], #INH
- "XGDY" => [[$amod_inh, \&check_inh, "B7 C6"]]};#INH
-
-#S12X: MNEMONIC ADDRESS MODE OPCODE
-*opctab_s12x = \{"ABA" => [[$amod_inh, \&check_inh, "18 06"]], #INH
- "ABX" => [[$amod_inh, \&check_inh, "1A E5"]], #INH
- "ABY" => [[$amod_inh, \&check_inh, "19 ED"]], #INH
- "ADCA" => [[$amod_imm8, \&check_imm8, "89" ], #IMM
- [$amod_s12x_dir, \&check_s12x_dir, "99" ], #DIR
- [$amod_ext, \&check_ext, "B9" ], #EXT
- [$amod_idx, \&check_idx, "A9" ], #IDX
- [$amod_idx1, \&check_idx1, "A9" ], #IDX1
- [$amod_idx2, \&check_idx2, "A9" ], #IDX2
- [$amod_ididx, \&check_ididx, "A9" ], #[D,IDX]
- [$amod_iidx2, \&check_iidx2, "A9" ]], #[IDX2]
- "ADCB" => [[$amod_imm8, \&check_imm8, "C9" ], #IMM
- [$amod_s12x_dir, \&check_s12x_dir, "D9" ], #DIR
- [$amod_ext, \&check_ext, "F9" ], #EXT
- [$amod_idx, \&check_idx, "E9" ], #IDX
- [$amod_idx1, \&check_idx1, "E9" ], #IDX1
- [$amod_idx2, \&check_idx2, "E9" ], #IDX2
- [$amod_ididx, \&check_ididx, "E9" ], #[D,IDX]
- [$amod_iidx2, \&check_iidx2, "E9" ]], #[IDX2]
- "ADED" => [[$amod_imm16, \&check_imm16, "18 C3"], #IMM
- [$amod_s12x_dir, \&check_s12x_dir, "18 D3"], #DIR
- [$amod_ext, \&check_ext, "18 F3"], #EXT
- [$amod_idx, \&check_idx, "18 E3"], #IDX
- [$amod_idx1, \&check_idx1, "18 E3"], #IDX1
- [$amod_idx2, \&check_idx2, "18 E3"], #IDX2
- [$amod_ididx, \&check_ididx, "18 E3"], #[D,IDX]
- [$amod_iidx2, \&check_iidx2, "18 E3"]], #[IDX2]
- "ADEX" => [[$amod_imm16, \&check_imm16, "18 89"], #IMM
- [$amod_s12x_dir, \&check_s12x_dir, "18 99"], #DIR
- [$amod_ext, \&check_ext, "18 B9"], #EXT
- [$amod_idx, \&check_idx, "18 A9"], #IDX
- [$amod_idx1, \&check_idx1, "18 A9"], #IDX1
- [$amod_idx2, \&check_idx2, "18 A9"], #IDX2
- [$amod_ididx, \&check_ididx, "18 A9"], #[D,IDX]
- [$amod_iidx2, \&check_iidx2, "18 A9"]], #[IDX2]
- "ADEY" => [[$amod_imm16, \&check_imm16, "18 C9"], #IMM
- [$amod_s12x_dir, \&check_s12x_dir, "18 D9"], #DIR
- [$amod_ext, \&check_ext, "18 F9"], #EXT
- [$amod_idx, \&check_idx, "18 E9"], #IDX
- [$amod_idx1, \&check_idx1, "18 E9"], #IDX1
- [$amod_idx2, \&check_idx2, "18 E9"], #IDX2
- [$amod_ididx, \&check_ididx, "18 E9"], #[D,IDX]
- [$amod_iidx2, \&check_iidx2, "18 E9"]], #[IDX2]
- "ADDA" => [[$amod_imm8, \&check_imm8, "8B" ], #IMM
- [$amod_s12x_dir, \&check_s12x_dir, "9B" ], #DIR
- [$amod_ext, \&check_ext, "BB" ], #EXT
- [$amod_idx, \&check_idx, "AB" ], #IDX
- [$amod_idx1, \&check_idx1, "AB" ], #IDX1
- [$amod_idx2, \&check_idx2, "AB" ], #IDX2
- [$amod_ididx, \&check_ididx, "AB" ], #[D,IDX]
- [$amod_iidx2, \&check_iidx2, "AB" ]], #[IDX2]
- "ADDB" => [[$amod_imm8, \&check_imm8, "CB" ], #IMM
- [$amod_s12x_dir, \&check_s12x_dir, "DB" ], #DIR
- [$amod_ext, \&check_ext, "FB" ], #EXT
- [$amod_idx, \&check_idx, "EB" ], #IDX
- [$amod_idx1, \&check_idx1, "EB" ], #IDX1
- [$amod_idx2, \&check_idx2, "EB" ], #IDX2
- [$amod_ididx, \&check_ididx, "EB" ], #[D,IDX]
- [$amod_iidx2, \&check_iidx2, "EB" ]], #[IDX2]
- "ADDD" => [[$amod_imm16, \&check_imm16, "C3" ], #IMM
- [$amod_s12x_dir, \&check_s12x_dir, "D3" ], #DIR
- [$amod_ext, \&check_ext, "F3" ], #EXT
- [$amod_idx, \&check_idx, "E3" ], #IDX
- [$amod_idx1, \&check_idx1, "E3" ], #IDX1
- [$amod_idx2, \&check_idx2, "E3" ], #IDX2
- [$amod_ididx, \&check_ididx, "E3" ], #[D,IDX]
- [$amod_iidx2, \&check_iidx2, "E3" ]], #[IDX2]
- "ADDX" => [[$amod_imm16, \&check_imm16, "18 8B"], #IMM
- [$amod_s12x_dir, \&check_s12x_dir, "18 9B"], #DIR
- [$amod_ext, \&check_ext, "18 BB"], #EXT
- [$amod_idx, \&check_idx, "18 AB"], #IDX
- [$amod_idx1, \&check_idx1, "18 AB"], #IDX1
- [$amod_idx2, \&check_idx2, "18 AB"], #IDX2
- [$amod_ididx, \&check_ididx, "18 AB"], #[D,IDX]
- [$amod_iidx2, \&check_iidx2, "18 AB"]], #[IDX2]
- "ADDY" => [[$amod_imm16, \&check_imm16, "18 CB"], #IMM
- [$amod_s12x_dir, \&check_s12x_dir, "18 DB"], #DIR
- [$amod_ext, \&check_ext, "18 FB"], #EXT
- [$amod_idx, \&check_idx, "18 EB"], #IDX
- [$amod_idx1, \&check_idx1, "18 EB"], #IDX1
- [$amod_idx2, \&check_idx2, "18 EB"], #IDX2
- [$amod_ididx, \&check_ididx, "18 EB"], #[D,IDX]
- [$amod_iidx2, \&check_iidx2, "18 EB"]], #[IDX2]
- "ANDA" => [[$amod_imm8, \&check_imm8, "84" ], #IMM
- [$amod_s12x_dir, \&check_s12x_dir, "94" ], #DIR
- [$amod_ext, \&check_ext, "B4" ], #EXT
- [$amod_idx, \&check_idx, "A4" ], #IDX
- [$amod_idx1, \&check_idx1, "A4" ], #IDX1
- [$amod_idx2, \&check_idx2, "A4" ], #IDX2
- [$amod_ididx, \&check_ididx, "A4" ], #[D,IDX]
- [$amod_iidx2, \&check_iidx2, "A4" ]], #[IDX2]
- "ANDB" => [[$amod_imm8, \&check_imm8, "C4" ], #IMM
- [$amod_s12x_dir, \&check_s12x_dir, "D4" ], #DIR
- [$amod_ext, \&check_ext, "F4" ], #EXT
- [$amod_idx, \&check_idx, "E4" ], #IDX
- [$amod_idx1, \&check_idx1, "E4" ], #IDX1
- [$amod_idx2, \&check_idx2, "E4" ], #IDX2
- [$amod_ididx, \&check_ididx, "E4" ], #[D,IDX]
- [$amod_iidx2, \&check_iidx2, "E4" ]], #[IDX2]
- "ANDX" => [[$amod_imm16, \&check_imm16, "18 84"], #IMM
- [$amod_s12x_dir, \&check_s12x_dir, "18 94"], #DIR
- [$amod_ext, \&check_ext, "18 B4"], #EXT
- [$amod_idx, \&check_idx, "18 A4"], #IDX
- [$amod_idx1, \&check_idx1, "18 A4"], #IDX1
- [$amod_idx2, \&check_idx2, "18 A4"], #IDX2
- [$amod_ididx, \&check_ididx, "18 A4"], #[D,IDX]
- [$amod_iidx2, \&check_iidx2, "18 A4"]], #[IDX2]
- "ANDY" => [[$amod_imm16, \&check_imm16, "18 C4"], #IMM
- [$amod_s12x_dir, \&check_s12x_dir, "18 D4"], #DIR
- [$amod_ext, \&check_ext, "18 F4"], #EXT
- [$amod_idx, \&check_idx, "18 E4"], #IDX
- [$amod_idx1, \&check_idx1, "18 E4"], #IDX1
- [$amod_idx2, \&check_idx2, "18 E4"], #IDX2
- [$amod_ididx, \&check_ididx, "18 E4"], #[D,IDX]
- [$amod_iidx2, \&check_iidx2, "18 E4"]], #[IDX2]
- "ANDCC" => [[$amod_imm8, \&check_imm8, "10" ]], #IMM
- "ASL" => [[$amod_ext, \&check_ext, "78" ], #EXT
- [$amod_idx, \&check_idx, "68" ], #IDX
- [$amod_idx1, \&check_idx1, "68" ], #IDX1
- [$amod_idx2, \&check_idx2, "68" ], #IDX2
- [$amod_ididx, \&check_ididx, "68" ], #[D,IDX]
- [$amod_iidx2, \&check_iidx2, "68" ]], #[IDX2]
- "ASLA" => [[$amod_inh, \&check_inh, "48" ]], #INH
- "ASLB" => [[$amod_inh, \&check_inh, "58" ]], #INH
- "ANDCC" => [[$amod_imm8, \&check_imm8, "10" ]], #IMM
- "ASLW" => [[$amod_ext, \&check_ext, "18 78"], #EXT
- [$amod_idx, \&check_idx, "18 68"], #IDX
- [$amod_idx1, \&check_idx1, "18 68"], #IDX1
- [$amod_idx2, \&check_idx2, "18 68"], #IDX2
- [$amod_ididx, \&check_ididx, "18 68"], #[D,IDX]
- [$amod_iidx2, \&check_iidx2, "18 68"]], #[IDX2]
- "ASLX" => [[$amod_inh, \&check_inh, "18 48"]], #INH
- "ASLY" => [[$amod_inh, \&check_inh, "18 58"]], #INH
- "ASLD" => [[$amod_inh, \&check_inh, "59" ]], #INH
- "ASR" => [[$amod_ext, \&check_ext, "77" ], #EXT
- [$amod_idx, \&check_idx, "67" ], #IDX
- [$amod_idx1, \&check_idx1, "67" ], #IDX1
- [$amod_idx2, \&check_idx2, "67" ], #IDX2
- [$amod_ididx, \&check_ididx, "67" ], #[D,IDX]
- [$amod_iidx2, \&check_iidx2, "67" ]], #[IDX2]
- "ASRA" => [[$amod_inh, \&check_inh, "47" ]], #INH
- "ASRB" => [[$amod_inh, \&check_inh, "57" ]], #INH
- "ASRW" => [[$amod_ext, \&check_ext, "18 77"], #EXT
- [$amod_idx, \&check_idx, "18 67"], #IDX
- [$amod_idx1, \&check_idx1, "18 67"], #IDX1
- [$amod_idx2, \&check_idx2, "18 67"], #IDX2
- [$amod_ididx, \&check_ididx, "18 67"], #[D,IDX]
- [$amod_iidx2, \&check_iidx2, "18 67"]], #[IDX2]
- "ASRX" => [[$amod_inh, \&check_inh, "18 47"]], #INH
- "ASRY" => [[$amod_inh, \&check_inh, "18 57"]], #INH
- "BCC" => [[$amod_rel8, \&check_rel8, "24" ], #REL
- [$amod_rel16, \&check_rel16, "18 24"]], #REL
- "BCLR" => [[$amod_s12x_dir_msk, \&check_s12x_dir_msk, "4D" ], #DIR
- [$amod_ext_msk, \&check_ext_msk, "1D" ], #EXT
- [$amod_idx_msk, \&check_idx_msk, "0D" ], #IDX
- [$amod_idx1_msk, \&check_idx1_msk, "0D" ], #IDX1
- [$amod_idx2_msk, \&check_idx2_msk, "0D" ]], #IDX2
- "BCS" => [[$amod_rel8, \&check_rel8, "25" ], #REL
- [$amod_rel16, \&check_rel16, "18 25"]], #REL
- "BEQ" => [[$amod_rel8, \&check_rel8, "27" ], #REL
- [$amod_rel16, \&check_rel16, "18 27"]], #REL
- "BGE" => [[$amod_rel8, \&check_rel8, "2C" ], #REL
- [$amod_rel16, \&check_rel16, "18 2C"]], #REL
- "BKGD" => [[$amod_inh, \&check_inh, "00" ]], #INH
- "BGT" => [[$amod_rel8, \&check_rel8, "2E" ], #REL
- [$amod_rel16, \&check_rel16, "18 2E"]], #REL
- "BHI" => [[$amod_rel8, \&check_rel8, "22" ], #REL
- [$amod_rel16, \&check_rel16, "18 22"]], #REL
- "BHS" => [[$amod_rel8, \&check_rel8, "24" ], #REL
- [$amod_rel16, \&check_rel16, "18 24"]], #REL
- "BITA" => [[$amod_imm8, \&check_imm8, "85" ], #IMM
- [$amod_s12x_dir, \&check_s12x_dir, "95" ], #DIR
- [$amod_ext, \&check_ext, "B5" ], #EXT
- [$amod_idx, \&check_idx, "A5" ], #IDX
- [$amod_idx1, \&check_idx1, "A5" ], #IDX1
- [$amod_idx2, \&check_idx2, "A5" ], #IDX2
- [$amod_ididx, \&check_ididx, "A5" ], #[D,IDX]
- [$amod_iidx2, \&check_iidx2, "A5" ]], #[IDX2]
- "BITB" => [[$amod_imm8, \&check_imm8, "C5" ], #IMM
- [$amod_s12x_dir, \&check_s12x_dir, "D5" ], #DIR
- [$amod_ext, \&check_ext, "F5" ], #EXT
- [$amod_idx, \&check_idx, "E5" ], #IDX
- [$amod_idx1, \&check_idx1, "E5" ], #IDX1
- [$amod_idx2, \&check_idx2, "E5" ], #IDX2
- [$amod_ididx, \&check_ididx, "E5" ], #[D,IDX]
- [$amod_iidx2, \&check_iidx2, "E5" ]], #[IDX2]
- "BITX" => [[$amod_imm16, \&check_imm16, "18 85"], #IMM
- [$amod_s12x_dir, \&check_s12x_dir, "18 95"], #DIR
- [$amod_ext, \&check_ext, "18 B5"], #EXT
- [$amod_idx, \&check_idx, "18 A5"], #IDX
- [$amod_idx1, \&check_idx1, "18 A5"], #IDX1
- [$amod_idx2, \&check_idx2, "18 A5"], #IDX2
- [$amod_ididx, \&check_ididx, "18 A5"], #[D,IDX]
- [$amod_iidx2, \&check_iidx2, "18 A5"]], #[IDX2]
- "BITY" => [[$amod_imm16, \&check_imm16, "18 C5"], #IMM
- [$amod_s12x_dir, \&check_s12x_dir, "18 D5"], #DIR
- [$amod_ext, \&check_ext, "18 F5"], #EXT
- [$amod_idx, \&check_idx, "18 E5"], #IDX
- [$amod_idx1, \&check_idx1, "18 E5"], #IDX1
- [$amod_idx2, \&check_idx2, "18 E5"], #IDX2
- [$amod_ididx, \&check_ididx, "18 E5"], #[D,IDX]
- [$amod_iidx2, \&check_iidx2, "18 E5"]], #[IDX2]
- "BLE" => [[$amod_rel8, \&check_rel8, "2F" ], #REL
- [$amod_rel16, \&check_rel16, "18 2F"]], #REL
- "BLO" => [[$amod_rel8, \&check_rel8, "25" ], #REL
- [$amod_rel16, \&check_rel16, "18 25"]], #REL
- "BLS" => [[$amod_rel8, \&check_rel8, "23" ], #REL
- [$amod_rel16, \&check_rel16, "18 23"]], #REL
- "BLT" => [[$amod_rel8, \&check_rel8, "2D" ], #REL
- [$amod_rel16, \&check_rel16, "18 2D"]], #REL
- "BMI" => [[$amod_rel8, \&check_rel8, "2B" ], #REL
- [$amod_rel16, \&check_rel16, "18 2B"]], #REL
- "BNE" => [[$amod_rel8, \&check_rel8, "26" ], #REL
- [$amod_rel16, \&check_rel16, "18 26"]], #REL
- "BPL" => [[$amod_rel8, \&check_rel8, "2A" ], #REL
- [$amod_rel16, \&check_rel16, "18 2A"]], #REL
- "BRA" => [[$amod_rel8, \&check_rel8, "20" ], #REL
- [$amod_rel16, \&check_rel16, "18 20"]], #REL
- "BRCLR" => [[$amod_s12x_dir_msk_rel, \&check_s12x_dir_msk_rel, "4F" ], #DIR
- [$amod_ext_msk_rel, \&check_ext_msk_rel, "1F" ], #EXT
- [$amod_idx_msk_rel, \&check_idx_msk_rel, "0F" ], #IDX
- [$amod_idx1_msk_rel, \&check_idx1_msk_rel, "0F" ], #IDX1
- [$amod_idx2_msk_rel, \&check_idx2_msk_rel, "0F" ]], #IDX2
- "BRN" => [[$amod_rel8, \&check_rel8, "21" ], #REL
- [$amod_rel16, \&check_rel16, "18 21"]], #REL
- "BRSET" => [[$amod_s12x_dir_msk_rel, \&check_s12x_dir_msk_rel, "4E" ], #DIR
- [$amod_ext_msk_rel, \&check_ext_msk_rel, "1E" ], #EXT
- [$amod_idx_msk_rel, \&check_idx_msk_rel, "0E" ], #IDX
- [$amod_idx1_msk_rel, \&check_idx1_msk_rel, "0E" ], #IDX1
- [$amod_idx2_msk_rel, \&check_idx2_msk_rel, "0E" ]], #IDX2
- "BSET" => [[$amod_s12x_dir_msk, \&check_s12x_dir_msk, "4C" ], #DIR
- [$amod_ext_msk, \&check_ext_msk, "1C" ], #EXT
- [$amod_idx_msk, \&check_idx_msk, "0C" ], #IDX
- [$amod_idx1_msk, \&check_idx1_msk, "0C" ], #IDX1
- [$amod_idx2_msk, \&check_idx2_msk, "0C" ]], #IDX2
- "BSR" => [[$amod_rel8, \&check_rel8, "07" ]], #REL
- "BVC" => [[$amod_rel8, \&check_rel8, "28" ], #REL
- [$amod_rel16, \&check_rel16, "18 28"]], #REL
- "BVS" => [[$amod_rel8, \&check_rel8, "29" ], #REL
- [$amod_rel16, \&check_rel16, "18 29"]], #REL
- "BTAS" => [[$amod_s12x_dir_msk, \&check_s12x_dir_msk, "18 35"], #DIR
- [$amod_ext_msk, \&check_ext_msk, "18 36"], #EXT
- [$amod_idx_msk, \&check_idx_msk, "18 37"], #IDX
- [$amod_idx1_msk, \&check_idx1_msk, "18 37"], #IDX1
- [$amod_idx2_msk, \&check_idx2_msk, "18 37"]], #IDX2
- "CALL" => [[$amod_ext_pgimpl, \&check_ext_pgimpl, "4A" ], #EXT
- [$amod_ext_pg, \&check_ext_pg, "4A" ], #EXT
- [$amod_idx_pg, \&check_idx_pg, "4B" ], #IDX
- [$amod_idx1_pg, \&check_idx1_pg, "4B" ], #IDX1
- [$amod_idx2_pg, \&check_idx2_pg, "4B" ], #IDX2
- [$amod_ididx_pg, \&check_ididx_pg, "4B" ], #[D,IDX]
- [$amod_iidx2_pg, \&check_iidx2_pg, "4B" ]], #[IDX2]
- "CBA" => [[$amod_inh, \&check_inh, "18 17"]], #INH
- "CLC" => [[$amod_inh, \&check_inh, "10 FE"]], #INH
- "CLI" => [[$amod_inh, \&check_inh, "10 EF"]], #INH
- "CLR" => [[$amod_ext, \&check_ext, "79" ], #EXT
- [$amod_idx, \&check_idx, "69" ], #IDX
- [$amod_idx1, \&check_idx1, "69" ], #IDX1
- [$amod_idx2, \&check_idx2, "69" ], #IDX2
- [$amod_ididx, \&check_ididx, "69" ], #[D,IDX]
- [$amod_iidx2, \&check_iidx2, "69" ]], #[IDX2]
- "CLRA" => [[$amod_inh, \&check_inh, "87" ]], #INH
- "CLRB" => [[$amod_inh, \&check_inh, "C7" ]], #INH
- "CLRW" => [[$amod_ext, \&check_ext, "18 79"], #EXT
- [$amod_idx, \&check_idx, "18 69"], #IDX
- [$amod_idx1, \&check_idx1, "18 69"], #IDX1
- [$amod_idx2, \&check_idx2, "18 69"], #IDX2
- [$amod_ididx, \&check_ididx, "18 69"], #[D,IDX]
- [$amod_iidx2, \&check_iidx2, "18 69"]], #[IDX2]
- "CLRX" => [[$amod_inh, \&check_inh, "18 87"]], #INH
- "CLRY" => [[$amod_inh, \&check_inh, "18 C7"]], #INH
- "CLV" => [[$amod_inh, \&check_inh, "10 FD"]], #INH
- "CMPA" => [[$amod_imm8, \&check_imm8, "81" ], #IMM
- [$amod_s12x_dir, \&check_s12x_dir, "91" ], #DIR
- [$amod_ext, \&check_ext, "B1" ], #EXT
- [$amod_idx, \&check_idx, "A1" ], #IDX
- [$amod_idx1, \&check_idx1, "A1" ], #IDX1
- [$amod_idx2, \&check_idx2, "A1" ], #IDX2
- [$amod_ididx, \&check_ididx, "A1" ], #[D,IDX]
- [$amod_iidx2, \&check_iidx2, "A1" ]], #[IDX2]
- "CMPB" => [[$amod_imm8, \&check_imm8, "C1" ], #IMM
- [$amod_s12x_dir, \&check_s12x_dir, "D1" ], #DIR
- [$amod_ext, \&check_ext, "F1" ], #EXT
- [$amod_idx, \&check_idx, "E1" ], #IDX
- [$amod_idx1, \&check_idx1, "E1" ], #IDX1
- [$amod_idx2, \&check_idx2, "E1" ], #IDX2
- [$amod_ididx, \&check_ididx, "E1" ], #[D,IDX]
- [$amod_iidx2, \&check_iidx2, "E1" ]], #[IDX2]
- "COM" => [[$amod_ext, \&check_ext, "71" ], #EXT
- [$amod_idx, \&check_idx, "61" ], #IDX
- [$amod_idx1, \&check_idx1, "61" ], #IDX1
- [$amod_idx2, \&check_idx2, "61" ], #IDX2
- [$amod_ididx, \&check_ididx, "61" ], #[D,IDX]
- [$amod_iidx2, \&check_iidx2, "61" ]], #[IDX2]
- "COMA" => [[$amod_inh, \&check_inh, "41" ]], #INH
- "COMB" => [[$amod_inh, \&check_inh, "51" ]], #INH
- "COMW" => [[$amod_ext, \&check_ext, "18 71"], #EXT
- [$amod_idx, \&check_idx, "18 61"], #IDX
- [$amod_idx1, \&check_idx1, "18 61"], #IDX1
- [$amod_idx2, \&check_idx2, "18 61"], #IDX2
- [$amod_ididx, \&check_ididx, "18 61"], #[D,IDX]
- [$amod_iidx2, \&check_iidx2, "18 61"]], #[IDX2]
- "COMX" => [[$amod_inh, \&check_inh, "18 41"]], #INH
- "COMY" => [[$amod_inh, \&check_inh, "18 51"]], #INH
- "CPED" => [[$amod_imm16, \&check_imm16, "18 8C"], #IMM
- [$amod_s12x_dir, \&check_s12x_dir, "18 9C"], #DIR
- [$amod_ext, \&check_ext, "18 BC"], #EXT
- [$amod_idx, \&check_idx, "18 AC"], #IDX
- [$amod_idx1, \&check_idx1, "18 AC"], #IDX1
- [$amod_idx2, \&check_idx2, "18 AC"], #IDX2
- [$amod_ididx, \&check_ididx, "18 AC"], #[D,IDX]
- [$amod_iidx2, \&check_iidx2, "18 AC"]], #[IDX2]
- "CPES" => [[$amod_imm16, \&check_imm16, "18 8F"], #IMM
- [$amod_s12x_dir, \&check_s12x_dir, "18 9F"], #DIR
- [$amod_ext, \&check_ext, "18 BF"], #EXT
- [$amod_idx, \&check_idx, "18 AF"], #IDX
- [$amod_idx1, \&check_idx1, "18 AF"], #IDX1
- [$amod_idx2, \&check_idx2, "18 AF"], #IDX2
- [$amod_ididx, \&check_ididx, "18 AF"], #[D,IDX]
- [$amod_iidx2, \&check_iidx2, "18 AF"]], #[IDX2]
- "CPEX" => [[$amod_imm16, \&check_imm16, "18 8E"], #IMM
- [$amod_s12x_dir, \&check_s12x_dir, "18 9E"], #DIR
- [$amod_ext, \&check_ext, "18 BE"], #EXT
- [$amod_idx, \&check_idx, "18 AE"], #IDX
- [$amod_idx1, \&check_idx1, "18 AE"], #IDX1
- [$amod_idx2, \&check_idx2, "18 AE"], #IDX2
- [$amod_ididx, \&check_ididx, "18 AE"], #[D,IDX]
- [$amod_iidx2, \&check_iidx2, "18 AE"]], #[IDX2]
- "CPEY" => [[$amod_imm16, \&check_imm16, "18 8D"], #IMM
- [$amod_s12x_dir, \&check_s12x_dir, "18 9D"], #DIR
- [$amod_ext, \&check_ext, "18 BD"], #EXT
- [$amod_idx, \&check_idx, "18 AD"], #IDX
- [$amod_idx1, \&check_idx1, "18 AD"], #IDX1
- [$amod_idx2, \&check_idx2, "18 AD"], #IDX2
- [$amod_ididx, \&check_ididx, "18 AD"], #[D,IDX]
- [$amod_iidx2, \&check_iidx2, "18 AD"]], #[IDX2]
- "CPD" => [[$amod_imm16, \&check_imm16, "8C" ], #IMM
- [$amod_s12x_dir, \&check_s12x_dir, "9C" ], #DIR
- [$amod_ext, \&check_ext, "BC" ], #EXT
- [$amod_idx, \&check_idx, "AC" ], #IDX
- [$amod_idx1, \&check_idx1, "AC" ], #IDX1
- [$amod_idx2, \&check_idx2, "AC" ], #IDX2
- [$amod_ididx, \&check_ididx, "AC" ], #[D,IDX]
- [$amod_iidx2, \&check_iidx2, "AC" ]], #[IDX2]
- "CPS" => [[$amod_imm16, \&check_imm16, "8F" ], #IMM
- [$amod_s12x_dir, \&check_s12x_dir, "9F" ], #DIR
- [$amod_ext, \&check_ext, "BF" ], #EXT
- [$amod_idx, \&check_idx, "AF" ], #IDX
- [$amod_idx1, \&check_idx1, "AF" ], #IDX1
- [$amod_idx2, \&check_idx2, "AF" ], #IDX2
- [$amod_ididx, \&check_ididx, "AF" ], #[D,IDX]
- [$amod_iidx2, \&check_iidx2, "AF" ]], #[IDX2]
- "CPX" => [[$amod_imm16, \&check_imm16, "8E" ], #IMM
- [$amod_s12x_dir, \&check_s12x_dir, "9E" ], #DIR
- [$amod_ext, \&check_ext, "BE" ], #EXT
- [$amod_idx, \&check_idx, "AE" ], #IDX
- [$amod_idx1, \&check_idx1, "AE" ], #IDX1
- [$amod_idx2, \&check_idx2, "AE" ], #IDX2
- [$amod_ididx, \&check_ididx, "AE" ], #[D,IDX]
- [$amod_iidx2, \&check_iidx2, "AE" ]], #[IDX2]
- "CPY" => [[$amod_imm16, \&check_imm16, "8D" ], #IMM
- [$amod_s12x_dir, \&check_s12x_dir, "9D" ], #DIR
- [$amod_ext, \&check_ext, "BD" ], #EXT
- [$amod_idx, \&check_idx, "AD" ], #IDX
- [$amod_idx1, \&check_idx1, "AD" ], #IDX1
- [$amod_idx2, \&check_idx2, "AD" ], #IDX2
- [$amod_ididx, \&check_ididx, "AD" ], #[D,IDX]
- [$amod_iidx2, \&check_iidx2, "AD" ]], #[IDX2]
- "DAA" => [[$amod_inh, \&check_inh, "18 07"]], #INH
- "DBEQ" => [[$amod_dbeq, \&check_dbeq, "04" ]], #REL
- "DBNE" => [[$amod_dbne, \&check_dbne, "04" ]], #REL
- "DEC" => [[$amod_ext, \&check_ext, "73" ], #EXT
- [$amod_idx, \&check_idx, "63" ], #IDX
- [$amod_idx1, \&check_idx1, "63" ], #IDX1
- [$amod_idx2, \&check_idx2, "63" ], #IDX2
- [$amod_ididx, \&check_ididx, "63" ], #[D,IDX]
- [$amod_iidx2, \&check_iidx2, "63" ]], #[IDX2]
- "DECA" => [[$amod_inh, \&check_inh, "43" ]], #INH
- "DECB" => [[$amod_inh, \&check_inh, "53" ]], #INH
- "DECW" => [[$amod_ext, \&check_ext, "18 73"], #EXT
- [$amod_idx, \&check_idx, "18 63"], #IDX
- [$amod_idx1, \&check_idx1, "18 63"], #IDX1
- [$amod_idx2, \&check_idx2, "18 63"], #IDX2
- [$amod_ididx, \&check_ididx, "18 63"], #[D,IDX]
- [$amod_iidx2, \&check_iidx2, "18 63"]], #[IDX2]
- "DECX" => [[$amod_inh, \&check_inh, "18 43"]], #INH
- "DECY" => [[$amod_inh, \&check_inh, "18 53"]], #INH
- "DES" => [[$amod_inh, \&check_inh, "1B 9F"]], #INH
- "DEX" => [[$amod_inh, \&check_inh, "09" ]], #INH
- "DEY" => [[$amod_inh, \&check_inh, "03" ]], #INH
- "EDIV" => [[$amod_inh, \&check_inh, "11" ]], #INH
- "EDIVS" => [[$amod_inh, \&check_inh, "18 14"]], #INH
- "EMACS" => [[$amod_ext, \&check_ext, "18 12"]], #EXT
- "EMAXD" => [[$amod_idx, \&check_idx, "18 1A"], #IDX
- [$amod_idx1, \&check_idx1, "18 1A"], #IDX1
- [$amod_idx2, \&check_idx2, "18 1A"], #IDX2
- [$amod_ididx, \&check_ididx, "18 1A"], #[D,IDX]
- [$amod_iidx2, \&check_iidx2, "18 1A"]], #[IDX2]
- "EMAXM" => [[$amod_idx, \&check_idx, "18 1E"], #IDX
- [$amod_idx1, \&check_idx1, "18 1E"], #IDX1
- [$amod_idx2, \&check_idx2, "18 1E"], #IDX2
- [$amod_ididx, \&check_ididx, "18 1E"], #[D,IDX]
- [$amod_iidx2, \&check_iidx2, "18 1E"]], #[IDX2]
- "EMIND" => [[$amod_idx, \&check_idx, "18 1B"], #IDX
- [$amod_idx1, \&check_idx1, "18 1B"], #IDX1
- [$amod_idx2, \&check_idx2, "18 1B"], #IDX2
- [$amod_ididx, \&check_ididx, "18 1B"], #[D,IDX]
- [$amod_iidx2, \&check_iidx2, "18 1B"]], #[IDX2]
- "EMINM" => [[$amod_idx, \&check_idx, "18 1F"], #IDX
- [$amod_idx1, \&check_idx1, "18 1F"], #IDX1
- [$amod_idx2, \&check_idx2, "18 1F"], #IDX2
- [$amod_ididx, \&check_ididx, "18 1F"], #[D,IDX]
- [$amod_iidx2, \&check_iidx2, "18 1F"]], #[IDX2]
- "EMUL" => [[$amod_inh, \&check_inh, "13" ]], #INH
- "EMULS" => [[$amod_inh, \&check_inh, "18 13"]], #INH
- "EORA" => [[$amod_imm8, \&check_imm8, "88" ], #IMM
- [$amod_s12x_dir, \&check_s12x_dir, "98" ], #DIR
- [$amod_ext, \&check_ext, "B8" ], #EXT
- [$amod_idx, \&check_idx, "A8" ], #IDX
- [$amod_idx1, \&check_idx1, "A8" ], #IDX1
- [$amod_idx2, \&check_idx2, "A8" ], #IDX2
- [$amod_ididx, \&check_ididx, "A8" ], #[D,IDX]
- [$amod_iidx2, \&check_iidx2, "A8" ]], #[IDX2]
- "EORB" => [[$amod_imm8, \&check_imm8, "C8" ], #IMM
- [$amod_s12x_dir, \&check_s12x_dir, "D8" ], #DIR
- [$amod_ext, \&check_ext, "F8" ], #EXT
- [$amod_idx, \&check_idx, "E8" ], #IDX
- [$amod_idx1, \&check_idx1, "E8" ], #IDX1
- [$amod_idx2, \&check_idx2, "E8" ], #IDX2
- [$amod_ididx, \&check_ididx, "E8" ], #[D,IDX]
- [$amod_iidx2, \&check_iidx2, "E8" ]], #[IDX2]
- "EORX" => [[$amod_imm16, \&check_imm16, "18 88"], #IMM
- [$amod_s12x_dir, \&check_s12x_dir, "18 98"], #DIR
- [$amod_ext, \&check_ext, "18 B8"], #EXT
- [$amod_idx, \&check_idx, "18 A8"], #IDX
- [$amod_idx1, \&check_idx1, "18 A8"], #IDX1
- [$amod_idx2, \&check_idx2, "18 A8"], #IDX2
- [$amod_ididx, \&check_ididx, "18 A8"], #[D,IDX]
- [$amod_iidx2, \&check_iidx2, "18 A8"]], #[IDX2]
- "EORY" => [[$amod_imm16, \&check_imm16, "18 C8"], #IMM
- [$amod_s12x_dir, \&check_s12x_dir, "18 D8"], #DIR
- [$amod_ext, \&check_ext, "18 F8"], #EXT
- [$amod_idx, \&check_idx, "18 E8"], #IDX
- [$amod_idx1, \&check_idx1, "18 E8"], #IDX1
- [$amod_idx2, \&check_idx2, "18 E8"], #IDX2
- [$amod_ididx, \&check_ididx, "18 E8"], #[D,IDX]
- [$amod_iidx2, \&check_iidx2, "18 E8"]], #[IDX2]
- "ETBL" => [[$amod_idx, \&check_idx, "18 3F"]], #IDX
- "EXG" => [[$amod_s12x_exg, \&check_s12x_exg, "B7" ]], #INH
- "FDIV" => [[$amod_inh, \&check_inh, "18 11"]], #INH
- "GLDAA" => [[$amod_s12x_dir, \&check_s12x_dir, "18 96"], #DIR
- [$amod_ext, \&check_ext, "18 B6"], #EXT
- [$amod_idx, \&check_idx, "18 A6"], #IDX
- [$amod_idx1, \&check_idx1, "18 A6"], #IDX1
- [$amod_idx2, \&check_idx2, "18 A6"], #IDX2
- [$amod_ididx, \&check_ididx, "18 A6"], #[D,IDX]
- [$amod_iidx2, \&check_iidx2, "18 A6"]], #[IDX2]
- "GLDAB" => [[$amod_s12x_dir, \&check_s12x_dir, "18 D6"], #DIR
- [$amod_ext, \&check_ext, "18 F6"], #EXT
- [$amod_idx, \&check_idx, "18 E6"], #IDX
- [$amod_idx1, \&check_idx1, "18 E6"], #IDX1
- [$amod_idx2, \&check_idx2, "18 E6"], #IDX2
- [$amod_ididx, \&check_ididx, "18 E6"], #[D,IDX]
- [$amod_iidx2, \&check_iidx2, "18 E6"]], #[IDX2]
- "GLDD" => [[$amod_s12x_dir, \&check_s12x_dir, "18 DC"], #DIR
- [$amod_ext, \&check_ext, "18 FC"], #EXT
- [$amod_idx, \&check_idx, "18 EC"], #IDX
- [$amod_idx1, \&check_idx1, "18 EC"], #IDX1
- [$amod_idx2, \&check_idx2, "18 EC"], #IDX2
- [$amod_ididx, \&check_ididx, "18 EC"], #[D,IDX]
- [$amod_iidx2, \&check_iidx2, "18 EC"]], #[IDX2]
- "GLDS" => [[$amod_s12x_dir, \&check_s12x_dir, "18 DF"], #DIR
- [$amod_ext, \&check_ext, "18 FF"], #EXT
- [$amod_idx, \&check_idx, "18 EF"], #IDX
- [$amod_idx1, \&check_idx1, "18 EF"], #IDX1
- [$amod_idx2, \&check_idx2, "18 EF"], #IDX2
- [$amod_ididx, \&check_ididx, "18 EF"], #[D,IDX]
- [$amod_iidx2, \&check_iidx2, "18 EF"]], #[IDX2]
- "GLDX" => [[$amod_s12x_dir, \&check_s12x_dir, "18 DE"], #DIR
- [$amod_ext, \&check_ext, "18 FE"], #EXT
- [$amod_idx, \&check_idx, "18 EE"], #IDX
- [$amod_idx1, \&check_idx1, "18 EE"], #IDX1
- [$amod_idx2, \&check_idx2, "18 EE"], #IDX2
- [$amod_ididx, \&check_ididx, "18 EE"], #[D,IDX]
- [$amod_iidx2, \&check_iidx2, "18 EE"]], #[IDX2]
- "GLDY" => [[$amod_s12x_dir, \&check_s12x_dir, "18 DD"], #DIR
- [$amod_ext, \&check_ext, "18 FD"], #EXT
- [$amod_idx, \&check_idx, "18 ED"], #IDX
- [$amod_idx1, \&check_idx1, "18 ED"], #IDX1
- [$amod_idx2, \&check_idx2, "18 ED"], #IDX2
- [$amod_ididx, \&check_ididx, "18 ED"], #[D,IDX]
- [$amod_iidx2, \&check_iidx2, "18 ED"]], #[IDX2]
- "GSTAA" => [[$amod_s12x_dir, \&check_s12x_dir, "18 5A"], #DIR
- [$amod_ext, \&check_ext, "18 7A"], #EXT
- [$amod_idx, \&check_idx, "18 6A"], #IDX
- [$amod_idx1, \&check_idx1, "18 6A"], #IDX1
- [$amod_idx2, \&check_idx2, "18 6A"], #IDX2
- [$amod_ididx, \&check_ididx, "18 6A"], #[D,IDX]
- [$amod_iidx2, \&check_iidx2, "18 6A"]], #[IDX2]
- "GSTAB" => [[$amod_s12x_dir, \&check_s12x_dir, "18 5B"], #DIR
- [$amod_ext, \&check_ext, "18 7B"], #EXT
- [$amod_idx, \&check_idx, "18 6B"], #IDX
- [$amod_idx1, \&check_idx1, "18 6B"], #IDX1
- [$amod_idx2, \&check_idx2, "18 6B"], #IDX2
- [$amod_ididx, \&check_ididx, "18 6B"], #[D,IDX]
- [$amod_iidx2, \&check_iidx2, "18 6B"]], #[IDX2]
- "GSTD" => [[$amod_s12x_dir, \&check_s12x_dir, "18 5C"], #DIR
- [$amod_ext, \&check_ext, "18 7C"], #EXT
- [$amod_idx, \&check_idx, "18 6C"], #IDX
- [$amod_idx1, \&check_idx1, "18 6C"], #IDX1
- [$amod_idx2, \&check_idx2, "18 6C"], #IDX2
- [$amod_ididx, \&check_ididx, "18 6C"], #[D,IDX]
- [$amod_iidx2, \&check_iidx2, "18 6C"]], #[IDX2]
- "GSTS" => [[$amod_s12x_dir, \&check_s12x_dir, "18 5F"], #DIR
- [$amod_ext, \&check_ext, "18 7F"], #EXT
- [$amod_idx, \&check_idx, "18 6F"], #IDX
- [$amod_idx1, \&check_idx1, "18 6F"], #IDX1
- [$amod_idx2, \&check_idx2, "18 6F"], #IDX2
- [$amod_ididx, \&check_ididx, "18 6F"], #[D,IDX]
- [$amod_iidx2, \&check_iidx2, "18 6F"]], #[IDX2]
- "GSTX" => [[$amod_s12x_dir, \&check_s12x_dir, "18 5E"], #DIR
- [$amod_ext, \&check_ext, "18 7E"], #EXT
- [$amod_idx, \&check_idx, "18 6E"], #IDX
- [$amod_idx1, \&check_idx1, "18 6E"], #IDX1
- [$amod_idx2, \&check_idx2, "18 6E"], #IDX2
- [$amod_ididx, \&check_ididx, "18 6E"], #[D,IDX]
- [$amod_iidx2, \&check_iidx2, "18 6E"]], #[IDX2]
- "GSTY" => [[$amod_s12x_dir, \&check_s12x_dir, "18 5D"], #DIR
- [$amod_ext, \&check_ext, "18 7D"], #EXT
- [$amod_idx, \&check_idx, "18 6D"], #IDX
- [$amod_idx1, \&check_idx1, "18 6D"], #IDX1
- [$amod_idx2, \&check_idx2, "18 6D"], #IDX2
- [$amod_ididx, \&check_ididx, "18 6D"], #[D,IDX]
- [$amod_iidx2, \&check_iidx2, "18 6D"]], #[IDX2]
- "IBEQ" => [[$amod_ibeq, \&check_ibeq, "04" ]], #REL
- "IBNE" => [[$amod_ibne, \&check_ibne, "04" ]], #REL
- "IDIV" => [[$amod_inh, \&check_inh, "18 10"]], #INH
- "IDIVS" => [[$amod_inh, \&check_inh, "18 15"]], #INH
- "INC" => [[$amod_ext, \&check_ext, "72" ], #EXT
- [$amod_idx, \&check_idx, "62" ], #IDX
- [$amod_idx1, \&check_idx1, "62" ], #IDX1
- [$amod_idx2, \&check_idx2, "62" ], #IDX2
- [$amod_ididx, \&check_ididx, "62" ], #[D,IDX]
- [$amod_iidx2, \&check_iidx2, "62" ]], #[IDX2]
- "INCA" => [[$amod_inh, \&check_inh, "42" ]], #INH
- "INCB" => [[$amod_inh, \&check_inh, "52" ]], #INH
- "INCW" => [[$amod_ext, \&check_ext, "18 72"], #EXT
- [$amod_idx, \&check_idx, "18 62"], #IDX
- [$amod_idx1, \&check_idx1, "18 62"], #IDX1
- [$amod_idx2, \&check_idx2, "18 62"], #IDX2
- [$amod_ididx, \&check_ididx, "18 62"], #[D,IDX]
- [$amod_iidx2, \&check_iidx2, "18 62"]], #[IDX2]
- "INCX" => [[$amod_inh, \&check_inh, "18 42"]], #INH
- "INCY" => [[$amod_inh, \&check_inh, "18 52"]], #INH
- "INS" => [[$amod_inh, \&check_inh, "1B 81"]], #INH
- "INX" => [[$amod_inh, \&check_inh, "08" ]], #INH
- "INY" => [[$amod_inh, \&check_inh, "02" ]], #INH
- "JMP" => [[$amod_ext, \&check_ext, "06" ], #EXT
- [$amod_idx, \&check_idx, "05" ], #IDX
- [$amod_idx1, \&check_idx1, "05" ], #IDX1
- [$amod_idx2, \&check_idx2, "05" ], #IDX2
- [$amod_ididx, \&check_ididx, "05" ], #[D,IDX]
- [$amod_iidx2, \&check_iidx2, "05" ]], #[IDX2]
- "JOB" => [[$amod_rel8, \&check_rel8, "20" ], #REL
- [$amod_ext, \&check_ext, "06" ]], #EXT
- "JOBSR" => [[$amod_rel8, \&check_rel8, "07" ], #REL
- [$amod_ext, \&check_ext, "16" ]], #EXT
- "JSR" => [[$amod_s12x_dir, \&check_s12x_dir, "17" ], #DIR
- [$amod_ext, \&check_ext, "16" ], #EXT
- [$amod_idx, \&check_idx, "15" ], #IDX
- [$amod_idx1, \&check_idx1, "15" ], #IDX1
- [$amod_idx2, \&check_idx2, "15" ], #IDX2
- [$amod_ididx, \&check_ididx, "15" ], #[D,IDX]
- [$amod_iidx2, \&check_iidx2, "15" ]], #[IDX2]
- "LBCC" => [[$amod_rel16, \&check_rel16, "18 24"]], #REL
- "LBCS" => [[$amod_rel16, \&check_rel16, "18 25"]], #REL
- "LBEQ" => [[$amod_rel16, \&check_rel16, "18 27"]], #REL
- "LBGE" => [[$amod_rel16, \&check_rel16, "18 2C"]], #REL
- "LBGT" => [[$amod_rel16, \&check_rel16, "18 2E"]], #REL
- "LBHI" => [[$amod_rel16, \&check_rel16, "18 22"]], #REL
- "LBHS" => [[$amod_rel16, \&check_rel16, "18 24"]], #REL
- "LBLE" => [[$amod_rel16, \&check_rel16, "18 2F"]], #REL
- "LBLO" => [[$amod_rel16, \&check_rel16, "18 25"]], #REL
- "LBLS" => [[$amod_rel16, \&check_rel16, "18 23"]], #REL
- "LBLT" => [[$amod_rel16, \&check_rel16, "18 2D"]], #REL
- "LBMI" => [[$amod_rel16, \&check_rel16, "18 2B"]], #REL
- "LBNE" => [[$amod_rel16, \&check_rel16, "18 26"]], #REL
- "LBPL" => [[$amod_rel16, \&check_rel16, "18 2A"]], #REL
- "LBRA" => [[$amod_rel16, \&check_rel16, "18 20"]], #REL
- "LBRN" => [[$amod_rel16, \&check_rel16, "18 21"]], #REL
- "LBVC" => [[$amod_rel16, \&check_rel16, "18 28"]], #REL
- "LBVS" => [[$amod_rel16, \&check_rel16, "18 29"]], #REL
- "LDAA" => [[$amod_imm8, \&check_imm8, "86" ], #IMM
- [$amod_s12x_dir, \&check_s12x_dir, "96" ], #DIR
- [$amod_ext, \&check_ext, "B6" ], #EXT
- [$amod_idx, \&check_idx, "A6" ], #IDX
- [$amod_idx1, \&check_idx1, "A6" ], #IDX1
- [$amod_idx2, \&check_idx2, "A6" ], #IDX2
- [$amod_ididx, \&check_ididx, "A6" ], #[D,IDX]
- [$amod_iidx2, \&check_iidx2, "A6" ]], #[IDX2]
- "LDAB" => [[$amod_imm8, \&check_imm8, "C6" ], #IMM
- [$amod_s12x_dir, \&check_s12x_dir, "D6" ], #DIR
- [$amod_ext, \&check_ext, "F6" ], #EXT
- [$amod_idx, \&check_idx, "E6" ], #IDX
- [$amod_idx1, \&check_idx1, "E6" ], #IDX1
- [$amod_idx2, \&check_idx2, "E6" ], #IDX2
- [$amod_ididx, \&check_ididx, "E6" ], #[D,IDX]
- [$amod_iidx2, \&check_iidx2, "E6" ]], #[IDX2]
- "LDD" => [[$amod_imm16, \&check_imm16, "CC" ], #IMM
- [$amod_s12x_dir, \&check_s12x_dir, "DC" ], #DIR
- [$amod_ext, \&check_ext, "FC" ], #EXT
- [$amod_idx, \&check_idx, "EC" ], #IDX
- [$amod_idx1, \&check_idx1, "EC" ], #IDX1
- [$amod_idx2, \&check_idx2, "EC" ], #IDX2
- [$amod_ididx, \&check_ididx, "EC" ], #[D,IDX]
- [$amod_iidx2, \&check_iidx2, "EC" ]], #[IDX2]
- "LDS" => [[$amod_imm16, \&check_imm16, "CF" ], #IMM
- [$amod_s12x_dir, \&check_s12x_dir, "DF" ], #DIR
- [$amod_ext, \&check_ext, "FF" ], #EXT
- [$amod_idx, \&check_idx, "EF" ], #IDX
- [$amod_idx1, \&check_idx1, "EF" ], #IDX1
- [$amod_idx2, \&check_idx2, "EF" ], #IDX2
- [$amod_ididx, \&check_ididx, "EF" ], #[D,IDX]
- [$amod_iidx2, \&check_iidx2, "EF" ]], #[IDX2]
- "LDX" => [[$amod_imm16, \&check_imm16, "CE" ], #IMM
- [$amod_s12x_dir, \&check_s12x_dir, "DE" ], #DIR
- [$amod_ext, \&check_ext, "FE" ], #EXT
- [$amod_idx, \&check_idx, "EE" ], #IDX
- [$amod_idx1, \&check_idx1, "EE" ], #IDX1
- [$amod_idx2, \&check_idx2, "EE" ], #IDX2
- [$amod_ididx, \&check_ididx, "EE" ], #[D,IDX]
- [$amod_iidx2, \&check_iidx2, "EE" ]], #[IDX2]
- "LDY" => [[$amod_imm16, \&check_imm16, "CD" ], #IMM
- [$amod_s12x_dir, \&check_s12x_dir, "DD" ], #DIR
- [$amod_ext, \&check_ext, "FD" ], #EXT
- [$amod_idx, \&check_idx, "ED" ], #IDX
- [$amod_idx1, \&check_idx1, "ED" ], #IDX1
- [$amod_idx2, \&check_idx2, "ED" ], #IDX2
- [$amod_ididx, \&check_ididx, "ED" ], #[D,IDX]
- [$amod_iidx2, \&check_iidx2, "ED" ]], #[IDX2]
- "LEAS" => [[$amod_idx, \&check_idx, "1B" ], #IDX
- [$amod_idx1, \&check_idx1, "1B" ], #IDX1
- [$amod_idx2, \&check_idx2, "1B" ]], #IDX2
- "LEAX" => [[$amod_idx, \&check_idx, "1A" ], #IDX
- [$amod_idx1, \&check_idx1, "1A" ], #IDX1
- [$amod_idx2, \&check_idx2, "1A" ]], #IDX2
- "LEAY" => [[$amod_idx, \&check_idx, "19" ], #IDX
- [$amod_idx1, \&check_idx1, "19" ], #IDX1
- [$amod_idx2, \&check_idx2, "19" ]], #IDX2
- "LSL" => [[$amod_ext, \&check_ext, "78" ], #EXT
- [$amod_idx, \&check_idx, "68" ], #IDX
- [$amod_idx1, \&check_idx1, "68" ], #IDX1
- [$amod_idx2, \&check_idx2, "68" ], #IDX2
- [$amod_ididx, \&check_ididx, "68" ], #[D,IDX]
- [$amod_iidx2, \&check_iidx2, "68" ]], #[IDX2]
- "LSLA" => [[$amod_inh, \&check_inh, "48" ]], #INH
- "LSLB" => [[$amod_inh, \&check_inh, "58" ]], #INH
- "LSLD" => [[$amod_inh, \&check_inh, "59" ]], #INH
- "LSR" => [[$amod_ext, \&check_ext, "74" ], #EXT
- [$amod_idx, \&check_idx, "64" ], #IDX
- [$amod_idx1, \&check_idx1, "64" ], #IDX1
- [$amod_idx2, \&check_idx2, "64" ], #IDX2
- [$amod_ididx, \&check_ididx, "64" ], #[D,IDX]
- [$amod_iidx2, \&check_iidx2, "64" ]], #[IDX2]
- "LSRA" => [[$amod_inh, \&check_inh, "44" ]], #INH
- "LSRB" => [[$amod_inh, \&check_inh, "54" ]], #INH
- "LSRW" => [[$amod_ext, \&check_ext, "18 74"], #EXT
- [$amod_idx, \&check_idx, "18 64"], #IDX
- [$amod_idx1, \&check_idx1, "18 64"], #IDX1
- [$amod_idx2, \&check_idx2, "18 64"], #IDX2
- [$amod_ididx, \&check_ididx, "18 64"], #[D,IDX]
- [$amod_iidx2, \&check_iidx2, "18 64"]], #[IDX2]
- "LSRX" => [[$amod_inh, \&check_inh, "18 44"]], #INH
- "LSRY" => [[$amod_inh, \&check_inh, "18 54"]], #INH
- "LSRD" => [[$amod_inh, \&check_inh, "49" ]], #INH
- "MAXA" => [[$amod_idx, \&check_idx, "18 18"], #IDX
- [$amod_idx1, \&check_idx1, "18 18"], #IDX1
- [$amod_idx2, \&check_idx2, "18 18"], #IDX2
- [$amod_ididx, \&check_ididx, "18 18"], #[D,IDX]
- [$amod_iidx2, \&check_iidx2, "18 18"]], #[IDX2]
- "MAXM" => [[$amod_idx, \&check_idx, "18 1C"], #IDX
- [$amod_idx1, \&check_idx1, "18 1C"], #IDX1
- [$amod_idx2, \&check_idx2, "18 1C"], #IDX2
- [$amod_ididx, \&check_ididx, "18 1C"], #[D,IDX]
- [$amod_iidx2, \&check_iidx2, "18 1C"]], #[IDX2]
- "MEM" => [[$amod_inh, \&check_inh, "01" ]], #INH
- "MINA" => [[$amod_idx, \&check_idx, "18 19"], #IDX
- [$amod_idx1, \&check_idx1, "18 19"], #IDX1
- [$amod_idx2, \&check_idx2, "18 19"], #IDX2
- [$amod_ididx, \&check_ididx, "18 19"], #[D,IDX]
- [$amod_iidx2, \&check_iidx2, "18 19"]], #[IDX2]
- "MINM" => [[$amod_idx, \&check_idx, "18 1D"], #IDX
- [$amod_idx1, \&check_idx1, "18 1D"], #IDX1
- [$amod_idx2, \&check_idx2, "18 1D"], #IDX2
- [$amod_ididx, \&check_ididx, "18 1D"], #[D,IDX]
- [$amod_iidx2, \&check_iidx2, "18 1D"]], #[IDX2]
- "MOVB" => [[$amod_imm8_ext, \&check_imm8_ext, "18 0B"], #IMM-EXT
- [$amod_imm8_idx, \&check_imm8_idx, "18 08"], #IMM-IDX
- [$amod_imm8_idx1, \&check_imm8_idx1, "18 08"], #IMM-IDX1
- [$amod_imm8_idx2, \&check_imm8_idx2, "18 08"], #IMM-IDX2
- [$amod_imm8_ididx, \&check_imm8_ididx, "18 08"], #IMM-[D,IDX]
- [$amod_imm8_iidx2, \&check_imm8_iidx2, "18 08"], #IMM-[IDX2]
- [$amod_ext_ext, \&check_ext_ext, "18 0C"], #EXT-EXT
- [$amod_ext_idx, \&check_ext_idx, "18 09"], #EXT-IDX
- [$amod_ext_idx1, \&check_ext_idx1, "18 09"], #EXT-IDX1
- [$amod_ext_idx2, \&check_ext_idx2, "18 09"], #EXT-IDX2
- [$amod_ext_ididx, \&check_ext_ididx, "18 09"], #EXT-[D,IDX]
- [$amod_ext_iidx2, \&check_ext_iidx2, "18 09"], #EXT-[IDX2]
- [$amod_idx_ext, \&check_idx_ext, "18 0D"], #IDX-EXT
- [$amod_idx_idx, \&check_idx_idx, "18 0A"], #IDX-IDX
- [$amod_idx_idx1, \&check_idx_idx1, "18 0A"], #IDX-IDX1
- [$amod_idx_idx2, \&check_idx_idx2, "18 0A"], #IDX-IDX2
- [$amod_idx_ididx, \&check_idx_ididx, "18 0A"], #IDX-[D,IDX]
- [$amod_idx_iidx2, \&check_idx_iidx2, "18 0A"], #IDX-[IDX2]
- [$amod_idx1_ext, \&check_idx1_ext, "18 0D"], #IDX1-EXT
- [$amod_idx1_idx, \&check_idx1_idx, "18 0A"], #IDX1-IDX
- [$amod_idx1_idx1, \&check_idx1_idx1, "18 0A"], #IDX1-IDX1
- [$amod_idx1_idx2, \&check_idx1_idx2, "18 0A"], #IDX1-IDX2
- [$amod_idx1_ididx, \&check_idx1_ididx, "18 0A"], #IDX1-[D,IDX]
- [$amod_idx1_iidx2, \&check_idx1_iidx2, "18 0A"], #IDX1-[IDX2]
- [$amod_idx2_ext, \&check_idx2_ext, "18 0D"], #IDX1-EXT
- [$amod_idx2_idx, \&check_idx2_idx, "18 0A"], #IDX2-IDX
- [$amod_idx2_idx1, \&check_idx2_idx1, "18 0A"], #IDX2-IDX1
- [$amod_idx2_idx2, \&check_idx2_idx2, "18 0A"], #IDX2-IDX2
- [$amod_idx2_ididx, \&check_idx2_ididx, "18 0A"], #IDX2-[D,IDX]
- [$amod_idx2_iidx2, \&check_idx2_iidx2, "18 0A"], #IDX2-[IDX2]
- [$amod_ididx_ext, \&check_ididx_ext, "18 0D"], #[D,IDX]-EXT
- [$amod_ididx_idx, \&check_ididx_idx, "18 0A"], #[D,IDX]-IDX
- [$amod_ididx_idx1, \&check_ididx_idx1, "18 0A"], #[D,IDX]-IDX1
- [$amod_ididx_idx2, \&check_ididx_idx2, "18 0A"], #[D,IDX]-IDX2
- [$amod_ididx_ididx, \&check_ididx_ididx, "18 0A"], #[D,IDX]-[D,IDX]
- [$amod_ididx_iidx2, \&check_ididx_iidx2, "18 0A"], #[D,IDX]-[IDX2]
- [$amod_iidx2_ext, \&check_iidx2_ext, "18 0D"], #[IDX2]-EXT
- [$amod_iidx2_idx, \&check_iidx2_idx, "18 0A"], #[IDX2]-IDX
- [$amod_iidx2_idx1, \&check_iidx2_idx1, "18 0A"], #[IDX2]-IDX1
- [$amod_iidx2_idx2, \&check_iidx2_idx2, "18 0A"], #[IDX2]-IDX2
- [$amod_iidx2_ididx, \&check_iidx2_ididx, "18 0A"], #[IDX2]-[D,IDX]
- [$amod_iidx2_iidx2, \&check_iidx2_iidx2, "18 0A"]], #[IDX2]-[IDX2]
- "MOVW" => [[$amod_imm16_ext, \&check_imm16_ext, "18 03"], #IMM-EXT
- [$amod_imm16_idx, \&check_imm16_idx, "18 00"], #IMM-IDX
- [$amod_imm16_idx1, \&check_imm16_idx1, "18 00"], #IMM-IDX1
- [$amod_imm16_idx2, \&check_imm16_idx2, "18 00"], #IMM-IDX2
- [$amod_imm16_ididx, \&check_imm16_ididx, "18 00"], #IMM-[D,IDX]
- [$amod_imm16_iidx2, \&check_imm16_iidx2, "18 00"], #IMM-[IDX2]
- [$amod_ext_ext, \&check_ext_ext, "18 04"], #EXT-EXT
- [$amod_ext_idx, \&check_ext_idx, "18 01"], #EXT-IDX
- [$amod_ext_idx1, \&check_ext_idx1, "18 01"], #EXT-IDX1
- [$amod_ext_idx2, \&check_ext_idx2, "18 01"], #EXT-IDX2
- [$amod_ext_ididx, \&check_ext_ididx, "18 01"], #EXT-[D,IDX]
- [$amod_ext_iidx2, \&check_ext_iidx2, "18 01"], #EXT-[IDX2]
- [$amod_idx_ext, \&check_idx_ext, "18 05"], #IDX-EXT
- [$amod_idx_idx, \&check_idx_idx, "18 02"], #IDX-IDX
- [$amod_idx_idx1, \&check_idx_idx1, "18 02"], #IDX-IDX1
- [$amod_idx_idx2, \&check_idx_idx2, "18 02"], #IDX-IDX2
- [$amod_idx_ididx, \&check_idx_ididx, "18 02"], #IDX-[D,IDX]
- [$amod_idx_iidx2, \&check_idx_iidx2, "18 02"], #IDX-[IDX2]
- [$amod_idx1_ext, \&check_idx1_ext, "18 05"], #IDX1-EXT
- [$amod_idx1_idx, \&check_idx1_idx, "18 02"], #IDX1-IDX
- [$amod_idx1_idx1, \&check_idx1_idx1, "18 02"], #IDX1-IDX1
- [$amod_idx1_idx2, \&check_idx1_idx2, "18 02"], #IDX1-IDX2
- [$amod_idx1_ididx, \&check_idx1_ididx, "18 02"], #IDX1-[D,IDX]
- [$amod_idx1_iidx2, \&check_idx1_iidx2, "18 02"], #IDX1-[IDX2]
- [$amod_idx2_ext, \&check_idx2_ext, "18 05"], #IDX1-EXT
- [$amod_idx2_idx, \&check_idx2_idx, "18 02"], #IDX2-IDX
- [$amod_idx2_idx1, \&check_idx2_idx1, "18 02"], #IDX2-IDX1
- [$amod_idx2_idx2, \&check_idx2_idx2, "18 02"], #IDX2-IDX2
- [$amod_idx2_ididx, \&check_idx2_ididx, "18 02"], #IDX2-[D,IDX]
- [$amod_idx2_iidx2, \&check_idx2_iidx2, "18 02"], #IDX2-[IDX2]
- [$amod_ididx_ext, \&check_ididx_ext, "18 05"], #[D,IDX]-EXT
- [$amod_ididx_idx, \&check_ididx_idx, "18 02"], #[D,IDX]-IDX
- [$amod_ididx_idx1, \&check_ididx_idx1, "18 02"], #[D,IDX]-IDX1
- [$amod_ididx_idx2, \&check_ididx_idx2, "18 02"], #[D,IDX]-IDX2
- [$amod_ididx_ididx, \&check_ididx_ididx, "18 02"], #[D,IDX]-[D,IDX]
- [$amod_ididx_iidx2, \&check_ididx_iidx2, "18 02"], #[D,IDX]-[IDX2]
- [$amod_iidx2_ext, \&check_iidx2_ext, "18 05"], #[IDX2]-EXT
- [$amod_iidx2_idx, \&check_iidx2_idx, "18 02"], #[IDX2]-IDX
- [$amod_iidx2_idx1, \&check_iidx2_idx1, "18 02"], #[IDX2]-IDX1
- [$amod_iidx2_idx2, \&check_iidx2_idx2, "18 02"], #[IDX2]-IDX2
- [$amod_iidx2_ididx, \&check_iidx2_ididx, "18 02"], #[IDX2]-[D,IDX]
- [$amod_iidx2_iidx2, \&check_iidx2_iidx2, "18 02"]], #[IDX2]-[IDX2]
- "MUL" => [[$amod_inh, \&check_inh, "12" ]], #INH
- "NEG" => [[$amod_ext, \&check_ext, "70" ], #EXT
- [$amod_idx, \&check_idx, "60" ], #IDX
- [$amod_idx1, \&check_idx1, "60" ], #IDX1
- [$amod_idx2, \&check_idx2, "60" ], #IDX2
- [$amod_ididx, \&check_ididx, "60" ], #[D,IDX]
- [$amod_iidx2, \&check_iidx2, "60" ]], #[IDX2]
- "NEGA" => [[$amod_inh, \&check_inh, "40" ]], #INH
- "NEGB" => [[$amod_inh, \&check_inh, "50" ]], #INH
- "NEGW" => [[$amod_ext, \&check_ext, "18 70"], #EXT
- [$amod_idx, \&check_idx, "18 60"], #IDX
- [$amod_idx1, \&check_idx1, "18 60"], #IDX1
- [$amod_idx2, \&check_idx2, "18 60"], #IDX2
- [$amod_ididx, \&check_ididx, "18 60"], #[D,IDX]
- [$amod_iidx2, \&check_iidx2, "18 60"]], #[IDX2]
- "NEGX" => [[$amod_inh, \&check_inh, "18 40"]], #INH
- "NEGY" => [[$amod_inh, \&check_inh, "18 50"]], #INH
- "NOP" => [[$amod_inh, \&check_inh, "A7" ]], #INH
- "ORAA" => [[$amod_imm8, \&check_imm8, "8A" ], #IMM
- [$amod_s12x_dir, \&check_s12x_dir, "9A" ], #DIR
- [$amod_ext, \&check_ext, "BA" ], #EXT
- [$amod_idx, \&check_idx, "AA" ], #IDX
- [$amod_idx1, \&check_idx1, "AA" ], #IDX1
- [$amod_idx2, \&check_idx2, "AA" ], #IDX2
- [$amod_ididx, \&check_ididx, "AA" ], #[D,IDX]
- [$amod_iidx2, \&check_iidx2, "AA" ]], #[IDX2]
- "ORAB" => [[$amod_imm8, \&check_imm8, "CA" ], #IMM
- [$amod_s12x_dir, \&check_s12x_dir, "DA" ], #DIR
- [$amod_ext, \&check_ext, "FA" ], #EXT
- [$amod_idx, \&check_idx, "EA" ], #IDX
- [$amod_idx1, \&check_idx1, "EA" ], #IDX1
- [$amod_idx2, \&check_idx2, "EA" ], #IDX2
- [$amod_ididx, \&check_ididx, "EA" ], #[D,IDX]
- [$amod_iidx2, \&check_iidx2, "EA" ]], #[IDX2]
- "ORX" => [[$amod_imm16, \&check_imm16, "18 8A"], #IMM
- [$amod_s12x_dir, \&check_s12x_dir, "18 9A"], #DIR
- [$amod_ext, \&check_ext, "18 BA"], #EXT
- [$amod_idx, \&check_idx, "18 AA"], #IDX
- [$amod_idx1, \&check_idx1, "18 AA"], #IDX1
- [$amod_idx2, \&check_idx2, "18 AA"], #IDX2
- [$amod_ididx, \&check_ididx, "18 AA"], #[D,IDX]
- [$amod_iidx2, \&check_iidx2, "18 AA"]], #[IDX2]
- "ORY" => [[$amod_imm16, \&check_imm16, "18 CA"], #IMM
- [$amod_s12x_dir, \&check_s12x_dir, "18 DA"], #DIR
- [$amod_ext, \&check_ext, "18 FA"], #EXT
- [$amod_idx, \&check_idx, "18 EA"], #IDX
- [$amod_idx1, \&check_idx1, "18 EA"], #IDX1
- [$amod_idx2, \&check_idx2, "18 EA"], #IDX2
- [$amod_ididx, \&check_ididx, "18 EA"], #[D,IDX]
- [$amod_iidx2, \&check_iidx2, "18 EA"]], #[IDX2]
- "ORCC" => [[$amod_imm8, \&check_imm8, "14" ]], #INH
- "PSHA" => [[$amod_inh, \&check_inh, "36" ]], #INH
- "PSHB" => [[$amod_inh, \&check_inh, "37" ]], #INH
- "PSHC" => [[$amod_inh, \&check_inh, "39" ]], #INH
- "PSHCW" => [[$amod_inh, \&check_inh, "18 39"]], #INH
- "PSHD" => [[$amod_inh, \&check_inh, "3B" ]], #INH
- "PSHX" => [[$amod_inh, \&check_inh, "34" ]], #INH
- "PSHY" => [[$amod_inh, \&check_inh, "35" ]], #INH
- "PULA" => [[$amod_inh, \&check_inh, "32" ]], #INH
- "PULB" => [[$amod_inh, \&check_inh, "33" ]], #INH
- "PULC" => [[$amod_inh, \&check_inh, "38" ]], #INH
- "PULCW" => [[$amod_inh, \&check_inh, "18 38"]], #INH
- "PULD" => [[$amod_inh, \&check_inh, "3A" ]], #INH
- "PULX" => [[$amod_inh, \&check_inh, "30" ]], #INH
- "PULY" => [[$amod_inh, \&check_inh, "31" ]], #INH
- "REV" => [[$amod_inh, \&check_inh, "18 3A"]], #INH
- "REVW" => [[$amod_inh, \&check_inh, "18 3B"]], #INH
- "ROL" => [[$amod_ext, \&check_ext, "75" ], #EXT
- [$amod_idx, \&check_idx, "65" ], #IDX
- [$amod_idx1, \&check_idx1, "65" ], #IDX1
- [$amod_idx2, \&check_idx2, "65" ], #IDX2
- [$amod_ididx, \&check_ididx, "65" ], #[D,IDX]
- [$amod_iidx2, \&check_iidx2, "65" ]], #[IDX2]
- "ROLA" => [[$amod_inh, \&check_inh, "45" ]], #INH
- "ROLB" => [[$amod_inh, \&check_inh, "55" ]], #INH
- "ROLW" => [[$amod_ext, \&check_ext, "18 75"], #EXT
- [$amod_idx, \&check_idx, "18 65"], #IDX
- [$amod_idx1, \&check_idx1, "18 65"], #IDX1
- [$amod_idx2, \&check_idx2, "18 65"], #IDX2
- [$amod_ididx, \&check_ididx, "18 65"], #[D,IDX]
- [$amod_iidx2, \&check_iidx2, "18 65"]], #[IDX2]
- "ROLX" => [[$amod_inh, \&check_inh, "18 45"]], #INH
- "ROLY" => [[$amod_inh, \&check_inh, "18 55"]], #INH
- "ROR" => [[$amod_ext, \&check_ext, "76" ], #EXT
- [$amod_idx, \&check_idx, "66" ], #IDX
- [$amod_idx1, \&check_idx1, "66" ], #IDX1
- [$amod_idx2, \&check_idx2, "66" ], #IDX2
- [$amod_ididx, \&check_ididx, "66" ], #[D,IDX]
- [$amod_iidx2, \&check_iidx2, "66" ]], #[IDX2]
- "RORA" => [[$amod_inh, \&check_inh, "46" ]], #INH
- "RORB" => [[$amod_inh, \&check_inh, "56" ]], #INH
- "RORW" => [[$amod_ext, \&check_ext, "18 76"], #EXT
- [$amod_idx, \&check_idx, "18 66"], #IDX
- [$amod_idx1, \&check_idx1, "18 66"], #IDX1
- [$amod_idx2, \&check_idx2, "18 66"], #IDX2
- [$amod_ididx, \&check_ididx, "18 66"], #[D,IDX]
- [$amod_iidx2, \&check_iidx2, "18 66"]], #[IDX2]
- "RORX" => [[$amod_inh, \&check_inh, "18 46"]], #INH
- "RORY" => [[$amod_inh, \&check_inh, "18 56"]], #INH
- "RTC" => [[$amod_inh, \&check_inh, "0A" ]], #INH
- "RTI" => [[$amod_inh, \&check_inh, "0B" ]], #INH
- "RTS" => [[$amod_inh, \&check_inh, "3D" ]], #INH
- "SBA" => [[$amod_inh, \&check_inh, "18 16"]], #INH
- "SBCA" => [[$amod_imm8, \&check_imm8, "82" ], #IMM
- [$amod_s12x_dir, \&check_s12x_dir, "92" ], #DIR
- [$amod_ext, \&check_ext, "B2" ], #EXT
- [$amod_idx, \&check_idx, "A2" ], #IDX
- [$amod_idx1, \&check_idx1, "A2" ], #IDX1
- [$amod_idx2, \&check_idx2, "A2" ], #IDX2
- [$amod_ididx, \&check_ididx, "A2" ], #[D,IDX]
- [$amod_iidx2, \&check_iidx2, "A2" ]], #[IDX2]
- "SBCB" => [[$amod_imm8, \&check_imm8, "C2" ], #IMM
- [$amod_s12x_dir, \&check_s12x_dir, "D2" ], #DIR
- [$amod_ext, \&check_ext, "F2" ], #EXT
- [$amod_idx, \&check_idx, "E2" ], #IDX
- [$amod_idx1, \&check_idx1, "E2" ], #IDX1
- [$amod_idx2, \&check_idx2, "E2" ], #IDX2
- [$amod_ididx, \&check_ididx, "E2" ], #[D,IDX]
- [$amod_iidx2, \&check_iidx2, "E2" ]], #[IDX2]
- "SBED" => [[$amod_imm16, \&check_imm16, "18 83"], #IMM
- [$amod_s12x_dir, \&check_s12x_dir, "18 93"], #DIR
- [$amod_ext, \&check_ext, "18 B3"], #EXT
- [$amod_idx, \&check_idx, "18 A3"], #IDX
- [$amod_idx1, \&check_idx1, "18 A3"], #IDX1
- [$amod_idx2, \&check_idx2, "18 A3"], #IDX2
- [$amod_ididx, \&check_ididx, "18 A3"], #[D,IDX]
- [$amod_iidx2, \&check_iidx2, "18 A3"]], #[IDX2]
- "SBEX" => [[$amod_imm16, \&check_imm16, "18 82"], #IMM
- [$amod_s12x_dir, \&check_s12x_dir, "18 92"], #DIR
- [$amod_ext, \&check_ext, "18 B2"], #EXT
- [$amod_idx, \&check_idx, "18 A2"], #IDX
- [$amod_idx1, \&check_idx1, "18 A2"], #IDX1
- [$amod_idx2, \&check_idx2, "18 A2"], #IDX2
- [$amod_ididx, \&check_ididx, "18 A2"], #[D,IDX]
- [$amod_iidx2, \&check_iidx2, "18 A2"]], #[IDX2]
- "SBEY" => [[$amod_imm16, \&check_imm16, "18 C2"], #IMM
- [$amod_s12x_dir, \&check_s12x_dir, "18 D2"], #DIR
- [$amod_ext, \&check_ext, "18 F2"], #EXT
- [$amod_idx, \&check_idx, "18 E2"], #IDX
- [$amod_idx1, \&check_idx1, "18 E2"], #IDX1
- [$amod_idx2, \&check_idx2, "18 E2"], #IDX2
- [$amod_ididx, \&check_ididx, "18 E2"], #[D,IDX]
- [$amod_iidx2, \&check_iidx2, "18 E2"]], #[IDX2]
- "SEC" => [[$amod_inh, \&check_inh, "14 01"]], #INH
- "SEI" => [[$amod_inh, \&check_inh, "14 10"]], #INH
- "SEV" => [[$amod_inh, \&check_inh, "14 02"]], #INH
- "SEX" => [[$amod_s12x_tfr, \&check_s12x_sex, "B7" ]], #INH
- "STAA" => [[$amod_s12x_dir, \&check_s12x_dir, "5A" ], #DIR
- [$amod_ext, \&check_ext, "7A" ], #EXT
- [$amod_idx, \&check_idx, "6A" ], #IDX
- [$amod_idx1, \&check_idx1, "6A" ], #IDX1
- [$amod_idx2, \&check_idx2, "6A" ], #IDX2
- [$amod_ididx, \&check_ididx, "6A" ], #[D,IDX]
- [$amod_iidx2, \&check_iidx2, "6A" ]], #[IDX2]
- "STAB" => [[$amod_s12x_dir, \&check_s12x_dir, "5B" ], #DIR
- [$amod_ext, \&check_ext, "7B" ], #EXT
- [$amod_idx, \&check_idx, "6B" ], #IDX
- [$amod_idx1, \&check_idx1, "6B" ], #IDX1
- [$amod_idx2, \&check_idx2, "6B" ], #IDX2
- [$amod_ididx, \&check_ididx, "6B" ], #[D,IDX]
- [$amod_iidx2, \&check_iidx2, "6B" ]], #[IDX2]
- "STD" => [[$amod_s12x_dir, \&check_s12x_dir, "5C" ], #DIR
- [$amod_ext, \&check_ext, "7C" ], #EXT
- [$amod_idx, \&check_idx, "6C" ], #IDX
- [$amod_idx1, \&check_idx1, "6C" ], #IDX1
- [$amod_idx2, \&check_idx2, "6C" ], #IDX2
- [$amod_ididx, \&check_ididx, "6C" ], #[D,IDX]
- [$amod_iidx2, \&check_iidx2, "6C" ]], #[IDX2]
- "STOP" => [[$amod_inh, \&check_inh, "18 3E"]], #INH
- "STS" => [[$amod_s12x_dir, \&check_s12x_dir, "5F" ], #DIR
- [$amod_ext, \&check_ext, "7F" ], #EXT
- [$amod_idx, \&check_idx, "6F" ], #IDX
- [$amod_idx1, \&check_idx1, "6F" ], #IDX1
- [$amod_idx2, \&check_idx2, "6F" ], #IDX2
- [$amod_ididx, \&check_ididx, "6F" ], #[D,IDX]
- [$amod_iidx2, \&check_iidx2, "6F" ]], #[IDX2]
- "STX" => [[$amod_s12x_dir, \&check_s12x_dir, "5E" ], #DIR
- [$amod_ext, \&check_ext, "7E" ], #EXT
- [$amod_idx, \&check_idx, "6E" ], #IDX
- [$amod_idx1, \&check_idx1, "6E" ], #IDX1
- [$amod_idx2, \&check_idx2, "6E" ], #IDX2
- [$amod_ididx, \&check_ididx, "6E" ], #[D,IDX]
- [$amod_iidx2, \&check_iidx2, "6E" ]], #[IDX2]
- "STY" => [[$amod_s12x_dir, \&check_s12x_dir, "5D" ], #DIR
- [$amod_ext, \&check_ext, "7D" ], #EXT
- [$amod_idx, \&check_idx, "6D" ], #IDX
- [$amod_idx1, \&check_idx1, "6D" ], #IDX1
- [$amod_idx2, \&check_idx2, "6D" ], #IDX2
- [$amod_ididx, \&check_ididx, "6D" ], #[D,IDX]
- [$amod_iidx2, \&check_iidx2, "6D" ]], #[IDX2]
- "SUBA" => [[$amod_imm8, \&check_imm8, "80" ], #IMM
- [$amod_s12x_dir, \&check_s12x_dir, "90" ], #DIR
- [$amod_ext, \&check_ext, "B0" ], #EXT
- [$amod_idx, \&check_idx, "A0" ], #IDX
- [$amod_idx1, \&check_idx1, "A0" ], #IDX1
- [$amod_idx2, \&check_idx2, "A0" ], #IDX2
- [$amod_ididx, \&check_ididx, "A0" ], #[D,IDX]
- [$amod_iidx2, \&check_iidx2, "A0" ]], #[IDX2]
- "SUBB" => [[$amod_imm8, \&check_imm8, "C0" ], #IMM
- [$amod_s12x_dir, \&check_s12x_dir, "D0" ], #DIR
- [$amod_ext, \&check_ext, "F0" ], #EXT
- [$amod_idx, \&check_idx, "E0" ], #IDX
- [$amod_idx1, \&check_idx1, "E0" ], #IDX1
- [$amod_idx2, \&check_idx2, "E0" ], #IDX2
- [$amod_ididx, \&check_ididx, "E0" ], #[D,IDX]
- [$amod_iidx2, \&check_iidx2, "E0" ]], #[IDX2]
- "SUBD" => [[$amod_imm16, \&check_imm16, "83" ], #IMM
- [$amod_s12x_dir, \&check_s12x_dir, "93" ], #DIR
- [$amod_ext, \&check_ext, "B3" ], #EXT
- [$amod_idx, \&check_idx, "A3" ], #IDX
- [$amod_idx1, \&check_idx1, "A3" ], #IDX1
- [$amod_idx2, \&check_idx2, "A3" ], #IDX2
- [$amod_ididx, \&check_ididx, "A3" ], #[D,IDX]
- [$amod_iidx2, \&check_iidx2, "A3" ]], #[IDX2]
- "SUBX" => [[$amod_imm16, \&check_imm16, "18 80"], #IMM
- [$amod_s12x_dir, \&check_s12x_dir, "18 90"], #DIR
- [$amod_ext, \&check_ext, "18 B0"], #EXT
- [$amod_idx, \&check_idx, "18 A0"], #IDX
- [$amod_idx1, \&check_idx1, "18 A0"], #IDX1
- [$amod_idx2, \&check_idx2, "18 A0"], #IDX2
- [$amod_ididx, \&check_ididx, "18 A0"], #[D,IDX]
- [$amod_iidx2, \&check_iidx2, "18 A0"]], #[IDX2]
- "SUBY" => [[$amod_imm16, \&check_imm16, "18 C0"], #IMM
- [$amod_s12x_dir, \&check_s12x_dir, "18 D0"], #DIR
- [$amod_ext, \&check_ext, "18 F0"], #EXT
- [$amod_idx, \&check_idx, "18 E0"], #IDX
- [$amod_idx1, \&check_idx1, "18 E0"], #IDX1
- [$amod_idx2, \&check_idx2, "18 E0"], #IDX2
- [$amod_ididx, \&check_ididx, "18 E0"], #[D,IDX]
- [$amod_iidx2, \&check_iidx2, "18 E0"]], #[IDX2]
- "SWI" => [[$amod_inh, \&check_inh, "3F" ]], #INH
- "TAB" => [[$amod_inh, \&check_inh, "18 0E"]], #INH
- "TAP" => [[$amod_inh, \&check_inh, "B7 02"]], #INH
- "TBA" => [[$amod_inh, \&check_inh, "18 0F"]], #INH
- "TBEQ" => [[$amod_tbeq, \&check_tbeq, "04" ]], #REL
- "TBL" => [[$amod_idx, \&check_idx, "18 3D"]], #IDX
- "TBNE" => [[$amod_tbne, \&check_tbne, "04" ]], #REL
- "TFR" => [[$amod_s12x_tfr, \&check_s12x_tfr, "B7" ]], #INH
- "TPA" => [[$amod_inh, \&check_inh, "B7 20"]], #INH
- "TRAP" => [[$amod_s12x_trap, \&check_s12x_trap, "18" ]], #INH
- "TST" => [[$amod_ext, \&check_ext, "F7" ], #EXT
- [$amod_idx, \&check_idx, "E7" ], #IDX
- [$amod_idx1, \&check_idx1, "E7" ], #IDX1
- [$amod_idx2, \&check_idx2, "E7" ], #IDX2
- [$amod_ididx, \&check_ididx, "E7" ], #[D,IDX]
- [$amod_iidx2, \&check_iidx2, "E7" ]], #[IDX2]
- "TSTA" => [[$amod_inh, \&check_inh, "97" ]], #INH
- "TSTB" => [[$amod_inh, \&check_inh, "D7" ]], #INH
- "TSTW" => [[$amod_ext, \&check_ext, "18 F7"], #EXT
- [$amod_idx, \&check_idx, "18 E7"], #IDX
- [$amod_idx1, \&check_idx1, "18 E7"], #IDX1
- [$amod_idx2, \&check_idx2, "18 E7"], #IDX2
- [$amod_ididx, \&check_ididx, "18 E7"], #[D,IDX]
- [$amod_iidx2, \&check_iidx2, "18 E7"]], #[IDX2]
- "TSTX" => [[$amod_inh, \&check_inh, "18 97"]], #INH
- "TSTY" => [[$amod_inh, \&check_inh, "18 D7"]], #INH
- "TSX" => [[$amod_inh, \&check_inh, "B7 75"]], #INH
- "TSY" => [[$amod_inh, \&check_inh, "B7 76"]], #INH
- "TXS" => [[$amod_inh, \&check_inh, "B7 57"]], #INH
- "TYS" => [[$amod_inh, \&check_inh, "B7 67"]], #INH
- "WAI" => [[$amod_inh, \&check_inh, "3E" ]], #INH
- "WAV" => [[$amod_inh, \&check_inh, "18 3C"]], #INH
- "WAVR" => [[$amod_inh, \&check_inh, "3C" ]], #INH
- "XGDX" => [[$amod_inh, \&check_inh, "B7 C5"]], #INH
- "XGDY" => [[$amod_inh, \&check_inh, "B7 C6"]]};#INH
-
-#XGATE: MNEMONIC ADDRESS MODE OPCODE
-*opctab_xgate = \{"ADC" => [[$amod_xgate_tri, \&check_xgate_tri, "18 03"]], #TRI
- "ADD" => [[$amod_xgate_tri, \&check_xgate_tri, "18 02"], #TRI
- [$amod_xgate_imm16, \&check_xgate_imm16, "E0 00 E8 00"]], #IMM16 pseudo opcode
- "ADDH" => [[$amod_xgate_imm8, \&check_xgate_imm8, "E8 00"]], #IMM8
- "ADDL" => [[$amod_xgate_imm8, \&check_xgate_imm8, "E0 00"]], #IMM8
- "AND" => [[$amod_xgate_tri, \&check_xgate_tri, "10 00"], #TRI
- [$amod_xgate_imm16, \&check_xgate_imm16, "80 00 88 00"]], #IMM16 pseudo opcode
- "ANDH" => [[$amod_xgate_imm8, \&check_xgate_imm8, "88 00"]], #IMM8
- "ANDL" => [[$amod_xgate_imm8, \&check_xgate_imm8, "80 00"]], #IMM8
- "ASR" => [[$amod_xgate_imm4, \&check_xgate_imm4, "08 09"], #IMM4
- [$amod_xgate_dya, \&check_xgate_dya, "08 11"]], #DYA
- "BCC" => [[$amod_xgate_rel9, \&check_xgate_rel9, "20 00"]], #REL9
- "BCS" => [[$amod_xgate_rel9, \&check_xgate_rel9, "22 00"]], #REL9
- "BEQ" => [[$amod_xgate_rel9, \&check_xgate_rel9, "26 00"]], #REL9
- "BFEXT" => [[$amod_xgate_tri, \&check_xgate_tri, "60 03"]], #TRI
- "BFFO" => [[$amod_xgate_dya, \&check_xgate_dya, "08 10"]], #DYA
- "BFINS" => [[$amod_xgate_tri, \&check_xgate_tri, "68 03"]], #TRI
- "BFINSI" => [[$amod_xgate_tri, \&check_xgate_tri, "70 03"]], #TRI
- "BFINSX" => [[$amod_xgate_tri, \&check_xgate_tri, "78 03"]], #TRI
- "BGE" => [[$amod_xgate_rel9, \&check_xgate_rel9, "34 00"]], #REL9
- "BGT" => [[$amod_xgate_rel9, \&check_xgate_rel9, "38 00"]], #REL9
- "BHI" => [[$amod_xgate_rel9, \&check_xgate_rel9, "30 00"]], #REL9
- "BHS" => [[$amod_xgate_rel9, \&check_xgate_rel9, "20 00"]], #REL9 pseudo opcode
- "BITH" => [[$amod_xgate_imm8, \&check_xgate_imm8, "98 00"]], #IMM8
- "BITL" => [[$amod_xgate_imm8, \&check_xgate_imm8, "90 00"]], #IMM8
- "BLE" => [[$amod_xgate_rel9, \&check_xgate_rel9, "3A 00"]], #REL9
- "BLO" => [[$amod_xgate_rel9, \&check_xgate_rel9, "22 00"]], #REL9 pseudo opcode
- "BLS" => [[$amod_xgate_rel9, \&check_xgate_rel9, "32 00"]], #REL9
- "BLT" => [[$amod_xgate_rel9, \&check_xgate_rel9, "36 00"]], #REL9
- "BMI" => [[$amod_xgate_rel9, \&check_xgate_rel9, "2A 00"]], #REL9
- "BNE" => [[$amod_xgate_rel9, \&check_xgate_rel9, "24 00"]], #REL9
- "BPL" => [[$amod_xgate_rel9, \&check_xgate_rel9, "28 00"]], #REL9
- "BRA" => [[$amod_xgate_rel10, \&check_xgate_rel10, "3C 00"]], #REL10
- "BRK" => [[$amod_inh, \&check_inh, "00 00"]], #INH
- "BVC" => [[$amod_xgate_rel9, \&check_xgate_rel9, "2C 00"]], #REL9
- "BVS" => [[$amod_xgate_rel9, \&check_xgate_rel9, "2E 00"]], #REL9
- "COM" => [[$amod_xgate_mon, \&check_xgate_com_mon, "10 03"], #TRI pseudo opcode
- [$amod_xgate_dya, \&check_xgate_com_dya, "10 03"]], #TRI pseudo opcode
- "CMP" => [[$amod_xgate_dya, \&check_xgate_cmp_dya, "18 00"], #TRI pseudo opcode
- [$amod_xgate_imm16, \&check_xgate_imm16, "D0 00 D8 00"]], #IMM16 pseudo opcode
- "CMPL" => [[$amod_xgate_imm8, \&check_xgate_imm8, "D0 00"]], #IMM8
- "CPC" => [[$amod_xgate_dya, \&check_xgate_cmp_dya, "18 01"]], #TRI pseudo opcode
- "CPCH" => [[$amod_xgate_imm8, \&check_xgate_imm8, "D8 00"]], #IMM8
- "CSEM" => [[$amod_xgate_mon, \&check_xgate_mon, "00 F1"], #MON
- [$amod_xgate_imm3, \&check_xgate_imm3, "00 F0"]], #IMM3
- "CSL" => [[$amod_xgate_imm4, \&check_xgate_imm4, "08 0A"], #IMM4
- [$amod_xgate_dya, \&check_xgate_dya, "08 12"]], #DYA
- "CSR" => [[$amod_xgate_imm4, \&check_xgate_imm4, "08 0B"], #IMM4
- [$amod_xgate_dya, \&check_xgate_dya, "08 13"]], #DYA
- "JAL" => [[$amod_xgate_mon, \&check_xgate_mon, "00 F6"]], #MON
- "LDB" => [[$amod_xgate_ido5, \&check_xgate_ido5, "40 00"], #IDO5
- [$amod_xgate_idr, \&check_xgate_idr, "60 00"], #IDR
- [$amod_xgate_idri, \&check_xgate_idri, "60 01"], #IDR+
- [$amod_xgate_idrd, \&check_xgate_idrd, "60 02"]], #-IDR
- "LDH" => [[$amod_xgate_imm8, \&check_xgate_imm8, "F8 00"]], #IMM8
- "LDL" => [[$amod_xgate_imm8, \&check_xgate_imm8, "F0 00"]], #IMM8
- "LDW" => [[$amod_xgate_ido5, \&check_xgate_ido5, "48 00"], #IDO5
- [$amod_xgate_idr, \&check_xgate_idr, "68 00"], #IDR
- [$amod_xgate_idri, \&check_xgate_idri, "68 01"], #IDR+
- [$amod_xgate_idrd, \&check_xgate_idrd, "68 02"], #-IDR
- [$amod_xgate_imm16, \&check_xgate_imm16, "F0 00 F8 00"]], #IMM16 pseudo opcode
- "LSL" => [[$amod_xgate_imm4, \&check_xgate_imm4, "08 0C"], #IMM4
- [$amod_xgate_dya, \&check_xgate_dya, "08 14"]], #DYA
- "LSR" => [[$amod_xgate_imm4, \&check_xgate_imm4, "08 0D"], #IMM4
- [$amod_xgate_dya, \&check_xgate_dya, "08 15"]], #DYA
- "MOV" => [[$amod_xgate_dya, \&check_xgate_com_dya, "10 02"]], #TRI pseudo opcode
- "NEG" => [[$amod_xgate_mon, \&check_xgate_com_mon, "18 00"], #TRI pseudo opcode
- [$amod_xgate_dya, \&check_xgate_com_dya, "18 00"]], #TRI pseudo opcode
- "NOP" => [[$amod_inh, \&check_inh, "01 00"]], #INH
- "OR" => [[$amod_xgate_tri, \&check_xgate_tri, "10 02"], #TRI
- [$amod_xgate_imm16, \&check_xgate_imm16, "A0 00 A8 00"]], #IMM16 pseudo opcode
- "ORH" => [[$amod_xgate_imm8, \&check_xgate_imm8, "A8 00"]], #IMM8
- "ORL" => [[$amod_xgate_imm8, \&check_xgate_imm8, "A0 00"]], #IMM8
- "PAR" => [[$amod_xgate_mon, \&check_xgate_mon, "00 F5"]], #MON
- "ROL" => [[$amod_xgate_imm4, \&check_xgate_imm4, "08 0E"], #IMM4
- [$amod_xgate_dya, \&check_xgate_dya, "08 16"]], #DYA
- "ROR" => [[$amod_xgate_imm4, \&check_xgate_imm4, "08 0F"], #IMM4
- [$amod_xgate_dya, \&check_xgate_dya, "08 17"]], #DYA
- "RTS" => [[$amod_inh, \&check_inh, "02 00"]], #INH
- "SBC" => [[$amod_xgate_tri, \&check_xgate_tri, "18 01"]], #TRI
- "SEX" => [[$amod_xgate_mon, \&check_xgate_mon, "00 F4"]], #MON
- "SIF" => [[$amod_inh, \&check_inh, "03 00"], #INH
- [$amod_xgate_mon, \&check_xgate_mon, "00 F7"]], #MON
- "SSEM" => [[$amod_xgate_mon, \&check_xgate_mon, "00 f3"], #MON
- [$amod_xgate_imm3, \&check_xgate_imm3, "00 F2"]], #IMM3
- "STB" => [[$amod_xgate_ido5, \&check_xgate_ido5, "50 00"], #IDO5
- [$amod_xgate_idr, \&check_xgate_idr, "70 00"], #IDR
- [$amod_xgate_idri, \&check_xgate_idri, "70 01"], #IDR+
- [$amod_xgate_idrd, \&check_xgate_idrd, "70 02"]], #-IDR
- "STW" => [[$amod_xgate_ido5, \&check_xgate_ido5, "58 00"], #IDO5
- [$amod_xgate_idr, \&check_xgate_idr, "78 00"], #IDR
- [$amod_xgate_idri, \&check_xgate_idri, "78 01"], #IDR+
- [$amod_xgate_idrd, \&check_xgate_idrd, "78 02"]], #-IDR
- "SUB" => [[$amod_xgate_tri, \&check_xgate_tri, "18 00"], #TRI
- [$amod_xgate_imm16, \&check_xgate_imm16, "C0 00 C8 00"]], #IMM16 opcode
- "SUBH" => [[$amod_xgate_imm8, \&check_xgate_imm8, "C8 00"]], #IMM8
- "SUBL" => [[$amod_xgate_imm8, \&check_xgate_imm8, "C0 00"]], #IMM8
- "TST" => [[$amod_xgate_mon, \&check_xgate_tst_mon, "18 00"]], #TRI pseudo opcode
- "TFR" => [[$amod_xgate_tfr_rd_ccr, \&check_xgate_tfr_rd_ccr, "00 F8"], #MON
- [$amod_xgate_tfr_ccr_rs, \&check_xgate_tfr_ccr_rs, "00 F9"], #MON
- [$amod_xgate_tfr_rd_pc, \&check_xgate_tfr_rd_pc, "00 FA"]], #MON
- "XNOR" => [[$amod_xgate_tri, \&check_xgate_tri, "10 03"], #TRI
- [$amod_xgate_imm16, \&check_xgate_imm16, "B0 00 B8 00"]], #IMM16 opcode
- "XNORH" => [[$amod_xgate_imm8, \&check_xgate_imm8, "B8 00"]], #IMM8
- "XNORL" => [[$amod_xgate_imm8, \&check_xgate_imm8, "B0 00"]]}; #IMM8
-
-##################
-# pseudo opcodes #
-##################
-# MNEMONIC SUBROUTINE
-*pseudo_opcodes = \{"ALIGN" => \&psop_align,
- "BSZ" => \&psop_zmb,
- "CPU" => \&psop_cpu,
- "DB" => \&psop_db,
- "DC.B" => \&psop_db,
- "DC.W" => \&psop_dw,
- "DS" => \&psop_dsb,
- "DS.B" => \&psop_dsb,
- "DS.W" => \&psop_dsw,
- "DW" => \&psop_dw,
- "EQU" => \&psop_equ,
- "FCB" => \&psop_db,
- "FCC" => \&psop_fcc,
- "FDB" => \&psop_dw,
- "FILL" => \&psop_fill,
- "LOC" => \&psop_loc,
- "ORG" => \&psop_org,
- "RMB" => \&psop_dsb,
- "RMW" => \&psop_dsw,
- "UNALIGN" => \&psop_unalign,
- "ZMB" => \&psop_zmb,
- #pseudo opcodes to ignore
- "NAME" => \&psop_ignore,
- "TTL" => \&psop_ignore,
- "VER" => \&psop_ignore,
- "VERSION" => \&psop_ignore,
- "PAG" => \&psop_ignore,
- "FUN" => \&psop_ignore,
- "FUNA" => \&psop_ignore,
- "END" => \&psop_ignore};
-
-###############
-# constructor #
-###############
-sub new {
- my $proto = shift @_;
- my $class = ref($proto) || $proto;
- my $file_list = shift @_;
- my $library_list = shift @_;
- my $defines = shift @_;
- my $cpu = shift @_;
- my $verbose = shift @_;
- my $self = {};
-
- #initalize global variables
- $self->{source_files} = $file_list;
- $self->{libraries} = $library_list;
- $self->{initial_defs} = $defines;
- $self->{precomp_defs} = $defines;
- $self->{cpu} = $cpu;
- $self->{verbose} = $verbose;
-
- #reset remaining global variables
- $self->{problems} = "no code";
- $self->{code} = [];
- $self->{comp_symbols} = {};
- $self->{lin_addrspace} = {};
- $self->{pag_addrspace} = {};
- $self->{compile_count} = 0;
- $self->{opcode_table} = $opctab_s12;
- $self->{dir_page} = 0;
-
- #instantiate object
- bless $self, $class;
- #printf STDERR "libs: %s\n", join(", ", @$library_list);
-
- #compile code
- $self->compile($file_list, $library_list);
-
- return $self;
-}
-
-##############
-# destructor #
-##############
-#sub DESTROY {
-# my $self = shift @_;
-#}
-
-##########
-# reload #
-##########
-sub reload {
- my $self = shift @_;
- my $verbose = shift @_;
-
- #reset global variables
- $self->{problems} = "no code";
- $self->{code} = [];
- $self->{precomp_defs} = %{$self->{initial_defs}};
- $self->{comp_symbols} = {};
- $self->{lin_addrspace} = {};
- $self->{pag_addrspace} = {};
- $self->{compile_count} = 0;
- if (defined $verbose) {
- $self->{verbose} = $verbose;
- }
-
- #compile code
- $self->compile($self->{source_files}, $self->{libraries});
-}
-
-###########
-# compile #
-###########
-sub compile {
- my $self = shift @_;
- my $file_list = shift @_;
- my $library_list = shift @_;
- #compile staus
- my $old_undef_count;
- my $new_undef_count;
- my $redef_count;
- my $error_count;
- my $compile_count;
- my $keep_compiling;
- my $result_ok;
- #compiler runs
- my $max_comp_runs = 45;
-
- ##############
- # precompile #
- ##############
- if (!$self->precompile($file_list, $library_list, [[1,1,1]])) {
- #printf "precompiler symbols: %s\n", join("\n ", keys %{$self->{comp_symbols}});
- #$self->{problems} = "precompiler";
-
- ##################################################
- # export precompiler defines to compiler symbols #
- ##################################################
- $self->export_precomp_defs();
-
- ###########
- # compile #
- ###########
- $self->{compile_count} = 0;
- $old_undef_count = $#{$self->{code}};
- $redef_count = 0;
- $keep_compiling = 1;
- $result_ok = 1;
-
-
- #print progress messages
- if ($self->{verbose}) {
- print STDOUT "\n";
- print STDOUT "COMPILE RUN UNDEFINED SYMBOLS REDEFINED SYMBOLS\n";
- print STDOUT "=========== ================= =================\n";
- }
-
- while ($keep_compiling) {
- $self->{compile_count} = ($self->{compile_count} + 1);
- #compile run
- ($error_count, $new_undef_count, $redef_count) = @{$self->compile_run()};
- #print progress messages
- if ($self->{verbose}) {
- printf STDOUT "%8d %17d %17d\n", $self->{compile_count}, $new_undef_count, $redef_count;
- }
- #printf STDERR "compile run: %d\n", $self->{compile_count};
- #printf STDERR "errors: %d\n", $error_count;
- #printf STDERR "old undefs: %d\n", $old_undef_count;
- #printf STDERR "new undefs: %d\n", $new_undef_count;
- #printf STDERR "redefs: %d\n", $redef_count;
- #printf STDERR "symbols: \"%s\"\n", join("\", \"", keys %{$self->{comp_symbols}});;
-
- #################
- # check results #
- #################
- if ($error_count > 0) {
- ###################
- # compiler errors #
- ###################
- $keep_compiling = 0;
- $result_ok = 0;
- if ($error_count == 1) {
- $self->{problems} = "1 compiler error!";
- } else {
- $self->{problems} = sprintf("%d compiler errors!", $error_count);
- }
- } elsif ($self->{compile_count} >= $max_comp_runs) {
- ##########################
- # too many compiler runs #
- ##########################
- $keep_compiling = 0;
- $result_ok = 0;
- $self->{problems} = sprintf("%d assembler runs and no success!", $max_comp_runs);
- #} elsif (($new_undef_count > 0) &&
- # ($new_undef_count >= $old_undef_count)) {
- # ######################
- # # unresolved opcodes #
- # ######################
- # $keep_compiling = 0;
- # $result_ok = 0;
- # $self->{problems} = sprintf("%d undefined opcodes!", $new_undef_count);
- } elsif (($new_undef_count == 0) &&
- ($redef_count == 0)) {
- ##########################
- # compilation successful #
- ##########################
- $keep_compiling = 0;
- $result_ok = 1;
- $self->{problems} = 0;
- }
- ##########################
- # update old undef count #
- ##########################
- $old_undef_count = $new_undef_count;
- }
-
- #####################################
- # see if compilation was successful #
- #####################################
- if ($result_ok) {
- ############################
- # determine address spaces #
- ############################
- $self->determine_addrspaces();
- }
- } else {
- $self->{problems} = "precompiler error";
- }
- #print "error_count = $error_count\n";
- #print "undef_count = $new_undef_count\n";
- #print "compile_count = $self->{compile_count}\n";
-
-}
-
-##############
-# precompile #
-##############
-sub precompile {
- my $self = shift @_;
- my $file_list = shift @_;
- my $library_list = shift @_;
- my $ifdef_stack = shift @_;
-
- #file
- my $file_handle;
- my $file_name;
- my $library_path;
- my $file;
- #errors
- my $error;
- my $error_count;
- #line
- my $line;
- my $line_count;
- my $label;
- my $opcode;
- my $arguments;
- my $directive;
- my $arg1;
- my $arg2;
- #source code
- my @srccode_sequence;
- #temporary
- my $match;
- my $value;
-
- #############
- # file loop #
- #############
- foreach $file_name (@$file_list) {
- ############################
- # determine full file name #
- ############################
- #printf "file_name: %s\n", $file_name;
- $error = 0;
- if ($file_name =~ /$path_absolute/) {
- #asolute path
- $file = $file_name;
- if (-e $file) {
- if (-r $file) {
- if ($file_handle = IO::File->new($file, O_RDONLY)) {
- } else {
- $error = sprintf("unable to open file \"%s\" (%s)", $file, $!);
- #print "$error\n";
- }
- } else {
- $error = sprintf("file \"%s\" is not readable", $file);
- #print "$error\n";
- }
- } else {
- $error = sprintf("file \"%s\" does not exist", $file);
- #print "$error\n";
- }
- } else {
- #library path
- $match = 0;
- ################
- # library loop #
- ################
- foreach $library_path (@$library_list) {
- if (!$match && !$error) {
- $file = sprintf("%s%s", $library_path, $file_name);
- #printf STDERR "file: \"%s\"\n", $file;
- if (-e $file) {
- $match = 1;
- if (-r $file) {
- if ($file_handle = IO::File->new($file, O_RDONLY)) {
- } else {
- $error = sprintf("unable to open file \"%s\" (%s)", $file, $!);
- #print "$error\n";
- }
- } else {
- $error = sprintf("file \"%s\" is not readable", $file);
- #print "$error\n";
- }
- }
- }
- }
- if (!$match) {
- $file = $file_name;
- $error = sprintf("file \"%s\" does not exist in any library path", $file);
- #print "$error\n";
- }
- }
- #################
- # quit on error #
- #################
- if ($error) {
- #store error message
- push @{$self->{code}}, [undef, #line count
- \$file, #file name
- [], #code sequence
- "", #label
- "", #opcode
- "", #arguments
- undef, #linear pc
- undef, #paged pc
- undef, #hex code
- undef, #bytes
- [$error]]; #errors
- return 1;
- }
-
-
- #reset variables
- $error = 0;
- $error_count = 0;
- $line_count = 0;
- @srccode_sequence = ();
- #############
- # line loop #
- #############
- while ($line = <$file_handle>) {
- #trim line
- chomp $line;
- $line =~ s/\s*$//;
-
- #untabify line
- #print STDERR "before: $line\n";
- $Text::Tabs::tabstop = 8;
- $line = Text::Tabs::expand($line);
- #print STDERR "after: $line\n";
-
- #increment line count
- $line_count++;
-
- #printf "ifds: %d %d %d %d\n", ($#$ifdef_stack,
- # $ifdef_stack->[$#$ifdef_stack]->[0],
- # $ifdef_stack->[$#$ifdef_stack]->[1],
- # $ifdef_stack->[$#$ifdef_stack]->[2]);
- #printf "line: %s\n", $line;
- ##############
- # parse line #
- ##############
- for ($line) {
- ################
- # comment line #
- ################
- /$precomp_comment_line/ && do {
- #print " => is comment\n";
- #check ifdef stack
- if ($ifdef_stack->[$#$ifdef_stack]->[0]){
- #store comment line
- push @srccode_sequence, $line;
- }
- last;};
- ##########
- # opcode #
- ##########
- /$precomp_opcode/ && do {
- #print " => is opcode\n";
- #line =~ $precomp_opcode
- $label = $1;
- $opcode = $2;
- $arguments = $3;
- $label =~ s/^\s*//;
- $label =~ s/\s*$//;
- $opcode =~ s/^\s*//;
- $opcode =~ s/\s*$//;
- $arguments =~ s/^\s*//;
- $arguments =~ s/\s*$//;
-
- #printf " ===> \"%s\" \"%s\" \"%s\"\n", $label, $opcode, $arguments;
- #check ifdef stack
- if ($ifdef_stack->[$#$ifdef_stack]->[0]){
- #store source code line
- push @srccode_sequence, $line;
- push @{$self->{code}}, [$line_count, #line count
- \$file, #file name
- [@srccode_sequence], #code sequence
- $label, #label
- $opcode, #opcode
- $arguments, #arguments
- undef, #linear pc
- undef, #paged pc
- undef, #hex code
- undef, #bytes
- 0]; #errors
- #reset code buffer
- @srccode_sequence = ();
-
- #add label to precompiler defines (makes HSW12 behave a little more like AS12)
- if ($label =~ /\S/) {
- $self->{precomp_defs}->{uc($label)} = "";
- }
- }
- last;};
- ##############
- # blanc line #
- ##############
- /$precomp_blanc_line/ && do {
- #print " => is blanc line\n";
- #check ifdef stack
- if ($ifdef_stack->[$#$ifdef_stack]->[0]){
- #store comment line
- #push @srccode_sequence, "";
- }
- last;};
- #########################
- # precompiler directive #
- #########################
- /$precomp_directive/ && do {
- #print " => is precompiler directive\n";
- #line =~ $precomp_directive
- my $directive = $1;
- my $arg1 = $2;
- my $arg2 = $3;
- #printf "\"%s\" \"%s\" \"%s\"\n", $directive, $arg1, $arg2;
-
- for ($directive) {
- ##########
- # define #
- ##########
- /$precomp_define/ && do {
- #print " => define\n";
- #print " $arg1 $arg2\n";
- #check ifdef stack
- if ($ifdef_stack->[$#$ifdef_stack]->[0]){
- #store precompiler define
- $self->{precomp_defs}->{uc($arg1)} = uc($arg2);
- #printf " ==> %s\n", $self->{precomp_defs}->{uc($arg1)};
- }
- last;};
- #########
- # undef #
- #########
- /$precomp_undef/ && do {
- #print " => undef\n";
- #check ifdef stack
- if ($ifdef_stack->[$#$ifdef_stack]->[0]){
- if (exists $self->{precomp_defs}->{uc($arg1)}) {
- delete $self->{precomp_defs}->{uc($arg1)};
- }
- }
- last;};
- #########
- # ifdef #
- #########
- /$precomp_ifdef/ && do {
- #print " => ifdef\n";
- #check ifdef stack
- if ($ifdef_stack->[$#$ifdef_stack]->[0]){
- if (exists $self->{precomp_defs}->{uc($arg1)}) {
- push @$ifdef_stack, [1, 0, 1];
- } else {
- push @$ifdef_stack, [0, 0, 1];
- }
- } else {
- push @$ifdef_stack, [0, 0, 0];
- }
- last;};
- ##########
- # ifndef #
- ##########
- /$precomp_ifndef/ && do {
- #print " => ifndef\n";
- #printf " => %s\n", join(", ", keys %{$self->{precomp_defs}});
- #check ifdef stack
- if ($ifdef_stack->[$#$ifdef_stack]->[0]){
- if (! exists $self->{precomp_defs}->{uc($arg1)}) {
- push @$ifdef_stack, [1, 0, 1];
- } else {
- push @$ifdef_stack, [0, 0, 1];
- }
- } else {
- push @$ifdef_stack, [0, 0, 0];
- }
- last;};
- ########
- # else #
- ########
- /$precomp_else/ && do {
- #print " => else\n";
- #check ifdef stack
- if ($ifdef_stack->[$#$ifdef_stack]->[1]){
- #unexpected "else"
- $error = "unexpected \"#else\" directive";
- #print " => ERROR! $error\n";
- #store source code line
- push @srccode_sequence, $line;
- #store error message
- push @{$self->{code}}, [$line_count, #line count
- \$file, #file name
- [@srccode_sequence], #code sequence
- "", #label
- "", #opcode
- "", #arguments
- undef, #linear pc
- undef, #paged pc
- undef, #hex code
- undef, #bytes
- [$error]]; #errors
- $file_handle->close();
- return ++$error_count;
- } else {
- if ($ifdef_stack->[$#$ifdef_stack]->[2]){
- #set else-flag
- $ifdef_stack->[$#$ifdef_stack]->[1] = 1;
- #invert ifdef-flag
- $ifdef_stack->[$#$ifdef_stack]->[0] = (! $ifdef_stack->[$#$ifdef_stack]->[0]);
- }
- }
- last;};
- #########
- # endif #
- #########
- /$precomp_endif/ && do {
- #print " => endif\n";
- #check ifdef stack
- if ($#$ifdef_stack <= 0){
- #unexpected "else"
- $error = "unexpected \"#endif\" directive";
- #print " => ERROR! $error\n";
- #store source code line
- push @srccode_sequence, $line;
- #store error message
- push @{$self->{code}}, [$line_count, #line count
- \$file, #file name
- [@srccode_sequence], #code sequence
- "", #label
- "", #opcode
- "", #arguments
- undef, #linear pc
- undef, #paged pc
- undef, #hex code
- undef, #bytes
- [$error]]; #errors
- $file_handle->close();
- return ++$error_count;
- } else {
- pop @$ifdef_stack;
- }
- last;};
- ###########
- # include #
- ###########
- /$precomp_include/ && do {
- #print " => include $arg1\n";
- #check ifdef stack
- if ($ifdef_stack->[$#$ifdef_stack]->[0]) {
- #precompile include file
- $value = $self->precompile([$arg1], $library_list, $ifdef_stack);
- if ($value) {
- $file_handle->close();
- return ($value + $error_count);
- }
- }
- last;};
- #################################
- # invalid precompiler directive #
- #################################
- // && do {
- #print " => invalid precompiler directive\n";
- #check ifdef stack
- if ($ifdef_stack->[$#$ifdef_stack]->[0]){
- #unexpected "else"
- $error = "invalid precompiler directive";
- #store source code line
- push @srccode_sequence, $line;
- #store error message
- push @{$self->{code}}, [$line_count, #line count
- \$file, #file name
- [@srccode_sequence], #code sequence
- "", #label
- "", #opcode
- "", #arguments
- undef, #linear pc
- undef, #paged pc
- undef, #hex code
- undef, #bytes
- [$error]]; #errors
- $error_count++;
- @srccode_sequence = ();
- }
- last;};
- }
- last;};
- ##################
- # invalid syntax #
- ##################
- // && do {
- #print " => invalid syntax\n";
- #check ifdef stack
- if ($ifdef_stack->[$#$ifdef_stack]->[0]){
- #unexpected "else"
- $error = "invalid syntax";
- #store source code line
- push @srccode_sequence, $line;
- #store error message
- push @{$self->{code}}, [$line_count, #line count
- \$file, #file name
- [@srccode_sequence], #code sequence
- "", #label
- "", #opcode
- "", #arguments
- undef, #linear pc
- undef, #paged pc
- undef, #hex code
- undef, #bytes
- [$error]]; #errors
- $error_count++;
- @srccode_sequence = ();
- }
- last;};
- }
- }
- }
- $file_handle->close();
- return $error_count;
-}
-
-#######################
-# export_precomp_defs #
-#######################
-sub export_precomp_defs {
- my $self = shift @_;
- my $key;
- my $string;
- my $error;
- my $value;
-
- ###########################
- # precompiler define loop #
- ###########################
- foreach $key (keys %{$self->{precomp_defs}}) {
- $string = $self->{precomp_defs}->{uc($key)};
- #default value
- if (!defined $string) {
- #$string = "1";
- $string = undef;
- } elsif ($string =~ /^\s*$/) {
- #$string = "1";
- $string = undef;
- }
-
- #check if symbol already exists
- if (! exists $self->{comp_symbols}->{uc($key)}) {
-
- if (!defined $string) {
- $error = 0;
- $value = undef;
- } else {
- ($error, $value) = @{$self->evaluate_expression($string, undef, undef, undef)};
- }
- #export define
- $self->{comp_symbols}->{uc($key)} = $value;
- #printf "\"%s\" \"%s\" \"%s\"\n", $key, $string, $value;
- }
- }
-}
-
-###############
-# compile_run #
-###############
-sub compile_run {
- my $self = shift @_;
-
- #code
- my $code_entry;
- my $code_label;
- my $code_opcode;
- my $code_args;
- my $code_pc_lin;
- my $code_pc_pag;
- my $code_hex;
- my $code_byte_cnt;
- #opcode
- my $opcode_entries;
- my $opcode_entry;
- my $opcode_amode_expr;
- my $opcode_amode_check;
- my $opcode_amode_opcode;
- #label
- my %labels;
- my $label_value;
- my $label_ok;
- #program counters
- my $pc_lin;
- my $pc_pag;
- #loc count
- my $loc_cnt;
- #problem counters
- my $error_count;
- my $undef_count;
- my $redef_count;
- #temporary
- my $result;
- my $error;
- my $match;
-
- #######################
- # initialize counters #
- #######################
- $pc_lin = undef;
- $pc_pag = undef;
- $loc_cnt = 0;
- $error_count = 0;
- $undef_count = 0;
- $redef_count = 0;
-
- #####################
- # reset labels hash #
- #####################
- %labels = ();
-
- #####################
- # reset direct page #
- #####################
- $self->{dir_page} = 0;
-
- #############
- # code loop #
- #############
- #print "compile_run:\n";
- foreach $code_entry (@{$self->{code}}) {
- $code_label = $code_entry->[3];
- $code_opcode = $code_entry->[4];
- $code_args = $code_entry->[5];
- $code_pc_lin = $code_entry->[6];
- $code_pc_pag = $code_entry->[7];
- $code_hex = $code_entry->[8];
- $code_byte_cnt = $code_entry->[9];
-
- #print STDERR "error_count = $error_count\n";
- #print STDERR "undef_count = $undef_count\n";
- #printf STDERR "%-8s %-8s %s\n", $code_label, $code_opcode, $code_args;
-
- ########################
- # set program counters #
- ########################
- if (defined $pc_lin) {
- $code_entry->[6] = $pc_lin;
- }
- if (defined $pc_pag) {
- $code_entry->[7] = $pc_pag;
- }
-
- ###################
- # set label_value #
- ###################
- $label_value = $pc_pag;
-
- #####################
- # determine hexcode #
- #####################
- if (exists $self->{opcode_table}->{uc($code_opcode)}) {
- ################
- # valid opcode #
- ################
- $opcode_entries = $self->{opcode_table}->{uc($code_opcode)};
- $match = 0;
- $error = 0;
- $result = 0;
- foreach $opcode_entry (@$opcode_entries) {
- if (!$match && !$error) {
- $opcode_amode_expr = $opcode_entry->[0];
- $opcode_amode_check = $opcode_entry->[1];
- $opcode_amode_opcode = $opcode_entry->[2];
- #check address mode
- #printf STDERR "valid opcode: %s %s (%s)\n", $code_opcode, $code_args, $opcode_amode_opcode;
- if ($code_args =~ $opcode_amode_expr) {
- $error = 0;
- $result = 0;
- #printf STDERR "valid arg format: %s \"%s\" (%s)\n", $code_opcode, $1, $opcode_amode_opcode;
- if (&{$opcode_amode_check}($self,
- [$1,$2,$3,$4,$5,$6,$7,$8],
- $pc_lin, $pc_pag, $loc_cnt,
- \$opcode_entry->[2],
- \$error,
- \$result)) {
- #printf STDERR "valid args: %s (%s)\n", $code_opcode, $opcode_amode_opcode;
- $match = 1;
- if ($error) {
- #syntax error
- $code_entry->[10] = [@{$code_entry->[10]}, $error];
- $error_count++;
- #printf STDERR "ERROR: %s %s %s\n", $code_opcode, $opcode_amode_opcode, $opcode_amode_expr;
- } elsif ($result) {
- #opcode found
- $code_entry->[8] = $result;
- $code_entry->[9] = split " ", $result;
- if (defined $pc_lin) {
- #increment linear PC
- $pc_lin = $pc_lin + $code_entry->[9];
- }
- if (defined $pc_pag) {
- #######################################
- # check if a 16k boundary is chrossed #
- #######################################
- if (($pc_pag >> 14) !=
- (($pc_pag + $code_entry->[9]) >> 14)) {
- $error = sprintf("16k boundary crossed: %.6X -> %.6X", ($pc_pag,
- ($pc_pag + $code_entry->[9])));
- $code_entry->[10] = [@{$code_entry->[10]}, $error];
- $error_count++;
- $pc_lin = undef;
- }
- #increment paged PC
- $pc_pag = $pc_pag + $code_entry->[9];
- if ($result =~ $cmp_no_hexcode) {
- $undef_count++;
- #print "$opcode_hexargs\n";
- }
- } else {
- # undefined PC
- $undef_count++;
- }
- } else {
- #opcode undefined
- #$pc_lin = undef; #Better results if program counter keep an approximate value
- #$pc_pag = undef;
- $undef_count++;
- #printf STDERR "OPCODE UNDEFINED\n";
- }
- }
- }#else {printf STDERR "MISMATCH: \"%s\" \"%s\"\n", $code_args, $opcode_amode_expr;}
- }
- }
- if (!$match) {
- if (!$error) {
- $error = sprintf("invalid address mode for opcode \"%s\" (%s)", (uc($code_opcode),
- $code_args));
- }
- $code_entry->[10] = [@{$code_entry->[10]}, $error];
- $error_count++;
- }
- } elsif (exists $pseudo_opcodes->{uc($code_opcode)}) {
- #######################
- # valid pseudo opcode #
- #######################
- #print "valid pseudo opcode: $code_opcode ($code_entry->[0])\n";
- $pseudo_opcodes->{uc($code_opcode)}($self,
- \$pc_lin,
- \$pc_pag,
- \$loc_cnt,
- \$error_count,
- \$undef_count,
- \$label_value,
- $code_entry);
-
- } elsif ($code_opcode =~ /^\s*$/) {
- ###############
- # plain label #
- ###############
- $code_entry->[8] = "";
- } else {
- ##################
- # invalid opcode #
- ##################
- $error = sprintf("invalid opcode \"%s\"", $code_opcode);
- $code_entry->[10] = [@{$code_entry->[10]}, $error];
- $error_count++;
- $pc_lin = undef;
- $pc_pag = undef;
- #print "$error\n";
- }
-
- #############
- # set label #
- #############
- if ($code_label =~ /\S/) {
-
- #use upper case symbol names
- $code_label = uc($code_label);
- #substitute LOC count
- if ($code_label =~ /^\s*(.+)\`\s*$/) {
- $code_label = uc(sprintf("%s%.4d", $1, $loc_cnt));
- }
-
- #################################
- # check for label redefinitions #
- #################################
- $label_ok = 1;
- if (exists $labels{uc($code_label)}) {
- if (defined $labels{uc($code_label)}) {
- if (defined $label_value) {
- if ($labels{uc($code_label)} != $label_value) {
- $error = sprintf("illegal redefinition of symbol \"%s\" (\$%X -> \$%X)", (uc($code_label),
- $self->{comp_symbols}->{$code_label},
- $label_value));
- $code_entry->[10] = [@{$code_entry->[10]}, $error];
- $error_count++;
- $label_ok = 0;
- }
- }
- }
- } else {
- $labels{uc($code_label)} = $label_value;
- }
-
- if ($label_ok == 1) {
- ###############
- # check label #
- ###############
- if (exists $self->{comp_symbols}->{$code_label}) {
- if (defined $self->{comp_symbols}->{$code_label}) {
- if (defined $label_value) {
- if ($self->{comp_symbols}->{$code_label} != $label_value) {
- ######################
- # label redefinition #
- ######################
- #if ($self->{compile_count} >= 20) {
- # printf STDERR "REDEF: %s %s %s (%s %s)\n", ($code_label,
- # $self->{comp_symbols}->{$code_label},
- # $label_value,
- # ${$code_entry->[1]},
- # $code_entry->[0]);
- #}
- $redef_count++;
- $self->{comp_symbols}->{$code_label} = $label_value;
- }
- } else {
- ######################
- # label redefinition #
- ######################
- #if ($self->{compile_count} >= 20) {
- # printf STDERR "REDEF: %s %s undef (%s %s)\n", ($code_label,
- # $self->{comp_symbols}->{$code_label},
- # ${$code_entry->[1]},
- # $code_entry->[0]);
- #}
- $redef_count++;
- $self->{comp_symbols}->{$code_label} = undef;
- }
- } else {
- ####################
- # label definition #
- ####################
- $self->{comp_symbols}->{$code_label} = $label_value;
- }
- } else {
- ########################
- # new label definition #
- ########################
- $self->{comp_symbols}->{$code_label} = $label_value;
- }
- }
- }
- }
- return [$error_count, $undef_count, $redef_count];
-}
-
-####################
-# set_opcode_table #
-####################
-sub set_opcode_table {
- my $self = shift @_;
- my $cpu = shift @_;
- #print STDERR "CPU: $cpu\n";
-
- for ($cpu) {
- ########
- # HC11 #
- ########
- /$cpu_hc11/ && do {
- $self->{opcode_table} = $opctab_hc11;
- return 0; last;};
- ############
- # HC12/S12 #
- ############
- /$cpu_s12/ && do {
- $self->{opcode_table} = $opctab_s12;
- return 0; last;};
- ########
- # S12X #
- ########
- /$cpu_s12x/ && do {
- $self->{opcode_table} = $opctab_s12x;
- return 0; last;};
- #########
- # XGATE #
- #########
- /$cpu_xgate/ && do {
- $self->{opcode_table} = $opctab_xgate;
- return 0; last;};
- ###############
- # DEFAULT CPU #
- ###############
- $self->{opcode_table} = $opctab_s12;
- return sprintf "invalid CPU \"%s\". Using S12 opcode map instead.", $cpu;
- }
-}
-
-#######################
-# evaluate_expression #
-#######################
-sub evaluate_expression {
- my $self = shift @_;
- my $expr = shift @_;
- my $pc_lin = shift @_;
- my $pc_pag = shift @_;
- my $loc_cnt = shift @_;
-
- #terminal
- my $complement;
- my $string;
- #binery conversion
- my $binery_value;
- my $binery_char;
- #ascii conversion
- my $ascii_value;
- my $ascii_char;
- #symbol lookup
- my $symbol_name;
- #formula
- my $formula;
- my $formula_left;
- my $formula_middle;
- my $formula_right;
- my $formula_resolved_left;
- my $formula_resolved_middle;
- my $formula_resolved_right;
- my $formula_error;
- #printf "expr = \"%s\"\n", $expr;
-
- if (defined $expr) {
- #trim expression
- #$expr =~ s/^\s*//;
- #$expr =~ s/\s*$//;
-
- for ($expr) {
- #################
- # binary number #
- #################
- /$op_binery/ && do {
- $complement = $1;
- $string = $2;
- #printf "terminal bin: \"%s\" \"%s\"\n", $complement, $string;
- $binery_value = 0;
- foreach $binery_char (split //, $string) {
- if ($binery_char =~ /^[01]$/) {
- $binery_value = $binery_value << 1;
- if ($binery_char ne "0") {
- $binery_value++;
- }
- }
- }
- for ($complement) {
- /^~$/ && do {
- #1's complement
- return [0, (~$binery_value)];
- last;};
- /^\-$/ && do {
- #2's complement
- return [0, ($binery_value * -1)];
- last;};
- /^\s*$/ && do {
- #no complement
- return [0, $binery_value];
- last;};
- #syntax error
- return [sprintf("wrong syntax \"%s%s\"", $complement, $string), undef];
- }
- last;};
- ##################
- # decimal number #
- ##################
- /$op_dec/ && do {
- $complement = $1;
- $string = $2;
- $string =~ s/_//g;
- #printf "terminal dec: \"%s\" \"%s\"\n", $complement, $string;
- for ($complement) {
- /^~$/ && do {
- #1's complement
- return [0, (~(int(sprintf("%d", $string))))];
- last;};
- /^\-$/ && do {
- #2's complement
- return [0, (int(sprintf("%d", $string)) * (-1))];
- last;};
- /^\s*$/ && do {
- #no complement
- return [0, int(sprintf("%d", $string))];
- last;};
- #syntax error
- return [sprintf("wrong syntax \"%s%s\"", $complement, $string), undef];
- }
- last;};
- ######################
- # hexadecimal number #
- ######################
- /$op_hex/ && do {
- $complement = $1;
- $string = $2;
- $string =~ s/_//g;
- #printf "terminal hex: \"%s\" \"%s\"\n", $complement, $string;
- for ($complement) {
- /^~$/ && do {
- #1's complement
- return [0, (~(hex($string)))];
- last;};
- /^\-$/ && do {
- #2's complement
- return [0, (hex($string) * (-1))];
- last;};
- /^\s*$/ && do {
- #no complement
- return [0, hex($string)];
- last;};
- #syntax error
- return [sprintf("wrong syntax \"%s%s\"", $complement, $string), undef];
- }
- last;};
- ###################
- # ASCII character #
- ###################
- /$op_ascii/ && do {
- $complement = $1;
- $string = $2;
- #printf "terminal ascii: \"%s\" \"%s\"\n", $complement, $string;
-
- #replace escaped characters
- $string =~ s/\\,/,/g; #escaped commas
- #$string =~ s/\\\ /\ /g; #escaped spaces
- #$string =~ s/\\\t/\t/g; #escaped tabss
-
- $ascii_value = 0;
- foreach $ascii_char (split //, $string) {
- $ascii_value = $ascii_value << 8;
- $ascii_value = $ascii_value | ord($ascii_char);
- }
- for ($complement) {
- /^~$/ && do {
- #1's complement
- return [0, (~$ascii_value)];
- last;};
- /^\-$/ && do {
- #2's complement
- return [0, ($ascii_value * (-1))];
- last;};
- /^\s*$/ && do {
- #no complement
- return [0, $ascii_value];
- last;};
- #syntax error
- return [sprintf("wrong syntax \"%s%s\"", $complement, $string), undef];
- }
- last;};
- ####################
- # current linear PC #
- ####################
- /$op_curr_lin_pc/ && do {
- $complement = $1;
- #printf "terminal addr: \"%s\" \"%s\"\n", $complement, $comp_pc_paged;
- for ($complement) {
- /^~$/ && do {
- #1's complement
- return [0, (~$pc_lin)];
- last;};
- /^\-$/ && do {
- #2's complement
- return [0, ($pc_lin * (-1))];
- last;};
- /^\s*$/ && do {
- #no complement
- return [0, $pc_lin];
- last;};
- #syntax error
- return [sprintf("wrong syntax \"%s%s\"", $complement, $string), undef];
- }
- last;};
- ####################
- # current paged PC #
- ####################
- /$op_curr_pag_pc/ && do {
- $complement = $1;
- #printf "terminal addr: \"%s\" \"%s\"\n", $complement, $comp_pc_paged;
- for ($complement) {
- /^~$/ && do {
- #1's complement
- return [0, (~$pc_pag)];
- last;};
- /^\-$/ && do {
- #2's complement
- return [0, ($pc_pag * (-1))];
- last;};
- /^\s*$/ && do {
- #no complement
- return [0, $pc_pag];
- last;};
- #syntax error
- return [sprintf("wrong syntax \"%s%s\"", $complement, $string), undef];
- }
- last;};
- ###################
- # compiler symbol #
- ###################
- /$op_symbol/ && do {
- $complement = $1;
- $string = uc($2);
- ########################
- # substitute loc count #
- ########################
- #substitute LOC count
- if ($string =~ /^\s*(.+)\`\s*$/) {
- #if ($string =~ /^\s*(.*)\`\s*$/) {
- $string = sprintf("%s%.4d", $1, $loc_cnt);
- }
- #printf "terminal symb: \"%s\" \"%s\"\n", $complement, $string;
- if ($string !~ $op_keywords) {
- if (exists $self->{comp_symbols}->{uc($string)}) {
- if (defined $self->{comp_symbols}->{uc($string)}) {
- #printf STDERR "symbol: \"%s\" \"%s\"\n", uc($string), $self->{comp_symbols}->{uc($string)};
-
- for ($complement) {
- /^~$/ && do {
- #1's complement
- return [0, (~$self->{comp_symbols}->{uc($string)})];
- last;};
- /^\-$/ && do {
- #2's complement
- return [0, ($self->{comp_symbols}->{uc($string)} * (-1))];
- last;};
- /^\s*$/ && do {
- #no complement
- return [0, $self->{comp_symbols}->{uc($string)}];
- last;};
- #syntax error
- return [sprintf("wrong syntax \"%s%s\"", $complement, $string), undef];
- }
- } else {
- return [0, undef];
- }
- } elsif (! exists $self->{compile_count}) {
- return [sprintf("unknown symbol \"%s\"", $string), undef];
- } elsif ($self->{compile_count} > 1) {
- return [sprintf("unknown symbol \"%s\"", $string), undef];
- } else {
- return [0, undef];
- }
- } else {
- return [sprintf("invalid use of keyword \"%s\"", $string), undef];
- }
- last;};
- ###############
- # parenthesis #
- ###############
- /$op_formula_pars/ && do {
- $formula_left = $1;
- $formula_middle = $2;
- $formula_right = $3;
- ($formula_error, $formula_resolved_middle) = @{$self->evaluate_expression($formula_middle, $pc_lin, $pc_pag, $loc_cnt)};
- if ($formula_error) {
- return [$formula_error, undef];
- } elsif (! defined $formula_resolved_middle) {
- return [0, undef];
- } else {
- $formula = sprintf("%s%d%s", ($formula_left,
- $formula_resolved_middle,
- $formula_right));
-
- return $self->evaluate_expression($formula, $pc_lin, $pc_pag, $loc_cnt);
- }
- last;};
- #############################
- # double negation/invertion #
- #############################
- /$op_formula_complement/ && do {
- $complement = $1;
- $formula_right = $2;
- ($formula_error, $formula_resolved_right) = @{$self->evaluate_expression($formula_right, $pc_lin, $pc_pag, $loc_cnt)};
- if ($formula_error) {
- return [$formula_error, undef];
- } elsif (! defined $formula_resolved_right) {
- return [0, undef];
- } else {
- for ($complement) {
- /^~$/ && do {
- #1's complement
- return [0, (~$formula_resolved_right)];
- last;};
- /^\-$/ && do {
- #2's complement
- return [0, ($formula_resolved_right * (-1))];
- last;};
- #syntax error
- return [sprintf("wrong syntax \"%s%s\"", $complement, $formula_right), undef];
- }
- }
- last;};
- #######
- # and #
- #######
- /$op_formula_and/ && do {
- $formula_left = $1;
- $formula_right = $2;
- #printf "resolve ANDs: \"%s\" \"%s\"\n", $formula_left, $formula_right;
-
- #evaluate left formula
- ($formula_error, $formula_resolved_left) = @{$self->evaluate_expression($formula_left, $pc_lin, $pc_pag, $loc_cnt)};
- if ($formula_error) {
- return [$formula_error, undef];
- } elsif (! defined $formula_resolved_left) {
- return [0, undef];
- } else {
- #evaluate right formula
- ($formula_error, $formula_resolved_right) = @{$self->evaluate_expression($formula_right, $pc_lin, $pc_pag, $loc_cnt)};
- if ($formula_error) {
- return [$formula_error, undef];
- } elsif (! defined $formula_resolved_right) {
- return [0, undef];
- } else {
- return [0, ($formula_resolved_left & $formula_resolved_right)];
- }
- }
- last;};
- ######
- # or #
- ######
- /$op_formula_or/ && do {
- $formula_left = $1;
- $formula_right = $2;
- #printf "resolve ORs: \"%s\" \"%s\"\n", $formula_left, $formula_right;
-
- #evaluate left formula
- ($formula_error, $formula_resolved_left) = @{$self->evaluate_expression($formula_left, $pc_lin, $pc_pag, $loc_cnt)};
- if ($formula_error) {
- return [$formula_error, undef];
- } elsif (! defined $formula_resolved_left) {
- return [0, undef];
- } else {
- #evaluate right formula
- ($formula_error, $formula_resolved_right) = @{$self->evaluate_expression($formula_right, $pc_lin, $pc_pag, $loc_cnt)};
- if ($formula_error) {
- return [$formula_error, undef];
- } elsif (! defined $formula_resolved_right) {
- return [0, undef];
- } else {
- return [0, ($formula_resolved_left | $formula_resolved_right)];
- }
- }
- last;};
- ########
- # exor #
- ########
- /$op_formula_exor/ && do {
- $formula_left = $1;
- $formula_right = $2;
- #printf "resolve EXORs: \"%s\" \"%s\"\n", $formula_left, $formula_right;
-
- #evaluate left formula
- ($formula_error, $formula_resolved_left) = @{$self->evaluate_expression($formula_left, $pc_lin, $pc_pag, $loc_cnt)};
- if ($formula_error) {
- return [$formula_error, undef];
- } elsif (! defined $formula_resolved_left) {
- return [0, undef];
- } else {
- #evaluate right formula
- ($formula_error, $formula_resolved_right) = @{$self->evaluate_expression($formula_right, $pc_lin, $pc_pag, $loc_cnt)};
- if ($formula_error) {
- return [$formula_error, undef];
- } elsif (! defined $formula_resolved_right) {
- return [0, undef];
- } else {
- return [0, ($formula_resolved_left ^ $formula_resolved_right)];
- }
- }
- last;};
- ##############
- # rightshift #
- ##############
- /$op_formula_rightshift/ && do {
- $formula_left = $1;
- $formula_right = $2;
- #printf "resolve RIGHTSHIFTSs: \"%s\" \"%s\"\n", $formula_left, $formula_right;
-
- #evaluate left formula
- ($formula_error, $formula_resolved_left) = @{$self->evaluate_expression($formula_left, $pc_lin, $pc_pag, $loc_cnt)};
- if ($formula_error) {
- return [$formula_error, undef];
- } elsif (! defined $formula_resolved_left) {
- return [0, undef];
- } else {
- #evaluate right formula
- ($formula_error, $formula_resolved_right) = @{$self->evaluate_expression($formula_right, $pc_lin, $pc_pag, $loc_cnt)};
- if ($formula_error) {
- return [$formula_error, undef];
- } elsif (! defined $formula_resolved_right) {
- return [0, undef];
- } else {
- return [0, ($formula_resolved_left >> $formula_resolved_right)];
- }
- }
- last;};
- #############
- # leftshift #
- #############
- /$op_formula_leftshift/ && do {
- $formula_left = $1;
- $formula_right = $2;
- #printf "resolve LEFTSHIFTs: \"%s\" \"%s\"\n", $formula_left, $formula_right;
-
- #evaluate left formula
- ($formula_error, $formula_resolved_left) = @{$self->evaluate_expression($formula_left, $pc_lin, $pc_pag, $loc_cnt)};
- if ($formula_error) {
- return [$formula_error, undef];
- } elsif (! defined $formula_resolved_left) {
- return [0, undef];
- } else {
- #evaluate right formula
- ($formula_error, $formula_resolved_right) = @{$self->evaluate_expression($formula_right, $pc_lin, $pc_pag, $loc_cnt)};
- if ($formula_error) {
- return [$formula_error, undef];
- } elsif (! defined $formula_resolved_right) {
- return [0, undef];
- } else {
- return [0, ($formula_resolved_left << $formula_resolved_right)];
- }
- }
- last;};
- ##################
- # multiplication #
- ##################
- /$op_formula_mul/ && do {
- $formula_left = $1;
- $formula_right = $2;
- #printf "resolve MULs: \"%s\" \"%s\"\n", $formula_left, $formula_right;
-
- #evaluate left formula
- ($formula_error, $formula_resolved_left) = @{$self->evaluate_expression($formula_left, $pc_lin, $pc_pag, $loc_cnt)};
- if ($formula_error) {
- return [$formula_error, undef];
- } elsif (! defined $formula_resolved_left) {
- return [0, undef];
- } else {
- #evaluate right formula
- ($formula_error, $formula_resolved_right) = @{$self->evaluate_expression($formula_right, $pc_lin, $pc_pag, $loc_cnt)};
- if ($formula_error) {
- return [$formula_error, undef];
- } elsif (! defined $formula_resolved_right) {
- return [0, undef];
- } else {
- return [0, ($formula_resolved_left * $formula_resolved_right)];
- }
- }
- last;};
- ############
- # division #
- ############
- /$op_formula_div/ && do {
- $formula_left = $1;
- $formula_right = $2;
- #printf "resolve DIVs: \"%s\" \"%s\"\n", $formula_left, $formula_right;
-
- #evaluate left formula
- ($formula_error, $formula_resolved_left) = @{$self->evaluate_expression($formula_left, $pc_lin, $pc_pag, $loc_cnt)};
- if ($formula_error) {
- return [$formula_error, undef];
- } elsif (! defined $formula_resolved_left) {
- return [0, undef];
- } else {
- #evaluate right formula
- ($formula_error, $formula_resolved_right) = @{$self->evaluate_expression($formula_right, $pc_lin, $pc_pag, $loc_cnt)};
- if ($formula_error) {
- return [$formula_error, undef];
- } elsif (! defined $formula_resolved_right) {
- return [0, undef];
- } else {
- return [0, int($formula_resolved_left / $formula_resolved_right)];
- }
- }
- last;};
- ###########
- # modulus #
- ###########
- /$op_formula_mod/ && do {
- $formula_left = $1;
- $formula_right = $2;
- #printf "resolve MODs: \"%s\" \"%s\"\n", $formula_left, $formula_right;
-
- #evaluate left formula
- ($formula_error, $formula_resolved_left) = @{$self->evaluate_expression($formula_left, $pc_lin, $pc_pag, $loc_cnt)};
- if ($formula_error) {
- return [$formula_error, undef];
- } elsif (! defined $formula_resolved_left) {
- return [0, undef];
- } else {
- #evaluate right formula
- ($formula_error, $formula_resolved_right) = @{$self->evaluate_expression($formula_right, $pc_lin, $pc_pag, $loc_cnt)};
- if ($formula_error) {
- return [$formula_error, undef];
- } elsif (! defined $formula_resolved_right) {
- return [0, undef];
- } else {
- return [0, ($formula_resolved_left % $formula_resolved_right)];
- }
- }
- last;};
- ########
- # plus #
- ########
- /$op_formula_plus/ && do {
- $formula_left = $1;
- $formula_right = $2;
- #printf "resolve PLUSes: \"%s\" \"%s\"\n", $formula_left, $formula_right;
-
- #evaluate left formula
- ($formula_error, $formula_resolved_left) = @{$self->evaluate_expression($formula_left, $pc_lin, $pc_pag, $loc_cnt)};
- if ($formula_error) {
- return [$formula_error, undef];
- } elsif (! defined $formula_resolved_left) {
- return [0, undef];
- } else {
- #evaluate right formula
- ($formula_error, $formula_resolved_right) = @{$self->evaluate_expression($formula_right, $pc_lin, $pc_pag, $loc_cnt)};
- if ($formula_error) {
- return [$formula_error, undef];
- } elsif (! defined $formula_resolved_right) {
- return [0, undef];
- } else {
- return [0, ($formula_resolved_left + $formula_resolved_right)];
- }
- }
- last;};
- #########
- # minus #
- #########
- /$op_formula_minus/ && do {
- $formula_left = $1;
- $formula_right = $2;
- #printf "resolve MINUSes: \"%s\" \"%s\"\n", $formula_left, $formula_right;
-
- #evaluate left formula
- ($formula_error, $formula_resolved_left) = @{$self->evaluate_expression($formula_left, $pc_lin, $pc_pag, $loc_cnt)};
- if ($formula_error) {
- return [$formula_error, undef];
- } elsif (! defined $formula_resolved_left) {
- return [0, undef];
- } else {
- #evaluate right formula
- ($formula_error, $formula_resolved_right) = @{$self->evaluate_expression($formula_right, $pc_lin, $pc_pag, $loc_cnt)};
- if ($formula_error) {
- return [$formula_error, undef];
- } elsif (! defined $formula_resolved_right) {
- return [0, undef];
- } else {
- return [0, ($formula_resolved_left - $formula_resolved_right)];
- }
- }
- last;};
- ##############
- # whitespace #
- ##############
- /$op_whitespace/ && do {
- return [0, undef];
- last;};
- ##################
- # unknown syntax #
- ##################
- return [sprintf("wrong syntax \"%s\"", $expr), undef];
- #return [sprintf("wrong syntax", $expr), undef];
- }
- } else {
- return [0, undef];
- }
- return [0, undef];
-}
-
-########################
-# determine_addrspaces #
-########################
-sub determine_addrspaces {
- my $self = shift @_;
-
- #code
- my $code_pc_lin;
- my $code_pc_pag;
- #data
- my $address;
- my $byte;
-
- ########################
- # reset address spaces #
- ########################
- $self->{lin_addrspace} = {};
- $self->{pag_addrspace} = {};
-
- #############
- # code loop #
- #############
- #print "compile_run:\n";
- foreach $code_entry (@{$self->{code}}) {
- $code_pc_lin = $code_entry->[6];
- $code_pc_pag = $code_entry->[7];
- $code_hex = $code_entry->[8];
-
- ########################
- # linear address space #
- ########################
- if (defined $code_pc_lin) {
- $address = $code_pc_lin;
- if (($code_hex !~ /$cmp_no_hexcode/) &&
- ($code_hex !~ /^\s*$/)) {
- foreach $byte (split /\s+/, $code_hex) {
- $self->{lin_addrspace}->{$address} = [hex($byte),
- $code_entry];
- $address++;
- }
- }
- }
-
- #######################
- # paged address space #
- #######################
- if (defined $code_pc_pag) {
- $address = $code_pc_pag;
- if (($code_hex !~ /$cmp_no_hexcode/) &&
- ($code_hex !~ /^\s*$/)) {
- foreach $byte (split /\s+/, $code_hex) {
- $self->{pag_addrspace}->{$address} = [hex($byte),
- $code_entry];
- $address++;
- }
- }
- }
- }
-}
-
-###########
-# outputs #
-###########
-#################
-# print_listing #
-#################
-sub print_listing {
- my $self = shift @_;
-
- #code
- my $code_entry;
- my $code_file;
- my $code_line;
- my $code_comments;
- my $code_pc_lin;
- my $code_pc_pag;
- my $code_hex;
- my $code_errors;
- my $code_error;
- my $code_pc_lin_string;
- my $code_pc_pag_string;
- my @code_hex_bytes;
- my @code_hex_strings;
- my $code_hex_string;
- #comments
- my @cmt_lines;
- my $cmt_line;
- my $cmt_last_line;
- #output
- my $out_string;
-
- ############################
- # initialize output string #
- ############################
- $out_string = "";
-
- #############
- # code loop #
- #############
- foreach $code_entry (@{$self->{code}}) {
-
- $code_line = $code_entry->[0];
- $code_file = $code_entry->[1];
- $code_comments = $code_entry->[2];
- $code_pc_lin = $code_entry->[6];
- $code_pc_pag = $code_entry->[7];
- $code_hex = $code_entry->[8];
- $code_errors = $code_entry->[10];
-
- #convert integers to strings
- if (defined $code_pc_lin) {
- $code_pc_lin_string = sprintf("%.6X", $code_pc_lin);
- } else {
- #$code_pc_lin_string = "??????";
- $code_pc_lin_string = " ";
-
- }
- if (defined $code_pc_pag) {
- $code_pc_pag_string = sprintf("%.6X", $code_pc_pag);
- } else {
- $code_pc_pag_string = "??????";
- }
-
- if (defined $code_hex) {
- for ($code_hex) {
- ##################################
- # whitespaces instead of hexcode #
- ##################################
- /^\s*$/ && do {
- @code_hex_strings = ("");
- last;};
- #############################
- # string instead of hexcode #
- #############################
- /$cmp_no_hexcode/ && do {
- @code_hex_strings = ($1);
- last;};
- ###########
- # hexcode #
- ###########
- @code_hex_strings = ();
- @code_hex_bytes = split /\s+/, $code_hex;
- while ($#code_hex_bytes >= 0) {
- $code_hex_string = "";
- if ($#code_hex_bytes >= 0) {$code_hex_string = sprintf("%s %s", ($code_hex_string,
- (shift @code_hex_bytes)));}
- if ($#code_hex_bytes >= 0) {$code_hex_string = sprintf("%s %s", ($code_hex_string,
- (shift @code_hex_bytes)));}
- if ($#code_hex_bytes >= 0) {$code_hex_string = sprintf("%s %s", ($code_hex_string,
- (shift @code_hex_bytes)));}
- if ($#code_hex_bytes >= 0) {$code_hex_string = sprintf("%s %s", ($code_hex_string,
- (shift @code_hex_bytes)));}
- if ($#code_hex_bytes >= 0) {$code_hex_string = sprintf("%s %s", ($code_hex_string,
- (shift @code_hex_bytes)));}
- if ($#code_hex_bytes >= 0) {$code_hex_string = sprintf("%s %s", ($code_hex_string,
- (shift @code_hex_bytes)));}
- if ($#code_hex_bytes >= 0) {$code_hex_string = sprintf("%s %s", ($code_hex_string,
- (shift @code_hex_bytes)));}
- if ($#code_hex_bytes >= 0) {$code_hex_string = sprintf("%s %s", ($code_hex_string,
- (shift @code_hex_bytes)));}
- #trim string
- $code_hex_string =~ s/^\s*//;
- $code_hex_string =~ s/\s*$//;
- push @code_hex_strings, $code_hex_string;
- }
- }
- } else {
- @code_hex_strings = ("??");
- }
-
- ##################
- # print comments #
- ##################
- @cmt_lines = @$code_comments;
- $cmt_last_line = pop @cmt_lines;
- foreach $cmt_line (@cmt_lines) {
- $out_string .= sprintf("%-6s %-6s %-23s %ls\n", "", "", "", $cmt_line);
- }
-
- ###################
- # print code line #
- ###################
- $out_string .= sprintf("%-6s %-6s %-23s %ls\n", ($code_pc_pag_string,
- $code_pc_lin_string,
- shift @code_hex_strings,
- $cmt_last_line));
-
- ##############################
- # print additional hex bytes #
- ##############################
- foreach $code_hex_string (@code_hex_strings) {
- $out_string .= sprintf("%-6s %-6s %-23s %ls\n", "", "", $code_hex_string, "");
- }
-
- ################
- # print errors #
- ################
- foreach $code_error (@$code_errors) {
- $out_string .= sprintf("%-6s %-6s %-23s ERROR! %s (%s, line: %d)\n", ("", "", "",
- $code_error,
- $$code_file,
- $code_line));
- }
- }
- return $out_string;
-}
-
-##################
-# print_lin_srec #
-##################
-sub print_lin_srec {
- my $self = shift @_;
- my $string = shift @_;
- my $srec_format = shift @_;
- my $srec_data_length = shift @_;
- my $srec_add_s5 = shift @_;
- my $srec_word_entries = shift @_;
-
- #S-records
- my $srec_count;
- my @srec_bytes;
- my $srec_address;
- #memoryspace
- my $mem_addr;
- my $mem_entry;
- my $mem_byte;
- #output
- my $out_string;
-
- ############################
- # initialize output string #
- ############################
- $out_string = "";
-
- ################
- # print header #
- ################
- $out_string .= sprintf("%s", $self->gen_header_srec($string, $srec_data_length));
-
- ################
- # address loop #
- ################
- $srec_count = 0;
- @srec_bytes = ();
- foreach $mem_addr (sort {$a <=> $b} keys %{$self->{lin_addrspace}}) {
- $mem_entry = $self->{lin_addrspace}->{$mem_addr};
- $mem_byte = $mem_entry->[0];
-
-
- #printf STDERR "address: %X\n", $mem_addr;
- if ($#srec_bytes < 0) {
- ##########################
- # new group of S-records #
- ##########################
- #print STDERR "new S-Record\n";
- if ($srec_word_entries && ($mem_addr & 1)) {
- ######################################
- # odd start address => add fill byte #
- ######################################
- #print STDERR " => odd start address!\n";
- $srec_address = $mem_addr - 1;
- push @srec_bytes, $srec_def_fill_byte;
- push @srec_bytes, $mem_byte;
- } else {
- ######################
- # even start address #
- ######################
- #print STDERR " => even start address!\n";
- $srec_address = $mem_addr;
- push @srec_bytes, $mem_byte;
- }
- } elsif ($mem_addr == ($srec_address + $#srec_bytes + 1)) {
- #######################################
- # add data byte to group of S-records #
- #######################################
- #printf STDERR " => add byte (%X %X)\n", $srec_address, ($#srec_bytes + 1);
- push @srec_bytes, $mem_byte;
- } elsif ($srec_word_entries &&
- ($mem_addr == ($srec_address + $#srec_bytes + 2))) {
- ####################################################
- # add one fill byte and data to group of S-records #
- ####################################################
- #printf STDERR " => add 1 fill byte (%X %X)\n", $srec_address, ($#srec_bytes + 1);
- push @srec_bytes, $srec_def_fill_byte;
- push @srec_bytes, $mem_byte;
- } elsif ($srec_word_entries &&
- ($mem_addr & 1) &&
- ($mem_addr == ($srec_address + $#srec_bytes + 3))) {
- #####################################################
- # add two fill bytes and data to group of S-records #
- #####################################################
- #printf STDERR " => add 2 fill bytes (%X %X)\n", $srec_address, ($#srec_bytes + 1);
- push @srec_bytes, $srec_def_fill_byte;
- push @srec_bytes, $srec_def_fill_byte;
- push @srec_bytes, $mem_byte;
- } else {
- ############################
- # print group of S-records #
- ############################
- if ($srec_word_entries && (($#srec_bytes + 1) & 1)) {
- ############################################
- # add fill byte at the end of the S-Record #
- ############################################
- #printf STDERR " => add ending fill bytes (%X)\n", ($#srec_bytes + 1);
- push @srec_bytes, $srec_def_fill_byte;
- }
- while ($#srec_bytes >= 0) {
- if (($#srec_bytes + 1) <= $srec_data_length) {
- $out_string .= sprintf("%s\n", $self->gen_data_srec($srec_address,
- \@srec_bytes,
- $srec_format));
- @srec_bytes = ();
- } else {
- $out_string .= sprintf("%s\n", $self->gen_data_srec($srec_address,
- [splice(@srec_bytes, 0,
- $srec_data_length)],
- $srec_format));
- $srec_address = $srec_address + $srec_data_length;
- }
- $srec_count++;
- if (($srec_add_s5 > 0) &&
- ($srec_add_s5 <= $srec_count)) {
- $out_string .= sprintf("%s\n", $self->gen_s5rec($srec_count));
- $srec_count = 0;
- }
- }
- ##########################
- # new group of S-records #
- ##########################
- #print STDERR "next S-Record\n";
- if ($srec_word_entries && ($mem_addr & 1)) {
- ######################################
- # odd start address => add fill byte #
- ######################################
- #print STDERR " => odd start address!\n";
- $srec_address = $mem_addr - 1;
- push @srec_bytes, $srec_def_fill_byte;
- push @srec_bytes, $mem_byte;
- } else {
- ######################
- # even start address #
- ######################
- #print STDERR " => even start address!\n";
- $srec_address = $mem_addr;
- push @srec_bytes, $mem_byte;
- }
- }
- }
- #############################
- # print remaining S-records #
- #############################
- if ($srec_word_entries && (($#srec_bytes + 1) & 1)) {
- ############################################
- # add fill byte at the end of the S-Record #
- ############################################
- #printf STDERR " => add ending fill bytes (%X)\n", ($#srec_bytes + 1);
- push @srec_bytes, $srec_def_fill_byte;
- }
- while ($#srec_bytes >= 0) {
- if (($#srec_bytes + 1) <= $srec_data_length) {
- $out_string .= sprintf("%s\n", $self->gen_data_srec($srec_address,
- \@srec_bytes,
- $srec_format));
- @srec_bytes = ();
- } else {
- $out_string .= sprintf("%s\n", $self->gen_data_srec($srec_address,
- [splice(@srec_bytes, 0,
- $srec_data_length)],
- $srec_format));
- $srec_address = $srec_address + $srec_data_length;
- }
- $srec_count++;
- if (($srec_add_s5 > 0) &&
- ($srec_add_s5 <= $srec_count)) {
- $out_string .= sprintf("%s\n", $self->gen_s5rec($srec_count));
- $srec_count = 0;
- }
- }
- ####################################
- # print S5 for remaining S-records #
- ####################################
- if (($srec_add_s5 > 0) &&
- ($srec_count > 0)) {
- $out_string .= sprintf("%s\n", $self->gen_s5rec($srec_count));
- }
-
- ################
- # print ending #
- ################
- $out_string .= sprintf("%s\n", $self->gen_end_srec($srec_format));
- return $out_string;
-}
-
-##################
-# print_pag_srec #
-##################
-sub print_pag_srec {
- my $self = shift @_;
- my $string = shift @_;
- my $srec_format = shift @_;
- my $srec_data_length = shift @_;
- my $srec_add_s5 = shift @_;
- my $srec_word_entries = shift @_;
-
- #S-records
- my $srec_count;
- my @srec_bytes;
- my $srec_address;
- #memoryspace
- my $mem_addr;
- my $mem_entry;
- my $mem_byte;
- #output
- my $out_string;
-
- ############################
- # initialize output string #
- ############################
- $out_string = "";
-
- ################
- # print header #
- ################
- $out_string .= sprintf("%s", $self->gen_header_srec($string, $srec_data_length));
-
- ################
- # address loop #
- ################
- $srec_count = 0;
- @srec_bytes = ();
- foreach $mem_addr (sort {$a <=> $b} keys %{$self->{pag_addrspace}}) {
- $mem_entry = $self->{pag_addrspace}->{$mem_addr};
- $mem_byte = $mem_entry->[0];
-
- #printf STDERR "address: %X\n", $mem_addr;
- if ($#srec_bytes < 0) {
- ##########################
- # new group of S-records #
- ##########################
- #print STDERR "new S-Record\n";
- if ($srec_word_entries && ($mem_addr & 1)) {
- ######################################
- # odd start address => add fill byte #
- ######################################
- #print STDERR " => odd start address!\n";
- $srec_address = $mem_addr - 1;
- push @srec_bytes, $srec_def_fill_byte;
- push @srec_bytes, $mem_byte;
- } else {
- ######################
- # even start address #
- ######################
- #print STDERR " => even start address!\n";
- $srec_address = $mem_addr;
- push @srec_bytes, $mem_byte;
- }
- } elsif ($mem_addr == ($srec_address + $#srec_bytes + 1)) {
- #######################################
- # add data byte to group of S-records #
- #######################################
- #printf STDERR " => add byte (%X %X)\n", $srec_address, ($#srec_bytes + 1);
- push @srec_bytes, $mem_byte;
- } elsif ($srec_word_entries &&
- ($mem_addr == ($srec_address + $#srec_bytes + 2))) {
- ####################################################
- # add one fill byte and data to group of S-records #
- ####################################################
- #printf STDERR " => add 1 fill byte (%X %X)\n", $srec_address, ($#srec_bytes + 1);
- push @srec_bytes, $srec_def_fill_byte;
- push @srec_bytes, $mem_byte;
- } elsif ($srec_word_entries &&
- ($mem_addr & 1) &&
- ($mem_addr == ($srec_address + $#srec_bytes + 3))) {
- #####################################################
- # add two fill bytes and data to group of S-records #
- #####################################################
- #printf STDERR " => add 2 fill bytes (%X %X)\n", $srec_address, ($#srec_bytes + 1);
- push @srec_bytes, $srec_def_fill_byte;
- push @srec_bytes, $srec_def_fill_byte;
- push @srec_bytes, $mem_byte;
- } else {
- ############################
- # print group of S-records #
- ############################
- if ($srec_word_entries && (($#srec_bytes + 1) & 1)) {
- ############################################
- # add fill byte at the end of the S-Record #
- ############################################
- #printf STDERR " => add ending fill bytes (%X)\n", ($#srec_bytes + 1);
- push @srec_bytes, $srec_def_fill_byte;
- }
- while ($#srec_bytes >= 0) {
- if (($#srec_bytes + 1) <= $srec_data_length) {
- $out_string .= sprintf("%s\n", $self->gen_data_srec($srec_address,
- \@srec_bytes,
- $srec_format));
- @srec_bytes = ();
- } else {
- $out_string .= sprintf("%s\n", $self->gen_data_srec($srec_address,
- [splice(@srec_bytes, 0,
- $srec_data_length)],
- $srec_format));
- $srec_address = $srec_address + $srec_data_length;
- }
- $srec_count++;
- if (($srec_add_s5 > 0) &&
- ($srec_add_s5 <= $srec_count)) {
- $out_string .= sprintf("%s\n", $self->gen_s5rec($srec_count));
- $srec_count = 0;
- }
- }
- ##########################
- # new group of S-records #
- ##########################
- #print STDERR "next S-Record\n";
- if ($srec_word_entries && ($mem_addr & 1)) {
- ######################################
- # odd start address => add fill byte #
- ######################################
- #print STDERR " => odd start address!\n";
- $srec_address = $mem_addr - 1;
- push @srec_bytes, $srec_def_fill_byte;
- push @srec_bytes, $mem_byte;
- } else {
- ######################
- # even start address #
- ######################
- #print STDERR " => even start address!\n";
- $srec_address = $mem_addr;
- push @srec_bytes, $mem_byte;
- }
- }
- }
- #############################
- # print remaining S-records #
- #############################
- if ($srec_word_entries && (($#srec_bytes + 1) & 1)) {
- ############################################
- # add fill byte at the end of the S-Record #
- ############################################
- #printf STDERR " => add ending fill bytes (%X)\n", ($#srec_bytes + 1);
- push @srec_bytes, $srec_def_fill_byte;
- }
- while ($#srec_bytes >= 0) {
- if (($#srec_bytes + 1) <= $srec_data_length) {
- $out_string .= sprintf("%s\n", $self->gen_data_srec($srec_address,
- \@srec_bytes,
- $srec_format));
- @srec_bytes = ();
- } else {
- $out_string .= sprintf("%s\n", $self->gen_data_srec($srec_address,
- [splice(@srec_bytes, 0,
- $srec_data_length)],
- $srec_format));
- $srec_address = $srec_address + $srec_data_length;
- }
- $srec_count++;
- if (($srec_add_s5 > 0) &&
- ($srec_add_s5 <= $srec_count)) {
- $out_string .= sprintf("%s\n", $self->gen_s5rec($srec_count));
- $srec_count = 0;
- }
- }
- ####################################
- # print S5 for remaining S-records #
- ####################################
- if (($srec_add_s5 > 0) &&
- ($srec_count > 0)) {
- $out_string .= sprintf("%s\n", $self->gen_s5rec($srec_count));
- }
-
- ################
- # print ending #
- ################
- $out_string .= sprintf("%s\n", $self->gen_end_srec($srec_format));
- return $out_string;
-}
-
-###################
-# gen_header_srec #
-###################
-sub gen_header_srec {
- my $self = shift @_;
- my $string = shift @_;
- my $srec_data_length = shift @_;
-
- #data
- my $char;
- #hex codes
- my @hex_string;
- my @hex_line;
- my $hex_code;
- #checksum
- my $sum;
- #S-record
- my $record;
-
- ########################
- # conver string to hex #
- ########################
- @hex_string = ();
- foreach $char (split //, $string) {
- push @hex_string, ord($char);
- }
- #printf STDERR "hex string length: %s \"%s\"\n", $#hex_string, $string;
-
- #################
- # hex code loop #
- #################
- while ($#hex_string >= 0) {
- @hex_line = splice @hex_string, 0, $srec_data_length;
- #printf STDERR "srec_data_length: \"%s\"\n", $srec_data_length;
- #printf STDERR "hex line: \"%s\"\n", join("\", \"", @hex_line);
- #printf STDERR "hex line length: %s\n", $#hex_line;
-
- #####################
- # add address field #
- #####################
- unshift @hex_line, 0;
- unshift @hex_line, 0;
-
- ####################
- # add length field #
- ####################
- unshift @hex_line, ($#hex_line + 2);
-
- ######################
- # add checksum field #
- ######################
- $sum = 0;
- foreach $hex_code (@hex_line) {
- $sum = $sum + $hex_code;
- }
- push @hex_line, (0xff - ($sum & 0xff));
-
- #####################
- # generate S-record #
- #####################
- $record = "S0";
- foreach $hex_code (@hex_line) {
- $record = sprintf("%s%.2X", $record, $hex_code);
- }
- $record = sprintf("%s\n", $record);
- }
-
- ########################
- # return header string #
- ########################
- return $record;
-}
-
-#################
-# gen_data_srec #
-#################
-sub gen_data_srec {
- my $self = shift @_;
- my $address = shift @_;
- my $data = shift @_;
- my $format = shift @_;
-
- #hex codes
- my @hex_codes;
- my $hex_code;
- #checksum
- my $sum;
- #S-record
- my $record;
-
- #######################
- # write address field #
- #######################
- for ($format) {
- /^S3.$/i && do {
- #############
- # S3 record #
- #############
- $record = "S3";
- @hex_codes = ((($address >> 24) & 0xff),
- (($address >> 16) & 0xff),
- (($address >> 8) & 0xff),
- ( $address & 0xff));
- last;};
- /^S2.$/i && do {
- #############
- # S2 record #
- #############
- $record = "S2";
- @hex_codes = ((($address >> 16) & 0xff),
- (($address >> 8) & 0xff),
- ( $address & 0xff));
- last;};
- /^S1.$/i && do {
- #############
- # S1 record #
- #############
- $record = "S1";
- @hex_codes = ((($address >> 8) & 0xff),
- ( $address & 0xff));
- last;};
- ##################
- # invalid format #
- ##################
- return 0;
- }
-
- ##################
- # add data field #
- ##################
- push @hex_codes, @$data;
-
- ####################
- # add length field #
- ####################
- unshift @hex_codes, ($#hex_codes + 2);
-
- ######################
- # add checksum field #
- ######################
- $sum = 0;
- foreach $hex_code (@hex_codes) {
- $sum = $sum + $hex_code;
- }
- push @hex_codes, (0xff - ($sum & 0xff));
-
- #####################
- # generate S-record #
- #####################
- foreach $hex_code (@hex_codes) {
- $record = sprintf("%s%.2X", $record, $hex_code);
- }
-
- ########################
- # return header string #
- ########################
- return $record;
-}
-
-#############
-# gen_s5rec #
-#############
-sub gen_s5rec {
- my $self = shift @_;
- my $number = shift @_;
-
- #hex codes
- my @hex_codes;
- my $hex_code;
- #checksum
- my $sum;
- #S-record
- my $record;
-
- #######################
- # write address field #
- #######################
- @hex_codes = ((($number >> 8) & 0xff),
- ( $number & 0xff));
-
- ####################
- # add length field #
- ####################
- unshift @hex_codes, 3;
-
- ######################
- # add checksum field #
- ######################
- $sum = 0;
- foreach $hex_code (@hex_codes) {
- $sum = $sum + $hex_code;
- }
- push @hex_codes, (0xff - ($sum & 0xff));
-
- #####################
- # generate S-record #
- #####################
- $record = "S5";
- foreach $hex_code (@hex_codes) {
- $record = sprintf("%s%.2X", $record, $hex_code);
- }
-
- ########################
- # return header string #
- ########################
- return $record;
-}
-
-################
-# gen_end_srec #
-################
-sub gen_end_srec {
- my $self = shift @_;
- my $format = shift @_;
-
- for ($format) {
- /^S.7$/i && do {
- #############
- # S7 record #
- #############
- return "S70500000000FA";
- last;};
- /^S.8$/i && do {
- #############
- # S8 record #
- #############
- return "S804000000FB";
- last;};
- /^S.9$/i && do {
- #############
- # S9 record #
- #############
- return "S9030000FC";
- last;};
- ##################
- # invalid format #
- ##################
- return 0;
- }
-}
-
-#########################
-# pseudo opcode handler #
-#########################
-###############
-# psop_align #
-###############
-sub psop_align {
- my $self = shift @_;
- my $pc_lin_ref = shift @_;
- my $pc_pag_ref = shift @_;
- my $loc_cnt_ref = shift @_;
- my $error_count_ref = shift @_;
- my $undef_count_ref = shift @_;
- my $label_value_ref = shift @_;
- my $code_entry = shift @_;
-
- #arguments
- my $code_args;
- my $bit_mask;
- my $bit_mask_res;
- my $fill_byte;
- my $fill_byte_res;
- #hex code
- my @hex_code;
- #temporary
- my $error;
- my $value;
-
- ##################
- # read arguments #
- ##################
- $code_args = $code_entry->[5];
- $code_args =~ s/^\s*//;
- $code_args =~ s/\s*$//;
- for ($code_args) {
- ############
- # bit mask #
- ############
- /$psop_1_arg/ && do {
- $bit_mask = $1;
- #printf STDERR "ALLIGN: \"%X\"\n", $bit_mask;
-
- ######################
- # determine bit mask #
- ######################
- ($error, $bit_mask_res) = @{$self->evaluate_expression($bit_mask,
- $$pc_lin_ref,
- $$pc_pag_ref,
- $$loc_cnt_ref)};
- if ($error) {
- ################
- # syntax error #
- ################
- $code_entry->[10] = [@{$code_entry->[10]}, $error];
- $$error_count_ref++;
- $$pc_lin_ref = undef;
- $$pc_pag_ref = undef;
- $code_entry->[6] = undef;
- $code_entry->[7] = undef;
- $$label_value_ref = undef;
- } elsif (! defined $bit_mask_res) {
- ###################
- # undefined value #
- ###################
- $$pc_lin_ref = undef;
- $$pc_pag_ref = undef;
- $code_entry->[6] = undef;
- $code_entry->[7] = undef;
- $$label_value_ref = undef;
- } elsif (! defined $$pc_pag_ref) {
- ######################
- # undefined paged PC #
- ######################
- $$pc_lin_ref = undef;
- $$pc_pag_ref = undef;
- $code_entry->[6] = undef;
- $code_entry->[7] = undef;
- $$label_value_ref = undef;
- } else {
- ##################
- # valid bit mask #
- ##################
- while ($$pc_pag_ref & $bit_mask_res) {
- if (defined $$pc_lin_ref) {$$pc_lin_ref++;}
- if (defined $$pc_pag_ref) {$$pc_pag_ref++;}
- }
- $code_entry->[6] = $$pc_lin_ref;
- $code_entry->[7] = $$pc_pag_ref;
- $code_entry->[8] = "";
- $$label_value_ref = $$pc_pag_ref;
- }
- last;};
- #######################
- # bit mask, fill byte #
- #######################
- /$psop_2_args/ && do {
- $bit_mask = $1;
- $fill_byte = $2;
- ######################
- # determine bit mask #
- ######################
- ($error, $bit_mask_res) = @{$self->evaluate_expression($bit_mask,
- $$pc_lin_ref,
- $$pc_pag_ref,
- $$loc_cnt_ref)};
- if ($error) {
- ################
- # syntax error #
- ################
- $code_entry->[10] = [@{$code_entry->[10]}, $error];
- $$error_count_ref++;
- $$pc_lin_ref = undef;
- $$pc_pag_ref = undef;
- $$label_value_ref = undef;
- } elsif (! defined $bit_mask_res) {
- ###################
- # undefined value #
- ###################
- $$pc_lin_ref = undef;
- $$pc_pag_ref = undef;
- $$label_value_ref = undef;
- $$undef_count++;
- } else {
- ##################
- # valid bit mask #
- ##################
- #######################
- # determine fill byte #
- #######################
- ($error, $fill_byte_res) = @{$self->evaluate_expression($fill_byte,
- $$pc_lin_ref,
- $$pc_pag_ref,
- $$loc_cnt_ref)};
- if ($error) {
- ################
- # syntax error #
- ################
- $code_entry->[10] = [@{$code_entry->[10]}, $error];
- $$error_count_ref++;
- return;
- } elsif (! defined $fill_byte_res) {
- ###################
- # undefined value #
- ###################
- while ($$pc_pag_ref & $bit_mask_res) {
- if (defined $$pc_lin_ref) {$$pc_lin_ref++;}
- if (defined $$pc_pag_ref) {$$pc_pag_ref++;}
- }
- $$label_value_ref = $$pc_pag_ref;
- #undefine hexcode
- $code_entry->[8] = undef;
- $$undef_count++;
- } else {
- ###################
- # valid fill byte #
- ###################
- @hex_code = ();
- while ($$pc_pag_ref & $bit_mask_res) {
- if (defined $$pc_lin_ref) {$$pc_lin_ref++;}
- if (defined $$pc_pag_ref) {$$pc_pag_ref++;}
- push @hex_code, sprintf("%.2X", ($fill_byte_res & 0xff));
- }
- #set hex code and byte count
- $code_entry->[8] = join " ", @hex_code;
- $code_entry->[9] = ($#hex_code + 1);
- }
- }
- last;};
- ################
- # syntax error #
- ################
- $error = sprintf("invalid argument for pseudo opcode ALIGN (%s)",$code_args);
- $code_entry->[10] = [@{$code_entry->[10]}, $error];
- $$error_count_ref++;
- $$pc_lin_ref = undef;
- $$pc_pag_ref = undef;
- $code_entry->[8] = undef;
- }
-}
-
-############
-# psop_cpu #
-############
-sub psop_cpu {
- my $self = shift @_;
- my $pc_lin_ref = shift @_;
- my $pc_pag_ref = shift @_;
- my $loc_cnt_ref = shift @_;
- my $error_count_ref = shift @_;
- my $undef_count_ref = shift @_;
- my $label_value_ref = shift @_;
- my $code_entry = shift @_;
-
- #arguments
- my $code_args;
- #temporary
- my $error;
- my $value;
-
- ##################
- # read arguments #
- ##################
- $code_label = $code_entry->[1];
- $code_args = $code_entry->[5];
-
- ##################
- # check argument #
- ##################
- if ($code_args =~ /$psop_1_arg/) {
- ################
- # one argument #
- ################
- $value = $1;
- #print STDERR "CPU: $value\n";
- $error = $self->set_opcode_table($value);
- if ($error) {
- ################
- # syntax error #
- ################
- $code_entry->[10] = [@{$code_entry->[10]}, $error];
- $$error_count_ref++;
- } else {
- ##################
- # valid argument #
- ##################
- #check if symbol already exists
- $code_entry->[8] = sprintf("%s CODE:", $value);
- }
- } else {
- ################
- # syntax error #
- ################
- $error = sprintf("invalid argument for pseudo opcode CPU (%s)",$code_args);
- $code_entry->[10] = [@{$code_entry->[10]}, $error];
- $$error_count_ref++;
- }
-}
-
-###########
-# psop_db #
-###########
-sub psop_db {
- my $self = shift @_;
- my $pc_lin_ref = shift @_;
- my $pc_pag_ref = shift @_;
- my $loc_cnt_ref = shift @_;
- my $error_count_ref = shift @_;
- my $undef_count_ref = shift @_;
- my $label_value_ref = shift @_;
- my $code_entry = shift @_;
-
- #arguments
- my $code_args;
- my $code_arg;
- my @code_args_res;
- my $code_args_defined;
- #temporary
- my $error;
- my $value;
-
- ##################
- # read arguments #
- ##################
- $code_args = $code_entry->[5];
-
- #####################
- # resolve arguments #
- #####################
- @code_args_res = ();
- $code_args_defined = 1;
- foreach $code_arg (split $del, $code_args) {
- ($error, $value) = @{$self->evaluate_expression($code_arg,
- $$pc_lin_ref,
- $$pc_pag_ref,
- $$loc_cnt_ref)};
- if ($error) {
- ################
- # syntax error #
- ################
- $code_entry->[10] = [@{$code_entry->[10]}, $error];
- $$error_count_ref++;
- if (defined $$pc_lin_ref) {$$pc_lin_ref++;}
- if (defined $$pc_pag_ref) {$$pc_pag_ref++;}
- push @code_args_res, 0;
- $code_args_defined = 0;
- } elsif (! defined $value) {
- ###################
- # undefined value #
- ###################
- if (defined $$pc_lin_ref) {$$pc_lin_ref++;}
- if (defined $$pc_pag_ref) {$$pc_pag_ref++;}
- push @code_args_res, 0;
- $code_args_defined = 0;
- } else {
- ##################
- # valid argument #
- ##################
- if (defined $$pc_lin_ref) {$$pc_lin_ref++;}
- if (defined $$pc_pag_ref) {$$pc_pag_ref++;}
- push @code_args_res, sprintf("%.2X", ($value & 0xff));
- }
- }
-
- #set hex code and byte count
- if ($code_args_defined) {
- $code_entry->[8] = join " ", @code_args_res;
- } else {
- $$undef_count_ref++;
- }
- $code_entry->[9] = ($#code_args_res + 1);
-}
-
-###########
-# psop_dw #
-###########
-sub psop_dw {
- my $self = shift @_;
- my $pc_lin_ref = shift @_;
- my $pc_pag_ref = shift @_;
- my $loc_cnt_ref = shift @_;
- my $error_count_ref = shift @_;
- my $undef_count_ref = shift @_;
- my $label_value_ref = shift @_;
- my $code_entry = shift @_;
-
-
- #arguments
- my $code_args;
- my $code_arg;
- my @code_args_res;
- my $code_args_defined;
- #temporary
- my $error;
- my $value;
-
- ##################
- # read arguments #
- ##################
- $code_args = $code_entry->[5];
-
- #####################
- # resolve arguments #
- #####################
- @code_args_res = ();
- $code_args_defined = 1;
- foreach $code_arg (split $del, $code_args) {
- ($error, $value) = @{$self->evaluate_expression($code_arg,
- $$pc_lin_ref,
- $$pc_pag_ref,
- $$loc_cnt_ref)};
- if ($error) {
- ################
- # syntax error #
- ################
- $code_entry->[10] = [@{$code_entry->[10]}, $error];
- $$error_count_ref++;
- if (defined $$pc_lin_ref) {$$pc_lin_ref++;}
- if (defined $$pc_pag_ref) {$$pc_pag_ref++;}
- push @code_args_res, 0;
- $code_args_defined = 0;
- } elsif (! defined $value) {
- ###################
- # undefined value #
- ###################
- if (defined $$pc_lin_ref) {$$pc_lin_ref++;}
- if (defined $$pc_pag_ref) {$$pc_pag_ref++;}
- push @code_args_res, 0;
- $code_args_defined = 0;
- } else {
- ##################
- # valid argument #
- ##################
- if (defined $$pc_lin_ref) {$$pc_lin_ref += 2;}
- if (defined $$pc_pag_ref) {$$pc_pag_ref += 2;}
- push @code_args_res, sprintf("%.2X", (($value >> 8) & 0xff));
- push @code_args_res, sprintf("%.2X", ( $value & 0xff));
- }
- }
-
- #set hex code and byte count
- if ($code_args_defined) {
- $code_entry->[8] = join " ", @code_args_res;
- } else {
- $$undef_count_ref++;
- }
- $code_entry->[9] = ($#code_args_res + 1);
-}
-
-
-############
-# psop_dsb #
-############
-sub psop_dsb {
- my $self = shift @_;
- my $pc_lin_ref = shift @_;
- my $pc_pag_ref = shift @_;
- my $loc_cnt_ref = shift @_;
- my $error_count_ref = shift @_;
- my $undef_count_ref = shift @_;
- my $label_value_ref = shift @_;
- my $code_entry = shift @_;
-
- #arguments
- my $code_args;
- #temporary
- my $error;
- my $value;
-
- ##################
- # read arguments #
- ##################
- $code_args = $code_entry->[5];
-
- ##################
- # check argument #
- ##################
- if ($code_args =~ /$psop_1_arg/) {
- ################
- # one argument #
- ################
- ($error, $value) = @{$self->evaluate_expression($1,
- $$pc_lin_ref,
- $$pc_pag_ref,
- $$loc_cnt_ref)};
- if ($error) {
- ################
- # syntax error #
- ################
- $code_entry->[10] = [@{$code_entry->[10]}, $error];
- $$error_count_ref++;
- $$pc_lin_ref = undef;
- $$pc_pag_ref = undef;
- } elsif (! defined $value) {
- ###################
- # undefined value #
- ###################
- $$pc_lin_ref = undef;
- $$pc_pag_ref = undef;
- } else {
- ##################
- # valid argument #
- ##################
- if (defined $$pc_lin_ref) {$$pc_lin_ref = $$pc_lin_ref + $value;}
- if (defined $$pc_pag_ref) {$$pc_pag_ref = $$pc_pag_ref + $value;}
- $code_entry->[8] = "";
- }
- } else {
- ################
- # syntax error #
- ################
- $error = sprintf("invalid argument for pseudo opcode DS (%s)",$code_args);
- $code_entry->[10] = [@{$code_entry->[10]}, $error];
- $$error_count_ref++;
- $$pc_lin_ref = undef;
- $$pc_pag_ref = undef;
- }
-}
-
-############
-# psop_dsw #
-############
-sub psop_dsw {
- my $self = shift @_;
- my $pc_lin_ref = shift @_;
- my $pc_pag_ref = shift @_;
- my $loc_cnt_ref = shift @_;
- my $error_count_ref = shift @_;
- my $undef_count_ref = shift @_;
- my $label_value_ref = shift @_;
- my $code_entry = shift @_;
-
- #arguments
- my $code_args;
- #temporary
- my $error;
- my $value;
-
- ##################
- # read arguments #
- ##################
- $code_args = $code_entry->[5];
-
- ##################
- # check argument #
- ##################
- if ($code_args =~ /$psop_1_arg/) {
- ################
- # one argument #
- ################
- ($error, $value) = @{$self->evaluate_expression($1,
- $$pc_lin_ref,
- $$pc_pag_ref,
- $$loc_cnt_ref)};
- if ($error) {
- ################
- # syntax error #
- ################
- $code_entry->[10] = [@{$code_entry->[10]}, $error];
- $$error_count_ref++;
- $$pc_lin_ref = undef;
- $$pc_pag_ref = undef;
- } elsif (! defined $value) {
- ###################
- # undefined value #
- ###################
- $$pc_lin_ref = undef;
- $$pc_pag_ref = undef;
- } else {
- ##################
- # valid argument #
- ##################
- if (defined $$pc_lin_ref) {$$pc_lin_ref = $$pc_lin_ref + ($value * 2);}
- if (defined $$pc_pag_ref) {$$pc_pag_ref = $$pc_pag_ref + ($value * 2);}
- $code_entry->[8] = "";
- }
- } else {
- ################
- # syntax error #
- ################
- $error = sprintf("invalid argument for pseudo opcode DS.W (%s)",$code_args);
- $code_entry->[10] = [@{$code_entry->[10]}, $error];
- $$error_count_ref++;
- $$pc_lin_ref = undef;
- $$pc_pag_ref = undef;
- }
-}
-
-############
-# psop_equ #
-############
-sub psop_equ {
- my $self = shift @_;
- my $pc_lin_ref = shift @_;
- my $pc_pag_ref = shift @_;
- my $loc_cnt_ref = shift @_;
- my $error_count_ref = shift @_;
- my $undef_count_ref = shift @_;
- my $label_value_ref = shift @_;
- my $code_entry = shift @_;
-
- #arguments
- my $code_label;
- my $code_args;
- #temporary
- my $error;
- my $value;
-
- ##################
- # read arguments #
- ##################
- $code_label = $code_entry->[1];
- $code_args = $code_entry->[5];
-
- ##################
- # check argument #
- ##################
- if ($code_args =~ /$psop_1_arg/) {
- ################
- # one argument #
- ################
- ($error, $value) = @{$self->evaluate_expression($1,
- $$pc_lin_ref,
- $$pc_pag_ref,
- $$loc_cnt_ref)};
- if ($error) {
- ################
- # syntax error #
- ################
- $code_entry->[10] = [@{$code_entry->[10]}, $error];
- $$error_count_ref++;
- } elsif (! defined $value) {
- ###################
- # undefined value #
- ###################
- $$label_value_ref = undef;
- $code_entry->[8] = sprintf("-> ????", $value);
- } else {
- ##################
- # valid argument #
- ##################
- #check if symbol already exists
- $$label_value_ref = $value;
- $code_entry->[8] = sprintf("-> \$%.4X", $value);
- }
- } else {
- ################
- # syntax error #
- ################
- $error = sprintf("invalid argument for pseudo opcode EQU (%s)",$code_args);
- $code_entry->[10] = [@{$code_entry->[10]}, $error];
- $$error_count_ref++;
- }
-}
-
-############
-# psop_fcc #
-############
-sub psop_fcc {
- my $self = shift @_;
- my $pc_lin_ref = shift @_;
- my $pc_pag_ref = shift @_;
- my $loc_cnt_ref = shift @_;
- my $error_count_ref = shift @_;
- my $undef_count_ref = shift @_;
- my $label_value_ref = shift @_;
- my $code_entry = shift @_;
-
- #arguments
- my $code_args;
- my $string;
- my $first_char;
- #hex code
- my $char;
- my @hex_code;
- #temporary
-
- ##################
- # read arguments #
- ##################
- $code_args = $code_entry->[5];
-
- ##################
- # check argument #
- ##################
- if ($code_args =~ /$psop_string/) {
- $string = $1;
-
- #trim string
- $string =~ s/^\s*//;
- $string =~ s/\s*$//;
-
- #trim first character
- $string =~ s/^(.)//;
- $first_char = $1;
-
- #trim send of string
- if ($string =~ /^(.*)$first_char/) {$string = $1;}
- #printf STDERR "fcc: \"%s\" \"%s\"\n", $first_char, $string;
-
- #convert string
- @hex_code = ();
- foreach $char (split //, $string) {
- push @hex_code, sprintf("%.2X", ord($char));
- if (defined $$pc_lin_ref) {$$pc_lin_ref++;}
- if (defined $$pc_pag_ref) {$$pc_pag_ref++;}
- }
- #set hex code and byte count
- $code_entry->[8] = join " ", @hex_code;
- $code_entry->[9] = ($#hex_code + 1);
-
- } else {
- ################
- # syntax error #
- ################
- $error = sprintf("invalid argument for pseudo opcode FCC (%s)",$code_args);
- $code_entry->[10] = [@{$code_entry->[10]}, $error];
- $$error_count_ref++;
- }
-}
-
-
-#############
-# psop_fill #
-#############
-sub psop_fill {
- my $self = shift @_;
- my $pc_lin_ref = shift @_;
- my $pc_pag_ref = shift @_;
- my $loc_cnt_ref = shift @_;
- my $error_count_ref = shift @_;
- my $undef_count_ref = shift @_;
- my $label_value_ref = shift @_;
- my $code_entry = shift @_;
-
- #arguments
- my $code_args;
- my $byte_count;
- my $byte_count_res;
- my $fill_byte;
- my $fill_byte_res;
- #hex code
- my @hex_code;
- #temporary
- my $error;
- my $value;
- my $i;
-
- ##################
- # read arguments #
- ##################
- $code_args = $code_entry->[5];
- if ($code_entry =~ /$psop_2_args/) {
- $fill_byte = $1;
- $byte_count = $2;
-
- ########################
- # determine byte count #
- ########################
- ($error, $byte_count_res) = $self->evaluate_expression($byte_count,
- $$pc_lin_ref,
- $$pc_pag_ref,
- $$loc_cnt_ref);
- if ($error) {
- ################
- # syntax error #
- ################
- $code_entry->[10] = [@{$code_entry->[10]}, $error];
- $$error_count_ref++;
- } elsif (! defined $byte_count_res) {
- ###################
- # undefined value #
- ###################
- $$pc_lin_ref = undef;
- $$pc_pag_ref = undef;
- $$label_value_ref = undef;
- $$undef_count++;
- } else {
- ####################
- # valid byte count #
- ####################
- #######################
- # determine fill byte #
- #######################
- ($error, $fill_byte_res) = $self->evaluate_expression($fill_byte,
- $$pc_lin_ref,
- $$pc_pag_ref,
- $$loc_cnt_ref);
- if ($error) {
- ################
- # syntax error #
- ################
- $code_entry->[10] = [@{$code_entry->[10]}, $error];
- $$error_count_ref++;
- return;
- } elsif (! defined $fill_byte_res) {
- ###################
- # undefined value #
- ###################
- if (defined $$pc_lin_ref) {$$pc_lin_ref = $$pc_lin_ref + $byte_count_res;}
- if (defined $$pc_pag_ref) {$$pc_pag_ref = $$pc_pag_ref + $byte_count_res;}
- #undefine hexcode
- $code_entry->[8] = undef;
- $$undef_count++;
- } else {
- ###################
- # valid fill byte #
- ###################
- @hex_code = ();
- foreach $i (1..$byte_count_ref) {
- push @hex_code, sprintf("%.2X", ($fill_byte_res & 0x00));
- }
- if (defined $$pc_lin_ref) {$$pc_lin_ref = $$pc_lin_ref + $byte_count_res;}
- if (defined $$pc_pag_ref) {$$pc_pag_ref = $$pc_pag_ref + $byte_count_res;}
- #set hex code and byte count
- $code_entry->[8] = join " ", @hex_code;
- $code_entry->[9] = ($#hex_code + 1);
- }
- }
- } else {
- ################
- # syntax error #
- ################
- $error = sprintf("invalid argument for pseudo opcode FILL (%s)",$code_args);
- $code_entry->[10] = [@{$code_entry->[10]}, $error];
- $$error_count_ref++;
- $$pc_lin_ref = undef;
- $$pc_pag_ref = undef;
- }
-}
-
-############
-# psop_loc #
-############
-sub psop_loc {
- my $self = shift @_;
- my $pc_lin_ref = shift @_;
- my $pc_pag_ref = shift @_;
- my $loc_cnt_ref = shift @_;
- my $error_count_ref = shift @_;
- my $undef_count_ref = shift @_;
- my $label_value_ref = shift @_;
- my $code_entry = shift @_;
-
- #arguments
- my $code_args;
-
- ##################
- # read arguments #
- ##################
- $code_args = $code_entry->[5];
-
- ##################
- # check argument #
- ##################
- if ($code_args =~ /$psop_no_arg/) {
-
- #increment LOC count
- $$loc_cnt_ref++;
-
- $code_entry->[8] = sprintf("\"`\" = %.4d", $$loc_cnt_ref);
-
- } else {
- ################
- # syntax error #
- ################
- $error = sprintf("invalid argument for pseudo opcode LOC (%s)",$code_args);
- $code_entry->[10] = [@{$code_entry->[10]}, $error];
- $$error_count_ref++;
- }
-}
-
-############
-# psop_org #
-############
-sub psop_org {
- my $self = shift @_;
- my $pc_lin_ref = shift @_;
- my $pc_pag_ref = shift @_;
- my $loc_cnt_ref = shift @_;
- my $error_count_ref = shift @_;
- my $undef_count_ref = shift @_;
- my $label_value_ref = shift @_;
- my $code_entry = shift @_;
-
- #arguments
- my $code_args;
- my $pc_lin;
- my $pc_lin_res;
- my $pc_pag;
- my $pc_pag_res;
- #hex code
- my @hex_code;
- #temporary
- my $error;
- my $value;
-
- ##################
- # read arguments #
- ##################
- $code_args = $code_entry->[5];
- for ($code_args) {
- ############
- # paged pc #
- ############
- /$psop_1_arg/ && do {
- $pc_pag = $1;
- $code_entry->[8] = "";
- ######################
- # determine paged PC #
- ######################
- ($error, $pc_pag_res) = @{$self->evaluate_expression($pc_pag,
- $$pc_lin_ref,
- $$pc_pag_ref,
- $$loc_cnt_ref)};
- if ($error) {
- ################
- # syntax error #
- ################
- $code_entry->[10] = [@{$code_entry->[10]}, $error];
- $$error_count_ref++;
- #print "$error\n";
- $$pc_lin_ref = undef;
- $$pc_pag_ref = undef;
- $code_entry->[6] = undef;
- $code_entry->[7] = undef;
- } elsif (! defined $pc_pag_res) {
- ###################
- # undefined value #
- ###################
- $$pc_lin_ref = undef;
- $$pc_pag_ref = undef;
- $code_entry->[6] = undef;
- $code_entry->[7] = undef;
- $$label_value_ref = undef;
- } else {
- ##################
- # valid paged pc #
- ##################
- $$pc_pag_ref = $pc_pag_res;
- $code_entry->[7] = $pc_pag_res;
- $$label_value_ref = $pc_pag_res;
- #######################
- # determine linear pc #
- #######################
- if ((($pc_pag_res & 0xffff) >= 0x0000) &&
- (($pc_pag_res & 0xffff) < 0x4000)) {
- #####################
- # fixed page => $3D #
- #####################
- $$pc_lin_ref = ((0x3d * 0x4000) + (($pc_pag_res - 0x0000) & 0xffff));
- $code_entry->[6] = $$pc_lin_ref;
- } elsif ((($pc_pag_res & 0xffff) >= 0x4000) &&
- (($pc_pag_res & 0xffff) < 0x8000)) {
- #####################
- # fixed page => $3E #
- #####################
- $$pc_lin_ref = ((0x3e * 0x4000) + (($pc_pag_res - 0x4000) & 0xffff));
- $code_entry->[6] = $$pc_lin_ref;
- } elsif ((($pc_pag_res & 0xffff) >= 0x8000) &&
- (($pc_pag_res & 0xffff) < 0xC000)) {
- #####################
- # paged memory area #
- #####################
- $$pc_lin_ref = (((($pc_pag_res >> 16) & 0xff) * 0x4000) + (($pc_pag_res - 0x8000) & 0xffff));
- $code_entry->[6] = $$pc_lin_ref;
- } else {
- ####################
- # fixed page => 3F #
- ####################
- $$pc_lin_ref = ((0x3f * 0x4000) + (($pc_pag_res - 0xc000) & 0xffff));
- $code_entry->[6] = $$pc_lin_ref;
- }
- }
- last;};
- #######################
- # paged and linear PC #
- #######################
- /$psop_2_args/ && do {
- $pc_pag = $1;
- $pc_lin = $2;
- #printf STDERR "ORG %s ->\n", $code_args;
- #printf STDERR "ORG %s %s ->\n", $pc_pag, $pc_lin;
- $code_entry->[8] = "";
- ######################
- # determine paged PC #
- ######################
- ($error, $pc_pag_res) = @{$self->evaluate_expression($pc_pag,
- $$pc_lin_ref,
- $$pc_pag_ref,
- $$loc_cnt_ref)};
- if ($error) {
- ################
- # syntax error #
- ################
- $code_entry->[10] = [@{$code_entry->[10]}, $error];
- $$error_count_ref++;
- #print "$error\n";
- $$pc_pag_ref = undef;
- $code_entry->[7] = undef;
- } elsif (! defined $pc_pag_res) {
- ###################
- # undefined value #
- ###################
- $$pc_pag_ref = undef;
- $code_entry->[7] = undef;
- $$label_value_ref = undef;
- } else {
- ##################
- # valid paged pc #
- ##################
- $$pc_pag_ref = $pc_pag_res;
- $code_entry->[7] = $pc_pag_res;
- $$label_value_ref = $pc_pag_res;
- }
- #######################
- # determine linear PC #
- #######################
- if ($pc_lin =~ /$op_unmapped/) {
- #########################
- # linear pc is unmapped #
- #########################
- $$pc_lin_ref = undef;
- $code_entry->[6] = undef;
- } else {
- #######################
- # evaluate expression #
- #######################
- ($error, $pc_lin_res) = @{$self->evaluate_expression($pc_lin,
- $$pc_lin_ref,
- $$pc_pag_ref,
- $$loc_cnt_ref)};
- if ($error) {
- ################
- # syntax error #
- ################
- $code_entry->[10] = [@{$code_entry->[10]}, $error];
- $$error_count_ref++;
- #print "$error\n";
- $$pc_lin_ref = undef;
- $code_entry->[6] = undef;
- } elsif (! defined $pc_pag_res) {
- ###################
- # undefined value #
- ###################
- $$pc_lin_ref = undef;
- $code_entry->[6] = undef;
- } else {
- ###################
- # valid linear pc #
- ###################
- $$pc_lin_ref = $pc_lin_res;
- $code_entry->[6] = $pc_lin_res;
- }
- }
- #printf STDERR "ORG %X %X\n", $pc_pag_res, $pc_lin_res;
- last;};
- ################
- # syntax error #
- ################
- $error = sprintf("invalid argument for pseudo opcode ORG (%s)",$code_args);
- $code_entry->[10] = [@{$code_entry->[10]}, $error];
- #print "$error\n";
- $$error_count_ref++;
- $$pc_lin_ref = undef;
- $$pc_pag_ref = undef;
- $code_entry->[6] = undef;
- $code_entry->[7] = undef;
- $code_entry->[8] = undef;
- }
-}
-
-##############
-# psop_setdp #
-##############
-sub psop_setdp {
- my $self = shift @_;
- my $pc_lin_ref = shift @_;
- my $pc_pag_ref = shift @_;
- my $loc_cnt_ref = shift @_;
- my $error_count_ref = shift @_;
- my $undef_count_ref = shift @_;
- my $label_value_ref = shift @_;
- my $code_entry = shift @_;
-
- #arguments
- my $code_args;
- #temporary
- my $error;
- my $value;
-
- ##################
- # read arguments #
- ##################
- $code_label = $code_entry->[1];
- $code_args = $code_entry->[5];
-
- ##################
- # check argument #
- ##################
- if ($code_args =~ /$psop_1_arg/) {
- ################
- # one argument #
- ################
- ($error, $value) = $self->evaluate_expression($1,
- $$pc_lin_ref,
- $$pc_pag_ref,
- $$loc_cnt_ref);
- if ($error) {
- ################
- # syntax error #
- ################
- $code_entry->[10] = [@{$code_entry->[10]}, $error];
- $$error_count_ref++;
- } else {
- ##################
- # valid argument #
- ##################
- #set direct page
- $self->{dir_page} = $value;
- }
- } else {
- ################
- # syntax error #
- ################
- $error = sprintf("invalid argument for pseudo opcode CPU (%s)",$code_args);
- $code_entry->[10] = [@{$code_entry->[10]}, $error];
- $$error_count_ref++;
- }
-}
-
-################
-# psop_unalign #
-################
-sub psop_unalign {
- my $self = shift @_;
- my $pc_lin_ref = shift @_;
- my $pc_pag_ref = shift @_;
- my $loc_cnt_ref = shift @_;
- my $error_count_ref = shift @_;
- my $undef_count_ref = shift @_;
- my $label_value_ref = shift @_;
- my $code_entry = shift @_;
-
- #arguments
- my $code_args;
- my $bit_mask;
- my $bit_mask_res;
- my $fill_byte;
- my $fill_byte_res;
- #hex code
- my @hex_code;
- #temporary
- my $error;
- my $value;
-
- ##################
- # read arguments #
- ##################
- $code_args = $code_entry->[5];
- for ($code_args) {
- ############
- # bit mask #
- ############
- /$psop_1_arg/ && do {
- $bit_mask = $1;
- ######################
- # determine bit mask #
- ######################
- ($error, $bit_mask_res) = $self->evaluate_expression($bit_mask,
- $$pc_lin_ref,
- $$pc_pag_ref,
- $$loc_cnt_ref);
- if ($error) {
- ################
- # syntax error #
- ################
- $code_entry->[10] = [@{$code_entry->[10]}, $error];
- $$error_count_ref++;
- $$pc_lin_ref = undef;
- $$pc_pag_ref = undef;
- $code_entry->[6] = undef;
- $code_entry->[7] = undef;
- $$label_value_ref = undef;
- } elsif (! defined $bit_mask_res) {
- ###################
- # undefined value #
- ###################
- $$pc_lin_ref = undef;
- $$pc_pag_ref = undef;
- $code_entry->[6] = undef;
- $code_entry->[7] = undef;
- $$label_value_ref = undef;
- } elsif (! defined $$pc_pag_ref) {
- ######################
- # undefined paged PC #
- ######################
- $$pc_lin_ref = undef;
- $$pc_pag_ref = undef;
- $code_entry->[6] = undef;
- $code_entry->[7] = undef;
- $$label_value_ref = undef;
- } else {
- ##################
- # valid bit mask #
- ##################
- while (~$$pc_pag_ref & $bit_mask_res) {
- if (defined $$pc_lin_ref) {$$pc_lin_ref++;}
- if (defined $$pc_pag_ref) {$$pc_pag_ref++;}
- }
- $code_entry->[6] = $$pc_lin_ref;
- $code_entry->[7] = $$pc_pag_ref;
- $code_entry->[8] = "";
- $$label_value_ref = $$pc_pag_ref;
- }
- last;};
- #######################
- # bit mask, fill byte #
- #######################
- /$psop_2_args/ && do {
- $bit_mask = $1;
- $fill_byte = $2;
- ######################
- # determine bit mask #
- ######################
- ($error, $bit_mask_res) = $self->evaluate_expression($bit_mask,
- $$pc_lin_ref,
- $$pc_pag_ref,
- $$loc_cnt_ref);
- if ($error) {
- ################
- # syntax error #
- ################
- $code_entry->[10] = [@{$code_entry->[10]}, $error];
- $$error_count_ref++;
- $$pc_lin_ref = undef;
- $$pc_pag_ref = undef;
- $$label_value_ref = undef;
- } elsif (! defined $bit_mask_res) {
- ###################
- # undefined value #
- ###################
- $$pc_lin_ref = undef;
- $$pc_pag_ref = undef;
- $$label_value_ref = undef;
- $$undef_count++;
- } else {
- ##################
- # valid bit mask #
- ##################
- #######################
- # determine fill byte #
- #######################
- ($error, $fill_byte_res) = $self->evaluate_expression($fill_byte,
- $$pc_lin_ref,
- $$pc_pag_ref,
- $$loc_cnt_ref);
- if ($error) {
- ################
- # syntax error #
- ################
- $code_entry->[10] = [@{$code_entry->[10]}, $error];
- $$error_count_ref++;
- return;
- } elsif (! defined $fill_byte_res) {
- ###################
- # undefined value #
- ###################
- while (~$$pc_pag_ref & $bit_mask_res) {
- if (defined $$pc_lin_ref) {$$pc_lin_ref++;}
- if (defined $$pc_pag_ref) {$$pc_pag_ref++;}
- }
- $$label_value_ref = $$pc_pag_ref;
- #undefine hexcode
- $code_entry->[8] = undef;
- $$undef_count++;
- } else {
- ###################
- # valid fill byte #
- ###################
- @hex_code = ();
- while (~$$pc_pag_ref & $bit_mask_res) {
- if (defined $$pc_lin_ref) {$$pc_lin_ref++;}
- if (defined $$pc_pag_ref) {$$pc_pag_ref++;}
- push @hex_code, sprintf("%.2X", ($fill_byte_res & 0xff));
- }
- #set hex code and byte count
- $code_entry->[8] = join " ", @hex_code;
- $code_entry->[9] = ($#hex_code + 1);
- }
- }
- last;};
- ################
- # syntax error #
- ################
- $error = sprintf("invalid argument for pseudo opcode UNALIGN (%s)",$code_args);
- $code_entry->[10] = [@{$code_entry->[10]}, $error];
- $$error_count_ref++;
- $$pc_lin_ref = undef;
- $$pc_pag_ref = undef;
- $code_entry->[8] = undef;
- }
-}
-
-############
-# psop_zmb #
-############
-sub psop_zmb {
- my $self = shift @_;
- my $pc_lin_ref = shift @_;
- my $pc_pag_ref = shift @_;
- my $loc_cnt_ref = shift @_;
- my $error_count_ref = shift @_;
- my $undef_count_ref = shift @_;
- my $label_value_ref = shift @_;
- my $code_entry = shift @_;
-
- #arguments
- my $code_label;
- my $code_args;
- #byte count
- my $byte_count;
- #hex code
- my @hex_code;
- #temporary
- my $error;
- my $value;
-
- ##################
- # read arguments #
- ##################
- $code_args = $code_entry->[5];
-
- ##################
- # check argument #
- ##################
- if ($code_args =~ /$psop_1_arg/) {
- ################
- # one argument #
- ################
- ($error, $value) = @{$self->evaluate_expression($1,
- $$pc_lin_ref,
- $$pc_pag_ref,
- $$loc_cnt_ref)};
- if ($error) {
- ################
- # syntax error #
- ################
- $code_entry->[10] = [@{$code_entry->[10]}, $error];
- $$error_count_ref++;
- $$pc_lin_ref = undef;
- $$pc_pag_ref = undef;
- } elsif (! defined $value) {
- ###################
- # undefined value #
- ###################
- #undefine hexcode
- $$undef_count++;
- $$pc_lin_ref = undef;
- $$pc_pag_ref = undef;
- } else {
- ##################
- # valid argument #
- ##################
- @hex_code = ();
- foreach $byte_count (1..$value) {
- push @hex_code, "00";
- }
- if (defined $$pc_lin_ref) {$$pc_lin_ref = ($$pc_lin_ref + $value);}
- if (defined $$pc_pag_ref) {$$pc_pag_ref = ($$pc_lin_ref + $value);}
- #set hex code and byte count
- $code_entry->[8] = join " ", @hex_code;
- $code_entry->[9] = ($#hex_code + 1);
- }
- } else {
- ################
- # syntax error #
- ################
- $error = sprintf("invalid argument for pseudo opcode ZMB (%s)",$code_args);
- $code_entry->[10] = [@{$code_entry->[10]}, $error];
- $$error_count_ref++;
- }
-}
-
-###############
-# psop_ignore #
-###############
-sub psop_ignore {
- my $self = shift @_;
- my $pc_lin_ref = shift @_;
- my $pc_pag_ref = shift @_;
- my $loc_cnt_ref = shift @_;
- my $error_count_ref = shift @_;
- my $undef_count_ref = shift @_;
- my $label_value_ref = shift @_;
- my $code_entry = shift @_;
-
- ##################
- # valid argument #
- ##################
- #check if symbol already exists
- $code_entry->[8] = sprintf("IGNORED!");
-}
-
-########################
-# address mode ckecker #
-########################
-#############
-# check_inh #
-#############
-sub check_inh {
- my $self = shift @_;
- my $arg_ref = shift @_;
- my $pc_lin = shift @_;
- my $pc_pag = shift @_;
- my $loc_cnt = shift @_;
- my $hex_ref = shift @_;
- my $error_ref = shift @_;
- my $result_ref = shift @_;
-
- $$result_ref = $$hex_ref;
- return 1;
-}
-
-##############
-# check_imm8 #
-##############
-sub check_imm8 {
- my $self = shift @_;
- my $arg_ref = shift @_;
- my $pc_lin = shift @_;
- my $pc_pag = shift @_;
- my $loc_cnt = shift @_;
- my $hex_ref = shift @_;
- my $error_ref = shift @_;
- my $result_ref = shift @_;
- #temporary
- my $value;
-
- $self->get_byte(\$arg_ref->[0], $pc_lin, $pc_pag, $loc_cnt, $error_ref, \$value);
- if (defined $value) {
- $$result_ref = join(" ", ($$hex_ref, $value));
- } else {
- $$result_ref = undef;
- }
- return 1;
-}
-
-###############
-# check_imm16 #
-###############
-sub check_imm16 {
- my $self = shift @_;
- my $arg_ref = shift @_;
- my $pc_lin = shift @_;
- my $pc_pag = shift @_;
- my $loc_cnt = shift @_;
- my $hex_ref = shift @_;
- my $error_ref = shift @_;
- my $result_ref = shift @_;
- #temporary
- my $value;
-
- $self->get_word(\$arg_ref->[0], $pc_lin, $pc_pag, $loc_cnt, $error_ref, \$value);
- if (defined $value) {
- $$result_ref = join(" ", ($$hex_ref, $value));
- } else {
- $$result_ref = undef;
- }
- return 1;
-}
-
-#############
-# check_dir #
-#############
-sub check_dir {
- my $self = shift @_;
- my $arg_ref = shift @_;
- my $pc_lin = shift @_;
- my $pc_pag = shift @_;
- my $loc_cnt = shift @_;
- my $hex_ref = shift @_;
- my $error_ref = shift @_;
- my $result_ref = shift @_;
- #temporary
- my $value;
-
- if ($arg_ref->[0] =~ $op_keywords) {return 0;}
- if ($self->get_dir(0, \$arg_ref->[0], $pc_lin, $pc_pag, $loc_cnt, $error_ref, \$value)) {
- if (defined $value) {
- $$result_ref = join(" ", ($$hex_ref, $value));
- } else {
- $$result_ref = undef;
- }
- return 1;
- }
- return 0;
-}
-
-##################
-# check_s12x_dir #
-##################
-sub check_s12x_dir {
- my $self = shift @_;
- my $arg_ref = shift @_;
- my $pc_lin = shift @_;
- my $pc_pag = shift @_;
- my $loc_cnt = shift @_;
- my $hex_ref = shift @_;
- my $error_ref = shift @_;
- my $result_ref = shift @_;
- #temporary
- my $value;
-
- if ($arg_ref->[0] =~ $op_keywords) {return 0;}
- if ($self->get_dir($self->{dir_page}, \$arg_ref->[0], $pc_lin, $pc_pag, $loc_cnt, $error_ref, \$value)) {
- if (defined $value) {
- $$result_ref = join(" ", ($$hex_ref, $value));
- } else {
- $$result_ref = undef;
- }
- return 1;
- }
- return 0;
-}
-
-#############
-# check_ext #
-#############
-sub check_ext {
- my $self = shift @_;
- my $arg_ref = shift @_;
- my $pc_lin = shift @_;
- my $pc_pag = shift @_;
- my $loc_cnt = shift @_;
- my $hex_ref = shift @_;
- my $error_ref = shift @_;
- my $result_ref = shift @_;
- #temporary
- my $value;
-
- if ($arg_ref->[0] =~ $op_keywords) {return 0;}
- $self->get_word(\$arg_ref->[0], $pc_lin, $pc_pag, $loc_cnt, $error_ref, \$value);
- if (defined $value) {
- $$result_ref = join(" ", ($$hex_ref, $value));
- } else {
- $$result_ref = undef;
- }
- return 1;
-}
-
-##############
-# check_rel8 #
-##############
-sub check_rel8 {
- my $self = shift @_;
- my $arg_ref = shift @_;
- my $pc_lin = shift @_;
- my $pc_pag = shift @_;
- my $loc_cnt = shift @_;
- my $hex_ref = shift @_;
- my $error_ref = shift @_;
- my $result_ref = shift @_;
- #temporary
- my $value;
-
- #printf STDERR "check_rel8: %s\n", $arg_ref->[0];
- if ($self->get_rel8(2, \$arg_ref->[0], $pc_lin, $pc_pag, $loc_cnt, $error_ref, \$value)) {
- if (defined $value) {
- $$result_ref = join(" ", ($$hex_ref, $value));
- } else {
- $$result_ref = undef;
- }
- return 1;
- }
- return 0;
-}
-
-###############
-# check_rel16 #
-###############
-sub check_rel16 {
- my $self = shift @_;
- my $arg_ref = shift @_;
- my $pc_lin = shift @_;
- my $pc_pag = shift @_;
- my $loc_cnt = shift @_;
- my $hex_ref = shift @_;
- my $error_ref = shift @_;
- my $result_ref = shift @_;
- #temporary
- my $value;
-
- $self->get_rel16(4, \$arg_ref->[0], $pc_lin, $pc_pag, $loc_cnt, $error_ref, \$value);
- if (defined $value) {
- $$result_ref = join(" ", ($$hex_ref, $value));
- } else {
- $$result_ref = undef;
- }
- return 1;
-}
-
-#############
-# check_idx #
-#############
-sub check_idx {
- my $self = shift @_;
- my $arg_ref = shift @_;
- my $pc_lin = shift @_;
- my $pc_pag = shift @_;
- my $loc_cnt = shift @_;
- my $hex_ref = shift @_;
- my $error_ref = shift @_;
- my $result_ref = shift @_;
- #temporary
- my $value;
-
- #printf STDERR "IDX: \"%s\"\n", join("\", \"",
- # $arg_ref->[0],
- # $arg_ref->[1],
- # $arg_ref->[2],
- # $arg_ref->[3]);
-
- if ($self->get_idx(\$arg_ref->[0],
- \$arg_ref->[1],
- \$arg_ref->[2],
- \$arg_ref->[3], $pc_lin, $pc_pag, $loc_cnt, $error_ref, \$value)) {
- if (defined $value) {
- $$result_ref = join(" ", ($$hex_ref, $value));
- } else {
- $$result_ref = undef;
- }
- return 1;
- }
- return 0;
-}
-
-##############
-# check_idx1 #
-##############
-sub check_idx1 {
- my $self = shift @_;
- my $arg_ref = shift @_;
- my $pc_lin = shift @_;
- my $pc_pag = shift @_;
- my $loc_cnt = shift @_;
- my $hex_ref = shift @_;
- my $error_ref = shift @_;
- my $result_ref = shift @_;
- #temporary
- my $value;
-
- if ($self->get_idx1(\$arg_ref->[0],
- \$arg_ref->[1], $pc_lin, $pc_pag, $loc_cnt, $error_ref, \$value)) {
- if (defined $value) {
- $$result_ref = join(" ", ($$hex_ref, $value));
- } else {
- $$result_ref = undef;
- }
- return 1;
- }
- return 0;
-}
-
-##############
-# check_idx2 #
-##############
-sub check_idx2 {
- my $self = shift @_;
- my $arg_ref = shift @_;
- my $pc_lin = shift @_;
- my $pc_pag = shift @_;
- my $loc_cnt = shift @_;
- my $hex_ref = shift @_;
- my $error_ref = shift @_;
- my $result_ref = shift @_;
- #temporary
- my $value;
-
- if ($self->get_idx2(0xe2,
- \$arg_ref->[0],
- \$arg_ref->[1], $pc_lin, $pc_pag, $loc_cnt, $error_ref, \$value)) {
- if (defined $value) {
- $$result_ref = join(" ", ($$hex_ref, $value));
- } else {
- $$result_ref = undef;
- }
- return 1;
- }
- return 0;
-}
-
-###############
-# check_ididx #
-###############
-sub check_ididx {
- my $self = shift @_;
- my $arg_ref = shift @_;
- my $pc_lin = shift @_;
- my $pc_pag = shift @_;
- my $loc_cnt = shift @_;
- my $hex_ref = shift @_;
- my $error_ref = shift @_;
- my $result_ref = shift @_;
- #temporary
- my $value;
-
- if ($self->get_ididx(\$arg_ref->[0], $pc_lin, $pc_pag, $loc_cnt, $error_ref, \$value)) {
- if (defined $value) {
- $$result_ref = join(" ", ($$hex_ref, $value));
- } else {
- $$result_ref = undef;
- }
- return 1;
- }
- return 0;
-}
-
-###############
-# check_iidx2 #
-###############
-sub check_iidx2 {
- my $self = shift @_;
- my $arg_ref = shift @_;
- my $pc_lin = shift @_;
- my $pc_pag = shift @_;
- my $loc_cnt = shift @_;
- my $hex_ref = shift @_;
- my $error_ref = shift @_;
- my $result_ref = shift @_;
- #temporary
- my $value;
-
- if ($self->get_idx2(0xe3,
- \$arg_ref->[0],
- \$arg_ref->[1], $pc_lin, $pc_pag, $loc_cnt, $error_ref, \$value)) {
- if (defined $value) {
- $$result_ref = join(" ", ($$hex_ref, $value));
- } else {
- $$result_ref = undef;
- }
- return 1;
- }
- return 0;
-}
-
-#################
-# check_dir_msk #
-#################
-sub check_dir_msk {
- my $self = shift @_;
- my $arg_ref = shift @_;
- my $pc_lin = shift @_;
- my $pc_pag = shift @_;
- my $loc_cnt = shift @_;
- my $hex_ref = shift @_;
- my $error_ref = shift @_;
- my $result_ref = shift @_;
- #temporary
- my $mask;
- my $address;
-
- if ($arg_ref->[0] =~ $op_keywords) {return 0;}
- $self->get_byte(\$arg_ref->[1], $pc_lin, $pc_pag, $loc_cnt, $error_ref, \$mask);
- if ($self->get_dir(0, \$arg_ref->[0], $pc_lin, $pc_pag, $loc_cnt, $error_ref, \$address)) {
- if ((defined $mask) && (defined $address)) {
- $$result_ref = join(" ", ($$hex_ref, $address, $mask));
- } else {
- $$result_ref = undef;
- }
- return 1;
- }
- return 0;
-}
-
-######################
-# check_s12x_dir_msk #
-######################
-sub check_s12x_dir_msk {
- my $self = shift @_;
- my $arg_ref = shift @_;
- my $pc_lin = shift @_;
- my $pc_pag = shift @_;
- my $loc_cnt = shift @_;
- my $hex_ref = shift @_;
- my $error_ref = shift @_;
- my $result_ref = shift @_;
- #temporary
- my $mask;
- my $address;
-
- if ($arg_ref->[0] =~ $op_keywords) {return 0;}
- $self->get_byte(\$arg_ref->[1], $pc_lin, $pc_pag, $loc_cnt, $error_ref, \$mask);
- if ($self->get_dir($self->{dir_page}, \$arg_ref->[0], $pc_lin, $pc_pag, $loc_cnt, $error_ref, \$address)) {
- if ((defined $mask) && (defined $address)) {
- $$result_ref = join(" ", ($$hex_ref, $address, $mask));
- } else {
- $$result_ref = undef;
- }
- return 1;
- }
- return 0;
-}
-
-#################
-# check_ext_msk #
-#################
-sub check_ext_msk {
- my $self = shift @_;
- my $arg_ref = shift @_;
- my $pc_lin = shift @_;
- my $pc_pag = shift @_;
- my $loc_cnt = shift @_;
- my $hex_ref = shift @_;
- my $error_ref = shift @_;
- my $result_ref = shift @_;
- #temporary
- my $mask;
- my $address;
-
- if ($arg_ref->[0] =~ $op_keywords) {return 0;}
- $self->get_byte(\$arg_ref->[1], $pc_lin, $pc_pag, $loc_cnt, $error_ref, \$mask);
- $self->get_word(\$arg_ref->[0], $pc_lin, $pc_pag, $loc_cnt, $error_ref, \$address);
- if ((defined $mask) && (defined $address)) {
- $$result_ref = join(" ", ($$hex_ref, $address, $mask));
- } else {
- $$result_ref = undef;
- }
- return 1;
-}
-
-#################
-# check_idx_msk #
-#################
-sub check_idx_msk {
- my $self = shift @_;
- my $arg_ref = shift @_;
- my $pc_lin = shift @_;
- my $pc_pag = shift @_;
- my $loc_cnt = shift @_;
- my $hex_ref = shift @_;
- my $error_ref = shift @_;
- my $result_ref = shift @_;
- #temporary
- my $mask;
- my $address;
-
- $self->get_byte(\$arg_ref->[4], $pc_lin, $pc_pag, $loc_cnt, $error_ref, \$mask);
- if ($self->get_idx(\$arg_ref->[0],
- \$arg_ref->[1],
- \$arg_ref->[2],
- \$arg_ref->[3], $pc_lin, $pc_pag, $loc_cnt, $error_ref, \$address)) {
- if ((defined $mask) && (defined $address)) {
- $$result_ref = join(" ", ($$hex_ref, $address, $mask));
- } else {
- $$result_ref = undef;
- }
- return 1;
- }
- return 0;
-}
-
-##################
-# check_idx1_msk #
-##################
-sub check_idx1_msk {
- my $self = shift @_;
- my $arg_ref = shift @_;
- my $pc_lin = shift @_;
- my $pc_pag = shift @_;
- my $loc_cnt = shift @_;
- my $hex_ref = shift @_;
- my $error_ref = shift @_;
- my $result_ref = shift @_;
- #temporary
- my $mask;
- my $address;
-
- $self->get_byte(\$arg_ref->[2], $pc_lin, $pc_pag, $loc_cnt, $error_ref, \$mask);
- if ($self->get_idx1(\$arg_ref->[0],
- \$arg_ref->[1], $pc_lin, $pc_pag, $loc_cnt, $error_ref, \$address)) {
- if ((defined $mask) && (defined $address)) {
- $$result_ref = join(" ", ($$hex_ref, $address, $mask));
- } else {
- $$result_ref = undef;
- }
- return 1;
- }
- return 0;
-}
-
-##################
-# check_idx2_msk #
-##################
-sub check_idx2_msk {
- my $self = shift @_;
- my $arg_ref = shift @_;
- my $pc_lin = shift @_;
- my $pc_pag = shift @_;
- my $loc_cnt = shift @_;
- my $hex_ref = shift @_;
- my $error_ref = shift @_;
- my $result_ref = shift @_;
- #temporary
- my $mask;
- my $address;
-
- $self->get_byte(\$arg_ref->[2], $pc_lin, $pc_pag, $loc_cnt, $error_ref, \$mask);
- if ($self->get_idx2(0xe2,
- \$arg_ref->[0],
- \$arg_ref->[1], $pc_lin, $pc_pag, $loc_cnt, $error_ref, \$address)) {
- if ((defined $mask) && (defined $address)) {
- $$result_ref = join(" ", ($$hex_ref, $address, $mask));
- } else {
- $$result_ref = undef;
- }
- return 1;
- }
- return 0;
-}
-
-#####################
-# check_dir_msk_rel #
-#####################
-sub check_dir_msk_rel {
- my $self = shift @_;
- my $arg_ref = shift @_;
- my $pc_lin = shift @_;
- my $pc_pag = shift @_;
- my $loc_cnt = shift @_;
- my $hex_ref = shift @_;
- my $error_ref = shift @_;
- my $result_ref = shift @_;
- #temporary
- my $rel;
- my $mask;
- my $address;
-
- if ($arg_ref->[0] =~ $op_keywords) {return 0;}
- if ($self->get_dir(0, \$arg_ref->[0], $pc_lin, $pc_pag, $loc_cnt, $error_ref, \$address)) {
- $self->get_byte(\$arg_ref->[1], $pc_lin, $pc_pag, $loc_cnt, $error_ref, \$mask);
- $self->get_rel8(4, \$arg_ref->[2], $pc_lin, $pc_pag, $loc_cnt, $error_ref, \$rel);
- if ((defined $rel) && (defined $mask) && (defined $address)) {
- $$result_ref = join(" ", ($$hex_ref, $address, $mask, $rel));
- } else {
- $$result_ref = undef;
- }
- return 1;
- }
- return 0;
-}
-
-##########################
-# check_s12x_dir_msk_rel #
-##########################
-sub check_s12x_dir_msk_rel {
- my $self = shift @_;
- my $arg_ref = shift @_;
- my $pc_lin = shift @_;
- my $pc_pag = shift @_;
- my $loc_cnt = shift @_;
- my $hex_ref = shift @_;
- my $error_ref = shift @_;
- my $result_ref = shift @_;
- #temporary
- my $rel;
- my $mask;
- my $address;
-
- #printf STDERR "check_s12x_dir_msk_rel: \"%s\" %X\n", $arg_ref->[0], $dir_pag;
- if ($arg_ref->[0] =~ $op_keywords) {return 0;}
- if ($self->get_dir($self->{dir_page}, \$arg_ref->[0], $pc_lin, $pc_pag, $loc_cnt, $error_ref, \$address)) {
- $self->get_byte(\$arg_ref->[1], $pc_lin, $pc_pag, $loc_cnt, $error_ref, \$mask);
- $self->get_rel8(4, \$arg_ref->[2], $pc_lin, $pc_pag, $loc_cnt, $error_ref, \$rel);
- if ((defined $rel) && (defined $mask) && (defined $address)) {
- $$result_ref = join(" ", ($$hex_ref, $address, $mask, $rel));
- } else {
- $$result_ref = undef;
- }
- return 1;
- }
- return 0;
-}
-
-#####################
-# check_ext_msk_rel #
-#####################
-sub check_ext_msk_rel {
- my $self = shift @_;
- my $arg_ref = shift @_;
- my $pc_lin = shift @_;
- my $pc_pag = shift @_;
- my $loc_cnt = shift @_;
- my $hex_ref = shift @_;
- my $error_ref = shift @_;
- my $result_ref = shift @_;
- #temporary
- my $rel;
- my $mask;
- my $address;
-
- if ($arg_ref->[0] =~ $op_keywords) {return 0;}
- $self->get_rel8(5, \$arg_ref->[2], $pc_lin, $pc_pag, $loc_cnt, $error_ref, \$rel);
- $self->get_byte(\$arg_ref->[1], $pc_lin, $pc_pag, $loc_cnt, $error_ref, \$mask);
- $self->get_word(\$arg_ref->[0], $pc_lin, $pc_pag, $loc_cnt, $error_ref, \$address);
- if ((defined $rel) && (defined $mask) && (defined $address)) {
- $$result_ref = join(" ", ($$hex_ref, $address, $mask, $rel));
- } else {
- $$result_ref = undef;
- }
- return 1;
-}
-
-#####################
-# check_idx_msk_rel #
-#####################
-sub check_idx_msk_rel {
- my $self = shift @_;
- my $arg_ref = shift @_;
- my $pc_lin = shift @_;
- my $pc_pag = shift @_;
- my $loc_cnt = shift @_;
- my $hex_ref = shift @_;
- my $error_ref = shift @_;
- my $result_ref = shift @_;
- #temporary
- my $rel;
- my $mask;
- my $address;
-
- $self->get_rel8(4, \$arg_ref->[5], $pc_lin, $pc_pag, $loc_cnt, $error_ref, \$rel);
- $self->get_byte(\$arg_ref->[4], $pc_lin, $pc_pag, $loc_cnt, $error_ref, \$mask);
- if ($self->get_idx(\$arg_ref->[0],
- \$arg_ref->[1],
- \$arg_ref->[2],
- \$arg_ref->[3], $pc_lin, $pc_pag, $loc_cnt, $error_ref, \$address)) {
- if ((defined $rel) && (defined $mask) && (defined $address)) {
- $$result_ref = join(" ", ($$hex_ref, $address, $mask, $rel));
- } else {
- $$result_ref = undef;
- }
- return 1;
- }
- return 0;
-}
-
-######################
-# check_idx1_msk_rel #
-######################
-sub check_idx1_msk_rel {
- my $self = shift @_;
- my $arg_ref = shift @_;
- my $pc_lin = shift @_;
- my $pc_pag = shift @_;
- my $loc_cnt = shift @_;
- my $hex_ref = shift @_;
- my $error_ref = shift @_;
- my $result_ref = shift @_;
- #temporary
- my $rel;
- my $mask;
- my $address;
-
- $self->get_rel8(5, \$arg_ref->[3], $pc_lin, $pc_pag, $loc_cnt, $error_ref, \$rel);
- $self->get_byte(\$arg_ref->[2], $pc_lin, $pc_pag, $loc_cnt, $error_ref, \$mask);
- if ($self->get_idx1(\$arg_ref->[0],
- \$arg_ref->[1], $pc_lin, $pc_pag, $loc_cnt, $error_ref, \$address)) {
- if ((defined $rel) && (defined $mask) && (defined $address)) {
- $$result_ref = join(" ", ($$hex_ref, $address, $mask, $rel));
- } else {
- $$result_ref = undef;
- }
- return 1;
- }
- return 0;
-}
-
-######################
-# check_idx2_msk_rel #
-######################
-sub check_idx2_msk_rel {
- my $self = shift @_;
- my $arg_ref = shift @_;
- my $pc_lin = shift @_;
- my $pc_pag = shift @_;
- my $loc_cnt = shift @_;
- my $hex_ref = shift @_;
- my $error_ref = shift @_;
- my $result_ref = shift @_;
- #temporary
- my $rel;
- my $mask;
- my $address;
-
- $self->get_rel8(6, \$arg_ref->[3], $pc_lin, $pc_pag, $loc_cnt, $error_ref, \$rel);
- $self->get_byte(\$arg_ref->[2], $pc_lin, $pc_pag, $loc_cnt, $error_ref, \$mask);
- if ($self->get_idx2(0xe2,
- \$arg_ref->[0],
- \$arg_ref->[1], $pc_lin, $pc_pag, $loc_cnt, $error_ref, \$address)) {
- if ((defined $rel) && (defined $mask) && (defined $address)) {
- $$result_ref = join(" ", ($$hex_ref, $address, $mask, $rel));
- } else {
- $$result_ref = undef;
- }
- return 1;
- }
- return 0;
-}
-
-####################
-# check_ext_pgimpl #
-####################
-sub check_ext_pgimpl {
- my $self = shift @_;
- my $arg_ref = shift @_;
- my $pc_lin = shift @_;
- my $pc_pag = shift @_;
- my $loc_cnt = shift @_;
- my $hex_ref = shift @_;
- my $error_ref = shift @_;
- my $result_ref = shift @_;
- #temporary
- my $address;
-
- if ($arg_ref->[0] =~ $op_keywords) {return 0;}
- $self->get_ext_pgimpl(\$arg_ref->[0], $pc_lin, $pc_pag, $loc_cnt, $error_ref, \$address);
- if (defined $address) {
- $$result_ref = join(" ", ($$hex_ref, $address));
- } else {
- $$result_ref = undef;
- }
- return 1;
-}
-
-################
-# check_ext_pg #
-################
-sub check_ext_pg {
- my $self = shift @_;
- my $arg_ref = shift @_;
- my $pc_lin = shift @_;
- my $pc_pag = shift @_;
- my $loc_cnt = shift @_;
- my $hex_ref = shift @_;
- my $error_ref = shift @_;
- my $result_ref = shift @_;
- #temporary
- my $page;
- my $address;
-
- if ($arg_ref->[0] =~ $op_keywords) {return 0;}
- $self->get_byte(\$arg_ref->[1], $pc_lin, $pc_pag, $loc_cnt, $error_ref, \$page);
- $self->get_word(\$arg_ref->[0], $pc_lin, $pc_pag, $loc_cnt, $error_ref, \$address);
- $$result_ref = join(" ", ($$hex_ref, $address, $page));
- return 1;
-}
-
-################
-# check_idx_pg #
-################
-sub check_idx_pg {
- my $self = shift @_;
- my $arg_ref = shift @_;
- my $pc_lin = shift @_;
- my $pc_pag = shift @_;
- my $loc_cnt = shift @_;
- my $hex_ref = shift @_;
- my $error_ref = shift @_;
- my $result_ref = shift @_;
- #temporary
- my $page;
- my $address;
-
- $self->get_byte(\$arg_ref->[4], $pc_lin, $pc_pag, $loc_cnt, $error_ref, \$page);
- if ($self->get_idx(\$arg_ref->[0],
- \$arg_ref->[1],
- \$arg_ref->[2],
- \$arg_ref->[3], $pc_lin, $pc_pag, $loc_cnt, $error_ref, \$address)) {
- if ((defined $page) && (defined $address)) {
- $$result_ref = join(" ", ($$hex_ref, $address, $page));
- } else {
- $$result_ref = undef;
- }
- return 1;
- }
- return 0;
-}
-
-#################
-# check_idx1_pg #
-#################
-sub check_idx1_pg {
- my $self = shift @_;
- my $arg_ref = shift @_;
- my $pc_lin = shift @_;
- my $pc_pag = shift @_;
- my $loc_cnt = shift @_;
- my $hex_ref = shift @_;
- my $error_ref = shift @_;
- my $result_ref = shift @_;
- #temporary
- my $page;
- my $address;
-
- $self->get_byte(\$arg_ref->[2], $pc_lin, $pc_pag, $loc_cnt, $error_ref, \$page);
- if ($self->get_idx1(\$arg_ref->[0],
- \$arg_ref->[1], $pc_lin, $pc_pag, $loc_cnt, $error_ref, \$address)) {
- if ((defined $page) && (defined $address)) {
- $$result_ref = join(" ", ($$hex_ref, $address, $page));
- } else {
- $$result_ref = undef;
- }
- return 1;
- }
- return 0;
-}
-
-#################
-# check_idx2_pg #
-#################
-sub check_idx2_pg {
- my $self = shift @_;
- my $arg_ref = shift @_;
- my $pc_lin = shift @_;
- my $pc_pag = shift @_;
- my $loc_cnt = shift @_;
- my $hex_ref = shift @_;
- my $error_ref = shift @_;
- my $result_ref = shift @_;
- #temporary
- my $page;
- my $address;
-
- $self->get_byte(\$arg_ref->[2], $pc_lin, $pc_pag, $loc_cnt, $error_ref, \$page);
- if ($self->get_idx2(0xe2,
- \$arg_ref->[0],
- \$arg_ref->[1], $pc_lin, $pc_pag, $loc_cnt, $error_ref, \$address)) {
- if ((defined $page) && (defined $address)) {
- $$result_ref = join(" ", ($$hex_ref, $address, $page));
- } else {
- $$result_ref = undef;
- }
- return 1;
- }
- return 0;
-}
-
-##################
-# check_ididx_pg #
-##################
-sub check_ididx_pg {
- my $self = shift @_;
- my $arg_ref = shift @_;
- my $pc_lin = shift @_;
- my $pc_pag = shift @_;
- my $loc_cnt = shift @_;
- my $hex_ref = shift @_;
- my $error_ref = shift @_;
- my $result_ref = shift @_;
- #temporary
- my $page;
- my $address;
-
- $self->get_byte(\$arg_ref->[1], $pc_lin, $pc_pag, $loc_cnt, $error_ref, \$page);
- if ($self->get_ididx(\$arg_ref->[0], $pc_lin, $pc_pag, $loc_cnt, $error_ref, \$address)) {
- if ((defined $page) && (defined $address)) {
- $$result_ref = join(" ", ($$hex_ref, $address, $page));
- } else {
- $$result_ref = undef;
- }
- return 1;
- }
- return 0;
-}
-
-##################
-# check_iidx2_pg #
-##################
-sub check_iidx2_pg {
- my $self = shift @_;
- my $arg_ref = shift @_;
- my $pc_lin = shift @_;
- my $pc_pag = shift @_;
- my $loc_cnt = shift @_;
- my $hex_ref = shift @_;
- my $error_ref = shift @_;
- my $result_ref = shift @_;
- #temporary
- my $page;
- my $address;
-
- $self->get_byte(\$arg_ref->[2], $pc_lin, $pc_pag, $loc_cnt, $error_ref, \$page);
- if ($self->get_idx2(0xe3,
- \$arg_ref->[0],
- \$arg_ref->[1], $pc_lin, $pc_pag, $loc_cnt, $error_ref, \$address)) {
- if ((defined $page) && (defined $address)) {
- $$result_ref = join(" ", ($$hex_ref, $address, $page));
- } else {
- $$result_ref = undef;
- }
- return 1;
- }
- return 0;
-}
-
-##################
-# check_imm8_ext #
-##################
-sub check_imm8_ext {
- my $self = shift @_;
- my $arg_ref = shift @_;
- my $pc_lin = shift @_;
- my $pc_pag = shift @_;
- my $loc_cnt = shift @_;
- my $hex_ref = shift @_;
- my $error_ref = shift @_;
- my $result_ref = shift @_;
- #temporary
- my $data;
- my $address;
-
- if ($arg_ref->[1] =~ $op_keywords) {return 0;}
- $self->get_word(\$arg_ref->[1], $pc_lin, $pc_pag, $loc_cnt, $error_ref, \$address);
- $self->get_byte(\$arg_ref->[0], $pc_lin, $pc_pag, $loc_cnt, $error_ref, \$data);
- if ((defined $data) && (defined $address)) {
- $$result_ref = join(" ", ($$hex_ref, $data, $address));
- } else {
- $$result_ref = undef;
- }
- return 1;
-}
-
-##################
-# check_imm8_idx #
-##################
-sub check_imm8_idx {
- my $self = shift @_;
- my $arg_ref = shift @_;
- my $pc_lin = shift @_;
- my $pc_pag = shift @_;
- my $loc_cnt = shift @_;
- my $hex_ref = shift @_;
- my $error_ref = shift @_;
- my $result_ref = shift @_;
- #temporary
- my $data;
- my $address;
-
- if ($self->get_idx(\$arg_ref->[1],
- \$arg_ref->[2],
- \$arg_ref->[3],
- \$arg_ref->[4], $pc_lin, $pc_pag, $loc_cnt, $error_ref, \$address)) {
- $self->get_byte(\$arg_ref->[0], $pc_lin, $pc_pag, $loc_cnt, $error_ref, \$data);
- if ((defined $data) && (defined $address)) {
- $$result_ref = join(" ", ($$hex_ref, $address, $data));
- } else {
- $$result_ref = undef;
- }
- return 1;
- }
- return 0;
-}
-
-###################
-# check_imm8_idx1 #
-###################
-sub check_imm8_idx1 {
- my $self = shift @_;
- my $arg_ref = shift @_;
- my $pc_lin = shift @_;
- my $pc_pag = shift @_;
- my $loc_cnt = shift @_;
- my $hex_ref = shift @_;
- my $error_ref = shift @_;
- my $result_ref = shift @_;
- #temporary
- my $data;
- my $address;
-
- if ($self->get_idx1(\$arg_ref->[1],
- \$arg_ref->[2], $pc_lin, $pc_pag, $loc_cnt, $error_ref, \$address)) {
- $self->get_byte(\$arg_ref->[0], $pc_lin, $pc_pag, $loc_cnt, $error_ref, \$data);
- if ((defined $data) && (defined $address)) {
- $$result_ref = join(" ", ($$hex_ref, $address, $data));
- } else {
- $$result_ref = undef;
- }
- return 1;
- }
- return 0;
-}
-
-###################
-# check_imm8_idx2 #
-###################
-sub check_imm8_idx2 {
- my $self = shift @_;
- my $arg_ref = shift @_;
- my $pc_lin = shift @_;
- my $pc_pag = shift @_;
- my $loc_cnt = shift @_;
- my $hex_ref = shift @_;
- my $error_ref = shift @_;
- my $result_ref = shift @_;
- #temporary
- my $data;
- my $address;
-
- if ($self->get_idx2(\$arg_ref->[1],
- \$arg_ref->[2], $pc_lin, $pc_pag, $loc_cnt, $error_ref, \$address)) {
- $self->get_byte(\$arg_ref->[0], $pc_lin, $pc_pag, $loc_cnt, $error_ref, \$data);
- if ((defined $data) && (defined $address)) {
- $$result_ref = join(" ", ($$hex_ref, $address, $data));
- } else {
- $$result_ref = undef;
- }
- return 1;
- }
- return 0;
-}
-
-####################
-# check_imm8_ididx #
-####################
-sub check_imm8_ididx {
- my $self = shift @_;
- my $arg_ref = shift @_;
- my $pc_lin = shift @_;
- my $pc_pag = shift @_;
- my $loc_cnt = shift @_;
- my $hex_ref = shift @_;
- my $error_ref = shift @_;
- my $result_ref = shift @_;
- #temporary
- my $data;
- my $address;
-
- if ($self->get_ididx(\$arg_ref->[1], $pc_lin, $pc_pag, $loc_cnt, $error_ref, \$address)) {
- $self->get_byte(\$arg_ref->[0], $pc_lin, $pc_pag, $loc_cnt, $error_ref, \$data);
- if ((defined $data) && (defined $address)) {
- $$result_ref = join(" ", ($$hex_ref, $address, $data));
- } else {
- $$result_ref = undef;
- }
- return 1;
- }
- return 0;
-}
-
-###################
-# check_imm8_iidx2 #
-###################
-sub check_imm8_iidx2 {
- my $self = shift @_;
- my $arg_ref = shift @_;
- my $pc_lin = shift @_;
- my $pc_pag = shift @_;
- my $loc_cnt = shift @_;
- my $hex_ref = shift @_;
- my $error_ref = shift @_;
- my $result_ref = shift @_;
- #temporary
- my $data;
- my $address;
-
- if ($self->get_idx2(\$arg_ref->[1],
- \$arg_ref->[2], $pc_lin, $pc_pag, $loc_cnt, $error_ref, \$address)) {
- $self->get_byte(\$arg_ref->[0], $pc_lin, $pc_pag, $loc_cnt, $error_ref, \$data);
- if ((defined $data) && (defined $address)) {
- $$result_ref = join(" ", ($$hex_ref, $address, $data));
- } else {
- $$result_ref = undef;
- }
- return 1;
- }
- return 0;
-}
-
-###################
-# check_imm16_ext #
-###################
-sub check_imm16_ext {
- my $self = shift @_;
- my $arg_ref = shift @_;
- my $pc_lin = shift @_;
- my $pc_pag = shift @_;
- my $loc_cnt = shift @_;
- my $hex_ref = shift @_;
- my $error_ref = shift @_;
- my $result_ref = shift @_;
- #temporary
- my $data;
- my $address;
-
- if ($arg_ref->[1] =~ $op_keywords) {return 0;}
- $self->get_word(\$arg_ref->[1], $pc_lin, $pc_pag, $loc_cnt, $error_ref, \$address);
- $self->get_word(\$arg_ref->[0], $pc_lin, $pc_pag, $loc_cnt, $error_ref, \$data);
- if ((defined $data) && (defined $address)) {
- $$result_ref = join(" ", ($$hex_ref, $data, $address));
- } else {
- $$result_ref = undef;
- }
- return 1;
-}
-
-###################
-# check_imm16_idx #
-###################
-sub check_imm16_idx {
- my $self = shift @_;
- my $arg_ref = shift @_;
- my $pc_lin = shift @_;
- my $pc_pag = shift @_;
- my $loc_cnt = shift @_;
- my $hex_ref = shift @_;
- my $error_ref = shift @_;
- my $result_ref = shift @_;
- #temporary
- my $data;
- my $address;
-
- if ($self->get_idx(\$arg_ref->[1],
- \$arg_ref->[2],
- \$arg_ref->[3],
- \$arg_ref->[4], $pc_lin, $pc_pag, $loc_cnt, $error_ref, \$address)) {
- $self->get_word(\$arg_ref->[0], $pc_lin, $pc_pag, $loc_cnt, $error_ref, \$data);
- if ((defined $data) && (defined $address)) {
- $$result_ref = join(" ", ($$hex_ref, $address, $data));
- } else {
- $$result_ref = undef;
- }
- return 1;
- }
- return 0;
-}
-
-####################
-# check_imm16_idx1 #
-####################
-sub check_imm16_idx1 {
- my $self = shift @_;
- my $arg_ref = shift @_;
- my $pc_lin = shift @_;
- my $pc_pag = shift @_;
- my $loc_cnt = shift @_;
- my $hex_ref = shift @_;
- my $error_ref = shift @_;
- my $result_ref = shift @_;
- #temporary
- my $data;
- my $address;
-
- if ($self->get_idx1(\$arg_ref->[1],
- \$arg_ref->[2], $pc_lin, $pc_pag, $loc_cnt, $error_ref, \$address)) {
- $self->get_word(\$arg_ref->[0], $pc_lin, $pc_pag, $loc_cnt, $error_ref, \$data);
- if ((defined $data) && (defined $address)) {
- $$result_ref = join(" ", ($$hex_ref, $address, $data));
- } else {
- $$result_ref = undef;
- }
- return 1;
- }
- return 0;
-}
-
-####################
-# check_imm16_idx2 #
-####################
-sub check_imm16_idx2 {
- my $self = shift @_;
- my $arg_ref = shift @_;
- my $pc_lin = shift @_;
- my $pc_pag = shift @_;
- my $loc_cnt = shift @_;
- my $hex_ref = shift @_;
- my $error_ref = shift @_;
- my $result_ref = shift @_;
- #temporary
- my $data;
- my $address;
-
- if ($self->get_idx2(\$arg_ref->[1],
- \$arg_ref->[2], $pc_lin, $pc_pag, $loc_cnt, $error_ref, \$address)) {
- $self->get_word(\$arg_ref->[0], $pc_lin, $pc_pag, $loc_cnt, $error_ref, \$data);
- if ((defined $data) && (defined $address)) {
- $$result_ref = join(" ", ($$hex_ref, $address, $data));
- } else {
- $$result_ref = undef;
- }
- return 1;
- }
- return 0;
-}
-
-#####################
-# check_imm16_ididx #
-#####################
-sub check_imm16_ididx {
- my $self = shift @_;
- my $arg_ref = shift @_;
- my $pc_lin = shift @_;
- my $pc_pag = shift @_;
- my $loc_cnt = shift @_;
- my $hex_ref = shift @_;
- my $error_ref = shift @_;
- my $result_ref = shift @_;
- #temporary
- my $data;
- my $address;
-
- if ($self->get_ididx(\$arg_ref->[1], $pc_lin, $pc_pag, $loc_cnt, $error_ref, \$address)) {
- $self->get_word(\$arg_ref->[0], $pc_lin, $pc_pag, $loc_cnt, $error_ref, \$data);
- if ((defined $data) && (defined $address)) {
- $$result_ref = join(" ", ($$hex_ref, $address, $data));
- } else {
- $$result_ref = undef;
- }
- return 1;
- }
- return 0;
-}
-
-#####################
-# check_imm16_iidx2 #
-#####################
-sub check_imm16_iidx2 {
- my $self = shift @_;
- my $arg_ref = shift @_;
- my $pc_lin = shift @_;
- my $pc_pag = shift @_;
- my $loc_cnt = shift @_;
- my $hex_ref = shift @_;
- my $error_ref = shift @_;
- my $result_ref = shift @_;
- #temporary
- my $data;
- my $address;
-
- if ($self->get_idx2(\$arg_ref->[1],
- \$arg_ref->[2], $pc_lin, $pc_pag, $loc_cnt, $error_ref, \$address)) {
- $self->get_word(\$arg_ref->[0], $pc_lin, $pc_pag, $loc_cnt, $error_ref, \$data);
- if ((defined $data) && (defined $address)) {
- $$result_ref = join(" ", ($$hex_ref, $address, $data));
- } else {
- $$result_ref = undef;
- }
- return 1;
- }
- return 0;
-}
-
-#################
-# check_ext_ext #
-#################
-sub check_ext_ext {
- my $self = shift @_;
- my $arg_ref = shift @_;
- my $pc_lin = shift @_;
- my $pc_pag = shift @_;
- my $loc_cnt = shift @_;
- my $hex_ref = shift @_;
- my $error_ref = shift @_;
- my $result_ref = shift @_;
- #temporary
- my $addr0;
- my $addr1;
-
- if ($arg_ref->[0] =~ $op_keywords) {return 0;}
- if ($arg_ref->[1] =~ $op_keywords) {return 0;}
- $self->get_word(\$arg_ref->[1], $pc_lin, $pc_pag, $loc_cnt, $error_ref, \$addr1);
- $self->get_word(\$arg_ref->[0], $pc_lin, $pc_pag, $loc_cnt, $error_ref, \$addr0);
- if ((defined $addr0) && (defined $addr1)) {
- $$result_ref = join(" ", ($$hex_ref, $addr0, $addr1));
- } else {
- $$result_ref = undef;
- }
- return 1;
-}
-
-#################
-# check_ext_idx #
-#################
-sub check_ext_idx {
- my $self = shift @_;
- my $arg_ref = shift @_;
- my $pc_lin = shift @_;
- my $pc_pag = shift @_;
- my $loc_cnt = shift @_;
- my $hex_ref = shift @_;
- my $error_ref = shift @_;
- my $result_ref = shift @_;
- #temporary
- my $addr0;
- my $addr1;
- #printf STDERR "check_ext_idx: \"$arg_ref->[0]\" \"$arg_ref->[1]\" \"$arg_ref->[2]\" \"$arg_ref->[3]\" \"$arg_ref->[4]\"\n";
-
- if ($arg_ref->[0] =~ $op_keywords) {return 0;}
- if ($self->get_idx(\$arg_ref->[1],
- \$arg_ref->[2],
- \$arg_ref->[3],
- \$arg_ref->[4], $pc_lin, $pc_pag, $loc_cnt, $error_ref, \$addr1)) {
- $self->get_word(\$arg_ref->[0], $pc_lin, $pc_pag, $loc_cnt, $error_ref, \$addr0);
- if ((defined $addr1) && (defined $addr0)) {
- $$result_ref = join(" ", ($$hex_ref, $addr1, $addr0));
- } else {
- $$result_ref = undef;
- }
- return 1;
- }
- return 0;
-}
-
-##################
-# check_ext_idx1 #
-##################
-sub check_ext_idx1 {
- my $self = shift @_;
- my $arg_ref = shift @_;
- my $pc_lin = shift @_;
- my $pc_pag = shift @_;
- my $loc_cnt = shift @_;
- my $hex_ref = shift @_;
- my $error_ref = shift @_;
- my $result_ref = shift @_;
- #temporary
- my $addr0;
- my $addr1;
- #printf STDERR "check_ext_idx1: \"$arg_ref->[0]\" \"$arg_ref->[1]\" \"$arg_ref->[2]\"\n";
-
- if ($arg_ref->[0] =~ $op_keywords) {return 0;}
- if ($self->get_idx1(\$arg_ref->[1],
- \$arg_ref->[2], $pc_lin, $pc_pag, $loc_cnt, $error_ref, \$addr1)) {
- $self->get_word(\$arg_ref->[0], $pc_lin, $pc_pag, $loc_cnt, $error_ref, \$addr0);
- if ((defined $addr1) && (defined $addr0)) {
- $$result_ref = join(" ", ($$hex_ref, $addr1, $addr0));
- } else {
- $$result_ref = undef;
- }
- return 1;
- }
- return 0;
-}
-
-##################
-# check_ext_idx2 #
-##################
-sub check_ext_idx2 {
- my $self = shift @_;
- my $arg_ref = shift @_;
- my $pc_lin = shift @_;
- my $pc_pag = shift @_;
- my $loc_cnt = shift @_;
- my $hex_ref = shift @_;
- my $error_ref = shift @_;
- my $result_ref = shift @_;
- #temporary
- my $addr0;
- my $addr1;
- #printf STDERR "check_ext_idx2: \"$arg_ref->[0]\" \"$arg_ref->[1]\" \"$arg_ref->[2]\"\n";
-
- if ($arg_ref->[0] =~ $op_keywords) {return 0;}
- if ($self->get_idx2(\$arg_ref->[1],
- \$arg_ref->[2], $pc_lin, $pc_pag, $loc_cnt, $error_ref, \$addr1)) {
- $self->get_word(\$arg_ref->[0], $pc_lin, $pc_pag, $loc_cnt, $error_ref, \$addr0);
- if ((defined $addr1) && (defined $addr0)) {
- $$result_ref = join(" ", ($$hex_ref, $addr1, $addr0));
- } else {
- $$result_ref = undef;
- }
- return 1;
- }
- return 0;
-}
-
-###################
-# check_ext_ididx #
-###################
-sub check_ext_ididx {
- my $self = shift @_;
- my $arg_ref = shift @_;
- my $pc_lin = shift @_;
- my $pc_pag = shift @_;
- my $loc_cnt = shift @_;
- my $hex_ref = shift @_;
- my $error_ref = shift @_;
- my $result_ref = shift @_;
- #temporary
- my $addr0;
- my $addr1;
- #printf STDERR "check_ext_ididx: \"$arg_ref->[0]\" \"$arg_ref->[1]\"\n";
-
- if ($arg_ref->[0] =~ $op_keywords) {return 0;}
- if ($self->get_ididx(\$arg_ref->[1], $pc_lin, $pc_pag, $loc_cnt, $error_ref, \$addr1)) {
- $self->get_word(\$arg_ref->[0], $pc_lin, $pc_pag, $loc_cnt, $error_ref, \$addr0);
- if ((defined $addr1) && (defined $addr0)) {
- $$result_ref = join(" ", ($$hex_ref, $addr1, $addr0));
- } else {
- $$result_ref = undef;
- }
- return 1;
- }
- return 0;
-}
-
-###################
-# check_ext_iidx2 #
-###################
-sub check_ext_iidx2 {
- my $self = shift @_;
- my $arg_ref = shift @_;
- my $pc_lin = shift @_;
- my $pc_pag = shift @_;
- my $loc_cnt = shift @_;
- my $hex_ref = shift @_;
- my $error_ref = shift @_;
- my $result_ref = shift @_;
- #temporary
- my $addr0;
- my $addr1;
- #printf STDERR "check_ext_iidx2: \"$arg_ref->[0]\" \"$arg_ref->[1]\" \"$arg_ref->[2]\"\n";
-
- if ($arg_ref->[0] =~ $op_keywords) {return 0;}
- if ($self->get_idx2(\$arg_ref->[1],
- \$arg_ref->[2], $pc_lin, $pc_pag, $loc_cnt, $error_ref, \$addr1)) {
- $self->get_word(\$arg_ref->[0], $pc_lin, $pc_pag, $loc_cnt, $error_ref, \$addr0);
- if ((defined $addr1) && (defined $addr0)) {
- $$result_ref = join(" ", ($$hex_ref, $addr1, $addr0));
- } else {
- $$result_ref = undef;
- }
- return 1;
- }
- return 0;
-}
-
-#################
-# check_idx_ext #
-#################
-sub check_idx_ext {
- my $self = shift @_;
- my $arg_ref = shift @_;
- my $pc_lin = shift @_;
- my $pc_pag = shift @_;
- my $loc_cnt = shift @_;
- my $hex_ref = shift @_;
- my $error_ref = shift @_;
- my $result_ref = shift @_;
- #temporary
- my $addr0;
- my $addr1;
-
- if ($arg_ref->[4] =~ $op_keywords) {return 0;}
- $self->get_word(\$arg_ref->[4], $pc_lin, $pc_pag, $loc_cnt, $error_ref, \$addr1);
- if ($self->get_idx(\$arg_ref->[0],
- \$arg_ref->[1],
- \$arg_ref->[2],
- \$arg_ref->[3], $pc_lin, $pc_pag, $loc_cnt, $error_ref, \$addr0)) {
- if ((defined $addr0) && (defined $addr1)) {
- $$result_ref = join(" ", ($$hex_ref, $addr0, $addr1));
- } else {
- $$result_ref = undef;
- }
- return 1;
- }
- return 0;
-}
-
-#################
-# check_idx_idx #
-#################
-sub check_idx_idx {
- my $self = shift @_;
- my $arg_ref = shift @_;
- my $pc_lin = shift @_;
- my $pc_pag = shift @_;
- my $loc_cnt = shift @_;
- my $hex_ref = shift @_;
- my $error_ref = shift @_;
- my $result_ref = shift @_;
- #temporary
- my $addr0;
- my $addr1;
-
- if ($self->get_idx(\$arg_ref->[4],
- \$arg_ref->[5],
- \$arg_ref->[6],
- \$arg_ref->[7], $pc_lin, $pc_pag, $loc_cnt, $error_ref, \$addr1)) {
- if ($self->get_idx(\$arg_ref->[0],
- \$arg_ref->[1],
- \$arg_ref->[2],
- \$arg_ref->[3], $pc_lin, $pc_pag, $loc_cnt, $error_ref, \$addr0)) {
- if ((defined $addr0) && (defined $addr1)) {
- $$result_ref = join(" ", ($$hex_ref, $addr0, $addr1));
- } else {
- $$result_ref = undef;
- }
- return 1;
- }
- }
- return 0;
-}
-
-##################
-# check_idx_idx1 #
-##################
-sub check_idx_idx1 {
- my $self = shift @_;
- my $arg_ref = shift @_;
- my $pc_lin = shift @_;
- my $pc_pag = shift @_;
- my $loc_cnt = shift @_;
- my $hex_ref = shift @_;
- my $error_ref = shift @_;
- my $result_ref = shift @_;
- #temporary
- my $addr0;
- my $addr1;
-
- if ($self->get_idx1(\$arg_ref->[4],
- \$arg_ref->[5], $pc_lin, $pc_pag, $loc_cnt, $error_ref, \$addr1)) {
- if ($self->get_idx(\$arg_ref->[0],
- \$arg_ref->[1],
- \$arg_ref->[2],
- \$arg_ref->[3], $pc_lin, $pc_pag, $loc_cnt, $error_ref, \$addr0)) {
- if ((defined $addr0) && (defined $addr1)) {
- $$result_ref = join(" ", ($$hex_ref, $addr0, $addr1));
- } else {
- $$result_ref = undef;
- }
- return 1;
- }
- }
- return 0;
-}
-
-##################
-# check_idx_idx2 #
-##################
-sub check_idx_idx2 {
- my $self = shift @_;
- my $arg_ref = shift @_;
- my $pc_lin = shift @_;
- my $pc_pag = shift @_;
- my $loc_cnt = shift @_;
- my $hex_ref = shift @_;
- my $error_ref = shift @_;
- my $result_ref = shift @_;
- #temporary
- my $addr0;
- my $addr1;
-
- if ($self->get_idx2(\$arg_ref->[4],
- \$arg_ref->[5], $pc_lin, $pc_pag, $loc_cnt, $error_ref, \$addr1)) {
- if ($self->get_idx(\$arg_ref->[0],
- \$arg_ref->[1],
- \$arg_ref->[2],
- \$arg_ref->[3], $pc_lin, $pc_pag, $loc_cnt, $error_ref, \$addr0)) {
- if ((defined $addr0) && (defined $addr1)) {
- $$result_ref = join(" ", ($$hex_ref, $addr0, $addr1));
- } else {
- $$result_ref = undef;
- }
- return 1;
- }
- }
- return 0;
-}
-
-###################
-# check_idx_ididx #
-###################
-sub check_idx_ididx {
- my $self = shift @_;
- my $arg_ref = shift @_;
- my $pc_lin = shift @_;
- my $pc_pag = shift @_;
- my $loc_cnt = shift @_;
- my $hex_ref = shift @_;
- my $error_ref = shift @_;
- my $result_ref = shift @_;
- #temporary
- my $addr0;
- my $addr1;
-
- if ($self->get_ididx(\$arg_ref->[4], $pc_lin, $pc_pag, $loc_cnt, $error_ref, \$addr1)) {
- if ($self->get_idx(\$arg_ref->[0],
- \$arg_ref->[1],
- \$arg_ref->[2],
- \$arg_ref->[3], $pc_lin, $pc_pag, $loc_cnt, $error_ref, \$addr0)) {
- if ((defined $addr0) && (defined $addr1)) {
- $$result_ref = join(" ", ($$hex_ref, $addr0, $addr1));
- } else {
- $$result_ref = undef;
- }
- return 1;
- }
- }
- return 0;
-}
-
-###################
-# check_idx_iidx2 #
-###################
-sub check_idx_iidx2 {
- my $self = shift @_;
- my $arg_ref = shift @_;
- my $pc_lin = shift @_;
- my $pc_pag = shift @_;
- my $loc_cnt = shift @_;
- my $hex_ref = shift @_;
- my $error_ref = shift @_;
- my $result_ref = shift @_;
- #temporary
- my $addr0;
- my $addr1;
-
- if ($self->get_idx2(\$arg_ref->[4],
- \$arg_ref->[5], $pc_lin, $pc_pag, $loc_cnt, $error_ref, \$addr1)) {
- if ($self->get_idx(\$arg_ref->[0],
- \$arg_ref->[1],
- \$arg_ref->[2],
- \$arg_ref->[3], $pc_lin, $pc_pag, $loc_cnt, $error_ref, \$addr0)) {
- if ((defined $addr0) && (defined $addr1)) {
- $$result_ref = join(" ", ($$hex_ref, $addr0, $addr1));
- } else {
- $$result_ref = undef;
- }
- return 1;
- }
- }
- return 0;
-}
-
-##################
-# check_idx1_ext #
-##################
-sub check_idx1_ext {
- my $self = shift @_;
- my $arg_ref = shift @_;
- my $pc_lin = shift @_;
- my $pc_pag = shift @_;
- my $loc_cnt = shift @_;
- my $hex_ref = shift @_;
- my $error_ref = shift @_;
- my $result_ref = shift @_;
- #temporary
- my $addr0;
- my $addr1;
-
- if ($arg_ref->[2] =~ $op_keywords) {return 0;}
- $self->get_word(\$arg_ref->[2], $pc_lin, $pc_pag, $loc_cnt, $error_ref, \$addr1);
- if ($self->get_idx1(\$arg_ref->[0],
- \$arg_ref->[1], $pc_lin, $pc_pag, $loc_cnt, $error_ref, \$addr0)) {
- if ((defined $addr0) && (defined $addr1)) {
- $$result_ref = join(" ", ($$hex_ref, $addr0, $addr1));
- } else {
- $$result_ref = undef;
- }
- return 1;
- }
- return 0;
-}
-
-##################
-# check_idx1_idx #
-##################
-sub check_idx1_idx {
- my $self = shift @_;
- my $arg_ref = shift @_;
- my $pc_lin = shift @_;
- my $pc_pag = shift @_;
- my $loc_cnt = shift @_;
- my $hex_ref = shift @_;
- my $error_ref = shift @_;
- my $result_ref = shift @_;
- #temporary
- my $addr0;
- my $addr1;
-
- if ($self->get_idx(\$arg_ref->[2],
- \$arg_ref->[3],
- \$arg_ref->[4],
- \$arg_ref->[5], $pc_lin, $pc_pag, $loc_cnt, $error_ref, \$addr1)) {
- if ($self->get_idx1(\$arg_ref->[0],
- \$arg_ref->[1], $pc_lin, $pc_pag, $loc_cnt, $error_ref, \$addr0)) {
- if ((defined $addr0) && (defined $addr1)) {
- $$result_ref = join(" ", ($$hex_ref, $addr0, $addr1));
- } else {
- $$result_ref = undef;
- }
- return 1;
- }
- }
- return 0;
-}
-
-###################
-# check_idx1_idx1 #
-###################
-sub check_idx1_idx1 {
- my $self = shift @_;
- my $arg_ref = shift @_;
- my $pc_lin = shift @_;
- my $pc_pag = shift @_;
- my $loc_cnt = shift @_;
- my $hex_ref = shift @_;
- my $error_ref = shift @_;
- my $result_ref = shift @_;
- #temporary
- my $addr0;
- my $addr1;
-
- if ($self->get_idx1(\$arg_ref->[2],
- \$arg_ref->[3], $pc_lin, $pc_pag, $loc_cnt, $error_ref, \$addr1)) {
- if ($self->get_idx1(\$arg_ref->[0],
- \$arg_ref->[1], $pc_lin, $pc_pag, $loc_cnt, $error_ref, \$addr0)) {
- if ((defined $addr0) && (defined $addr1)) {
- $$result_ref = join(" ", ($$hex_ref, $addr0, $addr1));
- } else {
- $$result_ref = undef;
- }
- return 1;
- }
- }
- return 0;
-}
-
-###################
-# check_idx1_idx2 #
-###################
-sub check_idx1_idx2 {
- my $self = shift @_;
- my $arg_ref = shift @_;
- my $pc_lin = shift @_;
- my $pc_pag = shift @_;
- my $loc_cnt = shift @_;
- my $hex_ref = shift @_;
- my $error_ref = shift @_;
- my $result_ref = shift @_;
- #temporary
- my $addr0;
- my $addr1;
-
- if ($self->get_idx2(\$arg_ref->[2],
- \$arg_ref->[3], $pc_lin, $pc_pag, $loc_cnt, $error_ref, \$addr1)) {
- if ($self->get_idx1(\$arg_ref->[0],
- \$arg_ref->[1], $pc_lin, $pc_pag, $loc_cnt, $error_ref, \$addr0)) {
- if ((defined $addr0) && (defined $addr1)) {
- $$result_ref = join(" ", ($$hex_ref, $addr0, $addr1));
- } else {
- $$result_ref = undef;
- }
- return 1;
- }
- }
- return 0;
-}
-
-####################
-# check_idx1_ididx #
-####################
-sub check_idx1_ididx {
- my $self = shift @_;
- my $arg_ref = shift @_;
- my $pc_lin = shift @_;
- my $pc_pag = shift @_;
- my $loc_cnt = shift @_;
- my $hex_ref = shift @_;
- my $error_ref = shift @_;
- my $result_ref = shift @_;
- #temporary
- my $addr0;
- my $addr1;
-
- if ($self->get_ididx(\$arg_ref->[2], $pc_lin, $pc_pag, $loc_cnt, $error_ref, \$addr1)) {
- if ($self->get_idx1(\$arg_ref->[0],
- \$arg_ref->[1], $pc_lin, $pc_pag, $loc_cnt, $error_ref, \$addr0)) {
- if ((defined $addr0) && (defined $addr1)) {
- $$result_ref = join(" ", ($$hex_ref, $addr0, $addr1));
- } else {
- $$result_ref = undef;
- }
- return 1;
- }
- }
- return 0;
-}
-
-####################
-# check_idx1_iidx2 #
-####################
-sub check_idx1_iidx2 {
- my $self = shift @_;
- my $arg_ref = shift @_;
- my $pc_lin = shift @_;
- my $pc_pag = shift @_;
- my $loc_cnt = shift @_;
- my $hex_ref = shift @_;
- my $error_ref = shift @_;
- my $result_ref = shift @_;
- #temporary
- my $addr0;
- my $addr1;
-
- if ($self->get_idx2(\$arg_ref->[2],
- \$arg_ref->[3], $pc_lin, $pc_pag, $loc_cnt, $error_ref, \$addr1)) {
- if ($self->get_idx1(\$arg_ref->[0],
- \$arg_ref->[1], $pc_lin, $pc_pag, $loc_cnt, $error_ref, \$addr0)) {
- if ((defined $addr0) && (defined $addr1)) {
- $$result_ref = join(" ", ($$hex_ref, $addr0, $addr1));
- } else {
- $$result_ref = undef;
- }
- return 1;
- }
- }
- return 0;
-}
-
-##################
-# check_idx2_ext #
-##################
-sub check_idx2_ext {
- my $self = shift @_;
- my $arg_ref = shift @_;
- my $pc_lin = shift @_;
- my $pc_pag = shift @_;
- my $loc_cnt = shift @_;
- my $hex_ref = shift @_;
- my $error_ref = shift @_;
- my $result_ref = shift @_;
- #temporary
- my $addr0;
- my $addr1;
-
- if ($arg_ref->[2] =~ $op_keywords) {return 0;}
- $self->get_word(\$arg_ref->[2], $pc_lin, $pc_pag, $loc_cnt, $error_ref, \$addr1);
- if ($self->get_idx2(\$arg_ref->[0],
- \$arg_ref->[1], $pc_lin, $pc_pag, $loc_cnt, $error_ref, \$addr0)) {
- if ((defined $addr0) && (defined $addr1)) {
- $$result_ref = join(" ", ($$hex_ref, $addr0, $addr1));
- } else {
- $$result_ref = undef;
- }
- return 1;
- }
- return 0;
-}
-
-##################
-# check_idx2_idx #
-##################
-sub check_idx2_idx {
- my $self = shift @_;
- my $arg_ref = shift @_;
- my $pc_lin = shift @_;
- my $pc_pag = shift @_;
- my $loc_cnt = shift @_;
- my $hex_ref = shift @_;
- my $error_ref = shift @_;
- my $result_ref = shift @_;
- #temporary
- my $addr0;
- my $addr1;
-
- if ($self->get_idx(\$arg_ref->[2],
- \$arg_ref->[3],
- \$arg_ref->[4],
- \$arg_ref->[5], $pc_lin, $pc_pag, $loc_cnt, $error_ref, \$addr1)) {
- if ($self->get_idx2(\$arg_ref->[0],
- \$arg_ref->[1], $pc_lin, $pc_pag, $loc_cnt, $error_ref, \$addr0)) {
- if ((defined $addr0) && (defined $addr1)) {
- $$result_ref = join(" ", ($$hex_ref, $addr0, $addr1));
- } else {
- $$result_ref = undef;
- }
- return 1;
- }
- }
- return 0;
-}
-
-###################
-# check_idx2_idx1 #
-###################
-sub check_idx2_idx1 {
- my $self = shift @_;
- my $arg_ref = shift @_;
- my $pc_lin = shift @_;
- my $pc_pag = shift @_;
- my $loc_cnt = shift @_;
- my $hex_ref = shift @_;
- my $error_ref = shift @_;
- my $result_ref = shift @_;
- #temporary
- my $addr0;
- my $addr1;
-
- if ($self->get_idx1(\$arg_ref->[2],
- \$arg_ref->[3], $pc_lin, $pc_pag, $loc_cnt, $error_ref, \$addr1)) {
- if ($self->get_idx2(\$arg_ref->[0],
- \$arg_ref->[1], $pc_lin, $pc_pag, $loc_cnt, $error_ref, \$addr0)) {
- if ((defined $addr0) && (defined $addr1)) {
- $$result_ref = join(" ", ($$hex_ref, $addr0, $addr1));
- } else {
- $$result_ref = undef;
- }
- return 1;
- }
- }
- return 0;
-}
-
-###################
-# check_idx2_idx2 #
-###################
-sub check_idx2_idx2 {
- my $self = shift @_;
- my $arg_ref = shift @_;
- my $pc_lin = shift @_;
- my $pc_pag = shift @_;
- my $loc_cnt = shift @_;
- my $hex_ref = shift @_;
- my $error_ref = shift @_;
- my $result_ref = shift @_;
- #temporary
- my $addr0;
- my $addr1;
-
- if ($self->get_idx2(\$arg_ref->[2],
- \$arg_ref->[3], $pc_lin, $pc_pag, $loc_cnt, $error_ref, \$addr1)) {
- if ($self->get_idx2(\$arg_ref->[0],
- \$arg_ref->[1], $pc_lin, $pc_pag, $loc_cnt, $error_ref, \$addr0)) {
- if ((defined $addr0) && (defined $addr1)) {
- $$result_ref = join(" ", ($$hex_ref, $addr0, $addr1));
- } else {
- $$result_ref = undef;
- }
- return 1;
- }
- }
- return 0;
-}
-
-####################
-# check_idx2_ididx #
-####################
-sub check_idx2_ididx {
- my $self = shift @_;
- my $arg_ref = shift @_;
- my $pc_lin = shift @_;
- my $pc_pag = shift @_;
- my $loc_cnt = shift @_;
- my $hex_ref = shift @_;
- my $error_ref = shift @_;
- my $result_ref = shift @_;
- #temporary
- my $addr0;
- my $addr1;
-
- if ($self->get_ididx(\$arg_ref->[2], $pc_lin, $pc_pag, $loc_cnt, $error_ref, \$addr1)) {
- if ($self->get_idx2(\$arg_ref->[0],
- \$arg_ref->[1], $pc_lin, $pc_pag, $loc_cnt, $error_ref, \$addr0)) {
- if ((defined $addr0) && (defined $addr1)) {
- $$result_ref = join(" ", ($$hex_ref, $addr0, $addr1));
- } else {
- $$result_ref = undef;
- }
- return 1;
- }
- }
- return 0;
-}
-
-####################
-# check_idx2_iidx2 #
-####################
-sub check_idx2_iidx2 {
- my $self = shift @_;
- my $arg_ref = shift @_;
- my $pc_lin = shift @_;
- my $pc_pag = shift @_;
- my $loc_cnt = shift @_;
- my $hex_ref = shift @_;
- my $error_ref = shift @_;
- my $result_ref = shift @_;
- #temporary
- my $addr0;
- my $addr1;
-
- if ($self->get_idx2(\$arg_ref->[2],
- \$arg_ref->[3], $pc_lin, $pc_pag, $loc_cnt, $error_ref, \$addr1)) {
- if ($self->get_idx2(\$arg_ref->[0],
- \$arg_ref->[1], $pc_lin, $pc_pag, $loc_cnt, $error_ref, \$addr0)) {
- if ((defined $addr0) && (defined $addr1)) {
- $$result_ref = join(" ", ($$hex_ref, $addr0, $addr1));
- } else {
- $$result_ref = undef;
- }
- return 1;
- }
- }
- return 0;
-}
-
-###################
-# check_ididx_ext #
-###################
-sub check_ididx_ext {
- my $self = shift @_;
- my $arg_ref = shift @_;
- my $pc_lin = shift @_;
- my $pc_pag = shift @_;
- my $loc_cnt = shift @_;
- my $hex_ref = shift @_;
- my $error_ref = shift @_;
- my $result_ref = shift @_;
- #temporary
- my $addr0;
- my $addr1;
-
- if ($arg_ref->[1] =~ $op_keywords) {return 0;}
- $self->get_word(\$arg_ref->[1], $pc_lin, $pc_pag, $loc_cnt, $error_ref, \$addr1);
- if ($self->get_ididx(\$arg_ref->[0], $pc_lin, $pc_pag, $loc_cnt, $error_ref, \$addr0)) {
- if ((defined $addr0) && (defined $addr1)) {
- $$result_ref = join(" ", ($$hex_ref, $addr0, $addr1));
- } else {
- $$result_ref = undef;
- }
- return 1;
- }
- return 0;
-}
-
-###################
-# check_ididx_idx #
-###################
-sub check_ididx_idx {
- my $self = shift @_;
- my $arg_ref = shift @_;
- my $pc_lin = shift @_;
- my $pc_pag = shift @_;
- my $loc_cnt = shift @_;
- my $hex_ref = shift @_;
- my $error_ref = shift @_;
- my $result_ref = shift @_;
- #temporary
- my $addr0;
- my $addr1;
-
- if ($self->get_idx(\$arg_ref->[1],
- \$arg_ref->[2],
- \$arg_ref->[3],
- \$arg_ref->[4], $pc_lin, $pc_pag, $loc_cnt, $error_ref, \$addr1)) {
- if ($self->get_ididx(\$arg_ref->[0], $pc_lin, $pc_pag, $loc_cnt, $error_ref, \$addr0)) {
- if ((defined $addr0) && (defined $addr1)) {
- $$result_ref = join(" ", ($$hex_ref, $addr0, $addr1));
- } else {
- $$result_ref = undef;
- }
- return 1;
- }
- }
- return 0;
-}
-
-####################
-# check_ididx_idx1 #
-####################
-sub check_ididx_idx1 {
- my $self = shift @_;
- my $arg_ref = shift @_;
- my $pc_lin = shift @_;
- my $pc_pag = shift @_;
- my $loc_cnt = shift @_;
- my $hex_ref = shift @_;
- my $error_ref = shift @_;
- my $result_ref = shift @_;
- #temporary
- my $addr0;
- my $addr1;
-
- if ($self->get_idx1(\$arg_ref->[1],
- \$arg_ref->[2], $pc_lin, $pc_pag, $loc_cnt, $error_ref, \$addr1)) {
- if ($self->get_ididx(\$arg_ref->[0], $pc_lin, $pc_pag, $loc_cnt, $error_ref, \$addr0)) {
- if ((defined $addr0) && (defined $addr1)) {
- $$result_ref = join(" ", ($$hex_ref, $addr0, $addr1));
- } else {
- $$result_ref = undef;
- }
- return 1;
- }
- }
- return 0;
-}
-
-####################
-# check_ididx_idx2 #
-####################
-sub check_ididx_idx2 {
- my $self = shift @_;
- my $arg_ref = shift @_;
- my $pc_lin = shift @_;
- my $pc_pag = shift @_;
- my $loc_cnt = shift @_;
- my $hex_ref = shift @_;
- my $error_ref = shift @_;
- my $result_ref = shift @_;
- #temporary
- my $addr0;
- my $addr1;
-
- if ($self->get_idx2(\$arg_ref->[1],
- \$arg_ref->[2], $pc_lin, $pc_pag, $loc_cnt, $error_ref, \$addr1)) {
- if ($self->get_ididx(\$arg_ref->[0], $pc_lin, $pc_pag, $loc_cnt, $error_ref, \$addr0)) {
- if ((defined $addr0) && (defined $addr1)) {
- $$result_ref = join(" ", ($$hex_ref, $addr0, $addr1));
- } else {
- $$result_ref = undef;
- }
- return 1;
- }
- }
- return 0;
-}
-
-#####################
-# check_ididx_ididx #
-#####################
-sub check_ididx_ididx {
- my $self = shift @_;
- my $arg_ref = shift @_;
- my $pc_lin = shift @_;
- my $pc_pag = shift @_;
- my $loc_cnt = shift @_;
- my $hex_ref = shift @_;
- my $error_ref = shift @_;
- my $result_ref = shift @_;
- #temporary
- my $addr0;
- my $addr1;
-
- if ($self->get_ididx(\$arg_ref->[1], $pc_lin, $pc_pag, $loc_cnt, $error_ref, \$addr1)) {
- if ($self->get_ididx(\$arg_ref->[0], $pc_lin, $pc_pag, $loc_cnt, $error_ref, \$addr0)) {
- if ((defined $addr0) && (defined $addr1)) {
- $$result_ref = join(" ", ($$hex_ref, $addr0, $addr1));
- } else {
- $$result_ref = undef;
- }
- return 1;
- }
- }
- return 0;
-}
-
-#####################
-# check_ididx_iidx2 #
-#####################
-sub check_ididx_iidx2 {
- my $self = shift @_;
- my $arg_ref = shift @_;
- my $pc_lin = shift @_;
- my $pc_pag = shift @_;
- my $loc_cnt = shift @_;
- my $hex_ref = shift @_;
- my $error_ref = shift @_;
- my $result_ref = shift @_;
- #temporary
- my $addr0;
- my $addr1;
-
- if ($self->get_idx2(\$arg_ref->[1],
- \$arg_ref->[2], $pc_lin, $pc_pag, $loc_cnt, $error_ref, \$addr1)) {
- if ($self->get_ididx(\$arg_ref->[0], $pc_lin, $pc_pag, $loc_cnt, $error_ref, \$addr0)) {
- if ((defined $addr0) && (defined $addr1)) {
- $$result_ref = join(" ", ($$hex_ref, $addr0, $addr1));
- } else {
- $$result_ref = undef;
- }
- return 1;
- }
- }
- return 0;
-}
-
-###################
-# check_iidx2_ext #
-###################
-sub check_iidx2_ext {
- my $self = shift @_;
- my $arg_ref = shift @_;
- my $pc_lin = shift @_;
- my $pc_pag = shift @_;
- my $loc_cnt = shift @_;
- my $hex_ref = shift @_;
- my $error_ref = shift @_;
- my $result_ref = shift @_;
- #temporary
- my $addr0;
- my $addr1;
-
- if ($arg_ref->[2] =~ $op_keywords) {return 0;}
- $self->get_word(\$arg_ref->[2], $pc_lin, $pc_pag, $loc_cnt, $error_ref, \$addr1);
- if ($self->get_idx2(\$arg_ref->[0],
- \$arg_ref->[1], $pc_lin, $pc_pag, $loc_cnt, $error_ref, \$addr0)) {
- if ((defined $addr0) && (defined $addr1)) {
- $$result_ref = join(" ", ($$hex_ref, $addr0, $addr1));
- } else {
- $$result_ref = undef;
- }
- return 1;
- }
- return 0;
-}
-
-###################
-# check_iidx2_idx #
-###################
-sub check_iidx2_idx {
- my $self = shift @_;
- my $arg_ref = shift @_;
- my $pc_lin = shift @_;
- my $pc_pag = shift @_;
- my $loc_cnt = shift @_;
- my $hex_ref = shift @_;
- my $error_ref = shift @_;
- my $result_ref = shift @_;
- #temporary
- my $addr0;
- my $addr1;
-
- if ($self->get_idx(\$arg_ref->[2],
- \$arg_ref->[3],
- \$arg_ref->[4],
- \$arg_ref->[5], $pc_lin, $pc_pag, $loc_cnt, $error_ref, \$addr1)) {
- if ($self->get_idx2(\$arg_ref->[0],
- \$arg_ref->[1], $pc_lin, $pc_pag, $loc_cnt, $error_ref, \$addr0)) {
- if ((defined $addr0) && (defined $addr1)) {
- $$result_ref = join(" ", ($$hex_ref, $addr0, $addr1));
- } else {
- $$result_ref = undef;
- }
- return 1;
- }
- }
- return 0;
-}
-
-####################
-# check_iidx2_idx1 #
-####################
-sub check_iidx2_idx1 {
- my $self = shift @_;
- my $arg_ref = shift @_;
- my $pc_lin = shift @_;
- my $pc_pag = shift @_;
- my $loc_cnt = shift @_;
- my $hex_ref = shift @_;
- my $error_ref = shift @_;
- my $result_ref = shift @_;
- #temporary
- my $addr0;
- my $addr1;
-
- if ($self->get_idx1(\$arg_ref->[2],
- \$arg_ref->[3], $pc_lin, $pc_pag, $loc_cnt, $error_ref, \$addr1)) {
- if ($self->get_idx2(\$arg_ref->[0],
- \$arg_ref->[1], $pc_lin, $pc_pag, $loc_cnt, $error_ref, \$addr0)) {
- if ((defined $addr0) && (defined $addr1)) {
- $$result_ref = join(" ", ($$hex_ref, $addr0, $addr1));
- } else {
- $$result_ref = undef;
- }
- return 1;
- }
- }
- return 0;
-}
-
-####################
-# check_iidx2_idx2 #
-####################
-sub check_iidx2_idx2 {
- my $self = shift @_;
- my $arg_ref = shift @_;
- my $pc_lin = shift @_;
- my $pc_pag = shift @_;
- my $loc_cnt = shift @_;
- my $hex_ref = shift @_;
- my $error_ref = shift @_;
- my $result_ref = shift @_;
- #temporary
- my $addr0;
- my $addr1;
-
- if ($self->get_idx2(\$arg_ref->[2],
- \$arg_ref->[3], $pc_lin, $pc_pag, $loc_cnt, $error_ref, \$addr1)) {
- if ($self->get_idx2(\$arg_ref->[0],
- \$arg_ref->[1], $pc_lin, $pc_pag, $loc_cnt, $error_ref, \$addr0)) {
- if ((defined $addr0) && (defined $addr1)) {
- $$result_ref = join(" ", ($$hex_ref, $addr0, $addr1));
- } else {
- $$result_ref = undef;
- }
- return 1;
- }
- }
- return 0;
-}
-
-#####################
-# check_iidx2_ididx #
-#####################
-sub check_iidx2_ididx {
- my $self = shift @_;
- my $arg_ref = shift @_;
- my $pc_lin = shift @_;
- my $pc_pag = shift @_;
- my $loc_cnt = shift @_;
- my $hex_ref = shift @_;
- my $error_ref = shift @_;
- my $result_ref = shift @_;
- #temporary
- my $addr0;
- my $addr1;
-
- if ($self->get_ididx(\$arg_ref->[2], $pc_lin, $pc_pag, $loc_cnt, $error_ref, \$addr1)) {
- if ($self->get_idx2(\$arg_ref->[0],
- \$arg_ref->[1], $pc_lin, $pc_pag, $loc_cnt, $error_ref, \$addr0)) {
- if ((defined $addr0) && (defined $addr1)) {
- $$result_ref = join(" ", ($$hex_ref, $addr0, $addr1));
- } else {
- $$result_ref = undef;
- }
- return 1;
- }
- }
- return 0;
-}
-
-#####################
-# check_iidx2_iidx2 #
-#####################
-sub check_iidx2_iidx2 {
- my $self = shift @_;
- my $arg_ref = shift @_;
- my $pc_lin = shift @_;
- my $pc_pag = shift @_;
- my $loc_cnt = shift @_;
- my $hex_ref = shift @_;
- my $error_ref = shift @_;
- my $result_ref = shift @_;
- #temporary
- my $addr0;
- my $addr1;
-
- if ($self->get_idx2(\$arg_ref->[2],
- \$arg_ref->[3], $pc_lin, $pc_pag, $loc_cnt, $error_ref, \$addr1)) {
- if ($self->get_idx2(\$arg_ref->[0],
- \$arg_ref->[1], $pc_lin, $pc_pag, $loc_cnt, $error_ref, \$addr0)) {
- if ((defined $addr0) && (defined $addr1)) {
- $$result_ref = join(" ", ($$hex_ref, $addr0, $addr1));
- } else {
- $$result_ref = undef;
- }
- return 1;
- }
- }
- return 0;
-}
-
-#############
-# check_exg #
-#############
-sub check_exg {
- my $self = shift @_;
- my $arg_ref = shift @_;
- my $pc_lin = shift @_;
- my $pc_pag = shift @_;
- my $loc_cnt = shift @_;
- my $hex_ref = shift @_;
- my $error_ref = shift @_;
- my $result_ref = shift @_;
- #temporary
- my $value;
-
- if ($self->get_tfr($tfr_s12,
- $tfr_exg,
- \$arg_ref->[0],
- \$arg_ref->[1], $pc_lin, $pc_pag, $loc_cnt, $error_ref, \$value)) {
- if (defined $value) {
- $$result_ref = join(" ", ($$hex_ref, $value));
- } else {
- $$result_ref = undef;
- }
- return 1;
- }
- return 0;
-}
-
-##################
-# check_s12x_exg #
-##################
-sub check_s12x_exg {
- my $self = shift @_;
- my $arg_ref = shift @_;
- my $pc_lin = shift @_;
- my $pc_pag = shift @_;
- my $loc_cnt = shift @_;
- my $hex_ref = shift @_;
- my $error_ref = shift @_;
- my $result_ref = shift @_;
- #temporary
- my $value;
-
- if ($self->get_tfr($tfr_s12x,
- $tfr_exg,
- \$arg_ref->[0],
- \$arg_ref->[1], $pc_lin, $pc_pag, $loc_cnt, $error_ref, \$value)) {
- if (defined $value) {
- $$result_ref = join(" ", ($$hex_ref, $value));
- } else {
- $$result_ref = undef;
- }
- return 1;
- }
- return 0;
-}
-
-#############
-# check_tfr #
-#############
-sub check_tfr {
- my $self = shift @_;
- my $arg_ref = shift @_;
- my $pc_lin = shift @_;
- my $pc_pag = shift @_;
- my $loc_cnt = shift @_;
- my $hex_ref = shift @_;
- my $error_ref = shift @_;
- my $result_ref = shift @_;
- #temporary
- my $value;
-
- if ($self->get_tfr($tfr_s12,
- $tfr_tfr,
- \$arg_ref->[0],
- \$arg_ref->[1], $pc_lin, $pc_pag, $loc_cnt, $error_ref, \$value)) {
- if (defined $value) {
- $$result_ref = join(" ", ($$hex_ref, $value));
- } else {
- $$result_ref = undef;
- }
- return 1;
- }
- return 0;
-}
-
-##################
-# check_s12x_tfr #
-##################
-sub check_s12x_tfr {
- my $self = shift @_;
- my $arg_ref = shift @_;
- my $pc_lin = shift @_;
- my $pc_pag = shift @_;
- my $loc_cnt = shift @_;
- my $hex_ref = shift @_;
- my $error_ref = shift @_;
- my $result_ref = shift @_;
- #temporary
- my $value;
-
- if ($self->get_tfr($tfr_s12x,
- $tfr_tfr,
- \$arg_ref->[0],
- \$arg_ref->[1], $pc_lin, $pc_pag, $loc_cnt, $error_ref, \$value)) {
- if (defined $value) {
- $$result_ref = join(" ", ($$hex_ref, $value));
- } else {
- $$result_ref = undef;
- }
- return 1;
- }
- return 0;
-}
-
-#############
-# check_sex #
-#############
-sub check_sex {
- my $self = shift @_;
- my $arg_ref = shift @_;
- my $pc_lin = shift @_;
- my $pc_pag = shift @_;
- my $loc_cnt = shift @_;
- my $hex_ref = shift @_;
- my $error_ref = shift @_;
- my $result_ref = shift @_;
- #temporary
- my $value;
-
- if ($self->get_tfr($tfr_s12,
- $tfr_sex,
- \$arg_ref->[0],
- \$arg_ref->[1], $pc_lin, $pc_pag, $loc_cnt, $error_ref, \$value)) {
- if (defined $value) {
- $$result_ref = join(" ", ($$hex_ref, $value));
- } else {
- $$result_ref = undef;
- }
- return 1;
- }
- return 0;
-}
-
-##################
-# check_s12x_sex #
-##################
-sub check_s12x_sex {
- my $self = shift @_;
- my $arg_ref = shift @_;
- my $pc_lin = shift @_;
- my $pc_pag = shift @_;
- my $loc_cnt = shift @_;
- my $hex_ref = shift @_;
- my $error_ref = shift @_;
- my $result_ref = shift @_;
- #temporary
- my $value;
-
- if ($self->get_tfr($tfr_s12x,
- $tfr_sex,
- \$arg_ref->[0],
- \$arg_ref->[1], $pc_lin, $pc_pag, $loc_cnt, $error_ref, \$value)) {
- if (defined $value) {
- $$result_ref = join(" ", ($$hex_ref, $value));
- } else {
- $$result_ref = undef;
- }
- return 1;
- }
- return 0;
-}
-
-##############
-# check_dbeq #
-##############
-sub check_dbeq {
- my $self = shift @_;
- my $arg_ref = shift @_;
- my $pc_lin = shift @_;
- my $pc_pag = shift @_;
- my $loc_cnt = shift @_;
- my $hex_ref = shift @_;
- my $error_ref = shift @_;
- my $result_ref = shift @_;
- #temporary
- my $value;
-
- if ($self->get_dbeq(0x00,
- \$arg_ref->[0],
- \$arg_ref->[1], $pc_lin, $pc_pag, $loc_cnt, $error_ref, \$value)) {
- if (defined $value) {
- $$result_ref = join(" ", ($$hex_ref, $value));
- } else {
- $$result_ref = undef;
- }
- return 1;
- }
- return 0;
-}
-
-##############
-# check_dbne #
-##############
-sub check_dbne {
- my $self = shift @_;
- my $arg_ref = shift @_;
- my $pc_lin = shift @_;
- my $pc_pag = shift @_;
- my $loc_cnt = shift @_;
- my $hex_ref = shift @_;
- my $error_ref = shift @_;
- my $result_ref = shift @_;
- #temporary
- my $value;
-
- if ($self->get_dbeq(0x20,
- \$arg_ref->[0],
- \$arg_ref->[1], $pc_lin, $pc_pag, $loc_cnt, $error_ref, \$value)) {
- if (defined $value) {
- $$result_ref = join(" ", ($$hex_ref, $value));
- } else {
- $$result_ref = undef;
- }
- return 1;
- }
- return 0;
-}
-
-##############
-# check_tbeq #
-##############
-sub check_tbeq {
- my $self = shift @_;
- my $arg_ref = shift @_;
- my $pc_lin = shift @_;
- my $pc_pag = shift @_;
- my $loc_cnt = shift @_;
- my $hex_ref = shift @_;
- my $error_ref = shift @_;
- my $result_ref = shift @_;
- #temporary
- my $value;
-
- if ($self->get_dbeq(0x40,
- \$arg_ref->[0],
- \$arg_ref->[1], $pc_lin, $pc_pag, $loc_cnt, $error_ref, \$value)) {
- if (defined $value) {
- $$result_ref = join(" ", ($$hex_ref, $value));
- } else {
- $$result_ref = undef;
- }
- return 1;
- }
- return 0;
-}
-
-##############
-# check_tbne #
-##############
-sub check_tbne {
- my $self = shift @_;
- my $arg_ref = shift @_;
- my $pc_lin = shift @_;
- my $pc_pag = shift @_;
- my $loc_cnt = shift @_;
- my $hex_ref = shift @_;
- my $error_ref = shift @_;
- my $result_ref = shift @_;
- #temporary
- my $value;
-
- if ($self->get_dbeq(0x60,
- \$arg_ref->[0],
- \$arg_ref->[1], $pc_lin, $pc_pag, $loc_cnt, $error_ref, \$value)) {
- if (defined $value) {
- $$result_ref = join(" ", ($$hex_ref, $value));
- } else {
- $$result_ref = undef;
- }
- return 1;
- }
- return 0;
-}
-
-##############
-# check_ibeq #
-##############
-sub check_ibeq {
- my $self = shift @_;
- my $arg_ref = shift @_;
- my $pc_lin = shift @_;
- my $pc_pag = shift @_;
- my $loc_cnt = shift @_;
- my $hex_ref = shift @_;
- my $error_ref = shift @_;
- my $result_ref = shift @_;
- #temporary
- my $value;
-
- if ($self->get_dbeq(0x80,
- \$arg_ref->[0],
- \$arg_ref->[1], $pc_lin, $pc_pag, $loc_cnt, $error_ref, \$value)) {
- if (defined $value) {
- $$result_ref = join(" ", ($$hex_ref, $value));
- } else {
- $$result_ref = undef;
- }
- return 1;
- }
- return 0;
-}
-
-##############
-# check_ibne #
-##############
-sub check_ibne {
- my $self = shift @_;
- my $arg_ref = shift @_;
- my $pc_lin = shift @_;
- my $pc_pag = shift @_;
- my $loc_cnt = shift @_;
- my $hex_ref = shift @_;
- my $error_ref = shift @_;
- my $result_ref = shift @_;
- #temporary
- my $value;
-
- if ($self->get_dbeq(0xa0,
- \$arg_ref->[0],
- \$arg_ref->[1], $pc_lin, $pc_pag, $loc_cnt, $error_ref, \$value)) {
- if (defined $value) {
- $$result_ref = join(" ", ($$hex_ref, $value));
- } else {
- $$result_ref = undef;
- }
- return 1;
- }
- return 0;
-}
-
-##############
-# check_trap #
-##############
-sub check_trap {
- my $self = shift @_;
- my $arg_ref = shift @_;
- my $pc_lin = shift @_;
- my $pc_pag = shift @_;
- my $loc_cnt = shift @_;
- my $hex_ref = shift @_;
- my $error_ref = shift @_;
- my $result_ref = shift @_;
- #temporary
- my $value;
-
- $self->get_trap(\$arg_ref->[0], $pc_lin, $pc_pag, $loc_cnt, $error_ref, \$value);
- if (defined $value) {
- $$result_ref = join(" ", ($$hex_ref, $value));
- } else {
- $$result_ref = undef;
- }
- return 1;
-}
-
-###################
-# check_s12x_trap #
-###################
-sub check_s12x_trap {
- my $self = shift @_;
- my $arg_ref = shift @_;
- my $pc_lin = shift @_;
- my $pc_pag = shift @_;
- my $loc_cnt = shift @_;
- my $hex_ref = shift @_;
- my $error_ref = shift @_;
- my $result_ref = shift @_;
- #temporary
- my $value;
-
- $self->get_s12x_trap(\$arg_ref->[0], $pc_lin, $pc_pag, $loc_cnt, $error_ref, \$value);
- if (defined $value) {
- $$result_ref = join(" ", ($$hex_ref, $value));
- } else {
- $$result_ref = undef;
- }
- return 1;
-}
-
-###################
-# check_hc11_indx #
-###################
-sub check_hc11_indx {
- my $self = shift @_;
- my $arg_ref = shift @_;
- my $pc_lin = shift @_;
- my $pc_pag = shift @_;
- my $loc_cnt = shift @_;
- my $hex_ref = shift @_;
- my $error_ref = shift @_;
- my $result_ref = shift @_;
- #temporary
- my $value;
-
- #printf STDERR "check_hc11_indx: %s \"%s\"\n", $#$arg_ref, $arg_ref->[0];
- if ($arg_ref->[0] =~ /^\s*$/) {
- $value = "00";
- } else {
- $self->get_byte(\$arg_ref->[0], $pc_lin, $pc_pag, $loc_cnt, $error_ref, \$value);
- }
- if (defined $value) {
- $$result_ref = join(" ", ($$hex_ref, $value));
- } else {
- $$result_ref = undef;
- }
- return 1;
-}
-
-###################
-# check_hc11_indy #
-###################
-sub check_hc11_indy {
- my $self = shift @_;
- my $arg_ref = shift @_;
- my $pc_lin = shift @_;
- my $pc_pag = shift @_;
- my $loc_cnt = shift @_;
- my $hex_ref = shift @_;
- my $error_ref = shift @_;
- my $result_ref = shift @_;
- #temporary
- my $value;
-
- if ($arg_ref->[0] =~ /^\s*$/) {
- $value = "00";
- } else {
- $self->get_byte(\$arg_ref->[0], $pc_lin, $pc_pag, $loc_cnt, $error_ref, \$value);
- }
- if (defined $value) {
- $$result_ref = join(" ", ($$hex_ref, $value));
- } else {
- $$result_ref = undef;
- }
- return 1;
-}
-
-#######################
-# check_hc11_indx_msk #
-#######################
-sub check_hc11_indx_msk {
- my $self = shift @_;
- my $arg_ref = shift @_;
- my $pc_lin = shift @_;
- my $pc_pag = shift @_;
- my $loc_cnt = shift @_;
- my $hex_ref = shift @_;
- my $error_ref = shift @_;
- my $result_ref = shift @_;
- #temporary
- my $mask;
- my $address;
-
- $self->get_byte(\$arg_ref->[1], $pc_lin, $pc_pag, $loc_cnt, $error_ref, \$mask);
- $self->get_byte(\$arg_ref->[0], $pc_lin, $pc_pag, $loc_cnt, $error_ref, \$address);
- if ((defined $mask) && (defined $address)) {
- $$result_ref = join(" ", ($$hex_ref, $address, $mask));
- } else {
- $$result_ref = undef;
- }
- return 1;
-}
-
-#######################
-# check_hc11_indy_msk #
-#######################
-sub check_hc11_indy_msk {
- my $self = shift @_;
- my $arg_ref = shift @_;
- my $pc_lin = shift @_;
- my $pc_pag = shift @_;
- my $loc_cnt = shift @_;
- my $hex_ref = shift @_;
- my $error_ref = shift @_;
- my $result_ref = shift @_;
- #temporary
- my $mask;
- my $address;
-
- $self->get_byte(\$arg_ref->[1], $pc_lin, $pc_pag, $loc_cnt, $error_ref, \$mask);
- $self->get_byte(\$arg_ref->[0], $pc_lin, $pc_pag, $loc_cnt, $error_ref, \$address);
- if ((defined $mask) && (defined $address)) {
- $$result_ref = join(" ", ($$hex_ref, $address, $mask));
- } else {
- $$result_ref = undef;
- }
- return 1;
-}
-
-###########################
-# check_hc11_indx_msk_rel #
-###########################
-sub check_hc11_indx_msk_rel {
- my $self = shift @_;
- my $arg_ref = shift @_;
- my $pc_lin = shift @_;
- my $pc_pag = shift @_;
- my $loc_cnt = shift @_;
- my $hex_ref = shift @_;
- my $error_ref = shift @_;
- my $result_ref = shift @_;
- #temporary
- my $rel;
- my $mask;
- my $address;
-
- if ($self->get_rel8(4, \$arg_ref->[5], $pc_lin, $pc_pag, $loc_cnt, $error_ref, \$rel)) {
- $self->get_byte(\$arg_ref->[1], $pc_lin, $pc_pag, $loc_cnt, $error_ref, \$mask);
- $self->get_byte(\$arg_ref->[0], $pc_lin, $pc_pag, $loc_cnt, $error_ref, \$address);
- if ((defined $mask) && (defined $address)) {
- $$result_ref = join(" ", ($$hex_ref, $address, $mask));
- } else {
- $$result_ref = undef;
- }
- return 1;
- }
- return 0;
-}
-
-###########################
-# check_hc11_indy_msk_rel #
-###########################
-sub check_hc11_indy_msk_rel {
- my $self = shift @_;
- my $arg_ref = shift @_;
- my $pc_lin = shift @_;
- my $pc_pag = shift @_;
- my $loc_cnt = shift @_;
- my $hex_ref = shift @_;
- my $error_ref = shift @_;
- my $result_ref = shift @_;
- #temporary
- my $rel;
- my $mask;
- my $address;
-
- if ($self->get_rel8(5, \$arg_ref->[5], $pc_lin, $pc_pag, $loc_cnt, $error_ref, \$rel)) {
- $self->get_byte(\$arg_ref->[1], $pc_lin, $pc_pag, $loc_cnt, $error_ref, \$mask);
- $self->get_bute(\$arg_ref->[0], $pc_lin, $pc_pag, $loc_cnt, $error_ref, \$address);
- if ((defined $mask) && (defined $address)) {
- $$result_ref = join(" ", ($$hex_ref, $address, $mask));
- } else {
- $$result_ref = undef;
- }
- return 1;
- }
- return 0;
-}
-
-####################
-# check_xgate_imm3 #
-####################
-sub check_xgate_imm3 {
- my $self = shift @_;
- my $arg_ref = shift @_;
- my $pc_lin = shift @_;
- my $pc_pag = shift @_;
- my $loc_cnt = shift @_;
- my $hex_ref = shift @_;
- my $error_ref = shift @_;
- my $result_ref = shift @_;
- #temporary
- my $value;
- my $hex;
-
- $self->get_xgate_imm(\$arg_ref->[0], $pc_lin, $pc_pag, $loc_cnt, $error_ref, \$value);
- $hex = $$hex_ref;
- $hex =~ s/\s//g;
- $hex = hex($hex);
- if (defined $value) {
- if ($value == ($value & 0x7)) {
- $value = (($value<<8) | $hex);
- $$result_ref = sprintf("%.2X %.2X", (($value>>8) & 0xff), ($value & 0xff));
- return 1;
- } else {
- $$error_ref = "invalid semaphore index";
- return 1;
- }
- } else {
- $$result_ref = sprintf("%.1X? %.2X", (($hex>>12) & 0xf), ($hex & 0xff));
- return 1;
- }
-}
-
-####################
-# check_xgate_imm4 #
-####################
-sub check_xgate_imm4 {
- my $self = shift @_;
- my $arg_ref = shift @_;
- my $pc_lin = shift @_;
- my $pc_pag = shift @_;
- my $loc_cnt = shift @_;
- my $hex_ref = shift @_;
- my $error_ref = shift @_;
- my $result_ref = shift @_;
- #temporary
- my $value;
- my $reg;
- my $hex;
-
- if ($self->get_xgate_gpr(\$arg_ref->[0], $pc_lin, $pc_pag, $loc_cnt, $error_ref, \$reg)) {
- $self->get_xgate_imm(\$arg_ref->[1], $pc_lin, $pc_pag, $loc_cnt, $error_ref, \$value);
- $hex = $$hex_ref;
- $hex =~ s/\s//g;
- $hex = hex($hex);
- if (defined $value) {
- $value = $value & 0xf;
- $value = (($reg<<8) | ($value<<4) | $hex);
- $$result_ref = sprintf("%.2X %.2X", (($value>>8) & 0xff), ($value & 0xff));
- return 1;
- } else {
- $value = (($reg<<8) | $hex);
- $$result_ref = sprintf("%.2X ?%.1X", (($value>>8) & 0xff), ($value & 0x0f));
- return 1;
- }
- }
- return 0;
-}
-
-####################
-# check_xgate_imm8 #
-####################
-sub check_xgate_imm8 {
- my $self = shift @_;
- my $arg_ref = shift @_;
- my $pc_lin = shift @_;
- my $pc_pag = shift @_;
- my $loc_cnt = shift @_;
- my $hex_ref = shift @_;
- my $error_ref = shift @_;
- my $result_ref = shift @_;
- #temporary
- my $value;
- my $reg;
- my $hex;
-
- if ($self->get_xgate_gpr(\$arg_ref->[0], $pc_lin, $pc_pag, $loc_cnt, $error_ref, \$reg)) {
- $self->get_xgate_imm(\$arg_ref->[1], $pc_lin, $pc_pag, $loc_cnt, $error_ref, \$value);
- $hex = $$hex_ref;
- $hex =~ s/\s//g;
- $hex = hex($hex);
- if (defined $value) {
- $value = $value & 0xff;
- $value = (($reg<<8) | $value | $hex);
- $$result_ref = sprintf("%.2X %.2X", (($value>>8) & 0xff), ($value & 0xff));
- return 1;
- } else {
- $$result_ref = sprintf("%.1X? ??", (($hex>>12) & 0x0f));
- return 1;
- }
- }
- return 0;
-}
-
-#####################
-# check_xgate_imm16 #
-#####################
-sub check_xgate_imm16 {
- my $self = shift @_;
- my $arg_ref = shift @_;
- my $pc_lin = shift @_;
- my $pc_pag = shift @_;
- my $loc_cnt = shift @_;
- my $hex_ref = shift @_;
- my $error_ref = shift @_;
- my $result_ref = shift @_;
- #temporary
- my $value;
- my $lvalue;
- my $hvalue;
- my $reg;
- my $hex;
-
- if ($self->get_xgate_gpr(\$arg_ref->[0], $pc_lin, $pc_pag, $loc_cnt, $error_ref, \$reg)) {
- $self->get_xgate_imm(\$arg_ref->[1], $pc_lin, $pc_pag, $loc_cnt, $error_ref, \$value);
- $hex = $$hex_ref;
- $hex =~ s/\s//g;
- $hex = hex($hex);
- if (defined $value) {
- $lvalue = $value & 0xff;
- $hvalue = ($value>>8) & 0xff;
- $value = (($reg<<24) | ($lvalue<<16) | ($reg<<8) | $hvalue | $hex);
- $$result_ref = sprintf("%.2X %.2X %.2X %.2X", ((($value>>24) & 0xff),
- (($value>>16) & 0xff),
- (($value>>8) & 0xff),
- ($value & 0xff)));
- return 1;
- } else {
- $$result_ref = sprintf("%.1X? ?? %.1X? ??", ((($hex>>28) & 0xf),
- (($hex>>12) & 0x0f)));
- return 1;
- }
- }
- return 0;
-}
-
-###################
-# check_xgate_mon #
-###################
-sub check_xgate_mon {
- my $self = shift @_;
- my $arg_ref = shift @_;
- my $pc_lin = shift @_;
- my $pc_pag = shift @_;
- my $loc_cnt = shift @_;
- my $hex_ref = shift @_;
- my $error_ref = shift @_;
- my $result_ref = shift @_;
- #temporary
- my $reg1;
- my $hex;
-
- if ($self->get_xgate_gpr(\$arg_ref->[0], $pc_lin, $pc_pag, $loc_cnt, $error_ref, \$reg1)) {
- $hex = $$hex_ref;
- $hex =~ s/\s//g;
- $hex = hex($hex);
- $value = (($reg1<<8) | $hex);
- $$result_ref = sprintf("%.2X %.2X", (($value>>8) & 0xff), ($value & 0xff));
- return 1;
- }
- return 0;
-}
-
-###################
-# check_xgate_dya #
-###################
-sub check_xgate_dya {
- my $self = shift @_;
- my $arg_ref = shift @_;
- my $pc_lin = shift @_;
- my $pc_pag = shift @_;
- my $loc_cnt = shift @_;
- my $hex_ref = shift @_;
- my $error_ref = shift @_;
- my $result_ref = shift @_;
- #temporary
- my $reg1;
- my $reg2;
- my $hex;
-
- if ($self->get_xgate_gpr(\$arg_ref->[1], $pc_lin, $pc_pag, $loc_cnt, $error_ref, \$reg2)) {
- if ($self->get_xgate_gpr(\$arg_ref->[0], $pc_lin, $pc_pag, $loc_cnt, $error_ref, \$reg1)) {
- $hex = $$hex_ref;
- $hex =~ s/\s//g;
- $hex = hex($hex);
- $value = (($reg1<<8) | ($reg2<<5) | $hex);
- $$result_ref = sprintf("%.2X %.2X", (($value>>8) & 0xff), ($value & 0xff));
- return 1;
- }
- }
- return 0;
-}
-
-###################
-# check_xgate_tri #
-###################
-sub check_xgate_tri {
- my $self = shift @_;
- my $arg_ref = shift @_;
- my $pc_lin = shift @_;
- my $pc_pag = shift @_;
- my $loc_cnt = shift @_;
- my $hex_ref = shift @_;
- my $error_ref = shift @_;
- my $result_ref = shift @_;
- #temporary
- my $reg1;
- my $reg2;
- my $reg3;
- my $hex;
-
- if ($self->get_xgate_gpr(\$arg_ref->[2], $pc_lin, $pc_pag, $loc_cnt, $error_ref, \$reg3)) {
- if ($self->get_xgate_gpr(\$arg_ref->[1], $pc_lin, $pc_pag, $loc_cnt, $error_ref, \$reg2)) {
- if ($self->get_xgate_gpr(\$arg_ref->[0], $pc_lin, $pc_pag, $loc_cnt, $error_ref, \$reg1)) {
- $hex = $$hex_ref;
- $hex =~ s/\s//g;
- $hex = hex($hex);
- $value = (($reg1<<8) | ($reg2<<5) | ($reg3<<2) | $hex);
- $$result_ref = sprintf("%.2X %.2X", (($value>>8) & 0xff), ($value & 0xff));
- return 1;
- }
- }
- }
- return 0;
-}
-
-####################
-# check_xgate_rel9 #
-####################
-sub check_xgate_rel9 {
- my $self = shift @_;
- my $arg_ref = shift @_;
- my $pc_lin = shift @_;
- my $pc_pag = shift @_;
- my $loc_cnt = shift @_;
- my $hex_ref = shift @_;
- my $error_ref = shift @_;
- my $result_ref = shift @_;
- #temporary
- my $value;
- my $hex;
-
- $self->get_xgate_rel(\$arg_ref->[0], $pc_lin, $pc_pag, $loc_cnt, $error_ref, \$value);
- $hex = $$hex_ref;
- $hex =~ s/\s//g;
- $hex = hex($hex);
- if (defined $value) {
- if (($value <= 511) && ($value >= -512)) {
- $value = (($value & 0x1ff) | $hex);
- $$result_ref = sprintf("%.2X %.2X", (($value>>8) & 0xff), ($value & 0xff));
- return 1;
- } else {
- #$$error_ref = sprintf("branch address is out of range (%d bytes)", $value);
- $$result_ref = sprintf("%.1X? ??", (($hex>>12) & 0xf));
- return 1;
- }
- } else {
- $$result_ref = sprintf("%.1X? ??", (($hex>>12) & 0xf));
- return 1;
- }
-}
-
-#####################
-# check_xgate_rel10 #
-#####################
-sub check_xgate_rel10 {
- my $self = shift @_;
- my $arg_ref = shift @_;
- my $pc_lin = shift @_;
- my $pc_pag = shift @_;
- my $loc_cnt = shift @_;
- my $hex_ref = shift @_;
- my $error_ref = shift @_;
- my $result_ref = shift @_;
- #temporary
- my $value;
- my $hex;
-
- $self->get_xgate_rel(\$arg_ref->[0], $pc_lin, $pc_pag, $loc_cnt, $error_ref, \$value);
- $hex = $$hex_ref;
- $hex =~ s/\s//g;
- $hex = hex($hex);
- if (defined $value) {
- if (($value <= 1023) && ($value >= -1024)) {
- $value = (($value & 0x3ff) | $hex);
- $$result_ref = sprintf("%.2X %.2X", (($value>>8) & 0xff), ($value & 0xff));
- return 1;
- } else {
- #$$error_ref = sprintf("branch address is out of range (%d bytes)", $value);
- $$result_ref = sprintf("%.1X? ??", (($hex>>12) & 0xf));
- return 1;
- }
- } else {
- $$result_ref = sprintf("%.1X? ??", (($hex>>12) & 0xf));
- return 1;
- }
-}
-
-####################
-# check_xgate_ido5 #
-####################
-sub check_xgate_ido5 {
- my $self = shift @_;
- my $arg_ref = shift @_;
- my $pc_lin = shift @_;
- my $pc_pag = shift @_;
- my $loc_cnt = shift @_;
- my $hex_ref = shift @_;
- my $error_ref = shift @_;
- my $result_ref = shift @_;
- #temporary
- my $value;
- my $reg1;
- my $reg2;
- my $hex;
-
- if ($self->get_xgate_gpr(\$arg_ref->[1], $pc_lin, $pc_pag, $loc_cnt, $error_ref, \$reg2)) {
- if ($self->get_xgate_gpr(\$arg_ref->[0], $pc_lin, $pc_pag, $loc_cnt, $error_ref, \$reg1)) {
- $self->get_xgate_imm(\$arg_ref->[2], $pc_lin, $pc_pag, $loc_cnt, $error_ref, \$value);
- $hex = $$hex_ref;
- $hex =~ s/\s//g;
- $hex = hex($hex);
- #printf STDERR "check_xgate_ido5: \"%s\" -> %X\n", $arg_ref->[2], $value;
-
- if (defined $value) {
- $value = $value & 0x1f;
- $value = (($reg1<<8) | ($reg2<<5) | $value | $hex);
- $$result_ref = sprintf("%.2X %.2X", (($value>>8) & 0xff), ($value & 0xff));
- return 1;
- } else {
- $value = (($reg1<<8) | $hex);
- $$result_ref = sprintf("%.2X ??", (($value>>8) & 0xff));
- return 1;
- }
- }
- }
- return 0;
-}
-
-###################
-# check_xgate_idr #
-###################
-sub check_xgate_idr {
- my $self = shift @_;
- my $arg_ref = shift @_;
- my $pc_lin = shift @_;
- my $pc_pag = shift @_;
- my $loc_cnt = shift @_;
- my $hex_ref = shift @_;
- my $error_ref = shift @_;
- my $result_ref = shift @_;
- #temporary
- my $reg1;
- my $reg2;
- my $reg3;
- my $hex;
-
- if ($self->get_xgate_gpr(\$arg_ref->[2], $pc_lin, $pc_pag, $loc_cnt, $error_ref, \$reg3)) {
- if ($self->get_xgate_gpr(\$arg_ref->[1], $pc_lin, $pc_pag, $loc_cnt, $error_ref, \$reg2)) {
- if ($self->get_xgate_gpr(\$arg_ref->[0], $pc_lin, $pc_pag, $loc_cnt, $error_ref, \$reg1)) {
- $hex = $$hex_ref;
- $hex =~ s/\s//g;
- $hex = hex($hex);
- $value = (($reg1<<8) | ($reg2<<5) | ($reg3<<2) | $hex);
- $$result_ref = sprintf("%.2X %.2X", (($value>>8) & 0xff), ($value & 0xff));
- return 1;
- }
- }
- }
- return 0;
-}
-
-####################
-# check_xgate_idri #
-####################
-sub check_xgate_idri {
- my $self = shift @_;
- my $arg_ref = shift @_;
- my $pc_lin = shift @_;
- my $pc_pag = shift @_;
- my $loc_cnt = shift @_;
- my $hex_ref = shift @_;
- my $error_ref = shift @_;
- my $result_ref = shift @_;
- #temporary
- my $reg1;
- my $reg2;
- my $reg3;
- my $hex;
-
- if ($self->get_xgate_gpr(\$arg_ref->[2], $pc_lin, $pc_pag, $loc_cnt, $error_ref, \$reg3)) {
- if ($self->get_xgate_gpr(\$arg_ref->[1], $pc_lin, $pc_pag, $loc_cnt, $error_ref, \$reg2)) {
- if ($self->get_xgate_gpr(\$arg_ref->[0], $pc_lin, $pc_pag, $loc_cnt, $error_ref, \$reg1)) {
- $hex = $$hex_ref;
- $hex =~ s/\s//g;
- $hex = hex($hex);
- $value = (($reg1<<8) | ($reg2<<5) | ($reg3<<2) | $hex);
- $$result_ref = sprintf("%.2X %.2X", (($value>>8) & 0xff), ($value & 0xff));
- return 1;
- }
- }
- }
- return 0;
-}
-####################
-# check_xgate_idrd #
-####################
-sub check_xgate_idrd {
- my $self = shift @_;
- my $arg_ref = shift @_;
- my $pc_lin = shift @_;
- my $pc_pag = shift @_;
- my $loc_cnt = shift @_;
- my $hex_ref = shift @_;
- my $error_ref = shift @_;
- my $result_ref = shift @_;
- #temporary
- my $reg1;
- my $reg2;
- my $reg3;
- my $hex;
-
- if ($self->get_xgate_gpr(\$arg_ref->[2], $pc_lin, $pc_pag, $loc_cnt, $error_ref, \$reg3)) {
- if ($self->get_xgate_gpr(\$arg_ref->[1], $pc_lin, $pc_pag, $loc_cnt, $error_ref, \$reg2)) {
- if ($self->get_xgate_gpr(\$arg_ref->[0], $pc_lin, $pc_pag, $loc_cnt, $error_ref, \$reg1)) {
- $hex = $$hex_ref;
- $hex =~ s/\s//g;
- $hex = hex($hex);
- $value = (($reg1<<8) | ($reg2<<5) | ($reg3<<2) | $hex);
- $$result_ref = sprintf("%.2X %.2X", (($value>>8) & 0xff), ($value & 0xff));
- return 1;
- }
- }
- }
- return 0;
-}
-
-##########################
-# check_xgate_tfr_rd_ccr #
-##########################
-sub check_xgate_tfr_rd_ccr {
- my $self = shift @_;
- my $arg_ref = shift @_;
- my $pc_lin = shift @_;
- my $pc_pag = shift @_;
- my $loc_cnt = shift @_;
- my $hex_ref = shift @_;
- my $error_ref = shift @_;
- my $result_ref = shift @_;
- #temporary
- my $reg1;
- my $hex;
-
- if ($self->get_xgate_gpr(\$arg_ref->[0], $pc_lin, $pc_pag, $loc_cnt, $error_ref, \$reg1)) {
- $hex = $$hex_ref;
- $hex =~ s/\s//g;
- $hex = hex($hex);
- $value = (($reg1<<8) | $hex);
- $$result_ref = sprintf("%.2X %.2X", (($value>>8) & 0xff), ($value & 0xff));
- return 1;
- }
- return 0;
-}
-
-##########################
-# check_xgate_tfr_ccr_rs #
-##########################
-sub check_xgate_tfr_ccr_rs {
- my $self = shift @_;
- my $arg_ref = shift @_;
- my $pc_lin = shift @_;
- my $pc_pag = shift @_;
- my $loc_cnt = shift @_;
- my $hex_ref = shift @_;
- my $error_ref = shift @_;
- my $result_ref = shift @_;
- #temporary
- my $reg1;
- my $hex;
-
- if ($self->get_xgate_gpr(\$arg_ref->[0], $pc_lin, $pc_pag, $loc_cnt, $error_ref, \$reg1)) {
- $hex = $$hex_ref;
- $hex =~ s/\s//g;
- $hex = hex($hex);
- $value = (($reg1<<8) | $hex);
- $$result_ref = sprintf("%.2X %.2X", (($value>>8) & 0xff), ($value & 0xff));
- return 1;
- }
- return 0;
-}
-
-#########################
-# check_xgate_tfr_rd_pc #
-#########################
-sub check_xgate_tfr_rd_pc {
- my $self = shift @_;
- my $arg_ref = shift @_;
- my $pc_lin = shift @_;
- my $pc_pag = shift @_;
- my $loc_cnt = shift @_;
- my $hex_ref = shift @_;
- my $error_ref = shift @_;
- my $result_ref = shift @_;
- #temporary
- my $reg1;
- my $hex;
-
- if ($self->get_xgate_gpr(\$arg_ref->[0], $pc_lin, $pc_pag, $loc_cnt, $error_ref, \$reg1)) {
- $hex = $$hex_ref;
- $hex =~ s/\s//g;
- $hex = hex($hex);
- $value = (($reg1<<8) | $hex);
- $$result_ref = sprintf("%.2X %.2X", (($value>>8) & 0xff), ($value & 0xff));
- return 1;
- }
- #printf STDERR "check_xgate_tfr_rd_pc failed!\n";
- return 0;
-}
-
-#######################
-# check_xgate_com_mon #
-#######################
-sub check_xgate_com_mon {
- my $self = shift @_;
- my $arg_ref = shift @_;
- my $pc_lin = shift @_;
- my $pc_pag = shift @_;
- my $loc_cnt = shift @_;
- my $hex_ref = shift @_;
- my $error_ref = shift @_;
- my $result_ref = shift @_;
- #temporary
- my $reg1;
- my $hex;
-
- if ($self->get_xgate_gpr(\$arg_ref->[0], $pc_lin, $pc_pag, $loc_cnt, $error_ref, \$reg1)) {
- $hex = $$hex_ref;
- $hex =~ s/\s//g;
- $hex = hex($hex);
- $value = (($reg1<<8) | ($reg1<<2) | $hex);
- $$result_ref = sprintf("%.2X %.2X", (($value>>8) & 0xff), ($value & 0xff));
- return 1;
- }
- return 0;
-}
-
-#######################
-# check_xgate_tst_mon #
-#######################
-sub check_xgate_tst_mon {
- my $self = shift @_;
- my $arg_ref = shift @_;
- my $pc_lin = shift @_;
- my $pc_pag = shift @_;
- my $loc_cnt = shift @_;
- my $hex_ref = shift @_;
- my $error_ref = shift @_;
- my $result_ref = shift @_;
- #temporary
- my $reg1;
- my $hex;
-
- if ($self->get_xgate_gpr(\$arg_ref->[0], $pc_lin, $pc_pag, $loc_cnt, $error_ref, \$reg1)) {
- $hex = $$hex_ref;
- $hex =~ s/\s//g;
- $hex = hex($hex);
- $value = (($reg1<<5) | $hex);
- $$result_ref = sprintf("%.2X %.2X", (($value>>8) & 0xff), ($value & 0xff));
- return 1;
- }
- return 0;
-}
-
-#######################
-# check_xgate_com_dya #
-#######################
-sub check_xgate_com_dya {
- my $self = shift @_;
- my $arg_ref = shift @_;
- my $pc_lin = shift @_;
- my $pc_pag = shift @_;
- my $loc_cnt = shift @_;
- my $hex_ref = shift @_;
- my $error_ref = shift @_;
- my $result_ref = shift @_;
- #temporary
- my $reg1;
- my $reg2;
- my $hex;
-
- if ($self->get_xgate_gpr(\$arg_ref->[1], $pc_lin, $pc_pag, $loc_cnt, $error_ref, \$reg2)) {
- if ($self->get_xgate_gpr(\$arg_ref->[0], $pc_lin, $pc_pag, $loc_cnt, $error_ref, \$reg1)) {
- $hex = $$hex_ref;
- $hex =~ s/\s//g;
- $hex = hex($hex);
- $value = (($reg1<<8) | ($reg2<<2) | $hex);
- $$result_ref = sprintf("%.2X %.2X", (($value>>8) & 0xff), ($value & 0xff));
- return 1;
- }
- }
- return 0;
-}
-
-#######################
-# check_xgate_cmp_dya #
-#######################
-sub check_xgate_cmp_dya {
- my $self = shift @_;
- my $arg_ref = shift @_;
- my $pc_lin = shift @_;
- my $pc_pag = shift @_;
- my $loc_cnt = shift @_;
- my $hex_ref = shift @_;
- my $error_ref = shift @_;
- my $result_ref = shift @_;
- #temporary
- my $reg1;
- my $reg2;
- my $hex;
-
- if ($self->get_xgate_gpr(\$arg_ref->[1], $pc_lin, $pc_pag, $loc_cnt, $error_ref, \$reg2)) {
- if ($self->get_xgate_gpr(\$arg_ref->[0], $pc_lin, $pc_pag, $loc_cnt, $error_ref, \$reg1)) {
- $hex = $$hex_ref;
- $hex =~ s/\s//g;
- $hex = hex($hex);
- $value = (($reg1<<5) | ($reg2<<2) | $hex);
- $$result_ref = sprintf("%.2X %.2X", (($value>>8) & 0xff), ($value & 0xff));
- return 1;
- }
- }
- return 0;
-}
-
-############
-# get_byte #
-############
-sub get_byte {
- my $self = shift @_;
- my $string_ref = shift @_;
- my $pc_lin = shift @_;
- my $pc_pag = shift @_;
- my $loc_cnt = shift @_;
- my $error_ref = shift @_;
- my $result_ref = shift @_;
- #temporary
- my $error;
- my $value;
- my $eval;
-
- #printf STDERR "get_byte: \"%s\"\n", $$string_ref;
-
- ($error, $value) = @{$self->evaluate_expression($$string_ref, $pc_lin, $pc_pag, $loc_cnt)};
- if ($error) {$$error_ref = $error;}
- if (defined $value) {
- $$result_ref = sprintf("%.2X", ($value & 0xff));
- } else {
- $$result_ref = "??";
- }
-}
-
-############
-# get_word #
-############
-sub get_word {
- my $self = shift @_;
- my $string_ref = shift @_;
- my $pc_lin = shift @_;
- my $pc_pag = shift @_;
- my $loc_cnt = shift @_;
- my $error_ref = shift @_;
- my $result_ref = shift @_;
- #temporary
- my $error;
- my $value;
-
- ($error, $value) = @{$self->evaluate_expression($$string_ref, $pc_lin, $pc_pag, $loc_cnt)};
- if ($error) {$$error_ref = $error;}
- if (defined $value) {
- $$result_ref = sprintf("%.2X %.2X", (($value>>8) & 0xff), ($value & 0xff));
- } else {
- $$result_ref = "?? ??";
- }
-}
-
-###########
-# get_dir #
-###########
-sub get_dir {
- my $self = shift @_;
- my $dir_page = shift @_;
- my $string_ref = shift @_;
- my $pc_lin = shift @_;
- my $pc_pag = shift @_;
- my $loc_cnt = shift @_;
- my $error_ref = shift @_;
- my $result_ref = shift @_;
- #temporary
- my $error;
- my $value;
-
- ($error, $value) = @{$self->evaluate_expression($$string_ref, $pc_lin, $pc_pag, $loc_cnt)};
- if ($error) {$$error_ref = $error;}
- #printf STDERR "DIR: %X %X\n", (($value>>8) & 0xff), ($dir_page & 0xff);
- if (defined $value) {
- if ((($value>>8) & 0xff) == ($dir_page & 0xff)) {
- $$result_ref = sprintf("%.2X", ($value & 0xff));
- return 1;
- } else {
- return 0;
- }
- }
- #$$result_ref = "??";
- #return 1;
- return 0;
-}
-
-############
-# get_rel8 #
-############
-sub get_rel8 {
- my $self = shift @_;
- my $offset = shift @_;
- my $string_ref = shift @_;
- my $pc_lin = shift @_;
- my $pc_pag = shift @_;
- my $loc_cnt = shift @_;
- my $error_ref = shift @_;
- my $result_ref = shift @_;
- #temporary
- my $error;
- my $reladdr;
- my $value;
-
- #printf STDERR "get_rel8: %s\n", $$string_ref;
- ($error, $value) = @{$self->evaluate_expression($$string_ref, $pc_lin, $pc_pag, $loc_cnt)};
- if ($error) {$$error_ref = $error;}
- if (defined $value) {
- if (defined $pc_pag) {
- $reladdr = ((int($value & 0xffff) - int($pc_pag & 0xffff)) - $offset);
- if (($reladdr >= -128) && ($reladdr <= 127)) {
- $$result_ref = sprintf("%.2X", ($reladdr & 0xff));
- return 1;
- } else {
- $$result_ref = "??";
- #return 1;
- return 0;
- }
- }
- }
- $$result_ref = "??";
- return 0;
- #return 1;
-}
-
-#############
-# get_rel16 #
-#############
-sub get_rel16 {
- my $self = shift @_;
- my $offset = shift @_;
- my $string_ref = shift @_;
- my $pc_lin = shift @_;
- my $pc_pag = shift @_;
- my $loc_cnt = shift @_;
- my $error_ref = shift @_;
- my $result_ref = shift @_;
- #temporary
- my $error;
- my $reladdr;
- my $value;
-
- ($error, $value) = @{$self->evaluate_expression($$string_ref, $pc_lin, $pc_pag, $loc_cnt)};
- if ($error) {$$error_ref = $error;}
- if (defined $value) {
- if (defined $pc_pag) {
- $reladdr = ((int($value & 0xffff) - int($pc_pag & 0xffff)) - $offset);
- $$result_ref = sprintf("%.2X %.2X", ((($reladdr >> 8) & 0xff),
- ($reladdr & 0xff)));
- return 1;
- }
- }
- $$result_ref = "?? ??";
- return 1;
-}
-
-###########
-# get_idx #
-###########
-sub get_idx {
- my $self = shift @_;
- my $offset_ref = shift @_;
- my $preinc_ref = shift @_;
- my $reg_ref = shift @_;
- my $postinc_ref = shift @_;
- my $pc_lin = shift @_;
- my $pc_pag = shift @_;
- my $loc_cnt = shift @_;
- my $error_ref = shift @_;
- my $result_ref = shift @_;
- my $indexreg_code = 0x00;
- my $post_byte = 0x00;
- #temporary
- my $error;
- my $value;
-
- #printf STDERR "get_idx: \"%s\"\n", join("\", \"",
- # $$offset_ref,
- # $$preinc_ref,
- # $$reg_ref,
- # $$postinc_ref);
-
- ############################
- # determine index register #
- ############################
- for ($$reg_ref) {
- ###########
- # INDEX X #
- ###########
- /^\s*X\s*$/i && do {
- $indexreg_code = 0x00;
- last;};
- ###########
- # INDEX Y #
- ###########
- /^\s*Y\s*$/i && do {
- $indexreg_code = 0x01;
- last;};
- ######
- # SP #
- ######
- /^\s*SP\s*$/i && do {
- $indexreg_code = 0x02;
- last;};
- ######
- # PC #
- ######
- /^\s*PC\s*$/i && do {
- if (($$preinc_ref !~ /^\s*$/) ||
- ($$postinc_ref !~ /^\s*$/)) {
- #illegal address mode
- #$$error_ref = "Illegal auto in/decrement of PC";
- return 0;
- }
- $indexreg_code = 0x03;
- last;};
- ############
- # no match #
- ############
- return 0;
- }
-
- ####################
- # determine offset #
- ####################
- for ($$offset_ref) {
- ##########
- # ACCU A #
- ##########
- /^\s*A\s*$/i && do {
- if (($$preinc_ref !~ /^\s*$/) ||
- ($$postinc_ref !~ /^\s*$/)) {
- return 0;
- } else {
- $post_byte = 0xe4 | ($indexreg_code << 3);
- $$result_ref = sprintf("%.2X", ($post_byte & 0xff));
- return 1;
- }
- last;};
- ##########
- # ACCU B #
- ##########
- /^\s*B\s*$/i && do {
- if (($$preinc_ref !~ /^\s*$/) ||
- ($$postinc_ref !~ /^\s*$/)) {
- return 0;
- } else {
- $post_byte = 0xe5 | ($indexreg_code << 3);
- $$result_ref = sprintf("%.2X", ($post_byte & 0xff));
- return 1;
- }
- last;};
- ##########
- # ACCU D #
- ##########
- /^\s*D\s*$/i && do {
- if (($$preinc_ref !~ /^\s*$/) ||
- ($$postinc_ref !~ /^\s*$/)) {
- return 0;
- } else {
- $post_byte = 0xe6 | ($indexreg_code << 3);
- $$result_ref = sprintf("%.2X", ($post_byte & 0xff));
- return 1;
- }
- last;};
-
- ###################
- # constant offset #
- ###################
- if ($$offset_ref =~ /^\s*$/) {
- $value = 0;
- } else {
- ($error, $value) = @{$self->evaluate_expression($$offset_ref, $pc_lin, $pc_pag, $loc_cnt)};
- if ($error) {$$error_ref = $error;}
- }
- if (defined $value) {
- ###############################
- # determine pre/postincrement #
- ###############################
- if (($$preinc_ref =~ /^\s*$/) &&
- ($$postinc_ref =~ /^\s*$/)) {
- ###########################
- # no pre or postincrement #
- ###########################
- if (($value >= -16) && ($value <= 15)) {
- $post_byte = ($indexreg_code << 6) | ($value & 0x1f);
- $$result_ref = sprintf("%.2X", ($post_byte & 0xff));
- return 1;
- } else {
- #offset too big
- return 0;
- }
- } else {
- ########################
- # pre or postincrement #
- ########################
- if ((($value >= -8) && ($value <= -1)) ||
- (($value >= 1) && ($value <= 8))) {
-
- if (($$preinc_ref =~ /^\s*\+\s*$/) &&
- ($$postinc_ref =~ /^\s*$/)) {
- ################
- # preincrement #
- ################
- if ($value > 0) {
- $post_byte = (0x20 |
- ($indexreg_code << 6) |
- (($value - 1) & 0x0f));
- } else {
- $post_byte = (0x28 |
- ($indexreg_code << 6) |
- ($value & 0x0f));
- }
- $$result_ref = sprintf("%.2X", ($post_byte & 0xff));
- return 1;
- } elsif (($$preinc_ref =~ /^\s*\-\s*$/) &&
- ($$postinc_ref =~ /^\s*$/)) {
- ################
- # predecrement #
- ################
- if ($value > 0) {
- $post_byte = (0x28 |
- ($indexreg_code << 6) |
- ((-1 * $value) & 0x0f));
- } else {
- $post_byte = (0x20 |
- ($indexreg_code << 6) |
- (((-1 * $value) - 1) & 0x0f));
- }
- $$result_ref = sprintf("%.2X", ($post_byte & 0xff));
- return 1;
- } elsif (($$preinc_ref =~ /^\s*$/) &&
- ($$postinc_ref =~ /^\s*\+\s*$/)) {
- #################
- # postincrement #
- #################
- if ($value > 0) {
- $post_byte = (0x30 |
- ($indexreg_code << 6) |
- (($value - 1) & 0x0f));
- } else {
- $post_byte = (0x38 |
- ($indexreg_code << 6) |
- ($value & 0x0f));
- }
- $$result_ref = sprintf("%.2X", ($post_byte & 0xff));
- return 1;
- } elsif (($$preinc_ref =~ /^\s*$/) &&
- ($$postinc_ref =~ /^\s*\-\s*$/)) {
- #################
- # postdecrement #
- #################
- if ($value > 0) {
- $post_byte = (0x38 |
- ($indexreg_code << 6) |
- ((-1 * $value) & 0x0f));
- } else {
- $post_byte = (0x30 |
- ($indexreg_code << 6) |
- (((-1 * $value) - 1) & 0x0f));
- }
- $$result_ref = sprintf("%.2X", ($post_byte & 0xff));
- return 1;
- } else {
- #######################
- # invalid combination #
- #######################
- return 0;
- }
- } else {
- #offset too big (or zero)
- return 0;
- }
- }
- } else {
- return [0, "??"];
- }
- }
-}
-
-############
-# get_idx1 #
-############
-sub get_idx1 {
- my $self = shift @_;
- my $offset_ref = shift @_;
- my $reg_ref = shift @_;
- my $pc_lin = shift @_;
- my $pc_pag = shift @_;
- my $loc_cnt = shift @_;
- my $error_ref = shift @_;
- my $result_ref = shift @_;
- my $indexreg_code = 0x00;
- my $post_byte = 0x00;
- #temporary
- my $error;
- my $value;
-
- #printf STDERR "get_idx1: \"%s\"\n", join("\", \"",
- # $$offset_ref,
- # $$reg_ref);
-
- ################
- # check offset #
- ################
- if ($$offset_ref =~ $op_keywords) {
- return 0;
- }
-
- ############################
- # determine index register #
- ############################
- for ($$reg_ref) {
- ###########
- # INDEX X #
- ###########
- /^\s*X\s*$/i && do {
- $indexreg_code = 0x00;
- last;};
- ###########
- # INDEX Y #
- ###########
- /^\s*Y\s*$/i && do {
- $indexreg_code = 0x01;
- last;};
- ######
- # SP #
- ######
- /^\s*SP\s*$/i && do {
- $indexreg_code = 0x02;
- last;};
- ######
- # PC #
- ######
- /^\s*PC\s*$/i && do {
- $indexreg_code = 0x03;
- last;};
- ############
- # no match #
- ############
- return 0;
- }
-
- ####################
- # determine offset #
- ####################
- if ($$offset_ref =~ /^\s*$/) {
- $value = 0;
- } else {
- ($error, $value) = @{$self->evaluate_expression($$offset_ref, $pc_lin, $pc_pag, $loc_cnt)};
- if ($error) {$$error_ref = $error;}
- }
- if (defined $value) {
- #print STDERR "value: $value\n";
- if (($value >= -256) && ($value <= 255)) {
- ######################
- # determine hex code #
- ######################
- if ($value >= 0) {
- $post_byte = (0xe0 |
- ($indexreg_code << 3));
- } else {
- $post_byte = (0xe1 |
- ($indexreg_code << 3));
- }
- $$result_ref = sprintf("%.2X %.2X", (($post_byte & 0xff),
- ($value & 0xff)));
- return 1;
- } else {
- #offset too big
- return 0;
- }
- } else {
- $$result_ref = "?? ??";
- return 1;
- }
-}
-
-############
-# get_idx2 #
-############
-sub get_idx2 {
- my $self = shift @_;
- my $post_byte_base = shift @_;
- my $offset_ref = shift @_;
- my $reg_ref = shift @_;
- my $pc_lin = shift @_;
- my $pc_pag = shift @_;
- my $loc_cnt = shift @_;
- my $error_ref = shift @_;
- my $result_ref = shift @_;
- my $indexreg_code = 0x00;
- my $post_byte = 0x00;
- #temporary
- my $error;
- my $value;
-
- #printf STDERR "get_idx2: \"%s\"\n", join("\", \"",
- # $$offset_ref,
- # $$reg_ref);
-
- ################
- # check offset #
- ################
- if ($$offset_ref =~ $op_keywords) {
- return 0;
- }
-
- ############################
- # determine index register #
- ############################
- for ($$reg_ref) {
- ###########
- # INDEX X #
- ###########
- /^\s*X\s*$/i && do {
- $indexreg_code = 0x00;
- last;};
- ###########
- # INDEX Y #
- ###########
- /^\s*Y\s*$/i && do {
- $indexreg_code = 0x01;
- last;};
- ######
- # SP #
- ######
- /^\s*SP\s*$/i && do {
- $indexreg_code = 0x02;
- last;};
- ######
- # PC #
- ######
- /^\s*PC\s*$/i && do {
- $indexreg_code = 0x03;
- last;};
- ############
- # no match #
- ############
- return 0;
- }
-
- ####################
- # determine offset #
- ####################
- if ($$offset_ref =~ /^\s*$/) {
- $value = 0;
- } else {
- ($error, $value) = @{$self->evaluate_expression($$offset_ref, $pc_lin, $pc_pag, $loc_cnt)};
- if ($error) {$$error_ref = $error;}
- }
- if (defined $value) {
- #print STDERR "value: $value\n";
- ######################
- # determine hex code #
- ######################
- $post_byte = ($post_byte_base |
- ($indexreg_code << 3));
- $$result_ref = sprintf("%.2X %.2X %.2X", (($post_byte & 0xff),
- (($value >> 8) & 0xff),
- ($value & 0xff)));
- return 1;
- } else {
- $$result_ref = "?? ?? ??";
- return 1;
- }
-}
-
-#############
-# get_ididx #
-#############
-sub get_ididx {
- my $self = shift @_;
- my $reg_ref = shift @_;
- my $pc_lin = shift @_;
- my $pc_pag = shift @_;
- my $loc_cnt = shift @_;
- my $error_ref = shift @_;
- my $result_ref = shift @_;
- my $indexreg_code = 0x00;
- my $post_byte = 0x00;
- #temporary
- my $value;
-
- ############################
- # determine index register #
- ############################
- for ($indexreg) {
- ###########
- # INDEX X #
- ###########
- /^\s*X\s*$/i && do {
- $$result_ref = sprintf("%.2X", 0xe7);
- return 1;
- last;};
- ###########
- # INDEX Y #
- ###########
- /^\s*Y\s*$/i && do {
- $$result_ref = sprintf("%.2X", 0xef);
- return 1;
- last;};
- ######
- # SP #
- ######
- /^\s*SP\s*$/i && do {
- $$result_ref = sprintf("%.2X", 0xf7);
- return 1;
- last;};
- ######
- # PC #
- ######
- /^\s*PC\s*$/i && do {
- $$result_ref = sprintf("%.2X", 0xff);
- return 1;
- last;};
- ############
- # no match #
- ############
- return 0;
- }
-}
-
-##################
-# get_ext_pgimpl #
-##################
-sub get_ext_pgimpl {
- my $self = shift @_;
- my $string_ref = shift @_;
- my $pc_lin = shift @_;
- my $pc_pag = shift @_;
- my $loc_cnt = shift @_;
- my $error_ref = shift @_;
- my $result_ref = shift @_;
- #temporary
- my $error;
- my $value;
-
- ($error, $value) = @{$self->evaluate_expression($$string_ref, $pc_lin, $pc_pag, $loc_cnt)};
- if ($error) {$$error_ref = $error;}
- if (defined $value) {
- $$result_ref = sprintf("%.2X %.2X %.2X", ((($value>>8) & 0xff),
- ($value & 0xff),
- (($value >> 16) & 0xff)));
- } else {
- $$result_ref = "?? ?? ??";
- }
-}
-
-###########
-# get_tfr #
-###########
-sub get_tfr {
- my $self = shift @_;
- my $cpu = shift @_;
- my $tfr_type = shift @_;
- my $src_reg_ref = shift @_;
- my $dst_reg_ref = shift @_;
- my $pc_lin = shift @_;
- my $pc_pag = shift @_;
- my $loc_cnt = shift @_;
- my $error_ref = shift @_;
- my $result_ref = shift @_;
- my $extension_byte = 0;
- my $error = 0;
- #printf STDERR "S12X TFR: \"%s\" \"%s\"\n", $$src_reg_ref, $$dst_reg_ref;
-
- ##################
- # extension byte #
- ##################
- for ($tfr_type) {
- ($tfr_type == $tfr_tfr) && do {$extension_byte = 0x00;last;};
- ($tfr_type == $tfr_sex) && do {$extension_byte = 0x00;last;};
- ($tfr_type == $tfr_exg) && do {$extension_byte = 0x80;last;};
- }
-
- ###################
- # source register #
- ###################
- for ($$src_reg_ref) {
- ##########
- # ACCU A #
- ##########
- /^\s*(A)\s*$/i && do {
- for ($$dst_reg_ref) {
- ##########
- # A -> A #
- ##########
- /^\s*A\s*$/i && do {
- $extension_byte = $extension_byte | 0x00;
- if ($tfr_type == $tfr_sex) {$error = 1;}
- last;};
- ##########
- # A -> B #
- ##########
- /^\s*B\s*$/i && do {
- $extension_byte = $extension_byte | 0x01;
- if ($tfr_type == $tfr_sex) {$error = 1;}
- last;};
- #################
- # A -> CCR,CCRL #
- #################
- /^\s*(CCR|CCRL)\s*$/i && do {
- $extension_byte = $extension_byte | 0x02;
- if ($tfr_type == $tfr_sex) {$error = 1;}
- last;};
- #############
- # A -> TMP2 #
- #############
- /^\s*(TMP2)\s*$/i && do {
- $extension_byte = $extension_byte | 0x03;
- last;};
- ##########
- # A -> D #
- ##########
- /^\s*D\s*$/i && do {
- $extension_byte = $extension_byte | 0x04;
- last;};
- ##########
- # A -> X #
- ##########
- /^\s*(X)\s*$/i && do {
- $extension_byte = $extension_byte | 0x05;
- last;};
- ##########
- # A -> Y #
- ##########
- /^\s*(Y)\s*$/i && do {
- $extension_byte = $extension_byte | 0x06;
- last;};
- ###########
- # A -> SP #
- ###########
- /^\s*(SP)\s*$/i && do {
- $extension_byte = $extension_byte | 0x07;
- last;};
- #############
- # A -> CCRH #
- #############
- /^\s*(CCRH)\s*$/i && do {
- $extension_byte = $extension_byte | 0x0a;
- if (($cpu == $tfr_s12) || ($tfr_type == $tfr_sex)) {$error = 1;}
- last;};
- ##############
- # A -> TMP2H #
- ##############
- /^\s*(TMP2H)\s*$/i && do {
- $extension_byte = $extension_byte | 0x0b;
- if (($cpu == $tfr_s12) || ($tfr_type == $tfr_sex)) {$error = 1;}
- last;};
- ###########
- # A -> XH #
- ###########
- /^\s*(XH)\s*$/i && do {
- $extension_byte = $extension_byte | 0x0d;
- if (($cpu == $tfr_s12) || ($tfr_type == $tfr_sex)) {$error = 1;}
- last;};
- ###########
- # A -> YH #
- ###########
- /^\s*(YH)\s*$/i && do {
- $extension_byte = $extension_byte | 0x0e;
- if (($cpu == $tfr_s12) || ($tfr_type == $tfr_sex)) {$error = 1;}
- last;};
- ############
- # A -> SPH #
- ############
- /^\s*(SPH)\s*$/i && do {
- $extension_byte = $extension_byte | 0x0f;
- if (($cpu == $tfr_s12) || ($tfr_type == $tfr_sex)) {$error = 1;}
- last;};
- ############
- # no match #
- ############
- $error = 1;
- }
- last;};
- ##########
- # ACCU B #
- ##########
- /^\s*(B)\s*$/i && do {
- for ($$dst_reg_ref) {
- ##########
- # B -> A #
- ##########
- /^\s*A\s*$/i && do {
- $extension_byte = $extension_byte | 0x10;
- if ($tfr_type == $tfr_sex) {$error = 1;}
- last;};
- ##########
- # B -> B #
- ##########
- /^\s*B\s*$/i && do {
- $extension_byte = $extension_byte | 0x11;
- if ($tfr_type == $tfr_sex) {$error = 1;}
- last;};
- #################
- # B -> CCR,CCRL #
- #################
- /^\s*(CCR|CCRL)\s*$/i && do {
- $extension_byte = $extension_byte | 0x12;
- if ($tfr_type == $tfr_sex) {$error = 1;}
- last;};
- #############
- # B -> TMP2 #
- #############
- /^\s*(TMP2)\s*$/i && do {
- $extension_byte = $extension_byte | 0x13;
- last;};
- ##########
- # B -> D #
- ##########
- /^\s*D\s*$/i && do {
- $extension_byte = $extension_byte | 0x14;
- last;};
- ##########
- # B -> X #
- ##########
- /^\s*(X)\s*$/i && do {
- $extension_byte = $extension_byte | 0x15;
- last;};
- ##########
- # B -> Y #
- ##########
- /^\s*(Y)\s*$/i && do {
- $extension_byte = $extension_byte | 0x16;
- last;};
- ###########
- # B -> SP #
- ###########
- /^\s*(SP)\s*$/i && do {
- $extension_byte = $extension_byte | 0x17;
- last;};
- ##############
- # B -> TMP2L #
- ##############
- /^\s*(TMP2L)\s*$/i && do {
- $extension_byte = $extension_byte | 0x1b;
- if (($cpu == $tfr_s12) || ($tfr_type == $tfr_sex)) {$error = 1;}
- last;};
- ###########
- # B -> XL #
- ###########
- /^\s*(XL)\s*$/i && do {
- $extension_byte = $extension_byte | 0x1d;
- if (($cpu == $tfr_s12) || ($tfr_type == $tfr_sex)) {$error = 1;}
- last;};
- ###########
- # B -> YL #
- ###########
- /^\s*(YL)\s*$/i && do {
- $extension_byte = $extension_byte | 0x1e;
- if (($cpu == $tfr_s12) || ($tfr_type == $tfr_sex)) {$error = 1;}
- last;};
- ############
- # B -> SPL #
- ############
- /^\s*(SPL)\s*$/i && do {
- $extension_byte = $extension_byte | 0x1f;
- if (($cpu == $tfr_s12) || ($tfr_type == $tfr_sex)) {$error = 1;}
- last;};
- ############
- # no match #
- ############
- $error = 1;;
- }
- last;};
- ############
- # CCR,CCRL #
- ############
- /^\s*(CCR|CCRL)\s*$/i && do {
- for ($$dst_reg_ref) {
- #################
- # CCR,CCRL -> A #
- #################
- /^\s*A\s*$/i && do {
- $extension_byte = $extension_byte | 0x20;
- if ($tfr_type == $tfr_sex) {$error = 1;}
- last;};
- #################
- # CCR,CCRL -> B #
- #################
- /^\s*B\s*$/i && do {
- $extension_byte = $extension_byte | 0x21;
- if ($tfr_type == $tfr_sex) {$error = 1;}
- last;};
- ########################
- # CCR,CCRL -> CCR,CCRL #
- ########################
- /^\s*(CCR|CCRL)\s*$/i && do {
- $extension_byte = $extension_byte | 0x22;
- if ($tfr_type == $tfr_sex) {$error = 1;}
- last;};
- ####################
- # CCR,CCRL -> TMP2 #
- ####################
- /^\s*(TMP2)\s*$/i && do {
- $extension_byte = $extension_byte | 0x23;
- last;};
- #################
- # CCR,CCRL -> D #
- #################
- /^\s*D\s*$/i && do {
- $extension_byte = $extension_byte | 0x24;
- last;};
- #################
- # CCR,CCRL -> X #
- #################
- /^\s*(X)\s*$/i && do {
- $extension_byte = $extension_byte | 0x25;
- last;};
- #################
- # CCR,CCRL -> Y #
- #################
- /^\s*(Y)\s*$/i && do {
- $extension_byte = $extension_byte | 0x26;
- last;};
- ##################
- # CCR,CCRL -> SP #
- ##################
- /^\s*(SP)\s*$/i && do {
- $extension_byte = $extension_byte | 0x27;
- last;};
- ############
- # no match #
- ############
- $error = 1;
- }
- last;};
- ########
- # CCRH #
- ########
- /^\s*(CCRH)\s*$/i && do {
- if (($cpu == $tfr_s12) || ($tfr_type == $tfr_sex)) {$error = 1;}
- for ($$dst_reg_ref) {
- #############
- # CCRH -> A #
- #############
- /^\s*A\s*$/i && do {
- $extension_byte = $extension_byte | 0x28;
- last;};
- ############
- # no match #
- ############
- $error = 1;
- }
- last;};
- ########
- # CCRW #
- ########
- /^\s*(CCRW)\s*$/i && do {
- if (($cpu == $tfr_s12) || ($tfr_type == $tfr_sex)) {$error = 1;}
- for ($$dst_reg_ref) {
- ################
- # CCRW -> CCRW #
- ################
- /^\s*(CCRW)\s*$/i && do {
- $extension_byte = $extension_byte | 0x2a;
- last;};
- ################
- # CCRW -> TMP2 #
- ################
- /^\s*(TMP2)\s*$/i && do {
- $extension_byte = $extension_byte | 0x2b;
- last;};
- #############
- # CCRW -> D #
- #############
- /^\s*D\s*$/i && do {
- $extension_byte = $extension_byte | 0x2c;
- last;};
- #############
- # CCRW -> X #
- #############
- /^\s*(X)\s*$/i && do {
- $extension_byte = $extension_byte | 0x2d;
- last;};
- #############
- # CCRW -> Y #
- #############
- /^\s*(Y)\s*$/i && do {
- $extension_byte = $extension_byte | 0x2e;
- last;};
- ##############
- # CCRW -> SP #
- ##############
- /^\s*(SP)\s*$/i && do {
- $extension_byte = $extension_byte | 0x2f;
- last;};
- ############
- # no match #
- ############
- $error = 1;
- }
- last;};
- ########
- # TMP3 #
- ########
- /^\s*(TMP3)\s*$/i && do {
- if ($tfr_type == $tfr_sex) {$error = 1;}
- for ($$dst_reg_ref) {
- #############
- # TMP3 -> A #
- #############
- /^\s*A\s*$/i && do {
- $extension_byte = $extension_byte | 0x30;
- last;};
- #############
- # TMP3 -> B #
- #############
- /^\s*B\s*$/i && do {
- $extension_byte = $extension_byte | 0x31;
- last;};
- ####################
- # TMP3 -> CCR,CCRL #
- ####################
- /^\s*(CCR|CCRL)\s*$/i && do {
- $extension_byte = $extension_byte | 0x32;
- last;};
- ################
- # TMP3 -> TMP2 #
- ################
- /^\s*(TMP2)\s*$/i && do {
- $extension_byte = $extension_byte | 0x33;
- last;};
- #############
- # TMP3 -> D #
- #############
- /^\s*D\s*$/i && do {
- $extension_byte = $extension_byte | 0x34;
- last;};
- #############
- # TMP3 -> X #
- #############
- /^\s*(X)\s*$/i && do {
- $extension_byte = $extension_byte | 0x35;
- last;};
- #############
- # TMP3 -> Y #
- #############
- /^\s*(Y)\s*$/i && do {
- $extension_byte = $extension_byte | 0x36;
- last;};
- ##############
- # TMP3 -> SP #
- ##############
- /^\s*(SP)\s*$/i && do {
- $extension_byte = $extension_byte | 0x37;
- last;};
- ################
- # TMP3 -> CCRW #
- ################
- /^\s*(CCRW)\s*$/i && do {
- if ($cpu == $tfr_s12) {$error = 1;}
- $extension_byte = $extension_byte | 0x3A;
- last;};
- ############
- # no match #
- ############
- $error = 1;
- }
- last;};
- #########
- # TMP3L #
- #########
- /^\s*(TMP3L)\s*$/i && do {
- if ($tfr_type == $tfr_sex) {$error = 1;}
- for ($$dst_reg_ref) {
- ##############
- # TMP3L -> A #
- ##############
- /^\s*A\s*$/i && do {
- $extension_byte = $extension_byte | 0x30;
- last;};
- ##############
- # TMP3L -> B #
- ##############
- /^\s*B\s*$/i && do {
- $extension_byte = $extension_byte | 0x31;
- last;};
- ####################
- # TMP3 -> CCR,CCRL #
- ####################
- /^\s*(CCR|CCRL)\s*$/i && do {
- $extension_byte = $extension_byte | 0x32;
- last;};
- ############
- # no match #
- ############
- $error = 1;
- }
- last;};
- #########
- # TMP3H #
- #########
- /^\s*(TMP3H)\s*$/i && do {
- if (($cpu == $tfr_s12) || ($tfr_type == $tfr_sex)) {$error = 1;}
- for ($$dst_reg_ref) {
- #############
- # CCRH -> A #
- #############
- /^\s*A\s*$/i && do {
- $extension_byte = $extension_byte | 0x38;
- last;};
- ############
- # no match #
- ############
- $error = 1;
- }
- last;};
- ########
- # TMP1 #
- ########
- /^\s*(TMP1)\s*$/i && do {
- if (($cpu == $tfr_s12) || ($tfr_type == $tfr_sex)) {$error = 1;}
- for ($$dst_reg_ref) {
- #############
- # CCRH -> D #
- #############
- /^\s*D\s*$/i && do {
- $extension_byte = $extension_byte | 0x3C;
- last;};
- ############
- # no match #
- ############
- $error = 1;
- }
- last;};
- ##########
- # ACCU D #
- ##########
- /^\s*(D)\s*$/i && do {
- for ($$dst_reg_ref) {
- ##########
- # D -> A #
- ##########
- /^\s*A\s*$/i && do {
- $extension_byte = $extension_byte | 0x40;
- if ($tfr_type == $tfr_sex) {$error = 1;}
- last;};
- ##########
- # D -> B #
- ##########
- /^\s*B\s*$/i && do {
- $extension_byte = $extension_byte | 0x41;
- if ($tfr_type == $tfr_sex) {$error = 1;}
- last;};
- #################
- # D -> CCR,CCRL #
- #################
- /^\s*(CCR|CCRL)\s*$/i && do {
- $extension_byte = $extension_byte | 0x42;
- if ($tfr_type == $tfr_sex) {$error = 1;}
- last;};
- #############
- # D -> TMP2 #
- #############
- /^\s*(TMP2)\s*$/i && do {
- $extension_byte = $extension_byte | 0x43;
- if ($tfr_type == $tfr_sex) {$error = 1;}
- last;};
- ##########
- # D -> D #
- ##########
- /^\s*D\s*$/i && do {
- $extension_byte = $extension_byte | 0x44;
- if ($tfr_type == $tfr_sex) {$error = 1;}
- last;};
- ##########
- # D -> X #
- ##########
- /^\s*(X)\s*$/i && do {
- $extension_byte = $extension_byte | 0x45;
- last;};
- ##########
- # D -> Y #
- ##########
- /^\s*(Y)\s*$/i && do {
- $extension_byte = $extension_byte | 0x46;
- last;};
- ###########
- # D -> SP #
- ###########
- /^\s*(SP)\s*$/i && do {
- $extension_byte = $extension_byte | 0x47;
- if ($tfr_type == $tfr_sex) {$error = 1;}
- last;};
- #############
- # D -> CCRW #
- #############
- /^\s*(CCRW)\s*$/i && do {
- $extension_byte = $extension_byte | 0x4a;
- if (($cpu == $tfr_s12) || ($tfr_type == $tfr_sex)) {$error = 1;}
- last;};
- #############
- # D -> TMP1 #
- #############
- /^\s*(TMP1)\s*$/i && do {
- $extension_byte = $extension_byte | 0x4b;
- if (($cpu == $tfr_s12) || ($tfr_type == $tfr_sex)) {$error = 1;}
- last;};
- ############
- # no match #
- ############
- $error = 1;
- }
- last;};
- ###########
- # INDEX X #
- ###########
- /^\s*(X)\s*$/i && do {
- if ($tfr_type == $tfr_sex) {$error = 1;}
- for ($$dst_reg_ref) {
- ##########
- # X -> A #
- ##########
- /^\s*A\s*$/i && do {
- $extension_byte = $extension_byte | 0x50;
- last;};
- ##########
- # X -> B #
- ##########
- /^\s*B\s*$/i && do {
- $extension_byte = $extension_byte | 0x51;
- last;};
- #################
- # X -> CCR,CCRL #
- #################
- /^\s*(CCR|CCRL)\s*$/i && do {
- $extension_byte = $extension_byte | 0x52;
- last;};
- #############
- # X -> TMP2 #
- #############
- /^\s*(TMP2)\s*$/i && do {
- $extension_byte = $extension_byte | 0x53;
- last;};
- ##########
- # X -> D #
- ##########
- /^\s*D\s*$/i && do {
- $extension_byte = $extension_byte | 0x54;
- last;};
- ##########
- # X -> X #
- ##########
- /^\s*(X)\s*$/i && do {
- $extension_byte = $extension_byte | 0x55;
- last;};
- ##########
- # X -> Y #
- ##########
- /^\s*(Y)\s*$/i && do {
- $extension_byte = $extension_byte | 0x56;
- last;};
- ###########
- # X -> SP #
- ###########
- /^\s*(SP)\s*$/i && do {
- $extension_byte = $extension_byte | 0x57;
- last;};
- #############
- # X -> CCRW #
- #############
- /^\s*(CCRW)\s*$/i && do {
- if ($cpu == $tfr_s12) {$error = 1;}
- $extension_byte = $extension_byte | 0x5A;
- last;};
- ############
- # no match #
- ############
- $error = 1;
- }
- last;};
- ############
- # INDEX XL #
- ############
- /^\s*(XL)\s*$/i && do {
- if ($tfr_type == $tfr_sex) {$error = 1;}
- for ($$dst_reg_ref) {
- ###########
- # XL -> A #
- ###########
- /^\s*A\s*$/i && do {
- $extension_byte = $extension_byte | 0x50;
- last;};
- ###########
- # XL -> B #
- ###########
- /^\s*B\s*$/i && do {
- $extension_byte = $extension_byte | 0x51;
- last;};
- ##################
- # XL -> CCR,CCRL #
- ##################
- /^\s*(CCR|CCRL)\s*$/i && do {
- $extension_byte = $extension_byte | 0x52;
- last;};
- ############
- # no match #
- ############
- $error = 1;
- }
- last;};
- ############
- # INDEX XH #
- ############
- /^\s*(XH)\s*$/i && do {
- if (($cpu == $tfr_s12) || ($tfr_type == $tfr_sex)) {$error = 1;}
- for ($$dst_reg_ref) {
- ###########
- # XH -> A #
- ###########
- /^\s*A\s*$/i && do {
- $extension_byte = $extension_byte | 0x58;
- last;};
- ############
- # no match #
- ############
- $error = 1;
- }
- last;};
- ###########
- # INDEX Y #
- ###########
- /^\s*(Y)\s*$/i && do {
- if ($tfr_type == $tfr_sex) {$error = 1;}
- for ($$dst_reg_ref) {
- ##########
- # Y -> A #
- ##########
- /^\s*A\s*$/i && do {
- $extension_byte = $extension_byte | 0x60;
- last;};
- ##########
- # Y -> B #
- ##########
- /^\s*B\s*$/i && do {
- $extension_byte = $extension_byte | 0x61;
- last;};
- #################
- # Y -> CCR,CCRL #
- #################
- /^\s*(CCR|CCRL)\s*$/i && do {
- $extension_byte = $extension_byte | 0x62;
- last;};
- #############
- # Y -> TMP2 #
- #############
- /^\s*(TMP2)\s*$/i && do {
- $extension_byte = $extension_byte | 0x63;
- last;};
- ##########
- # Y -> D #
- ##########
- /^\s*D\s*$/i && do {
- $extension_byte = $extension_byte | 0x64;
- last;};
- ##########
- # Y -> X #
- ##########
- /^\s*(X)\s*$/i && do {
- $extension_byte = $extension_byte | 0x65;
- last;};
- ##########
- # Y -> Y #
- ##########
- /^\s*(Y)\s*$/i && do {
- $extension_byte = $extension_byte | 0x66;
- last;};
- ###########
- # Y -> SP #
- ###########
- /^\s*(SP)\s*$/i && do {
- $extension_byte = $extension_byte | 0x67;
- last;};
- #############
- # Y -> CCRW #
- #############
- /^\s*(CCRW)\s*$/i && do {
- if ($cpu == $tfr_s12) {$error = 1;}
- $extension_byte = $extension_byte | 0x6A;
- last;};
- ############
- # no match #
- ############
- $error = 1;
- }
- last;};
- ############
- # INDEX YL #
- ############
- /^\s*(YL)\s*$/i && do {
- if ($tfr_type == $tfr_sex) {$error = 1;}
- for ($$dst_reg_ref) {
- ###########
- # YL -> A #
- ###########
- /^\s*A\s*$/i && do {
- $extension_byte = $extension_byte | 0x60;
- last;};
- ###########
- # YL -> B #
- ###########
- /^\s*B\s*$/i && do {
- $extension_byte = $extension_byte | 0x61;
- last;};
- ##################
- # YL -> CCR,CCRL #
- ##################
- /^\s*(CCR|CCRL)\s*$/i && do {
- $extension_byte = $extension_byte | 0x62;
- last;};
- ############
- # no match #
- ############
- $error = 1;
- }
- last;};
- ############
- # INDEX YH #
- ############
- /^\s*(YH)\s*$/i && do {
- if (($cpu == $tfr_s12) || ($tfr_type == $tfr_sex)) {$error = 1;}
- for ($$dst_reg_ref) {
- ###########
- # YH -> A #
- ###########
- /^\s*A\s*$/i && do {
- $extension_byte = $extension_byte | 0x68;
- last;};
- ############
- # no match #
- ############
- $error = 1;
- }
- last;};
- #################
- # STACK POINTER #
- #################
- /^\s*(SP)\s*$/i && do {
- if ($tfr_type == $tfr_sex) {$error = 1;}
- for ($$dst_reg_ref) {
- ###########
- # SP -> A #
- ###########
- /^\s*A\s*$/i && do {
- $extension_byte = $extension_byte | 0x70;
- last;};
- ###########
- # SP -> B #
- ###########
- /^\s*B\s*$/i && do {
- $extension_byte = $extension_byte | 0x71;
- last;};
- ##################
- # SP -> CCR,CCRL #
- ##################
- /^\s*(CCR|CCRL)\s*$/i && do {
- $extension_byte = $extension_byte | 0x72;
- last;};
- ##############
- # SP -> TMP2 #
- ##############
- /^\s*(TMP2)\s*$/i && do {
- $extension_byte = $extension_byte | 0x73;
- last;};
- ###########
- # SP -> D #
- ###########
- /^\s*D\s*$/i && do {
- $extension_byte = $extension_byte | 0x74;
- last;};
- ###########
- # SP -> X #
- ###########
- /^\s*(X)\s*$/i && do {
- $extension_byte = $extension_byte | 0x75;
- last;};
- ###########
- # SP -> Y #
- ###########
- /^\s*(Y)\s*$/i && do {
- $extension_byte = $extension_byte | 0x76;
- last;};
- ############
- # SP -> SP #
- ############
- /^\s*(SP)\s*$/i && do {
- $extension_byte = $extension_byte | 0x77;
- last;};
- ##############
- # SP -> CCRW #
- ##############
- /^\s*(CCRW)\s*$/i && do {
- if ($cpu == $tfr_s12) {$error = 1;}
- $extension_byte = $extension_byte | 0x7A;
- last;};
- ############
- # no match #
- ############
- $error = 1;
- }
- last;};
- #######
- # SPL #
- #######
- /^\s*(SPL)\s*$/i && do {
- if ($tfr_type == $tfr_sex) {$error = 1;}
- for ($$dst_reg_ref) {
- ############
- # SPL -> A #
- ############
- /^\s*A\s*$/i && do {
- $extension_byte = $extension_byte | 0x70;
- last;};
- ############
- # SPL -> B #
- ############
- /^\s*B\s*$/i && do {
- $extension_byte = $extension_byte | 0x71;
- last;};
- ###################
- # SPL -> CCR,CCRL #
- ###################
- /^\s*(CCR|CCRL)\s*$/i && do {
- $extension_byte = $extension_byte | 0x72;
- last;};
- ############
- # no match #
- ############
- $error = 1;
- }
- last;};
- #######
- # SPH #
- #######
- /^\s*(SPH)\s*$/i && do {
- if (($cpu == $tfr_s12) || ($tfr_type == $tfr_sex)) {$error = 1;}
- for ($$dst_reg_ref) {
- ############
- # SPH -> A #
- ############
- /^\s*A\s*$/i && do {
- $extension_byte = $extension_byte | 0x78;
- last;};
- ############
- # no match #
- ############
- $error = 1;
- }
- last;};
- ############
- # no match #
- ############
- $error = 1;
- }
- $$result_ref = sprintf("%.2X", $extension_byte);
- if ($error) {
- $$error_ref = sprintf("invalid register transfer \"%s -> %s\"", uc($$src_reg_ref), uc($$dst_reg_ref));
- }
- return 1;
-}
-
-############
-# get_dbeq #
-############
-sub get_dbeq {
- my $self = shift @_;
- my $post_byte_base = shift @_;
- my $reg_ref = shift @_;
- my $addr_ref = shift @_;
- my $pc_lin = shift @_;
- my $pc_pag = shift @_;
- my $loc_cnt = shift @_;
- my $error_ref = shift @_;
- my $result_ref = shift @_;
- my $post_byte = $post_byte_base;
- #temporary
- my $error;
- my $value;
- my $rel_addr;
-
- ###################
- # resolve address #
- ###################
- ($error, $value) = @{$self->evaluate_expression($$addr_ref, $pc_lin, $pc_pag, $loc_cnt)};
- if ($error) {$$error_ref = $error;}
- if (defined $value) {
- if (defined $pc_pag) {
- #printf STDERR "expression: \"%s\"\n", $$addr_ref;
- #printf STDERR "pc_pag: \"%X\" \"%s\"\n", $pc_pag, $pc_pag;
- #printf STDERR "value: \"%X\" \"%s\"\n", $value, $value;
- $rel_addr = int($value & 0xffff) - int($pc_pag & 0xffff) - 3;
- #printf STDERR "rel_addr: \"%X\" \"%s\"\n", $rel_addr, $rel_addr;
- if (($rel_addr >= -256) && ($rel_addr <= 255)) {
- if ($rel_addr < 0) {
- $post_byte = $post_byte | 0x10;
- }
- ####################
- # resolve register #
- ####################
- for ($$reg_ref) {
- ##########
- # ACCU A #
- ##########
- /^\s*A\s*$/i && do {
- $post_byte = $post_byte | 0x00;
- last;};
- ##########
- # ACCU B #
- ##########
- /^\s*B\s*$/i && do {
- $post_byte = $post_byte | 0x01;
- last;};
- ##########
- # ACCU D #
- ##########
- /^\s*D\s*$/i && do {
- $post_byte = $post_byte | 0x04;
- last;};
- ###########
- # INDEX X #
- ###########
- /^\s*X\s*$/i && do {
- $post_byte = $post_byte | 0x05;
- last;};
- ###########
- # INDEX Y #
- ###########
- /^\s*Y\s*$/i && do {
- $post_byte = $post_byte | 0x06;
- last;};
- ######
- # SP #
- ######
- /^\s*SP\s*$/i && do {
- $post_byte = $post_byte | 0x07;
- last;};
- ############
- # no match #
- ############
- return 0;
- }
-
- ###################
- # return hex code #
- ###################
- $$result_ref = sprintf("%.2X %.2X", (($post_byte & 0xff),
- ($rel_addr & 0xff)));
- return 1;
- } else {
- return 0;
- }
- } else {
- $$result_ref = "?? ??";
- return 1;
- }
- } else {
- $$result_ref = "?? ??";
- return 1;
- }
-}
-
-############
-# get_trap #
-############
-sub get_trap {
- my $self = shift @_;
- my $string_ref = shift @_;
- my $pc_lin = shift @_;
- my $pc_pag = shift @_;
- my $loc_cnt = shift @_;
- my $error_ref = shift @_;
- my $result_ref = shift @_;
- #temporary
- my $error;
- my $value;
-
- ($error, $value) = @{$self->evaluate_expression($$string_ref, $pc_lin, $pc_pag, $loc_cnt)};
- if ($error) {$$error_ref = $error;}
- if (defined $value) {
- $value = $value & 0xff;
- if ((($value >= 0x30) && ($value <= 0x39)) ||
- (($value >= 0x40) && ($value <= 0xff))) {
- $$result_ref = sprintf("%.2X", $value);
- return 1;
- } else {
- $$error_ref = sprintf("illegal trap number \$%.2X", $value);
- $$result_ref = "??";
- return 1;
- }
- } else {
- $$result_ref = "??";
- return 1;
- }
-}
-
-#################
-# get_s12x_trap #
-#################
-sub get_s12x_trap {
- my $self = shift @_;
- my $string_ref = shift @_;
- my $pc_lin = shift @_;
- my $pc_pag = shift @_;
- my $loc_cnt = shift @_;
- my $error_ref = shift @_;
- my $result_ref = shift @_;
- #temporary
- my $error;
- my $value;
-
- ($error, $value) = @{$self->evaluate_expression($$string_ref, $pc_lin, $pc_pag, $loc_cnt)};
- if ($error) {$$error_ref = $error;}
- if (defined $value) {
- $value = $value & 0xff;
- if ((($value >= 0x30) && ($value <= 0x34)) ||
- (($value >= 0x49) && ($value <= 0x4f)) ||
- ($value == 0x59) ||
- ($value == 0x81) ||
- ($value == 0x86) ||
- ($value == 0x91) ||
- ($value == 0xa1) ||
- ($value == 0xa7) ||
- ($value == 0xb1) ||
- ($value == 0xb7) ||
- ($value == 0xc1) ||
- ($value == 0xc6) ||
- (($value >= 0xcc) && ($value <= 0xcf)) ||
- ($value == 0xd1) ||
- ($value == 0xe1) ||
- ($value == 0xf1)) {
- $$result_ref = sprintf("%.2X", $value);
- return 1;
- } else {
- $$error_ref = sprintf("illegal trap number \$%.2X", $value);
- $$result_ref = "??";
- return 1;
- }
- } else {
- $$result_ref = "??";
- return 1;
- }
-}
-
-#################
-# get_xgate_imm #
-#################
-sub get_xgate_imm {
- my $self = shift @_;
- my $string_ref = shift @_;
- my $pc_lin = shift @_;
- my $pc_pag = shift @_;
- my $loc_cnt = shift @_;
- my $error_ref = shift @_;
- my $result_ref = shift @_;
-
- ($$error_ref, $$result_ref) = @{$self->evaluate_expression($$string_ref, $pc_lin, $pc_pag, $loc_cnt)};
- return 1;
-}
-
-#################
-# get_xgate_gpr #
-#################
-sub get_xgate_gpr {
- my $self = shift @_;
- my $string_ref = shift @_;
- my $pc_lin = shift @_;
- my $pc_pag = shift @_;
- my $loc_cnt = shift @_;
- my $error_ref = shift @_;
- my $result_ref = shift @_;
-
- ####################
- # resolve register #
- ####################
- if ($$string_ref =~ /\s*R([0-7])\s*$/i) {
- $$result_ref = $1 & 0x07;
- return 1;
- }
- return 0;
-}
-
-#################
-# get_xgate_rel #
-#################
-sub get_xgate_rel {
- my $self = shift @_;
- my $string_ref = shift @_;
- my $pc_lin = shift @_;
- my $pc_pag = shift @_;
- my $loc_cnt = shift @_;
- my $error_ref = shift @_;
- my $result_ref = shift @_;
- #temporary
- my $value;
-
- if (defined $pc_pag) {
- ($$error_ref, $value) = @{$self->evaluate_expression($$string_ref, $pc_lin, $pc_pag, $loc_cnt)};
- if (defined $value) {
- $$result_ref = ((int($value & 0xffff) - (int($pc_pag & 0xffff) +2)) /2);
- } else {
- $$result_ref = undef;
- }
- } else {
- $$result_ref = undef;
- }
- return 1;
-}
trunk/bench/tools/HSW12ASM/hsw12_asm.pm
Property changes :
Deleted: svn:executable
Index: trunk/bench/tools/HSW12ASM/test_XGATE.s
===================================================================
--- trunk/bench/tools/HSW12ASM/test_XGATE.s (revision 2)
+++ trunk/bench/tools/HSW12ASM/test_XGATE.s (nonexistent)
@@ -1,136 +0,0 @@
- CPU XGATE
-
- ORG $B000
- DS.W 2 ; reserve two words at cahnnel 0
- ; channel 1
- DC.W _START ; point to start address
- DC.W V_PTR ; point to initial variables
-
- ORG $2000 ; with comment
-
-V_PTR EQU 123
-SPI0 EQU $D0
-SPI_CR EQU 5
-
- DC.W BACK_
- DS.W 8
- DC.B $56
- DS.B 11
-
- ALIGN 1
-
-_START
- TFR R2,CCR ; R2 = CCR
- TFR CCR,R1 ; CCR = R1
-
-;empty line
- LDB R1,(R1,#SPI_CR) ; willi
- LDW R1,(R1,#4)
- STB R1,(R1,#4) ; willi
- STW R1,(R1,#4)
- LDB R1,(R1,R2)
- LDW R1,(R1,R2)
- STB R1,(R1,R2)
- STW R1,(R1,R2)
- LDB R1,(R1,R2+)
- LDW R1,(R1,R2+)
- STB R1,(R1,R2+)
- STW R1,(R1,R2+)
- LDB R1,(R1,-R2)
- LDW R1,(R1,-R2)
- STB R1,(R1,-R2)
- STW R1,(R1,-R2)
-
-BACK_ SEX R3
- PAR R4
- JAL R7
-
- CSEM #1 ; semaphores
- CSEM R1 ; same as above + 1
-
- SSEM #7 ; semaphores
- SSEM R7 ; same as above + 1
-
- BFFO R4,R5
- ASR R6,R7
- CSL R2,R2
- CSR R5,R3
- LSL R2,R0
- LSR R0,R3
- ROL R4,R2
- ROR R5,R6
-
- ASR R6,#1
- CSL R2,#2
- CSR R5,#3
- LSL R2,#4
- LSR R0,#5
- ROL R4,#6
- ROR R5,#7
-
- AND R0,R1,R2 ; bit compare R1,R2
- OR R1,R2,R3
- XNOR R2,R0,R3 ; invert R3
- COM R2,R3 ; as pseudo op with two operands (r2 = ~r3)
- COM R3 ; as pseudo op with single op (r3 = ~r3)
-
- SUB R0,R2,R3 ; compare
- CMP R2,R3 ; compare as pseudo op
- SUB R0,R2,R0 ; compare
- NEG R2,R3 ; as pseudo op with two operands (r3 = 0-r2)
- NEG R3 ; as pseudo op with single op (r3 = 0-r3)
- TST R2 ; compare as pseudo op
- SBC R4,R5,R6
- SBC R0,R5,R6
- CPC R5,R6 ; compare as pseudo op
- ADD R6,R7,R7 ; R7*2
- ADC R3,R2,R1
-
- BCC *+2
- BCS *+2
- BEQ *
- BNE FWD
-
-FWD BPL BACK_
- BMI BACK_
- BVC *+2
- BVS *+2
- BHI *+2
- BLS *+2
- BGE *+2
- BGT *+2
- BRA BACK_
-
- BFEXT R4,R5,R6
- BFINS R4,R5,R6 ; clear BitField
- BFINSI R4,R0,R6 ; set BF
- BFINSX R4,R5,R6 ; toggle
-
- ANDL R3,#$FE
- ANDH R3,#4+(5*3) ; 19dec = $13
- BITL R3,#($FE+1-1) ; $FE
- BITH R3,#255
- ORL R3,#~$FE ; should be 1
- ORH R3,#~(~0) ; should be 0
- XNORL R3,#$FE
- XNORH R3,#~$01 ; toggle bit 0 = $FE
-
- SUBL R3,#0
- SUBH R4,#2
- CMPL R3,#0
- CPCH R4,#2
- ADDL R3,#0
- ADDH R4,#2
- LDL R3,#0
- LDH R4,#2
-
- SIF
- SIF R7
- BRK
- NOP
- RTS
-
-
-
-
-
trunk/bench/tools/HSW12ASM/test_XGATE.s
Property changes :
Deleted: svn:executable
Index: trunk/bench/tools/HSW12ASM/test_XGATE_lin.s28
===================================================================
--- trunk/bench/tools/HSW12ASM/test_XGATE_lin.s28 (revision 2)
+++ trunk/bench/tools/HSW12ASM/test_XGATE_lin.s28 (nonexistent)
@@ -1,8 +0,0 @@
-S00D0000544553545F5847415445DA
-S208003004201E007B0A
-S2060F6000204228
-S2060F601256FF23
-S2440F601E02F801F9412549245124592461286928712879286129692971297929612A692A712A792A03F404F507F601F001F107F207F30CB00EF10A520D730A1408750C5616
-S2440F605E0DD70E190A2A0D3B0A4C085D0C6E0D7F1028114E120F120F130F184C184C18401A0C1B0C18401CB918B918B91EFE1B472000220027FF240029D52BD42C002E000E
-S2400F609E30003200340038003FCD64BB6CBB741B7CBB83FE8B1393FE9BFFA301AB00B3FEBBFEC300CC02D300DC02E300EC02F300FC02030007F7000001000200C1
-S804000000FB
Index: trunk/bench/tools/HSW12ASM/license.txt
===================================================================
--- trunk/bench/tools/HSW12ASM/license.txt (revision 2)
+++ trunk/bench/tools/HSW12ASM/license.txt (nonexistent)
@@ -1,504 +0,0 @@
- GNU LESSER GENERAL PUBLIC LICENSE
- Version 2.1, February 1999
-
- Copyright (C) 1991, 1999 Free Software Foundation, Inc.
- 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA
- Everyone is permitted to copy and distribute verbatim copies
- of this license document, but changing it is not allowed.
-
-[This is the first released version of the Lesser GPL. It also counts
- as the successor of the GNU Library Public License, version 2, hence
- the version number 2.1.]
-
- Preamble
-
- The licenses for most software are designed to take away your
-freedom to share and change it. By contrast, the GNU General Public
-Licenses are intended to guarantee your freedom to share and change
-free software--to make sure the software is free for all its users.
-
- This license, the Lesser General Public License, applies to some
-specially designated software packages--typically libraries--of the
-Free Software Foundation and other authors who decide to use it. You
-can use it too, but we suggest you first think carefully about whether
-this license or the ordinary General Public License is the better
-strategy to use in any particular case, based on the explanations below.
-
- When we speak of free software, we are referring to freedom of use,
-not price. Our General Public Licenses are designed to make sure that
-you have the freedom to distribute copies of free software (and charge
-for this service if you wish); that you receive source code or can get
-it if you want it; that you can change the software and use pieces of
-it in new free programs; and that you are informed that you can do
-these things.
-
- To protect your rights, we need to make restrictions that forbid
-distributors to deny you these rights or to ask you to surrender these
-rights. These restrictions translate to certain responsibilities for
-you if you distribute copies of the library or if you modify it.
-
- For example, if you distribute copies of the library, whether gratis
-or for a fee, you must give the recipients all the rights that we gave
-you. You must make sure that they, too, receive or can get the source
-code. If you link other code with the library, you must provide
-complete object files to the recipients, so that they can relink them
-with the library after making changes to the library and recompiling
-it. And you must show them these terms so they know their rights.
-
- We protect your rights with a two-step method: (1) we copyright the
-library, and (2) we offer you this license, which gives you legal
-permission to copy, distribute and/or modify the library.
-
- To protect each distributor, we want to make it very clear that
-there is no warranty for the free library. Also, if the library is
-modified by someone else and passed on, the recipients should know
-that what they have is not the original version, so that the original
-author's reputation will not be affected by problems that might be
-introduced by others.
-
- Finally, software patents pose a constant threat to the existence of
-any free program. We wish to make sure that a company cannot
-effectively restrict the users of a free program by obtaining a
-restrictive license from a patent holder. Therefore, we insist that
-any patent license obtained for a version of the library must be
-consistent with the full freedom of use specified in this license.
-
- Most GNU software, including some libraries, is covered by the
-ordinary GNU General Public License. This license, the GNU Lesser
-General Public License, applies to certain designated libraries, and
-is quite different from the ordinary General Public License. We use
-this license for certain libraries in order to permit linking those
-libraries into non-free programs.
-
- When a program is linked with a library, whether statically or using
-a shared library, the combination of the two is legally speaking a
-combined work, a derivative of the original library. The ordinary
-General Public License therefore permits such linking only if the
-entire combination fits its criteria of freedom. The Lesser General
-Public License permits more lax criteria for linking other code with
-the library.
-
- We call this license the "Lesser" General Public License because it
-does Less to protect the user's freedom than the ordinary General
-Public License. It also provides other free software developers Less
-of an advantage over competing non-free programs. These disadvantages
-are the reason we use the ordinary General Public License for many
-libraries. However, the Lesser license provides advantages in certain
-special circumstances.
-
- For example, on rare occasions, there may be a special need to
-encourage the widest possible use of a certain library, so that it becomes
-a de-facto standard. To achieve this, non-free programs must be
-allowed to use the library. A more frequent case is that a free
-library does the same job as widely used non-free libraries. In this
-case, there is little to gain by limiting the free library to free
-software only, so we use the Lesser General Public License.
-
- In other cases, permission to use a particular library in non-free
-programs enables a greater number of people to use a large body of
-free software. For example, permission to use the GNU C Library in
-non-free programs enables many more people to use the whole GNU
-operating system, as well as its variant, the GNU/Linux operating
-system.
-
- Although the Lesser General Public License is Less protective of the
-users' freedom, it does ensure that the user of a program that is
-linked with the Library has the freedom and the wherewithal to run
-that program using a modified version of the Library.
-
- The precise terms and conditions for copying, distribution and
-modification follow. Pay close attention to the difference between a
-"work based on the library" and a "work that uses the library". The
-former contains code derived from the library, whereas the latter must
-be combined with the library in order to run.
-
- GNU LESSER GENERAL PUBLIC LICENSE
- TERMS AND CONDITIONS FOR COPYING, DISTRIBUTION AND MODIFICATION
-
- 0. This License Agreement applies to any software library or other
-program which contains a notice placed by the copyright holder or
-other authorized party saying it may be distributed under the terms of
-this Lesser General Public License (also called "this License").
-Each licensee is addressed as "you".
-
- A "library" means a collection of software functions and/or data
-prepared so as to be conveniently linked with application programs
-(which use some of those functions and data) to form executables.
-
- The "Library", below, refers to any such software library or work
-which has been distributed under these terms. A "work based on the
-Library" means either the Library or any derivative work under
-copyright law: that is to say, a work containing the Library or a
-portion of it, either verbatim or with modifications and/or translated
-straightforwardly into another language. (Hereinafter, translation is
-included without limitation in the term "modification".)
-
- "Source code" for a work means the preferred form of the work for
-making modifications to it. For a library, complete source code means
-all the source code for all modules it contains, plus any associated
-interface definition files, plus the scripts used to control compilation
-and installation of the library.
-
- Activities other than copying, distribution and modification are not
-covered by this License; they are outside its scope. The act of
-running a program using the Library is not restricted, and output from
-such a program is covered only if its contents constitute a work based
-on the Library (independent of the use of the Library in a tool for
-writing it). Whether that is true depends on what the Library does
-and what the program that uses the Library does.
-
- 1. You may copy and distribute verbatim copies of the Library's
-complete source code as you receive it, in any medium, provided that
-you conspicuously and appropriately publish on each copy an
-appropriate copyright notice and disclaimer of warranty; keep intact
-all the notices that refer to this License and to the absence of any
-warranty; and distribute a copy of this License along with the
-Library.
-
- You may charge a fee for the physical act of transferring a copy,
-and you may at your option offer warranty protection in exchange for a
-fee.
-
- 2. You may modify your copy or copies of the Library or any portion
-of it, thus forming a work based on the Library, and copy and
-distribute such modifications or work under the terms of Section 1
-above, provided that you also meet all of these conditions:
-
- a) The modified work must itself be a software library.
-
- b) You must cause the files modified to carry prominent notices
- stating that you changed the files and the date of any change.
-
- c) You must cause the whole of the work to be licensed at no
- charge to all third parties under the terms of this License.
-
- d) If a facility in the modified Library refers to a function or a
- table of data to be supplied by an application program that uses
- the facility, other than as an argument passed when the facility
- is invoked, then you must make a good faith effort to ensure that,
- in the event an application does not supply such function or
- table, the facility still operates, and performs whatever part of
- its purpose remains meaningful.
-
- (For example, a function in a library to compute square roots has
- a purpose that is entirely well-defined independent of the
- application. Therefore, Subsection 2d requires that any
- application-supplied function or table used by this function must
- be optional: if the application does not supply it, the square
- root function must still compute square roots.)
-
-These requirements apply to the modified work as a whole. If
-identifiable sections of that work are not derived from the Library,
-and can be reasonably considered independent and separate works in
-themselves, then this License, and its terms, do not apply to those
-sections when you distribute them as separate works. But when you
-distribute the same sections as part of a whole which is a work based
-on the Library, the distribution of the whole must be on the terms of
-this License, whose permissions for other licensees extend to the
-entire whole, and thus to each and every part regardless of who wrote
-it.
-
-Thus, it is not the intent of this section to claim rights or contest
-your rights to work written entirely by you; rather, the intent is to
-exercise the right to control the distribution of derivative or
-collective works based on the Library.
-
-In addition, mere aggregation of another work not based on the Library
-with the Library (or with a work based on the Library) on a volume of
-a storage or distribution medium does not bring the other work under
-the scope of this License.
-
- 3. You may opt to apply the terms of the ordinary GNU General Public
-License instead of this License to a given copy of the Library. To do
-this, you must alter all the notices that refer to this License, so
-that they refer to the ordinary GNU General Public License, version 2,
-instead of to this License. (If a newer version than version 2 of the
-ordinary GNU General Public License has appeared, then you can specify
-that version instead if you wish.) Do not make any other change in
-these notices.
-
- Once this change is made in a given copy, it is irreversible for
-that copy, so the ordinary GNU General Public License applies to all
-subsequent copies and derivative works made from that copy.
-
- This option is useful when you wish to copy part of the code of
-the Library into a program that is not a library.
-
- 4. You may copy and distribute the Library (or a portion or
-derivative of it, under Section 2) in object code or executable form
-under the terms of Sections 1 and 2 above provided that you accompany
-it with the complete corresponding machine-readable source code, which
-must be distributed under the terms of Sections 1 and 2 above on a
-medium customarily used for software interchange.
-
- If distribution of object code is made by offering access to copy
-from a designated place, then offering equivalent access to copy the
-source code from the same place satisfies the requirement to
-distribute the source code, even though third parties are not
-compelled to copy the source along with the object code.
-
- 5. A program that contains no derivative of any portion of the
-Library, but is designed to work with the Library by being compiled or
-linked with it, is called a "work that uses the Library". Such a
-work, in isolation, is not a derivative work of the Library, and
-therefore falls outside the scope of this License.
-
- However, linking a "work that uses the Library" with the Library
-creates an executable that is a derivative of the Library (because it
-contains portions of the Library), rather than a "work that uses the
-library". The executable is therefore covered by this License.
-Section 6 states terms for distribution of such executables.
-
- When a "work that uses the Library" uses material from a header file
-that is part of the Library, the object code for the work may be a
-derivative work of the Library even though the source code is not.
-Whether this is true is especially significant if the work can be
-linked without the Library, or if the work is itself a library. The
-threshold for this to be true is not precisely defined by law.
-
- If such an object file uses only numerical parameters, data
-structure layouts and accessors, and small macros and small inline
-functions (ten lines or less in length), then the use of the object
-file is unrestricted, regardless of whether it is legally a derivative
-work. (Executables containing this object code plus portions of the
-Library will still fall under Section 6.)
-
- Otherwise, if the work is a derivative of the Library, you may
-distribute the object code for the work under the terms of Section 6.
-Any executables containing that work also fall under Section 6,
-whether or not they are linked directly with the Library itself.
-
- 6. As an exception to the Sections above, you may also combine or
-link a "work that uses the Library" with the Library to produce a
-work containing portions of the Library, and distribute that work
-under terms of your choice, provided that the terms permit
-modification of the work for the customer's own use and reverse
-engineering for debugging such modifications.
-
- You must give prominent notice with each copy of the work that the
-Library is used in it and that the Library and its use are covered by
-this License. You must supply a copy of this License. If the work
-during execution displays copyright notices, you must include the
-copyright notice for the Library among them, as well as a reference
-directing the user to the copy of this License. Also, you must do one
-of these things:
-
- a) Accompany the work with the complete corresponding
- machine-readable source code for the Library including whatever
- changes were used in the work (which must be distributed under
- Sections 1 and 2 above); and, if the work is an executable linked
- with the Library, with the complete machine-readable "work that
- uses the Library", as object code and/or source code, so that the
- user can modify the Library and then relink to produce a modified
- executable containing the modified Library. (It is understood
- that the user who changes the contents of definitions files in the
- Library will not necessarily be able to recompile the application
- to use the modified definitions.)
-
- b) Use a suitable shared library mechanism for linking with the
- Library. A suitable mechanism is one that (1) uses at run time a
- copy of the library already present on the user's computer system,
- rather than copying library functions into the executable, and (2)
- will operate properly with a modified version of the library, if
- the user installs one, as long as the modified version is
- interface-compatible with the version that the work was made with.
-
- c) Accompany the work with a written offer, valid for at
- least three years, to give the same user the materials
- specified in Subsection 6a, above, for a charge no more
- than the cost of performing this distribution.
-
- d) If distribution of the work is made by offering access to copy
- from a designated place, offer equivalent access to copy the above
- specified materials from the same place.
-
- e) Verify that the user has already received a copy of these
- materials or that you have already sent this user a copy.
-
- For an executable, the required form of the "work that uses the
-Library" must include any data and utility programs needed for
-reproducing the executable from it. However, as a special exception,
-the materials to be distributed need not include anything that is
-normally distributed (in either source or binary form) with the major
-components (compiler, kernel, and so on) of the operating system on
-which the executable runs, unless that component itself accompanies
-the executable.
-
- It may happen that this requirement contradicts the license
-restrictions of other proprietary libraries that do not normally
-accompany the operating system. Such a contradiction means you cannot
-use both them and the Library together in an executable that you
-distribute.
-
- 7. You may place library facilities that are a work based on the
-Library side-by-side in a single library together with other library
-facilities not covered by this License, and distribute such a combined
-library, provided that the separate distribution of the work based on
-the Library and of the other library facilities is otherwise
-permitted, and provided that you do these two things:
-
- a) Accompany the combined library with a copy of the same work
- based on the Library, uncombined with any other library
- facilities. This must be distributed under the terms of the
- Sections above.
-
- b) Give prominent notice with the combined library of the fact
- that part of it is a work based on the Library, and explaining
- where to find the accompanying uncombined form of the same work.
-
- 8. You may not copy, modify, sublicense, link with, or distribute
-the Library except as expressly provided under this License. Any
-attempt otherwise to copy, modify, sublicense, link with, or
-distribute the Library is void, and will automatically terminate your
-rights under this License. However, parties who have received copies,
-or rights, from you under this License will not have their licenses
-terminated so long as such parties remain in full compliance.
-
- 9. You are not required to accept this License, since you have not
-signed it. However, nothing else grants you permission to modify or
-distribute the Library or its derivative works. These actions are
-prohibited by law if you do not accept this License. Therefore, by
-modifying or distributing the Library (or any work based on the
-Library), you indicate your acceptance of this License to do so, and
-all its terms and conditions for copying, distributing or modifying
-the Library or works based on it.
-
- 10. Each time you redistribute the Library (or any work based on the
-Library), the recipient automatically receives a license from the
-original licensor to copy, distribute, link with or modify the Library
-subject to these terms and conditions. You may not impose any further
-restrictions on the recipients' exercise of the rights granted herein.
-You are not responsible for enforcing compliance by third parties with
-this License.
-
- 11. If, as a consequence of a court judgment or allegation of patent
-infringement or for any other reason (not limited to patent issues),
-conditions are imposed on you (whether by court order, agreement or
-otherwise) that contradict the conditions of this License, they do not
-excuse you from the conditions of this License. If you cannot
-distribute so as to satisfy simultaneously your obligations under this
-License and any other pertinent obligations, then as a consequence you
-may not distribute the Library at all. For example, if a patent
-license would not permit royalty-free redistribution of the Library by
-all those who receive copies directly or indirectly through you, then
-the only way you could satisfy both it and this License would be to
-refrain entirely from distribution of the Library.
-
-If any portion of this section is held invalid or unenforceable under any
-particular circumstance, the balance of the section is intended to apply,
-and the section as a whole is intended to apply in other circumstances.
-
-It is not the purpose of this section to induce you to infringe any
-patents or other property right claims or to contest validity of any
-such claims; this section has the sole purpose of protecting the
-integrity of the free software distribution system which is
-implemented by public license practices. Many people have made
-generous contributions to the wide range of software distributed
-through that system in reliance on consistent application of that
-system; it is up to the author/donor to decide if he or she is willing
-to distribute software through any other system and a licensee cannot
-impose that choice.
-
-This section is intended to make thoroughly clear what is believed to
-be a consequence of the rest of this License.
-
- 12. If the distribution and/or use of the Library is restricted in
-certain countries either by patents or by copyrighted interfaces, the
-original copyright holder who places the Library under this License may add
-an explicit geographical distribution limitation excluding those countries,
-so that distribution is permitted only in or among countries not thus
-excluded. In such case, this License incorporates the limitation as if
-written in the body of this License.
-
- 13. The Free Software Foundation may publish revised and/or new
-versions of the Lesser General Public License from time to time.
-Such new versions will be similar in spirit to the present version,
-but may differ in detail to address new problems or concerns.
-
-Each version is given a distinguishing version number. If the Library
-specifies a version number of this License which applies to it and
-"any later version", you have the option of following the terms and
-conditions either of that version or of any later version published by
-the Free Software Foundation. If the Library does not specify a
-license version number, you may choose any version ever published by
-the Free Software Foundation.
-
- 14. If you wish to incorporate parts of the Library into other free
-programs whose distribution conditions are incompatible with these,
-write to the author to ask for permission. For software which is
-copyrighted by the Free Software Foundation, write to the Free
-Software Foundation; we sometimes make exceptions for this. Our
-decision will be guided by the two goals of preserving the free status
-of all derivatives of our free software and of promoting the sharing
-and reuse of software generally.
-
- NO WARRANTY
-
- 15. BECAUSE THE LIBRARY IS LICENSED FREE OF CHARGE, THERE IS NO
-WARRANTY FOR THE LIBRARY, TO THE EXTENT PERMITTED BY APPLICABLE LAW.
-EXCEPT WHEN OTHERWISE STATED IN WRITING THE COPYRIGHT HOLDERS AND/OR
-OTHER PARTIES PROVIDE THE LIBRARY "AS IS" WITHOUT WARRANTY OF ANY
-KIND, EITHER EXPRESSED OR IMPLIED, INCLUDING, BUT NOT LIMITED TO, THE
-IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR
-PURPOSE. THE ENTIRE RISK AS TO THE QUALITY AND PERFORMANCE OF THE
-LIBRARY IS WITH YOU. SHOULD THE LIBRARY PROVE DEFECTIVE, YOU ASSUME
-THE COST OF ALL NECESSARY SERVICING, REPAIR OR CORRECTION.
-
- 16. IN NO EVENT UNLESS REQUIRED BY APPLICABLE LAW OR AGREED TO IN
-WRITING WILL ANY COPYRIGHT HOLDER, OR ANY OTHER PARTY WHO MAY MODIFY
-AND/OR REDISTRIBUTE THE LIBRARY AS PERMITTED ABOVE, BE LIABLE TO YOU
-FOR DAMAGES, INCLUDING ANY GENERAL, SPECIAL, INCIDENTAL OR
-CONSEQUENTIAL DAMAGES ARISING OUT OF THE USE OR INABILITY TO USE THE
-LIBRARY (INCLUDING BUT NOT LIMITED TO LOSS OF DATA OR DATA BEING
-RENDERED INACCURATE OR LOSSES SUSTAINED BY YOU OR THIRD PARTIES OR A
-FAILURE OF THE LIBRARY TO OPERATE WITH ANY OTHER SOFTWARE), EVEN IF
-SUCH HOLDER OR OTHER PARTY HAS BEEN ADVISED OF THE POSSIBILITY OF SUCH
-DAMAGES.
-
- END OF TERMS AND CONDITIONS
-
- How to Apply These Terms to Your New Libraries
-
- If you develop a new library, and you want it to be of the greatest
-possible use to the public, we recommend making it free software that
-everyone can redistribute and change. You can do so by permitting
-redistribution under these terms (or, alternatively, under the terms of the
-ordinary General Public License).
-
- To apply these terms, attach the following notices to the library. It is
-safest to attach them to the start of each source file to most effectively
-convey the exclusion of warranty; and each file should have at least the
-"copyright" line and a pointer to where the full notice is found.
-
-
- Copyright (C)
-
- This library is free software; you can redistribute it and/or
- modify it under the terms of the GNU Lesser General Public
- License as published by the Free Software Foundation; either
- version 2.1 of the License, or (at your option) any later version.
-
- This library is distributed in the hope that it will be useful,
- but WITHOUT ANY WARRANTY; without even the implied warranty of
- MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
- Lesser General Public License for more details.
-
- You should have received a copy of the GNU Lesser General Public
- License along with this library; if not, write to the Free Software
- Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA
-
-Also add information on how to contact you by electronic and paper mail.
-
-You should also get your employer (if you work as a programmer) or your
-school, if any, to sign a "copyright disclaimer" for the library, if
-necessary. Here is a sample; alter the names:
-
- Yoyodyne, Inc., hereby disclaims all copyright interest in the
- library `Frob' (a library for tweaking knobs) written by James Random Hacker.
-
- , 1 April 1990
- Ty Coon, President of Vice
-
-That's all there is to it!
-
-
trunk/bench/tools/HSW12ASM/license.txt
Property changes :
Deleted: svn:executable
Index: trunk/bench/tools/HSW12ASM/test_S12X.s
===================================================================
--- trunk/bench/tools/HSW12ASM/test_S12X.s (revision 2)
+++ trunk/bench/tools/HSW12ASM/test_S12X.s (nonexistent)
@@ -1,8374 +0,0 @@
-*
-* S12X test case
-*
-
- CPU S12X
-
-char equ 65
-immed equ $72
-dir equ $55
-ext equ $1234
-ind equ $37
-small equ $e
-mask equ %11001100
-ROTATE000 EQU $0188
-ROTATE001 EQU $8944
-ROTATE002 EQU $3333
-ROTATE003 EQU $4444
-INDEX EQU 3
-*
-*
-*
- ORG $1000
-
-TEST1 EQU 1
-TEST2 EQU 2
-TEST3 EQU 3
-TEST4 EQU 4
-TEST5 EQU 5
-TEST6 EQU 6
-TEST7 EQU 7
-TEST8 EQU 8
-
-#ifdef TEST1
- ldaa #TEST1
-#ifdef TEST2
- ldaa #TEST2
-#ifndef TEST3
- ldab #TEST3
-#ifdef TEST4
- ldab #TEST4
-#endif
-#ifdef TEST5
- ldaa #TEST5
-*#ifdef TEST6
-* ldaa #TEST6
-*#ifdef TEST7
-* ldaa #TEST7
-*#ifdef TEST8
-* ldaa #TEST8
-*#endif
-*#endif
-*#endif
-#else
- ldd #3333
-#ifdef TEST7
- ldd #7777
-#else
- ldaa #'N'
-#endif
-#endif
-#else
- ldd #3333
-#ifdef TEST17
- ldd #7777
-#else
- ldaa #'N'
-#endif
-#endif
-#endif
-#endif
-*#endif
-
- ORG $4000
-
-
- movb 5,-y,-16,sp
-
-#ifdef a4fn
- movb 5,-y,-16,x
-#endif
-
-#ifdef b32ff
- movb 5,-y,-16,y
-#endif
-
-; funny ` test
-; stinky `` test
-;
- movb 5,-y -small,pc
- movb 5,-y,-small,pc
-happy`
-
- movb 5,-y -small,sp
- movb 5,-y,-small,sp
- movb 5,y- -small,sp
- movb 5,y-,-small,sp
-
-
- dw 2
- db 2
- dc.w 2
- dc.b 2
- fcb 2
- fdb 2222
- ds 34
- ds.b 34
- ds.w 34
- rmb 34
- rmw 34
-
-bb equ 1
-
-#ifdef aa
- movb 5,-y -small,x
- movb 5,-y,-small,x
-#endif
-
- movb 5,-y -small,y
- movb 5,-y,-small,y
-
-#ifdef aa
- movb 5,-y 0,pc
- movb 5,-y,0,pc
-#endif
-
- movb 5,-y 0,sp
- movb 5,-y,0,sp
- trap $49
-
-#ifdef aa
- bclr 1,+sp $55
- bclr 1,+sp #$55
- bclr 1,+sp,#$55
- bclr 1,sp-,#$55
- bclr 1,sp- #$55
-#endif
-
-#ifdef bb
- bclr 1,+x $55
- bclr 1,+x #$55
- bclr 1,+x,$55
- bclr 1,+x,#$55
-#endif
-
- bclr dir $55
- bclr dir #$55
- bclr dir,$55
- bclr dir,#$55
-
- bclr ext $55
- bclr ext #$55
- bclr ext,$55
- bclr ext,#$55
-
- brclr 1,+sp $55 *
- brclr 1,+sp #$55 *
- brclr 1,+sp,$55 *
- brclr 1,+sp,#$55 *
-
- brclr dir $55 *
- brclr dir #$55 *
- brclr dir,$55 *
- brclr dir,#$55 *
-
- brclr ext $55 *
- brclr ext #$55 *
- brclr ext,$55,*
- brclr ext,#$55,*
-
- brset 1,+sp $55 *
- brset 1,+sp #$55 *
- brset 1,+sp,$55,*
- brset 1,+sp,#$55,*
-
- brset dir $55 *
- brset dir #$55 *
- brset dir,$55,*
- brset dir,#$55,*
-
- brset ext $55 *
- brset ext #$55 *
- brset ext,$55,*
- brset ext,#$55,*
-
- bset 1,+sp $55
- bset 1,+sp #$55
- bset 1,+sp,$55
- bset 1,+sp,#$55
-
- btas 1,+sp $55 ;s12x dark blue
- btas 1,+sp #$55 ;s12x dark blue
- btas 1,+sp,$55 ;s12x dark blue
- btas 1,+sp,#$55 ;s12x dark blue
-
- bset dir $55
- bset dir #$55
- bset dir,$55
- bset dir,#$55
-
- btas dir $55 ;s12x dark blue
- btas dir #$55 ;s12x dark blue
- btas dir,$55 ;s12x dark blue
- btas dir,#$55 ;s12x dark blue
-
- bset dir $55
- bset dir #$55
- bset dir,$55
- bset dir,#$55
-
- btas dir $55 ;s12x dark blue
- btas dir #$55 ;s12x dark blue
- btas dir,$55 ;s12x dark blue
- btas dir,#$55 ;s12x dark blue
-
- bset ext $55
- bset ext #$55
- bset ext,$55
- bset ext,#$55
-
- btas ext $55 ;s12x dark blue
- btas ext #$55 ;s12x dark blue
- btas ext,$55 ;s12x dark blue
- btas ext,#$55 ;s12x dark blue
-
- movw ext 2,x
- movw 2,x 0,x
-
- movb 1,sp ext
- movb 1,sp 12,x
- movw 2,sp ext
- movw 2,sp 12,x
-
- movb #immed 1,-sp
- movw ext 2,-sp
- movb ext 1,-sp
- movw #immed 2,-sp
- movw #immed 2,-sp
- aba
- abx
- aby
- ALIGN 0
- adca #immed
- adca #immed
- adca #immed
- adca #immed
- adca #immed
-#ifndef dense
- adca 1,+sp
-#else
- adca 1,+x
-#endif
- adca 1,+y
- LOC
- adca 8,+sp ; a comma is in , order in the comment
- adca 8,+y
- adca ,pc
- adca ,sp
- adca ,x
-
- adca ,y
- adca 1,-sp
-reset
- adca 1,-x
- adca 1,-y
- adca 8,-sp
-reset`
- adca 8,-x
- adca 8,-y
- adca -1,sp
- adca -1,x
-*
-* helwo warry bud
-* hewe is you comment
-*
- adca -1,y
- adca -16,sp
- jsr reset-*,pc
- jsr *,pc
- jsr *
- adca -16,x
- adca -16,y
- adca -17,sp
- ALIGN 1
- adca -17,x
- adca -17,y
- ALIGN 3
- adca -small,pc
- adca -small,sp
- adca -small,x
- ALIGN 7
- adca -small,y
- adca 0,pc
- adca 0,sp
- adca 0,x
- adca 0,y
- adca 1,sp+
- adca 1,x+
- adca ext,x
- adca ext,x
- adca ext,x
- adca ext,x
- adca ext,x
- adca 1,y+
- adca 1,sp
- adca 1,x
- adca 1,y
- adca 1,sp-
- adca 1,x-
- adca 1,y-
- adca 125,pc
- adca 125,sp
- adca 125,x
- adca 125,y
- adca 15,sp
- adca 15,x
- adca 15,y
- adca 16,sp
- adca 16,x
- adca 16,y
- adca 8,sp+
- adca 8,x+
- adca 8,y+
- adca 8,sp-
- adca 8,x-
- adca 8,y-
- adca a,sp
- adca a,x
- adca a,y
- adca b,sp
- adca b,x
- adca b,y
- adca d,sp
- adca d,x
- adca d,y
- adca dir
- adca dir
- adca ext
- adca ext
- adca ext,sp
- adca ext,x
- adca ext,y
- adca ind,pc
- adca ind,sp
- adca ind,x
- adca ind,y
- adca small,pc
- adca small,sp
- adca small,x
- adca small,y
-
- adex #immed ;s12x yellow
- adex 1,+sp ;s12x yellow
- adex -small,pc ;s12x yellow
- adex 125,pc ;s12x yellow
- adex dir ;s12x yellow
- adex ext ;s12x yellow
- adex ext,sp ;s12x yellow
-
- adcb #immed
- adcb 1,+sp
- adcb -small,pc
- adcb 125,pc
- adcb dir
- adcb ext
- adcb ext,sp
-
- adey #immed ;s12x yellow
- adey 1,+sp ;s12x yellow
- adey -small,pc ;s12x yellow
- adey 125,pc ;s12x yellow
- adey dir ;s12x yellow
- adey ext ;s12x yellow
- adey ext,sp ;s12x yellow
-
- adda #immed
- adda 1,+sp
- adda dir
- adda ext
- adda ext
-
- addx #immed ;s12x yellow
- addx 1,+sp ;s12x yellow
- addx dir ;s12x yellow
- addx ext ;s12x yellow
- addx ext ;s12x yellow
-
- addb #immed
- addb 1,+sp
- addb dir
- addb ext
-
- addy #immed ;s12x yellow
- addy 1,+sp ;s12x yellow
- addy dir ;s12x yellow
- addy ext ;s12x yellow
-
- addd #immed
- addd 1,+sp
- addd dir
- addd ext
-
- aded #immed ;s12x red
- aded 1,+sp ;s12x red
- aded dir ;s12x red
- aded ext ;s12x red
-
- anda #immed
- anda 1,+sp
- anda dir
- anda ext
-
- andx #immed ;s12x yellow
- andx 1,+sp ;s12x yellow
- andx dir ;s12x yellow
- andx ext ;s12x yellow
-
- andb #immed
- andb 1,+sp
- andb dir
- andb ext
-
- andy #immed ;s12x yellow
- andy 1,+sp ;s12x yellow
- andy dir ;s12x yellow
- andy ext ;s12x yellow
-
- andcc #immed
- asl 1,+sp
- asl dir
- asl ext
-
- aslw 1,+sp ;s12x green
- aslw dir ;s12x green
- aslw ext ;s12x green
-
- asla
- aslb
- asld
-
- aslx ;s12x yellow
- asly ;s12x yellow
-
- asr 1,+sp
- asr dir
- asr ext
-
- asrw 1,+sp ;s12x green
- asrw dir ;s12x green
- asrw ext ;s12x green
-
- asra
- asrb
-
- asrx ;s12x yellow
- asry ;s12x yellow
-
- bcc *
- bcs *
- beq *
- bge *
- bgt *
- bhi *
- bita #immed
- bita 1,+sp
- bita dir
- bita ext
-
- bitx #immed ;s12x yellow
- bitx 1,+sp ;s12x yellow
- bitx dir ;s12x yellow
- bitx ext ;s12x yellow
-
- bitb #immed
- bitb 1,+sp
- bitb dir
- bitb ext
-
- bity #immed ;s12x yellow
- bity 1,+sp ;s12x yellow
- bity dir ;s12x yellow
- bity ext ;s12x yellow
-
- ble *
- bls *
- blt *
- bmi *
- bne *
- bpl *
- bra *
- brn *
- bsr *
- bvc *
- bvs *
- cba
- clc
- cli
- clr 1,+sp
- clr dir
- clr ext
-
- clrw 1,+sp ;s12x green
- clrw dir ;s12x green
- clrw ext ;s12x green
-
- clra
- clrb
-
- clrx ;s12 yellow
- clry ;s12 yellow
-
- clv
- cmpa #immed
- cmpa 1,+sp
- cmpa dir
- cmpa ext
-
- cmpb #immed
- cmpb #immed
- cmpb 1,+sp
- cmpb 1,+x
- cmpb 1,+y
- cmpb 8,+sp
- cmpb 8,+x
- cmpb 8,+y
- cmpb ,pc
- cmpb ,sp
- cmpb ,x
- cmpb ,y
- cmpb 1,-sp
- cmpb 1,-x
- cmpb 1,-y
- cmpb 8,-sp
- cmpb 8,-x
- cmpb 8,-y
- cmpb -1,sp
- cmpb -1,x
- cmpb -1,y
- cmpb -16,sp
- cmpb -16,x
- cmpb -16,y
- cmpb -17,sp
- cmpb -17,x
- cmpb -17,y
- cmpb -small,pc
- cmpb -small,sp
- cmpb -small,x
- cmpb -small,y
- cmpb 0,pc
- cmpb 0,sp
- cmpb 0,x
- cmpb 0,y
- cmpb 1,sp+
- cmpb 1,x+
- cmpb 1,y+
- cmpb 1,sp
- cmpb 1,x
- cmpb 1,y
- cmpb 1,sp-
- cmpb 1,x-
- cmpb 1,y-
- cmpb 125,pc
- cmpb 125,sp
- cmpb 125,x
- cmpb 125,y
- cmpb 15,sp
- cmpb 15,x
- cmpb 15,y
- cmpb 16,sp
- cmpb 16,x
- cmpb 16,y
- cmpb 8,sp+
- cmpb 8,x+
- cmpb 8,y+
- cmpb 8,sp-
- cmpb 8,x-
- cmpb 8,y-
- cmpb a,sp
- cmpb a,x
- cmpb a,y
- cmpb b,sp
- cmpb b,x
- cmpb b,y
- cmpb d,sp
- cmpb d,x
- cmpb d,y
- cmpb dir
- cmpb dir
- cmpb ext
- cmpb ext
- cmpb ext,sp
- cmpb ext,x
- cmpb ext,y
- cmpb ind,pc
- cmpb ind,sp
- cmpb ind,x
- cmpb ind,y
- cmpb small,pc
- cmpb small,sp
- cmpb small,x
- cmpb small,y
- com 1,+sp
- com 1,+x
- com 1,+y
- com 8,+sp
- com 8,+x
- com 8,+y
- com ,pc
- com ,sp
- com ,x
- com ,y
- com 1,-sp
- com 1,-x
- com 1,-y
- com 8,-sp
- com 8,-x
- com 8,-y
- com -1,sp
- com -1,x
- com -1,y
- com -16,sp
- com -16,x
- com -16,y
- com -17,sp
- com -17,x
- com -17,y
- com -small,pc
- com -small,sp
- com -small,x
- com -small,y
- com 0,pc
- com 0,sp
- com 0,x
- com 0,y
- com 1,sp+
- com 1,x+
- com 1,y+
- com 1,sp
- com 1,x
- com 1,y
- com 1,sp-
- com 1,x-
- com 1,y-
- com 125,pc
- com 125,sp
- com 125,x
- com 125,y
- com 15,sp
- com 15,x
- com 15,y
- com 16,sp
- com 16,x
- com 16,y
- com 8,sp+
- com 8,x+
- com 8,y+
- com 8,sp-
- com 8,x-
- com 8,y-
- com a,sp
- com a,x
- com a,y
- com b,sp
- com b,x
- com b,y
- com d,sp
- com d,x
- com d,y
- com dir
- com ext
- com ext
- com ext,sp
- com ext,x
- com ext,y
- com ind,pc
- com ind,sp
- com ind,x
- com ind,y
- com small,pc
- com small,sp
- com small,x
- com small,y
-
- comw 1,+sp ;s12x green
- comw 1,+x ;s12x green
- comw 1,+y ;s12x green
- comw 8,+sp ;s12x green
- comw 8,+x ;s12x green
- comw 8,+y ;s12x green
- comw ,pc ;s12x green
- comw ,sp ;s12x green
- comw ,x ;s12x green
- comw ,y ;s12x green
- comw 1,-sp ;s12x green
- comw 1,-x ;s12x green
- comw 1,-y ;s12x green
- comw 8,-sp ;s12x green
- comw 8,-x ;s12x green
- comw 8,-y ;s12x green
- comw -1,sp ;s12x green
- comw -1,x ;s12x green
- comw -1,y ;s12x green
- comw -16,sp ;s12x green
- comw -16,x ;s12x green
- comw -16,y ;s12x green
- comw -17,sp ;s12x green
- comw -17,x ;s12x green
- comw -17,y ;s12x green
- comw -small,pc ;s12x green
- comw -small,sp ;s12x green
- comw -small,x ;s12x green
- comw -small,y ;s12x green
- comw 0,pc ;s12x green
- comw 0,sp ;s12x green
- comw 0,x ;s12x green
- comw 0,y ;s12x green
- comw 1,sp+ ;s12x green
- comw 1,x+ ;s12x green
- comw 1,y+ ;s12x green
- comw 1,sp ;s12x green
- comw 1,x ;s12x green
- comw 1,y ;s12x green
- comw 1,sp- ;s12x green
- comw 1,x- ;s12x green
- comw 1,y- ;s12x green
- comw 125,pc ;s12x green
- comw 125,sp ;s12x green
- comw 125,x ;s12x green
- comw 125,y ;s12x green
- comw 15,sp ;s12x green
- comw 15,x ;s12x green
- comw 15,y ;s12x green
- comw 16,sp ;s12x green
- comw 16,x ;s12x green
- comw 16,y ;s12x green
- comw 8,sp+ ;s12x green
- comw 8,x+ ;s12x green
- comw 8,y+ ;s12x green
- comw 8,sp- ;s12x green
- comw 8,x- ;s12x green
- comw 8,y- ;s12x green
- comw a,sp ;s12x green
- comw a,x ;s12x green
- comw a,y ;s12x green
- comw b,sp ;s12x green
- comw b,x ;s12x green
- comw b,y ;s12x green
- comw d,sp ;s12x green
- comw d,x ;s12x green
- comw d,y ;s12x green
- comw dir ;s12x green
- comw ext ;s12x green
- comw ext ;s12x green
- comw ext,sp ;s12x green
- comw ext,x ;s12x green
- comw ext,y ;s12x green
- comw ind,pc ;s12x green
- comw ind,sp ;s12x green
- comw ind,x ;s12x green
- comw ind,y ;s12x green
- comw small,pc ;s12x green
- comw small,sp ;s12x green
- comw small,x ;s12x green
- comw small,y ;s12x green
-
- coma
- comb
-
- comx ;s12x yellow
- comy ;s12x yellow
-
- cpd #immed
- cpd 1,+sp
- cpd 1,+x
- cpd 1,+y
- cpd 8,+sp
- cpd 8,+x
- cpd 8,+y
- cpd ,pc
- cpd ,sp
- cpd ,x
- cpd ,y
- cpd 1,-sp
- cpd 1,-x
- cpd 1,-y
- cpd 8,-sp
- cpd 8,-x
- cpd 8,-y
- cpd -1,sp
- cpd -1,x
- cpd -1,y
- cpd -16,sp
- cpd -16,x
- cpd -16,y
- cpd -17,sp
- cpd -17,x
- cpd -17,y
- cpd -small,pc
- cpd -small,sp
- cpd -small,x
- cpd -small,y
- cpd 0,pc
- cpd 0,sp
- cpd 0,x
- cpd 0,y
- cpd 1,sp+
- cpd 1,x+
- cpd 1,y+
- cpd 1,sp
- cpd 1,x
- cpd 1,y
- cpd 1,sp-
- cpd 1,x-
- cpd 1,y-
- cpd 125,pc
- cpd 125,sp
- cpd 125,x
- cpd 125,y
- cpd 15,sp
- cpd 15,x
- cpd 15,y
- cpd 16,sp
- cpd 16,x
- cpd 16,y
- cpd 8,sp+
- cpd 8,x+
- cpd 8,y+
- cpd 8,sp-
- cpd 8,x-
- cpd 8,y-
- cpd a,sp
- cpd a,x
- cpd a,y
- cpd b,sp
- cpd b,x
- cpd b,y
- cpd d,sp
- cpd d,x
- cpd d,y
- cpd dir
- cpd dir
- cpd ext
- cpd ext
- cpd ext,sp
- cpd ext,x
- cpd ext,y
- cpd ind,pc
- cpd ind,sp
- cpd ind,x
- cpd ind,y
- cpd small,pc
- cpd small,sp
- cpd small,x
- cpd small,y
- cps #immed
- cps 1,+sp
- cps 1,+x
- cps 1,+y
- cps 8,+sp
- cps 8,+x
- cps 8,+y
- cps ,pc
- cps ,sp
- cps ,x
- cps ,y
- cps 1,-sp
- cps 1,-x
- cps 1,-y
- cps 8,-sp
- cps 8,-x
- cps 8,-y
- cps -1,sp
- cps -1,x
- cps -1,y
- cps -16,sp
- cps -16,x
- cps -16,y
- cps -17,sp
- cps -17,x
- cps -17,y
- cps -small,pc
- cps -small,sp
- cps -small,x
- cps -small,y
- cps 0,pc
- cps 0,sp
- cps 0,x
- cps 0,y
- cps 1,sp+
- cps 1,x+
- cps 1,y+
- cps 1,sp
- cps 1,x
- cps 1,y
- cps 1,sp-
- cps 1,x-
- cps 1,y-
- cps 125,pc
- cps 125,sp
- cps 125,x
- cps 125,y
- cps 15,sp
- cps 15,x
- cps 15,y
- cps 16,sp
- cps 16,x
- cps 16,y
- cps 8,sp+
- cps 8,x+
- cps 8,y+
- cps 8,sp-
- cps 8,x-
- cps 8,y-
- cps a,sp
- cps a,x
- cps a,y
- cps b,sp
- cps b,x
- cps b,y
- cps d,sp
- cps d,x
- cps d,y
- cps dir
- cps dir
- cps ext
- cps ext
- cps ext,sp
- cps ext,x
- cps ext,y
- cps ind,pc
- cps ind,sp
- cps ind,x
- cps ind,y
- cps small,pc
- cps small,sp
- cps small,x
- cps small,y
- cpx #immed
- cpx #immed
- cpx 1,+sp
- cpx 1,+x
- cpx 1,+y
- cpx 8,+sp
- cpx 8,+x
- cpx 8,+y
- cpx ,pc
- cpx ,sp
- cpx ,x
- cpx ,y
- cpx 1,-sp
- cpx 1,-x
- cpx 1,-y
- cpx 8,-sp
- cpx 8,-x
- cpx 8,-y
- cpx -1,sp
- cpx -1,x
- cpx -1,y
- cpx -16,sp
- cpx -16,x
- cpx -16,y
- cpx -17,sp
- cpx -17,x
- cpx -17,y
- cpx -small,pc
- cpx -small,sp
- cpx -small,x
- cpx -small,y
- cpx 0,pc
- cpx 0,sp
- cpx 0,x
- cpx 0,y
- cpx 1,sp+
- cpx 1,x+
- cpx 1,y+
- cpx 1,sp
- cpx 1,x
- cpx 1,y
- cpx 1,sp-
- cpx 1,x-
- cpx 1,y-
- cpx 125,pc
- cpx 125,sp
- cpx 125,x
- cpx 125,y
- cpx 15,sp
- cpx 15,x
- cpx 15,y
- cpx 16,sp
- cpx 16,x
- cpx 16,y
- cpx 8,sp+
- cpx 8,x+
- cpx 8,y+
- cpx 8,sp-
- cpx 8,x-
- cpx 8,y-
- cpx a,sp
- cpx a,x
- cpx a,y
- cpx b,sp
- cpx b,x
- cpx b,y
- cpx d,sp
- cpx d,x
- cpx d,y
- cpx dir
- cpx dir
- cpx ext
- cpx ext
- cpx ext,sp
- cpx ext,x
- cpx ext,y
- cpx ind,pc
- cpx ind,sp
- cpx ind,x
- cpx ind,y
- cpx small,pc
- cpx small,sp
- cpx small,x
- cpx small,y
- cpy #immed
- cpy #immed
- cpy 1,+sp
- cpy 1,+x
- cpy 1,+y
- cpy 8,+sp
- cpy 8,+x
- cpy 8,+y
- cpy ,pc
- cpy ,sp
- cpy ,x
- cpy ,y
- cpy 1,-sp
- cpy 1,-x
- cpy 1,-y
- cpy 8,-sp
- cpy 8,-x
- cpy 8,-y
- cpy -1,sp
- cpy -1,x
- cpy -1,y
- cpy -16,sp
- cpy -16,x
- cpy -16,y
- cpy -17,sp
- cpy -17,x
- cpy -17,y
- cpy -small,pc
- cpy -small,sp
- cpy -small,x
- cpy -small,y
- cpy 0,pc
- cpy 0,sp
- cpy 0,x
- cpy 0,y
- cpy 1,sp+
- cpy 1,x+
- cpy 1,y+
- cpy 1,sp
- cpy 1,x
- cpy 1,y
- cpy 1,sp-
- cpy 1,x-
- cpy 1,y-
- cpy 125,pc
- cpy 125,sp
- cpy 125,x
- cpy 125,y
- cpy 15,sp
- cpy 15,x
- cpy 15,y
- cpy 16,sp
- cpy 16,x
- cpy 16,y
- cpy 8,sp+
- cpy 8,x+
- cpy 8,y+
- cpy 8,sp-
- cpy 8,x-
- cpy 8,y-
- cpy a,sp
- cpy a,x
- cpy a,y
- cpy b,sp
- cpy b,x
- cpy b,y
- cpy d,sp
- cpy d,x
- cpy d,y
- cpy dir
- cpy dir
- cpy ext
- cpy ext
- cpy ext,sp
- cpy ext,x
- cpy ext,y
- cpy ind,pc
- cpy ind,sp
- cpy ind,x
- cpy ind,y
- cpy small,pc
- cpy small,sp
- cpy small,x
- cpy small,y
-
- cped #immed ;s12x magenta
- cped 1,+sp ;s12x magenta
- cped 1,+x ;s12x magenta
- cped 1,+y ;s12x magenta
- cped 8,+sp ;s12x magenta
- cped 8,+x ;s12x magenta
- cped 8,+y ;s12x magenta
- cped ,pc ;s12x magenta
- cped ,sp ;s12x magenta
- cped ,x ;s12x magenta
- cped ,y ;s12x magenta
- cped 1,-sp ;s12x magenta
- cped 1,-x ;s12x magenta
- cped 1,-y ;s12x magenta
- cped 8,-sp ;s12x magenta
- cped 8,-x ;s12x magenta
- cped 8,-y ;s12x magenta
- cped -1,sp ;s12x magenta
- cped -1,x ;s12x magenta
- cped -1,y ;s12x magenta
- cped -16,sp ;s12x magenta
- cped -16,x ;s12x magenta
- cped -16,y ;s12x magenta
- cped -17,sp ;s12x magenta
- cped -17,x ;s12x magenta
- cped -17,y ;s12x magenta
- cped -small,pc ;s12x magenta
- cped -small,sp ;s12x magenta
- cped -small,x ;s12x magenta
- cped -small,y ;s12x magenta
- cped 0,pc ;s12x magenta
- cped 0,sp ;s12x magenta
- cped 0,x ;s12x magenta
- cped 0,y ;s12x magenta
- cped 1,sp+ ;s12x magenta
- cped 1,x+ ;s12x magenta
- cped 1,y+ ;s12x magenta
- cped 1,sp ;s12x magenta
- cped 1,x ;s12x magenta
- cped 1,y ;s12x magenta
- cped 1,sp- ;s12x magenta
- cped 1,x- ;s12x magenta
- cped 1,y- ;s12x magenta
- cped 125,pc ;s12x magenta
- cped 125,sp ;s12x magenta
- cped 125,x ;s12x magenta
- cped 125,y ;s12x magenta
- cped 15,sp ;s12x magenta
- cped 15,x ;s12x magenta
- cped 15,y ;s12x magenta
- cped 16,sp ;s12x magenta
- cped 16,x ;s12x magenta
- cped 16,y ;s12x magenta
- cped 8,sp+ ;s12x magenta
- cped 8,x+ ;s12x magenta
- cped 8,y+ ;s12x magenta
- cped 8,sp- ;s12x magenta
- cped 8,x- ;s12x magenta
- cped 8,y- ;s12x magenta
- cped a,sp ;s12x magenta
- cped a,x ;s12x magenta
- cped a,y ;s12x magenta
- cped b,sp ;s12x magenta
- cped b,x ;s12x magenta
- cped b,y ;s12x magenta
- cped d,sp ;s12x magenta
- cped d,x ;s12x magenta
- cped d,y ;s12x magenta
- cped dir ;s12x magenta
- cped dir ;s12x magenta
- cped ext ;s12x magenta
- cped ext ;s12x magenta
- cped ext,sp ;s12x magenta
- cped ext,x ;s12x magenta
- cped ext,y ;s12x magenta
- cped ind,pc ;s12x magenta
- cped ind,sp ;s12x magenta
- cped ind,x ;s12x magenta
- cped ind,y ;s12x magenta
- cped small,pc ;s12x magenta
- cped small,sp ;s12x magenta
- cped small,x ;s12x magenta
- cped small,y ;s12x magenta
- cpes #immed ;s12x magenta
- cpes 1,+sp ;s12x magenta
- cpes 1,+x ;s12x magenta
- cpes 1,+y ;s12x magenta
- cpes 8,+sp ;s12x magenta
- cpes 8,+x ;s12x magenta
- cpes 8,+y ;s12x magenta
- cpes ,pc ;s12x magenta
- cpes ,sp ;s12x magenta
- cpes ,x ;s12x magenta
- cpes ,y ;s12x magenta
- cpes 1,-sp ;s12x magenta
- cpes 1,-x ;s12x magenta
- cpes 1,-y ;s12x magenta
- cpes 8,-sp ;s12x magenta
- cpes 8,-x ;s12x magenta
- cpes 8,-y ;s12x magenta
- cpes -1,sp ;s12x magenta
- cpes -1,x ;s12x magenta
- cpes -1,y ;s12x magenta
- cpes -16,sp ;s12x magenta
- cpes -16,x ;s12x magenta
- cpes -16,y ;s12x magenta
- cpes -17,sp ;s12x magenta
- cpes -17,x ;s12x magenta
- cpes -17,y ;s12x magenta
- cpes -small,pc ;s12x magenta
- cpes -small,sp ;s12x magenta
- cpes -small,x ;s12x magenta
- cpes -small,y ;s12x magenta
- cpes 0,pc ;s12x magenta
- cpes 0,sp ;s12x magenta
- cpes 0,x ;s12x magenta
- cpes 0,y ;s12x magenta
- cpes 1,sp+ ;s12x magenta
- cpes 1,x+ ;s12x magenta
- cpes 1,y+ ;s12x magenta
- cpes 1,sp ;s12x magenta
- cpes 1,x ;s12x magenta
- cpes 1,y ;s12x magenta
- cpes 1,sp- ;s12x magenta
- cpes 1,x- ;s12x magenta
- cpes 1,y- ;s12x magenta
- cpes 125,pc ;s12x magenta
- cpes 125,sp ;s12x magenta
- cpes 125,x ;s12x magenta
- cpes 125,y ;s12x magenta
- cpes 15,sp ;s12x magenta
- cpes 15,x ;s12x magenta
- cpes 15,y ;s12x magenta
- cpes 16,sp ;s12x magenta
- cpes 16,x ;s12x magenta
- cpes 16,y ;s12x magenta
- cpes 8,sp+ ;s12x magenta
- cpes 8,x+ ;s12x magenta
- cpes 8,y+ ;s12x magenta
- cpes 8,sp- ;s12x magenta
- cpes 8,x- ;s12x magenta
- cpes 8,y- ;s12x magenta
- cpes a,sp ;s12x magenta
- cpes a,x ;s12x magenta
- cpes a,y ;s12x magenta
- cpes b,sp ;s12x magenta
- cpes b,x ;s12x magenta
- cpes b,y ;s12x magenta
- cpes d,sp ;s12x magenta
- cpes d,x ;s12x magenta
- cpes d,y ;s12x magenta
- cpes dir ;s12x magenta
- cpes dir ;s12x magenta
- cpes ext ;s12x magenta
- cpes ext ;s12x magenta
- cpes ext,sp ;s12x magenta
- cpes ext,x ;s12x magenta
- cpes ext,y ;s12x magenta
- cpes ind,pc ;s12x magenta
- cpes ind,sp ;s12x magenta
- cpes ind,x ;s12x magenta
- cpes ind,y ;s12x magenta
- cpes small,pc ;s12x magenta
- cpes small,sp ;s12x magenta
- cpes small,x ;s12x magenta
- cpes small,y ;s12x magenta
- cpex #immed ;s12x magenta
- cpex #immed ;s12x magenta
- cpex 1,+sp ;s12x magenta
- cpex 1,+x ;s12x magenta
- cpex 1,+y ;s12x magenta
- cpex 8,+sp ;s12x magenta
- cpex 8,+x ;s12x magenta
- cpex 8,+y ;s12x magenta
- cpex ,pc ;s12x magenta
- cpex ,sp ;s12x magenta
- cpex ,x ;s12x magenta
- cpex ,y ;s12x magenta
- cpex 1,-sp ;s12x magenta
- cpex 1,-x ;s12x magenta
- cpex 1,-y ;s12x magenta
- cpex 8,-sp ;s12x magenta
- cpex 8,-x ;s12x magenta
- cpex 8,-y ;s12x magenta
- cpex -1,sp ;s12x magenta
- cpex -1,x ;s12x magenta
- cpex -1,y ;s12x magenta
- cpex -16,sp ;s12x magenta
- cpex -16,x ;s12x magenta
- cpex -16,y ;s12x magenta
- cpex -17,sp ;s12x magenta
- cpex -17,x ;s12x magenta
- cpex -17,y ;s12x magenta
- cpex -small,pc ;s12x magenta
- cpex -small,sp ;s12x magenta
- cpex -small,x ;s12x magenta
- cpex -small,y ;s12x magenta
- cpex 0,pc ;s12x magenta
- cpex 0,sp ;s12x magenta
- cpex 0,x ;s12x magenta
- cpex 0,y ;s12x magenta
- cpex 1,sp+ ;s12x magenta
- cpex 1,x+ ;s12x magenta
- cpex 1,y+ ;s12x magenta
- cpex 1,sp ;s12x magenta
- cpex 1,x ;s12x magenta
- cpex 1,y ;s12x magenta
- cpex 1,sp- ;s12x magenta
- cpex 1,x- ;s12x magenta
- cpex 1,y- ;s12x magenta
- cpex 125,pc ;s12x magenta
- cpex 125,sp ;s12x magenta
- cpex 125,x ;s12x magenta
- cpex 125,y ;s12x magenta
- cpex 15,sp ;s12x magenta
- cpex 15,x ;s12x magenta
- cpex 15,y ;s12x magenta
- cpex 16,sp ;s12x magenta
- cpex 16,x ;s12x magenta
- cpex 16,y ;s12x magenta
- cpex 8,sp+ ;s12x magenta
- cpex 8,x+ ;s12x magenta
- cpex 8,y+ ;s12x magenta
- cpex 8,sp- ;s12x magenta
- cpex 8,x- ;s12x magenta
- cpex 8,y- ;s12x magenta
- cpex a,sp ;s12x magenta
- cpex a,x ;s12x magenta
- cpex a,y ;s12x magenta
- cpex b,sp ;s12x magenta
- cpex b,x ;s12x magenta
- cpex b,y ;s12x magenta
- cpex d,sp ;s12x magenta
- cpex d,x ;s12x magenta
- cpex d,y ;s12x magenta
- cpex dir ;s12x magenta
- cpex dir ;s12x magenta
- cpex ext ;s12x magenta
- cpex ext ;s12x magenta
- cpex ext,sp ;s12x magenta
- cpex ext,x ;s12x magenta
- cpex ext,y ;s12x magenta
- cpex ind,pc ;s12x magenta
- cpex ind,sp ;s12x magenta
- cpex ind,x ;s12x magenta
- cpex ind,y ;s12x magenta
- cpex small,pc ;s12x magenta
- cpex small,sp ;s12x magenta
- cpex small,x ;s12x magenta
- cpex small,y ;s12x magenta
- cpey #immed ;s12x magenta
- cpey #immed ;s12x magenta
- cpey 1,+sp ;s12x magenta
- cpey 1,+x ;s12x magenta
- cpey 1,+y ;s12x magenta
- cpey 8,+sp ;s12x magenta
- cpey 8,+x ;s12x magenta
- cpey 8,+y ;s12x magenta
- cpey ,pc ;s12x magenta
- cpey ,sp ;s12x magenta
- cpey ,x ;s12x magenta
- cpey ,y ;s12x magenta
- cpey 1,-sp ;s12x magenta
- cpey 1,-x ;s12x magenta
- cpey 1,-y ;s12x magenta
- cpey 8,-sp ;s12x magenta
- cpey 8,-x ;s12x magenta
- cpey 8,-y ;s12x magenta
- cpey -1,sp ;s12x magenta
- cpey -1,x ;s12x magenta
- cpey -1,y ;s12x magenta
- cpey -16,sp ;s12x magenta
- cpey -16,x ;s12x magenta
- cpey -16,y ;s12x magenta
- cpey -17,sp ;s12x magenta
- cpey -17,x ;s12x magenta
- cpey -17,y ;s12x magenta
- cpey -small,pc ;s12x magenta
- cpey -small,sp ;s12x magenta
- cpey -small,x ;s12x magenta
- cpey -small,y ;s12x magenta
- cpey 0,pc ;s12x magenta
- cpey 0,sp ;s12x magenta
- cpey 0,x ;s12x magenta
- cpey 0,y ;s12x magenta
- cpey 1,sp+ ;s12x magenta
- cpey 1,x+ ;s12x magenta
- cpey 1,y+ ;s12x magenta
- cpey 1,sp ;s12x magenta
- cpey 1,x ;s12x magenta
- cpey 1,y ;s12x magenta
- cpey 1,sp- ;s12x magenta
- cpey 1,x- ;s12x magenta
- cpey 1,y- ;s12x magenta
- cpey 125,pc ;s12x magenta
- cpey 125,sp ;s12x magenta
- cpey 125,x ;s12x magenta
- cpey 125,y ;s12x magenta
- cpey 15,sp ;s12x magenta
- cpey 15,x ;s12x magenta
- cpey 15,y ;s12x magenta
- cpey 16,sp ;s12x magenta
- cpey 16,x ;s12x magenta
- cpey 16,y ;s12x magenta
- cpey 8,sp+ ;s12x magenta
- cpey 8,x+ ;s12x magenta
- cpey 8,y+ ;s12x magenta
- cpey 8,sp- ;s12x magenta
- cpey 8,x- ;s12x magenta
- cpey 8,y- ;s12x magenta
- cpey a,sp ;s12x magenta
- cpey a,x ;s12x magenta
- cpey a,y ;s12x magenta
- cpey b,sp ;s12x magenta
- cpey b,x ;s12x magenta
- cpey b,y ;s12x magenta
- cpey d,sp ;s12x magenta
- cpey d,x ;s12x magenta
- cpey d,y ;s12x magenta
- cpey dir ;s12x magenta
- cpey dir ;s12x magenta
- cpey ext ;s12x magenta
- cpey ext ;s12x magenta
- cpey ext,sp ;s12x magenta
- cpey ext,x ;s12x magenta
- cpey ext,y ;s12x magenta
- cpey ind,pc ;s12x magenta
- cpey ind,sp ;s12x magenta
- cpey ind,x ;s12x magenta
- cpey ind,y ;s12x magenta
- cpey small,pc ;s12x magenta
- cpey small,sp ;s12x magenta
- cpey small,x ;s12x magenta
- cpey small,y ;s12x magenta
-
- daa
- dbne a *
- dbne b *
- dbne x *
- dbne y *
-
- decw 1,+sp ;s12x green
- decw 1,+x ;s12x green
- decw 1,+y ;s12x green
- decw 8,+sp ;s12x green
- decw 8,+x ;s12x green
- decw 8,+y ;s12x green
- decw ,pc ;s12x green
- decw ,sp ;s12x green
- decw ,x ;s12x green
- decw ,y ;s12x green
- decw 1,-sp ;s12x green
- decw 1,-x ;s12x green
- decw 1,-y ;s12x green
- decw 8,-sp ;s12x green
- decw 8,-x ;s12x green
- decw 8,-y ;s12x green
- decw -1,sp ;s12x green
- decw -1,x ;s12x green
- decw -1,y ;s12x green
- decw -16,sp ;s12x green
- decw -16,x ;s12x green
- decw -16,y ;s12x green
- decw -17,sp ;s12x green
- decw -17,x ;s12x green
- decw -17,y ;s12x green
- decw -small,pc ;s12x green
- decw -small,sp ;s12x green
- decw -small,x ;s12x green
- decw -small,y ;s12x green
- decw 0,pc ;s12x green
- decw 0,sp ;s12x green
- decw 0,x ;s12x green
- decw 0,y ;s12x green
- decw 1,sp+ ;s12x green
- decw 1,x+ ;s12x green
- decw 1,y+ ;s12x green
- decw 1,sp ;s12x green
- decw 1,x ;s12x green
- decw 1,y ;s12x green
- decw 1,sp- ;s12x green
- decw 1,x- ;s12x green
- decw 1,y- ;s12x green
- decw 125,pc ;s12x green
- decw 125,sp ;s12x green
- decw 125,x ;s12x green
- decw 125,y ;s12x green
- decw 15,sp ;s12x green
- decw 15,x ;s12x green
- decw 15,y ;s12x green
- decw 16,sp ;s12x green
- decw 16,x ;s12x green
- decw 16,y ;s12x green
- decw 8,sp+ ;s12x green
- decw 8,x+ ;s12x green
- decw 8,y+ ;s12x green
- decw 8,sp- ;s12x green
- decw 8,x- ;s12x green
- decw 8,y- ;s12x green
- decw a,sp ;s12x green
- decw a,x ;s12x green
- decw a,y ;s12x green
- decw b,sp ;s12x green
- decw b,x ;s12x green
- decw b,y ;s12x green
- decw d,sp ;s12x green
- decw d,x ;s12x green
- decw d,y ;s12x green
- decw dir ;s12x green
- decw ext ;s12x green
- decw ext ;s12x green
- decw ext,sp ;s12x green
- decw ext,x ;s12x green
- decw ext,y ;s12x green
- decw ind,pc ;s12x green
- decw ind,sp ;s12x green
- decw ind,x ;s12x green
- decw ind,y ;s12x green
- decw small,pc ;s12x green
- decw small,sp ;s12x green
- decw small,x ;s12x green
- decw small,y ;s12x green
-
- deca
- decb
-
- decx ;s12x yellow
- decy ;s12x yellow
-
- des
- dex
- dey
- ediv
- edivs
- emacs dir
- emacs ext
- emacs small
- emaxd 1,+sp
- emaxd 1,+x
- emaxd 1,+y
- emaxd 8,+sp
- emaxd 8,+x
- emaxd 8,+y
- emaxd ,pc
- emaxd ,sp
- emaxd ,x
- emaxd ,y
- emaxd 1,-sp
- emaxd 1,-x
- emaxd 1,-y
- emaxd 8,-sp
- emaxd 8,-x
- emaxd 8,-y
- emaxd -1,sp
- emaxd -1,x
- emaxd -1,y
- emaxd -16,sp
- emaxd -16,x
- emaxd -16,y
- emaxd -17,sp
- emaxd -17,x
- emaxd -17,y
- emaxd -small,pc
- emaxd -small,sp
- emaxd -small,x
- emaxd -small,y
- emaxd 0,pc
- emaxd 0,sp
- emaxd 0,x
- emaxd 0,y
- emaxd 1,sp+
- emaxd 1,x+
- emaxd 1,y+
- emaxd 1,sp
- emaxd 1,x
- emaxd 1,y
- emaxd 1,sp-
- emaxd 1,x-
- emaxd 1,y-
- emaxd 125,pc
- emaxd 125,sp
- emaxd 125,x
- emaxd 125,y
- emaxd 15,sp
- emaxd 15,x
- emaxd 15,y
- emaxd 16,sp
- emaxd 16,x
- emaxd 16,y
- emaxd 8,sp+
- emaxd 8,x+
- emaxd 8,y+
- emaxd 8,sp-
- emaxd 8,x-
- emaxd 8,y-
- emaxd a,sp
- emaxd a,x
- emaxd a,y
- emaxd b,sp
- emaxd b,x
- emaxd b,y
- emaxd d,sp
- emaxd d,x
- emaxd d,y
- emaxd ext,sp
- emaxd ext,x
- emaxd ext,y
- emaxd ind,pc
- emaxd ind,sp
- emaxd ind,x
- emaxd ind,y
- emaxd small,pc
- emaxd small,sp
- emaxd small,x
- emaxd small,y
- emaxm 1,+sp
- emaxm 1,+x
- emaxm 1,+y
- emaxm 8,+sp
- emaxm 8,+x
- emaxm 8,+y
- emaxm ,pc
- emaxm ,sp
- emaxm ,x
- emaxm ,y
- emaxm 1,-sp
- emaxm 1,-x
- emaxm 1,-y
- emaxm 8,-sp
- emaxm 8,-x
- emaxm 8,-y
- emaxm -1,sp
- emaxm -1,x
- emaxm -1,y
- emaxm -16,sp
- emaxm -16,x
- emaxm -16,y
- emaxm -17,sp
- emaxm -17,x
- emaxm -17,y
- emaxm -small,pc
- emaxm -small,sp
- emaxm -small,x
- emaxm -small,y
- emaxm 0,pc
- emaxm 0,sp
- emaxm 0,x
- emaxm 0,y
- emaxm 1,sp+
- emaxm 1,x+
- emaxm 1,y+
- emaxm 1,sp
- emaxm 1,x
- emaxm 1,y
- emaxm 1,sp-
- emaxm 1,x-
- emaxm 1,y-
- emaxm 125,pc
- emaxm 125,sp
- emaxm 125,x
- emaxm 125,y
- emaxm 15,sp
- emaxm 15,x
- emaxm 15,y
- emaxm 16,sp
- emaxm 16,x
- emaxm 16,y
- emaxm 8,sp+
- emaxm 8,x+
- emaxm 8,y+
- emaxm 8,sp-
- emaxm 8,x-
- emaxm 8,y-
- emaxm a,sp
- emaxm a,x
- emaxm a,y
- emaxm b,sp
- emaxm b,x
- emaxm b,y
- emaxm d,sp
- emaxm d,x
- emaxm d,y
- emaxm ext,sp
- emaxm ext,x
- emaxm ext,y
- emaxm ind,pc
- emaxm ind,sp
- emaxm ind,x
- emaxm ind,y
- emaxm small,pc
- emaxm small,sp
- emaxm small,x
- emaxm small,y
- emind 1,+sp
- emind 1,+x
- emind 1,+y
- emind 8,+sp
- emind 8,+x
- emind 8,+y
- emind ,pc
- emind ,sp
- emind ,x
- emind ,y
- emind 1,-sp
- emind 1,-x
- emind 1,-y
- emind 8,-sp
- emind 8,-x
- emind 8,-y
- emind -1,sp
- emind -1,x
- emind -1,y
- emind -16,sp
- emind -16,x
- emind -16,y
- emind -17,sp
- emind -17,x
- emind -17,y
- emind -small,pc
- emind -small,sp
- emind -small,x
- emind -small,y
- emind 0,pc
- emind 0,sp
- emind 0,x
- emind 0,y
- emind 1,sp+
- emind 1,x+
- emind 1,y+
- emind 1,sp
- emind 1,x
- emind 1,y
- emind 1,sp-
- emind 1,x-
- emind 1,y-
- emind 125,pc
- emind 125,sp
- emind 125,x
- emind 125,y
- emind 15,sp
- emind 15,x
- emind 15,y
- emind 16,sp
- emind 16,x
- emind 16,y
- emind 8,sp+
- emind 8,x+
- emind 8,y+
- emind 8,sp-
- emind 8,x-
- emind 8,y-
- emind a,sp
- emind a,x
- emind a,y
- emind b,sp
- emind b,x
- emind b,y
- emind d,sp
- emind d,x
- emind d,y
- emind ext,sp
- emind ext,x
- emind ext,y
- emind ind,pc
- emind ind,sp
- emind ind,x
- emind ind,y
- emind small,pc
- emind small,sp
- emind small,x
- emind small,y
- eminm 1,+sp
- eminm 1,+x
- eminm 1,+y
- eminm 8,+sp
- eminm 8,+x
- eminm 8,+y
- eminm ,pc
- eminm ,sp
- eminm ,x
- eminm ,y
- eminm 1,-sp
- eminm 1,-x
- eminm 1,-y
- eminm 8,-sp
- eminm 8,-x
- eminm 8,-y
- eminm -1,sp
- eminm -1,x
- eminm -1,y
- eminm -16,sp
- eminm -16,x
- eminm -16,y
- eminm -17,sp
- eminm -17,x
- eminm -17,y
- eminm -small,pc
- eminm -small,sp
- eminm -small,x
- eminm -small,y
- eminm 0,pc
- eminm 0,sp
- eminm 0,x
- eminm 0,y
- eminm 1,sp+
- eminm 1,x+
- eminm 1,y+
- eminm 1,sp
- eminm 1,x
- eminm 1,y
- eminm 1,sp-
- eminm 1,x-
- eminm 1,y-
- eminm 125,pc
- eminm 125,sp
- eminm 125,x
- eminm 125,y
- eminm 15,sp
- eminm 15,x
- eminm 15,y
- eminm 16,sp
- eminm 16,x
- eminm 16,y
- eminm 8,sp+
- eminm 8,x+
- eminm 8,y+
- eminm 8,sp-
- eminm 8,x-
- eminm 8,y-
- eminm a,sp
- eminm a,x
- eminm a,y
- eminm b,sp
- eminm b,x
- eminm b,y
- eminm d,sp
- eminm d,x
- eminm d,y
- eminm ext,sp
- eminm ext,x
- eminm ext,y
- eminm ind,pc
- eminm ind,sp
- eminm ind,x
- eminm ind,y
- eminm small,pc
- eminm small,sp
- eminm small,x
- eminm small,y
- eora #immed
- eora #immed
- eora 1,+sp
- eora 1,+x
- eora 1,+y
- eora 8,+sp
- eora 8,+x
- eora 8,+y
- eora ,pc
- eora ,sp
- eora ,x
- eora ,y
- eora 1,-sp
- eora 1,-x
- eora 1,-y
- eora 8,-sp
- eora 8,-x
- eora 8,-y
- eora -1,sp
- eora -1,x
- eora -1,y
- eora -16,sp
- eora -16,x
- eora -16,y
- eora -17,sp
- eora -17,x
- eora -17,y
- eora -small,pc
- eora -small,sp
- eora -small,x
- eora -small,y
- eora 0,pc
- eora 0,sp
- eora 0,x
- eora 0,y
- eora 1,sp+
- eora 1,x+
- eora 1,y+
- eora 1,sp
- eora 1,x
- eora 1,y
- eora 1,sp-
- eora 1,x-
- eora 1,y-
- eora 125,pc
- eora 125,sp
- eora 125,x
- eora 125,y
- eora 15,sp
- eora 15,x
- eora 15,y
- eora 16,sp
- eora 16,x
- eora 16,y
- eora 8,sp+
- eora 8,x+
- eora 8,y+
- eora 8,sp-
- eora 8,x-
- eora 8,y-
- eora a,sp
- eora a,x
- eora a,y
- eora b,sp
- eora b,x
- eora b,y
- eora d,sp
- eora d,x
- eora d,y
- eora dir
- eora dir
- eora ext
- eora ext
- eora ext,sp
- eora ext,x
- eora ext,y
- eora ind,pc
- eora ind,sp
- eora ind,x
- eora ind,y
- eora small,pc
- eora small,sp
- eora small,x
- eora small,y
-
- eorx #immed ;s12 yellow
- eorx #immed ;s12 yellow
- eorx 1,+sp ;s12 yellow
- eorx 1,+x ;s12 yellow
- eorx 1,+y ;s12 yellow
- eorx 8,+sp ;s12 yellow
- eorx 8,+x ;s12 yellow
- eorx 8,+y ;s12 yellow
- eorx ,pc ;s12 yellow
- eorx ,sp ;s12 yellow
- eorx ,x ;s12 yellow
- eorx ,y ;s12 yellow
- eorx 1,-sp ;s12 yellow
- eorx 1,-x ;s12 yellow
- eorx 1,-y ;s12 yellow
- eorx 8,-sp ;s12 yellow
- eorx 8,-x ;s12 yellow
- eorx 8,-y ;s12 yellow
- eorx -1,sp ;s12 yellow
- eorx -1,x ;s12 yellow
- eorx -1,y ;s12 yellow
- eorx -16,sp ;s12 yellow
- eorx -16,x ;s12 yellow
- eorx -16,y ;s12 yellow
- eorx -17,sp ;s12 yellow
- eorx -17,x ;s12 yellow
- eorx -17,y ;s12 yellow
- eorx -small,pc ;s12 yellow
- eorx -small,sp ;s12 yellow
- eorx -small,x ;s12 yellow
- eorx -small,y ;s12 yellow
- eorx 0,pc ;s12 yellow
- eorx 0,sp ;s12 yellow
- eorx 0,x ;s12 yellow
- eorx 0,y ;s12 yellow
- eorx 1,sp+ ;s12 yellow
- eorx 1,x+ ;s12 yellow
- eorx 1,y+ ;s12 yellow
- eorx 1,sp ;s12 yellow
- eorx 1,x ;s12 yellow
- eorx 1,y ;s12 yellow
- eorx 1,sp- ;s12 yellow
- eorx 1,x- ;s12 yellow
- eorx 1,y- ;s12 yellow
- eorx 125,pc ;s12 yellow
- eorx 125,sp ;s12 yellow
- eorx 125,x ;s12 yellow
- eorx 125,y ;s12 yellow
- eorx 15,sp ;s12 yellow
- eorx 15,x ;s12 yellow
- eorx 15,y ;s12 yellow
- eorx 16,sp ;s12 yellow
- eorx 16,x ;s12 yellow
- eorx 16,y ;s12 yellow
- eorx 8,sp+ ;s12 yellow
- eorx 8,x+ ;s12 yellow
- eorx 8,y+ ;s12 yellow
- eorx 8,sp- ;s12 yellow
- eorx 8,x- ;s12 yellow
- eorx 8,y- ;s12 yellow
- eorx a,sp ;s12 yellow
- eorx a,x ;s12 yellow
- eorx a,y ;s12 yellow
- eorx b,sp ;s12 yellow
- eorx b,x ;s12 yellow
- eorx b,y ;s12 yellow
- eorx d,sp ;s12 yellow
- eorx d,x ;s12 yellow
- eorx d,y ;s12 yellow
- eorx dir ;s12 yellow
- eorx dir ;s12 yellow
- eorx ext ;s12 yellow
- eorx ext ;s12 yellow
- eorx ext,sp ;s12 yellow
- eorx ext,x ;s12 yellow
- eorx ext,y ;s12 yellow
- eorx ind,pc ;s12 yellow
- eorx ind,sp ;s12 yellow
- eorx ind,x ;s12 yellow
- eorx ind,y ;s12 yellow
- eorx small,pc ;s12 yellow
- eorx small,sp ;s12 yellow
- eorx small,x ;s12 yellow
- eorx small,y ;s12 yellow
-
- eorb #immed
- eorb 1,+sp
- eorb 1,+x
- eorb 1,+y
- eorb 8,+sp
- eorb 8,+x
- eorb 8,+y
- eorb ,pc
- eorb ,sp
- eorb ,x
- eorb ,y
- eorb 1,-sp
- eorb 1,-x
- eorb 1,-y
- eorb 8,-sp
- eorb 8,-x
- eorb 8,-y
- eorb -1,sp
- eorb -1,x
- eorb -1,y
- eorb -16,sp
- eorb -16,x
- eorb -16,y
- eorb -17,sp
- eorb -17,x
- eorb -17,y
- eorb -small,pc
- eorb -small,sp
- eorb -small,x
- eorb -small,y
- eorb 0,pc
- eorb 0,sp
- eorb 0,x
- eorb 0,y
- eorb 1,sp+
- eorb 1,x+
- eorb 1,y+
- eorb 1,sp
- eorb 1,x
- eorb 1,y
- eorb 1,sp-
- eorb 1,x-
- eorb 1,y-
- eorb 125,pc
- eorb 125,sp
- eorb 125,x
- eorb 125,y
- eorb 15,sp
- eorb 15,x
- eorb 15,y
- eorb 16,sp
- eorb 16,x
- eorb 16,y
- eorb 8,sp+
- eorb 8,x+
- eorb 8,y+
- eorb 8,sp-
- eorb 8,x-
- eorb 8,y-
- eorb a,sp
- eorb a,x
- eorb a,y
- eorb b,sp
- eorb b,x
- eorb b,y
- eorb d,sp
- eorb d,x
- eorb d,y
- eorb dir
- eorb dir
- eorb ext
- eorb ext
- eorb ext,sp
- eorb ext,x
- eorb ext,y
- eorb ind,pc
- eorb ind,sp
- eorb ind,x
- eorb ind,y
- eorb small,pc
- eorb small,sp
- eorb small,x
- eorb small,y
-
- eory #immed ;s12x yellow
- eory 1,+sp ;s12x yellow
- eory 1,+x ;s12x yellow
- eory 1,+y ;s12x yellow
- eory 8,+sp ;s12x yellow
- eory 8,+x ;s12x yellow
- eory 8,+y ;s12x yellow
- eory ,pc ;s12x yellow
- eory ,sp ;s12x yellow
- eory ,x ;s12x yellow
- eory ,y ;s12x yellow
- eory 1,-sp ;s12x yellow
- eory 1,-x ;s12x yellow
- eory 1,-y ;s12x yellow
- eory 8,-sp ;s12x yellow
- eory 8,-x ;s12x yellow
- eory 8,-y ;s12x yellow
- eory -1,sp ;s12x yellow
- eory -1,x ;s12x yellow
- eory -1,y ;s12x yellow
- eory -16,sp ;s12x yellow
- eory -16,x ;s12x yellow
- eory -16,y ;s12x yellow
- eory -17,sp ;s12x yellow
- eory -17,x ;s12x yellow
- eory -17,y ;s12x yellow
- eory -small,pc ;s12x yellow
- eory -small,sp ;s12x yellow
- eory -small,x ;s12x yellow
- eory -small,y ;s12x yellow
- eory 0,pc ;s12x yellow
- eory 0,sp ;s12x yellow
- eory 0,x ;s12x yellow
- eory 0,y ;s12x yellow
- eory 1,sp+ ;s12x yellow
- eory 1,x+ ;s12x yellow
- eory 1,y+ ;s12x yellow
- eory 1,sp ;s12x yellow
- eory 1,x ;s12x yellow
- eory 1,y ;s12x yellow
- eory 1,sp- ;s12x yellow
- eory 1,x- ;s12x yellow
- eory 1,y- ;s12x yellow
- eory 125,pc ;s12x yellow
- eory 125,sp ;s12x yellow
- eory 125,x ;s12x yellow
- eory 125,y ;s12x yellow
- eory 15,sp ;s12x yellow
- eory 15,x ;s12x yellow
- eory 15,y ;s12x yellow
- eory 16,sp ;s12x yellow
- eory 16,x ;s12x yellow
- eory 16,y ;s12x yellow
- eory 8,sp+ ;s12x yellow
- eory 8,x+ ;s12x yellow
- eory 8,y+ ;s12x yellow
- eory 8,sp- ;s12x yellow
- eory 8,x- ;s12x yellow
- eory 8,y- ;s12x yellow
- eory a,sp ;s12x yellow
- eory a,x ;s12x yellow
- eory a,y ;s12x yellow
- eory b,sp ;s12x yellow
- eory b,x ;s12x yellow
- eory b,y ;s12x yellow
- eory d,sp ;s12x yellow
- eory d,x ;s12x yellow
- eory d,y ;s12x yellow
- eory dir ;s12x yellow
- eory dir ;s12x yellow
- eory ext ;s12x yellow
- eory ext ;s12x yellow
- eory ext,sp ;s12x yellow
- eory ext,x ;s12x yellow
- eory ext,y ;s12x yellow
- eory ind,pc ;s12x yellow
- eory ind,sp ;s12x yellow
- eory ind,x ;s12x yellow
- eory ind,y ;s12x yellow
- eory small,pc ;s12x yellow
- eory small,sp ;s12x yellow
- eory small,x ;s12x yellow
- eory small,y ;s12x yellow
-
- etbl 5,x
- exg a a
- exg a b
- exg a,b
- exg a ccr
- exg a ccrl ;s12x exg alternative
- exg a ccrh ;s12x exg new
- exg a d
- exg a sp
- exg a x
- exg a,x
- exg a y
- exg a,x
- exg b a
- exg b b
- exg b ccr
- exg b ccrl ;s12x exg alternative
- ;exg b ccrh ;s12x exg new
- exg b d
- exg b sp
- exg b x
- exg b y
- exg ccr a
- exg ccrl a ;s12x exg alternative
- exg ccrh a ;s12x exg new
- exg ccr b
- exg ccrl b ;s12x exg alternative
- ;exg ccrh b ;s12x exg new
- exg ccr ccr
- exg ccrw ccrw ;s12x exg new
- exg ccr d ;??????
- exg ccrl d ;s12x exg alternative
- exg ccrw d ;s12x exg new
- exg ccr sp
- exg ccrl sp ;s12x exg alternative
- exg ccrw sp ;s12x exg new
- exg ccr x
- exg ccrl x ;s12x exg alternative
- exg ccrw x ;s12x exg new
- exg ccr y
- exg ccrl y ;s12x exg alternative
- exg ccrw y ;s12x exg new
- exg d a
- exg d b
- exg d ccr
- exg d ccrl ;??????
- exg d ccrw ;s12x exg new
- exg d d
- exg d sp
- exg d x
- exg d y
- exg sp a
- exg sp b
- exg sp ccr
- exg sp ccrl ;s12x exg alternative
- exg sp ccrw ;s12x exg new
- exg sp d
- exg sp sp
- exg sp x
- exg sp y
- exg x a
- exg x b
- exg x ccr
- exg x ccrl ;s12x exg alternative
- exg x ccrw ;s12x exg new
- exg x d
- exg x sp
- exg x x
- exg x y
- exg x,y
- exg y a
- exg y b
- exg y ccr
- exg y ccrl ;s12x exg alternative
- exg y ccrw ;s12x exg new
- exg y d
- exg y sp
- exg y x
- exg y y
- fdiv
- idiv
- inc 1,+sp
- inc 1,+x
- inc 1,+y
- inc 8,+sp
- inc 8,+x
- inc 8,+y
- inc ,pc
- inc ,sp
- inc ,x
- inc ,y
- inc 1,-sp
- inc 1,-x
- inc 1,-y
- inc 8,-sp
- inc 8,-x
- inc 8,-y
- inc -1,sp
- inc -1,x
- inc -1,y
- inc -16,sp
- inc -16,x
- inc -16,y
- inc -17,sp
- inc -17,x
- inc -17,y
- inc -small,pc
- inc -small,sp
- inc -small,x
- inc -small,y
- inc 0,pc
- inc 0,sp
- inc 0,x
- inc 0,y
- inc 1,sp+
- inc 1,x+
- inc 1,y+
- inc 1,sp
- inc 1,x
- inc 1,y
- inc 1,sp-
- inc 1,x-
- inc 1,y-
- inc 125,pc
- inc 125,sp
- inc 125,x
- inc 125,y
- inc 15,sp
- inc 15,x
- inc 15,y
- inc 16,sp
- inc 16,x
- inc 16,y
- inc 8,sp+
- inc 8,x+
- inc 8,y+
- inc 8,sp-
- inc 8,x-
- inc 8,y-
- inc a,sp
- inc a,x
- inc a,y
- inc b,sp
- inc b,x
- inc b,y
- inc d,sp
- inc d,x
- inc d,y
- inc dir
- inc ext
- inc ext
- inc ext,sp
- inc ext,x
- inc ext,y
- inc ind,pc
- inc ind,sp
- inc ind,x
- inc ind,y
- inc small,pc
- inc small,sp
- inc small,x
- inc small,y
-
- incw 1,+sp ;s12x green
- incw 1,+x ;s12x green
- incw 1,+y ;s12x green
- incw 8,+sp ;s12x green
- incw 8,+x ;s12x green
- incw 8,+y ;s12x green
- incw ,pc ;s12x green
- incw ,sp ;s12x green
- incw ,x ;s12x green
- incw ,y ;s12x green
- incw 1,-sp ;s12x green
- incw 1,-x ;s12x green
- incw 1,-y ;s12x green
- incw 8,-sp ;s12x green
- incw 8,-x ;s12x green
- incw 8,-y ;s12x green
- incw -1,sp ;s12x green
- incw -1,x ;s12x green
- incw -1,y ;s12x green
- incw -16,sp ;s12x green
- incw -16,x ;s12x green
- incw -16,y ;s12x green
- incw -17,sp ;s12x green
- incw -17,x ;s12x green
- incw -17,y ;s12x green
- incw -small,pc ;s12x green
- incw -small,sp ;s12x green
- incw -small,x ;s12x green
- incw -small,y ;s12x green
- incw 0,pc ;s12x green
- incw 0,sp ;s12x green
- incw 0,x ;s12x green
- incw 0,y ;s12x green
- incw 1,sp+ ;s12x green
- incw 1,x+ ;s12x green
- incw 1,y+ ;s12x green
- incw 1,sp ;s12x green
- incw 1,x ;s12x green
- incw 1,y ;s12x green
- incw 1,sp- ;s12x green
- incw 1,x- ;s12x green
- incw 1,y- ;s12x green
- incw 125,pc ;s12x green
- incw 125,sp ;s12x green
- incw 125,x ;s12x green
- incw 125,y ;s12x green
- incw 15,sp ;s12x green
- incw 15,x ;s12x green
- incw 15,y ;s12x green
- incw 16,sp ;s12x green
- incw 16,x ;s12x green
- incw 16,y ;s12x green
- incw 8,sp+ ;s12x green
- incw 8,x+ ;s12x green
- incw 8,y+ ;s12x green
- incw 8,sp- ;s12x green
- incw 8,x- ;s12x green
- incw 8,y- ;s12x green
- incw a,sp ;s12x green
- incw a,x ;s12x green
- incw a,y ;s12x green
- incw b,sp ;s12x green
- incw b,x ;s12x green
- incw b,y ;s12x green
- incw d,sp ;s12x green
- incw d,x ;s12x green
- incw d,y ;s12x green
- incw dir ;s12x green
- incw ext ;s12x green
- incw ext ;s12x green
- incw ext,sp ;s12x green
- incw ext,x ;s12x green
- incw ext,y ;s12x green
- incw ind,pc ;s12x green
- incw ind,sp ;s12x green
- incw ind,x ;s12x green
- incw ind,y ;s12x green
- incw small,pc ;s12x green
- incw small,sp ;s12x green
- incw small,x ;s12x green
- incw small,y ;s12x green
-
- inca
- incb
-
- incx ;s12x yellow
- incy ;s12x yellow
-
- ins
- inx
- iny
- jmp 1,+sp
- jmp 1,+x
- jmp 1,+y
- jmp 8,+sp
- jmp 8,+x
- jmp 8,+y
- jmp ,pc
- jmp ,sp
- jmp ,x
- jmp ,y
- jmp 1,-sp
- jmp 1,-x
- jmp 1,-y
- jmp 8,-sp
- jmp 8,-x
- jmp 8,-y
- jmp -1,sp
- jmp -1,x
- jmp -1,y
- jmp -16,sp
- jmp -16,x
- jmp -16,y
- jmp -17,sp
- jmp -17,x
- jmp -17,y
- jmp -small,pc
- jmp -small,sp
- jmp -small,x
- jmp -small,y
- jmp 0,pc
- jmp 0,sp
- jmp 0,x
- jmp 0,y
- jmp 1,sp+
- jmp 1,x+
- jmp 1,y+
- jmp 1,sp
- jmp 1,x
- jmp 1,y
- jmp 1,sp-
- jmp 1,x-
- jmp 1,y-
- jmp 125,pc
- jmp 125,sp
- jmp 125,x
- jmp 125,y
- jmp 15,sp
- jmp 15,x
- jmp 15,y
- jmp 16,sp
- jmp 16,x
- jmp 16,y
- jmp 8,sp+
- jmp 8,x+
- jmp 8,y+
- jmp 8,sp-
- jmp 8,x-
- jmp 8,y-
- jmp a,sp
- jmp a,x
- jmp a,y
- jmp b,sp
- jmp b,x
- jmp b,y
- jmp d,sp
- jmp d,x
- jmp d,y
- jmp dir
- jmp ext
- jmp ext
- jmp ext,sp
- jmp ext,x
- jmp ext,y
- jmp ind,pc
- jmp ind,sp
- jmp ind,x
- jmp ind,y
- jmp small,pc
- jmp small,sp
- jmp small,x
- jmp small,y
- jsr 1,+sp
- jsr 1,+x
- jsr 1,+y
- jsr 8,+sp
- jsr 8,+x
- jsr 8,+y
- jsr ,pc
- jsr ,sp
- jsr ,x
- jsr ,y
- jsr 1,-sp
- jsr 1,-x
- jsr 1,-y
- jsr 8,-sp
- jsr 8,-x
- jsr 8,-y
- jsr -1,sp
- jsr -1,x
- jsr -1,y
- jsr -16,sp
- jsr -16,x
- jsr -16,y
- jsr -17,sp
- jsr -17,x
- jsr -17,y
- jsr -small,pc
- jsr -small,sp
- jsr -small,x
- jsr -small,y
- jsr 0,pc
- jsr 0,sp
- jsr 0,x
- jsr 0,y
- jsr 1,sp+
- jsr 1,x+
- jsr 1,y+
- jsr 1,sp
- jsr 1,x
- jsr 1,y
- jsr 1,sp-
- jsr 1,x-
- jsr 1,y-
- jsr 125,pc
- jsr 125,sp
- jsr 125,x
- jsr 125,y
- jsr 15,sp
- jsr 15,x
- jsr 15,y
- jsr 16,sp
- jsr 16,x
- jsr 16,y
- jsr 8,sp+
- jsr 8,x+
- jsr 8,y+
- jsr 8,sp-
- jsr 8,x-
- jsr 8,y-
- jsr a,sp
- jsr a,x
- jsr a,y
- jsr b,sp
- jsr b,x
- jsr b,y
- jsr d,sp
- jsr d,x
- jsr d,y
- jsr dir
- jsr dir
- jsr ext
- jsr ext
- jsr ext
- jsr ext,sp
- jsr ext,x
- jsr ext,y
- jsr ind,pc
- jsr ind,sp
- jsr ind,x
- jsr ind,y
- jsr small,pc
- jsr small,sp
- jsr small,x
- jsr small,y
- lbcc *
- lbcc *
- lbcs *
- lbeq *
- lbge *
- lbgt *
- lbhi *
- lble *
- lbls *
- lblt *
- lbmi *
- lbne *
- lbpl *
- lbra *
- lbrn *
- lbvc *
- lbvs *
-
- ldaa #immed
- ldaa 1,+sp
- ldaa 1,+x
- ldaa 1,+y
- ldaa 8,+sp
- ldaa 8,+x
- ldaa 8,+y
- ldaa ,pc
- ldaa ,sp
- ldaa ,x
- ldaa ,y
- ldaa 1,-sp
- ldaa 1,-x
- ldaa 1,-y
- ldaa 8,-sp
- ldaa 8,-x
- ldaa 8,-y
- ldaa -1,sp
- ldaa -1,x
- ldaa -1,y
- ldaa -16,sp
- ldaa -16,x
- ldaa -16,y
- ldaa -17,sp
- ldaa -17,x
- ldaa -17,y
- ldaa -small,pc
- ldaa -small,sp
- ldaa -small,x
- ldaa -small,y
- ldaa 0,pc
- ldaa 0,sp
- ldaa 0,x
- ldaa 0,y
- ldaa 1,sp+
- ldaa 1,x+
- ldaa 1,y+
- ldaa 1,sp
- ldaa 1,x
- ldaa 1,y
- ldaa 1,sp-
- ldaa 1,x-
- ldaa 1,y-
- ldaa 125,pc
- ldaa 125,sp
- ldaa 125,x
- ldaa 125,y
- ldaa 15,sp
- ldaa 15,x
- ldaa 15,y
- ldaa 16,sp
- ldaa 16,x
- ldaa 16,y
- ldaa 8,sp+
- ldaa 8,x+
- ldaa 8,y+
- ldaa 8,sp-
- ldaa 8,x-
- ldaa 8,y-
- ldaa a,sp
- ldaa a,x
- ldaa a,y
- ldaa b,sp
- ldaa b,x
- ldaa b,y
- ldaa d,sp
- ldaa d,x
- ldaa d,y
- ldaa dir
- ldaa dir
- ldaa ext
- ldaa ext
- ldaa ext,sp
- ldaa ext,x
- ldaa ext,y
- ldaa ind,pc
- ldaa ind,sp
- ldaa ind,x
- ldaa ind,y
- ldaa small,pc
- ldaa small,sp
- ldaa small,x
- ldaa small,y
- ldab #immed
- ldab #immed
- ldab 1,+sp
- ldab 1,+x
- ldab 1,+y
- ldab 8,+sp
- ldab 8,+x
- ldab 8,+y
- ldab ,pc
- ldab ,sp
- ldab ,x
- ldab ,y
- ldab 1,-sp
- ldab 1,-x
- ldab 1,-y
- ldab 8,-sp
- ldab 8,-x
- ldab 8,-y
- ldab -1,sp
- ldab -1,x
- ldab -1,y
- ldab -16,sp
- ldab -16,x
- ldab -16,y
- ldab -17,sp
- ldab -17,x
- ldab -17,y
- ldab -small,pc
- ldab -small,sp
- ldab -small,x
- ldab -small,y
- ldab 0,pc
- ldab 0,sp
- ldab 0,x
- ldab 0,y
- ldab 1,sp+
- ldab 1,x+
- ldab 1,y+
- ldab 1,sp
- ldab 1,x
- ldab 1,y
- ldab 1,sp-
- ldab 1,x-
- ldab 1,y-
- ldab 125,pc
- ldab 125,sp
- ldab 125,x
- ldab 125,y
- ldab 15,sp
- ldab 15,x
- ldab 15,y
- ldab 16,sp
- ldab 16,x
- ldab 16,y
- ldab 8,sp+
- ldab 8,x+
- ldab 8,y+
- ldab 8,sp-
- ldab 8,x-
- ldab 8,y-
- ldab a,sp
- ldab a,x
- ldab a,y
- ldab b,sp
- ldab b,x
- ldab b,y
- ldab d,sp
- ldab d,x
- ldab d,y
- ldab dir
- ldab dir
- ldab ext
- ldab ext
- ldab ext,sp
- ldab ext,x
- ldab ext,y
- ldab ind,pc
- ldab ind,sp
- ldab ind,x
- ldab ind,y
- ldab small,pc
- ldab small,sp
- ldab small,x
- ldab small,y
- ldd #immed
- ldd #immed
- ldd 1,+sp
- ldd 1,+x
- ldd 1,+y
- ldd 8,+sp
- ldd 8,+x
- ldd 8,+y
- ldd ,pc
- ldd ,sp
- ldd ,x
- ldd ,y
- ldd 1,-sp
- ldd 1,-x
- ldd 1,-y
- ldd 8,-sp
- ldd 8,-x
- ldd 8,-y
- ldd -1,sp
- ldd -1,x
- ldd -1,y
- ldd -16,sp
- ldd -16,x
- ldd -16,y
- ldd -17,sp
- ldd -17,x
- ldd -17,y
- ldd -small,pc
- ldd -small,sp
- ldd -small,x
- ldd -small,y
- ldd 0,pc
- ldd 0,sp
- ldd 0,x
- ldd 0,y
- ldd 1,sp+
- ldd 1,x+
- ldd 1,y+
- ldd 1,sp
- ldd 1,x
- ldd 1,y
- ldd 1,sp-
- ldd 1,x-
- ldd 1,y-
- ldd 125,pc
- ldd 125,sp
- ldd 125,x
- ldd 125,y
- ldd 15,sp
- ldd 15,x
- ldd 15,y
- ldd 16,sp
- ldd 16,x
- ldd 16,y
- ldd 8,sp+
- ldd 8,x+
- ldd 8,y+
- ldd 8,sp-
- ldd 8,x-
- ldd 8,y-
- ldd a,sp
- ldd a,x
- ldd a,y
- ldd b,sp
- ldd b,x
- ldd b,y
- ldd d,sp
- ldd d,x
- ldd d,y
- ldd dir
- ldd dir
- ldd ext
- ldd ext
- ldd ext,sp
- ldd ext,x
- ldd ext,y
- ldd ind,pc
- ldd ind,sp
- ldd ind,x
- ldd ind,y
- ldd small,pc
- ldd small,sp
- ldd small,x
- ldd small,y
- lds #immed
- lds #immed
- lds 1,+sp
- lds 1,+x
- lds 1,+y
- lds 8,+sp
- lds 8,+x
- lds 8,+y
- lds ,pc
- lds ,sp
- lds ,x
- lds ,y
- lds 1,-sp
- lds 1,-x
- lds 1,-y
- lds 8,-sp
- lds 8,-x
- lds 8,-y
- lds -1,sp
- lds -1,x
- lds -1,y
- lds -16,sp
- lds -16,x
- lds -16,y
- lds -17,sp
- lds -17,x
- lds -17,y
- lds -small,pc
- lds -small,sp
- lds -small,x
- lds -small,y
- lds 0,pc
- lds 0,sp
- lds 0,x
- lds 0,y
- lds 1,sp+
- lds 1,x+
- lds 1,y+
- lds 1,sp
- lds 1,x
- lds 1,y
- lds 1,sp-
- lds 1,x-
- lds 1,y-
- lds 125,pc
- lds 125,sp
- lds 125,x
- lds 125,y
- lds 15,sp
- lds 15,x
- lds 15,y
- lds 16,sp
- lds 16,x
- lds 16,y
- lds 8,sp+
- lds 8,x+
- lds 8,y+
- lds 8,sp-
- lds 8,x-
- lds 8,y-
- lds a,sp
- lds a,x
- lds a,y
- lds b,sp
- lds b,x
- lds b,y
- lds d,sp
- lds d,x
- lds d,y
- lds dir
- lds ext
- lds ext,sp
- lds ext,x
- lds ext,y
- lds ind,pc
- lds ind,sp
- lds ind,x
- lds ind,y
- lds small,pc
- lds small,sp
- lds small,x
- lds small,y
- ldx #immed
- ldx #immed
- ldx 1,+sp
- ldx 1,+x
- ldx 1,+y
- ldx 8,+sp
- ldx 8,+x
- ldx 8,+y
- ldx ,pc
- ldx ,sp
- ldx ,x
- ldx ,y
- ldx 1,-sp
- ldx 1,-x
- ldx 1,-y
- ldx 8,-sp
- ldx 8,-x
- ldx 8,-y
- ldx -1,sp
- ldx -1,x
- ldx -1,y
- ldx -16,sp
- ldx -16,x
- ldx -16,y
- ldx -17,sp
- ldx -17,x
- ldx -17,y
- ldx -small,pc
- ldx -small,sp
- ldx -small,x
- ldx -small,y
- ldx 0,pc
- ldx 0,sp
- ldx 0,x
- ldx 0,y
- ldx 1,sp+
- ldx 1,x+
- ldx 1,y+
- ldx 1,sp
- ldx 1,x
- ldx 1,y
- ldx 1,sp-
- ldx 1,x-
- ldx 1,y-
- ldx 125,pc
- ldx 125,sp
- ldx 125,x
- ldx 125,y
- ldx 15,sp
- ldx 15,x
- ldx 15,y
- ldx 16,sp
- ldx 16,x
- ldx 16,y
- ldx 8,sp+
- ldx 8,x+
- ldx 8,y+
- ldx 8,sp-
- ldx 8,x-
- ldx 8,y-
- ldx a,sp
- ldx a,x
- ldx a,y
- ldx b,sp
- ldx b,x
- ldx b,y
- ldx d,sp
- ldx d,x
- ldx d,y
- ldx dir
- ldx dir
- ldx ext
- ldx ext
- ldx ext,sp
- ldx ext,x
- ldx ext,y
- ldx ind,pc
- ldx ind,sp
- ldx ind,x
- ldx ind,y
- ldx small,pc
- ldx small,sp
- ldx small,x
- ldx small,y
- ldy #immed
- ldy #immed
- ldy 1,+sp
- ldy 1,+x
- ldy 1,+y
- ldy 8,+sp
- ldy 8,+x
- ldy 8,+y
- ldy ,pc
- ldy ,sp
- ldy ,x
- ldy ,y
- ldy 1,-sp
- ldy 1,-x
- ldy 1,-y
- ldy 8,-sp
- ldy 8,-x
- ldy 8,-y
- ldy -1,sp
- ldy -1,x
- ldy -1,y
- ldy -16,sp
- ldy -16,x
- ldy -16,y
- ldy -17,sp
- ldy -17,x
- ldy -17,y
- ldy -small,pc
- ldy -small,sp
- ldy -small,x
- ldy -small,y
- ldy 0,pc
- ldy 0,sp
- ldy 0,x
- ldy 0,y
- ldy 1,sp+
- ldy 1,x+
- ldy 1,y+
- ldy 1,sp
- ldy 1,x
- ldy 1,y
- ldy 1,sp-
- ldy 1,x-
- ldy 1,y-
- ldy 125,pc
- ldy 125,sp
- ldy 125,x
- ldy 125,y
- ldy 15,sp
- ldy 15,x
- ldy 15,y
- ldy 16,sp
- ldy 16,x
- ldy 16,y
- ldy 8,sp+
- ldy 8,x+
- ldy 8,y+
- ldy 8,sp-
- ldy 8,x-
- ldy 8,y-
- ldy a,sp
- ldy a,x
- ldy a,y
- ldy b,sp
- ldy b,x
- ldy b,y
- ldy d,sp
- ldy d,x
- ldy d,y
- ldy dir
- ldy dir
- ldy ext
- ldy ext
- ldy ext,sp
- ldy ext,x
- ldy ext,y
- ldy ind,pc
- ldy ind,sp
- ldy ind,x
- ldy ind,y
- ldy small,pc
- ldy small,sp
- ldy small,x
- ldy small,y
-
- gldaa 1,+sp ;s12x cyan
- gldaa 1,+x ;s12x cyan
- gldaa 1,+y ;s12x cyan
- gldaa 8,+sp ;s12x cyan
- gldaa 8,+x ;s12x cyan
- gldaa 8,+y ;s12x cyan
- gldaa ,pc ;s12x cyan
- gldaa ,sp ;s12x cyan
- gldaa ,x ;s12x cyan
- gldaa ,y ;s12x cyan
- gldaa 1,-sp ;s12x cyan
- gldaa 1,-x ;s12x cyan
- gldaa 1,-y ;s12x cyan
- gldaa 8,-sp ;s12x cyan
- gldaa 8,-x ;s12x cyan
- gldaa 8,-y ;s12x cyan
- gldaa -1,sp ;s12x cyan
- gldaa -1,x ;s12x cyan
- gldaa -1,y ;s12x cyan
- gldaa -16,sp ;s12x cyan
- gldaa -16,x ;s12x cyan
- gldaa -16,y ;s12x cyan
- gldaa -17,sp ;s12x cyan
- gldaa -17,x ;s12x cyan
- gldaa -17,y ;s12x cyan
- gldaa -small,pc ;s12x cyan
- gldaa -small,sp ;s12x cyan
- gldaa -small,x ;s12x cyan
- gldaa -small,y ;s12x cyan
- gldaa 0,pc ;s12x cyan
- gldaa 0,sp ;s12x cyan
- gldaa 0,x ;s12x cyan
- gldaa 0,y ;s12x cyan
- gldaa 1,sp+ ;s12x cyan
- gldaa 1,x+ ;s12x cyan
- gldaa 1,y+ ;s12x cyan
- gldaa 1,sp ;s12x cyan
- gldaa 1,x ;s12x cyan
- gldaa 1,y ;s12x cyan
- gldaa 1,sp- ;s12x cyan
- gldaa 1,x- ;s12x cyan
- gldaa 1,y- ;s12x cyan
- gldaa 125,pc ;s12x cyan
- gldaa 125,sp ;s12x cyan
- gldaa 125,x ;s12x cyan
- gldaa 125,y ;s12x cyan
- gldaa 15,sp ;s12x cyan
- gldaa 15,x ;s12x cyan
- gldaa 15,y ;s12x cyan
- gldaa 16,sp ;s12x cyan
- gldaa 16,x ;s12x cyan
- gldaa 16,y ;s12x cyan
- gldaa 8,sp+ ;s12x cyan
- gldaa 8,x+ ;s12x cyan
- gldaa 8,y+ ;s12x cyan
- gldaa 8,sp- ;s12x cyan
- gldaa 8,x- ;s12x cyan
- gldaa 8,y- ;s12x cyan
- gldaa a,sp ;s12x cyan
- gldaa a,x ;s12x cyan
- gldaa a,y ;s12x cyan
- gldaa b,sp ;s12x cyan
- gldaa b,x ;s12x cyan
- gldaa b,y ;s12x cyan
- gldaa d,sp ;s12x cyan
- gldaa d,x ;s12x cyan
- gldaa d,y ;s12x cyan
- gldaa dir ;s12x cyan
- gldaa dir ;s12x cyan
- gldaa ext ;s12x cyan
- gldaa ext ;s12x cyan
- gldaa ext,sp ;s12x cyan
- gldaa ext,x ;s12x cyan
- gldaa ext,y ;s12x cyan
- gldaa ind,pc ;s12x cyan
- gldaa ind,sp ;s12x cyan
- gldaa ind,x ;s12x cyan
- gldaa ind,y ;s12x cyan
- gldaa small,pc ;s12x cyan
- gldaa small,sp ;s12x cyan
- gldaa small,x ;s12x cyan
- gldaa small,y ;s12x cyan
- gldab 1,+sp ;s12x cyan
- gldab 1,+x ;s12x cyan
- gldab 1,+y ;s12x cyan
- gldab 8,+sp ;s12x cyan
- gldab 8,+x ;s12x cyan
- gldab 8,+y ;s12x cyan
- gldab ,pc ;s12x cyan
- gldab ,sp ;s12x cyan
- gldab ,x ;s12x cyan
- gldab ,y ;s12x cyan
- gldab 1,-sp ;s12x cyan
- gldab 1,-x ;s12x cyan
- gldab 1,-y ;s12x cyan
- gldab 8,-sp ;s12x cyan
- gldab 8,-x ;s12x cyan
- gldab 8,-y ;s12x cyan
- gldab -1,sp ;s12x cyan
- gldab -1,x ;s12x cyan
- gldab -1,y ;s12x cyan
- gldab -16,sp ;s12x cyan
- gldab -16,x ;s12x cyan
- gldab -16,y ;s12x cyan
- gldab -17,sp ;s12x cyan
- gldab -17,x ;s12x cyan
- gldab -17,y ;s12x cyan
- gldab -small,pc ;s12x cyan
- gldab -small,sp ;s12x cyan
- gldab -small,x ;s12x cyan
- gldab -small,y ;s12x cyan
- gldab 0,pc ;s12x cyan
- gldab 0,sp ;s12x cyan
- gldab 0,x ;s12x cyan
- gldab 0,y ;s12x cyan
- gldab 1,sp+ ;s12x cyan
- gldab 1,x+ ;s12x cyan
- gldab 1,y+ ;s12x cyan
- gldab 1,sp ;s12x cyan
- gldab 1,x ;s12x cyan
- gldab 1,y ;s12x cyan
- gldab 1,sp- ;s12x cyan
- gldab 1,x- ;s12x cyan
- gldab 1,y- ;s12x cyan
- gldab 125,pc ;s12x cyan
- gldab 125,sp ;s12x cyan
- gldab 125,x ;s12x cyan
- gldab 125,y ;s12x cyan
- gldab 15,sp ;s12x cyan
- gldab 15,x ;s12x cyan
- gldab 15,y ;s12x cyan
- gldab 16,sp ;s12x cyan
- gldab 16,x ;s12x cyan
- gldab 16,y ;s12x cyan
- gldab 8,sp+ ;s12x cyan
- gldab 8,x+ ;s12x cyan
- gldab 8,y+ ;s12x cyan
- gldab 8,sp- ;s12x cyan
- gldab 8,x- ;s12x cyan
- gldab 8,y- ;s12x cyan
- gldab a,sp ;s12x cyan
- gldab a,x ;s12x cyan
- gldab a,y ;s12x cyan
- gldab b,sp ;s12x cyan
- gldab b,x ;s12x cyan
- gldab b,y ;s12x cyan
- gldab d,sp ;s12x cyan
- gldab d,x ;s12x cyan
- gldab d,y ;s12x cyan
- gldab dir ;s12x cyan
- gldab dir ;s12x cyan
- gldab ext ;s12x cyan
- gldab ext ;s12x cyan
- gldab ext,sp ;s12x cyan
- gldab ext,x ;s12x cyan
- gldab ext,y ;s12x cyan
- gldab ind,pc ;s12x cyan
- gldab ind,sp ;s12x cyan
- gldab ind,x ;s12x cyan
- gldab ind,y ;s12x cyan
- gldab small,pc ;s12x cyan
- gldab small,sp ;s12x cyan
- gldab small,x ;s12x cyan
- gldab small,y ;s12x cyan
- gldd 1,+sp ;s12x cyan
- gldd 1,+x ;s12x cyan
- gldd 1,+y ;s12x cyan
- gldd 8,+sp ;s12x cyan
- gldd 8,+x ;s12x cyan
- gldd 8,+y ;s12x cyan
- gldd ,pc ;s12x cyan
- gldd ,sp ;s12x cyan
- gldd ,x ;s12x cyan
- gldd ,y ;s12x cyan
- gldd 1,-sp ;s12x cyan
- gldd 1,-x ;s12x cyan
- gldd 1,-y ;s12x cyan
- gldd 8,-sp ;s12x cyan
- gldd 8,-x ;s12x cyan
- gldd 8,-y ;s12x cyan
- gldd -1,sp ;s12x cyan
- gldd -1,x ;s12x cyan
- gldd -1,y ;s12x cyan
- gldd -16,sp ;s12x cyan
- gldd -16,x ;s12x cyan
- gldd -16,y ;s12x cyan
- gldd -17,sp ;s12x cyan
- gldd -17,x ;s12x cyan
- gldd -17,y ;s12x cyan
- gldd -small,pc ;s12x cyan
- gldd -small,sp ;s12x cyan
- gldd -small,x ;s12x cyan
- gldd -small,y ;s12x cyan
- gldd 0,pc ;s12x cyan
- gldd 0,sp ;s12x cyan
- gldd 0,x ;s12x cyan
- gldd 0,y ;s12x cyan
- gldd 1,sp+ ;s12x cyan
- gldd 1,x+ ;s12x cyan
- gldd 1,y+ ;s12x cyan
- gldd 1,sp ;s12x cyan
- gldd 1,x ;s12x cyan
- gldd 1,y ;s12x cyan
- gldd 1,sp- ;s12x cyan
- gldd 1,x- ;s12x cyan
- gldd 1,y- ;s12x cyan
- gldd 125,pc ;s12x cyan
- gldd 125,sp ;s12x cyan
- gldd 125,x ;s12x cyan
- gldd 125,y ;s12x cyan
- gldd 15,sp ;s12x cyan
- gldd 15,x ;s12x cyan
- gldd 15,y ;s12x cyan
- gldd 16,sp ;s12x cyan
- gldd 16,x ;s12x cyan
- gldd 16,y ;s12x cyan
- gldd 8,sp+ ;s12x cyan
- gldd 8,x+ ;s12x cyan
- gldd 8,y+ ;s12x cyan
- gldd 8,sp- ;s12x cyan
- gldd 8,x- ;s12x cyan
- gldd 8,y- ;s12x cyan
- gldd a,sp ;s12x cyan
- gldd a,x ;s12x cyan
- gldd a,y ;s12x cyan
- gldd b,sp ;s12x cyan
- gldd b,x ;s12x cyan
- gldd b,y ;s12x cyan
- gldd d,sp ;s12x cyan
- gldd d,x ;s12x cyan
- gldd d,y ;s12x cyan
- gldd dir ;s12x cyan
- gldd dir ;s12x cyan
- gldd ext ;s12x cyan
- gldd ext ;s12x cyan
- gldd ext,sp ;s12x cyan
- gldd ext,x ;s12x cyan
- gldd ext,y ;s12x cyan
- gldd ind,pc ;s12x cyan
- gldd ind,sp ;s12x cyan
- gldd ind,x ;s12x cyan
- gldd ind,y ;s12x cyan
- gldd small,pc ;s12x cyan
- gldd small,sp ;s12x cyan
- gldd small,x ;s12x cyan
- gldd small,y ;s12x cyan
- glds 1,+sp ;s12x cyan
- glds 1,+x ;s12x cyan
- glds 1,+y ;s12x cyan
- glds 8,+sp ;s12x cyan
- glds 8,+x ;s12x cyan
- glds 8,+y ;s12x cyan
- glds ,pc ;s12x cyan
- glds ,sp ;s12x cyan
- glds ,x ;s12x cyan
- glds ,y ;s12x cyan
- glds 1,-sp ;s12x cyan
- glds 1,-x ;s12x cyan
- glds 1,-y ;s12x cyan
- glds 8,-sp ;s12x cyan
- glds 8,-x ;s12x cyan
- glds 8,-y ;s12x cyan
- glds -1,sp ;s12x cyan
- glds -1,x ;s12x cyan
- glds -1,y ;s12x cyan
- glds -16,sp ;s12x cyan
- glds -16,x ;s12x cyan
- glds -16,y ;s12x cyan
- glds -17,sp ;s12x cyan
- glds -17,x ;s12x cyan
- glds -17,y ;s12x cyan
- glds -small,pc ;s12x cyan
- glds -small,sp ;s12x cyan
- glds -small,x ;s12x cyan
- glds -small,y ;s12x cyan
- glds 0,pc ;s12x cyan
- glds 0,sp ;s12x cyan
- glds 0,x ;s12x cyan
- glds 0,y ;s12x cyan
- glds 1,sp+ ;s12x cyan
- glds 1,x+ ;s12x cyan
- glds 1,y+ ;s12x cyan
- glds 1,sp ;s12x cyan
- glds 1,x ;s12x cyan
- glds 1,y ;s12x cyan
- glds 1,sp- ;s12x cyan
- glds 1,x- ;s12x cyan
- glds 1,y- ;s12x cyan
- glds 125,pc ;s12x cyan
- glds 125,sp ;s12x cyan
- glds 125,x ;s12x cyan
- glds 125,y ;s12x cyan
- glds 15,sp ;s12x cyan
- glds 15,x ;s12x cyan
- glds 15,y ;s12x cyan
- glds 16,sp ;s12x cyan
- glds 16,x ;s12x cyan
- glds 16,y ;s12x cyan
- glds 8,sp+ ;s12x cyan
- glds 8,x+ ;s12x cyan
- glds 8,y+ ;s12x cyan
- glds 8,sp- ;s12x cyan
- glds 8,x- ;s12x cyan
- glds 8,y- ;s12x cyan
- glds a,sp ;s12x cyan
- glds a,x ;s12x cyan
- glds a,y ;s12x cyan
- glds b,sp ;s12x cyan
- glds b,x ;s12x cyan
- glds b,y ;s12x cyan
- glds d,sp ;s12x cyan
- glds d,x ;s12x cyan
- glds d,y ;s12x cyan
- glds dir ;s12x cyan
- glds ext ;s12x cyan
- glds ext,sp ;s12x cyan
- glds ext,x ;s12x cyan
- glds ext,y ;s12x cyan
- glds ind,pc ;s12x cyan
- glds ind,sp ;s12x cyan
- glds ind,x ;s12x cyan
- glds ind,y ;s12x cyan
- glds small,pc ;s12x cyan
- glds small,sp ;s12x cyan
- glds small,x ;s12x cyan
- glds small,y ;s12x cyan
- gldx 1,+sp ;s12x cyan
- gldx 1,+x ;s12x cyan
- gldx 1,+y ;s12x cyan
- gldx 8,+sp ;s12x cyan
- gldx 8,+x ;s12x cyan
- gldx 8,+y ;s12x cyan
- gldx ,pc ;s12x cyan
- gldx ,sp ;s12x cyan
- gldx ,x ;s12x cyan
- gldx ,y ;s12x cyan
- gldx 1,-sp ;s12x cyan
- gldx 1,-x ;s12x cyan
- gldx 1,-y ;s12x cyan
- gldx 8,-sp ;s12x cyan
- gldx 8,-x ;s12x cyan
- gldx 8,-y ;s12x cyan
- gldx -1,sp ;s12x cyan
- gldx -1,x ;s12x cyan
- gldx -1,y ;s12x cyan
- gldx -16,sp ;s12x cyan
- gldx -16,x ;s12x cyan
- gldx -16,y ;s12x cyan
- gldx -17,sp ;s12x cyan
- gldx -17,x ;s12x cyan
- gldx -17,y ;s12x cyan
- gldx -small,pc ;s12x cyan
- gldx -small,sp ;s12x cyan
- gldx -small,x ;s12x cyan
- gldx -small,y ;s12x cyan
- gldx 0,pc ;s12x cyan
- gldx 0,sp ;s12x cyan
- gldx 0,x ;s12x cyan
- gldx 0,y ;s12x cyan
- gldx 1,sp+ ;s12x cyan
- gldx 1,x+ ;s12x cyan
- gldx 1,y+ ;s12x cyan
- gldx 1,sp ;s12x cyan
- gldx 1,x ;s12x cyan
- gldx 1,y ;s12x cyan
- gldx 1,sp- ;s12x cyan
- gldx 1,x- ;s12x cyan
- gldx 1,y- ;s12x cyan
- gldx 125,pc ;s12x cyan
- gldx 125,sp ;s12x cyan
- gldx 125,x ;s12x cyan
- gldx 125,y ;s12x cyan
- gldx 15,sp ;s12x cyan
- gldx 15,x ;s12x cyan
- gldx 15,y ;s12x cyan
- gldx 16,sp ;s12x cyan
- gldx 16,x ;s12x cyan
- gldx 16,y ;s12x cyan
- gldx 8,sp+ ;s12x cyan
- gldx 8,x+ ;s12x cyan
- gldx 8,y+ ;s12x cyan
- gldx 8,sp- ;s12x cyan
- gldx 8,x- ;s12x cyan
- gldx 8,y- ;s12x cyan
- gldx a,sp ;s12x cyan
- gldx a,x ;s12x cyan
- gldx a,y ;s12x cyan
- gldx b,sp ;s12x cyan
- gldx b,x ;s12x cyan
- gldx b,y ;s12x cyan
- gldx d,sp ;s12x cyan
- gldx d,x ;s12x cyan
- gldx d,y ;s12x cyan
- gldx dir ;s12x cyan
- gldx dir ;s12x cyan
- gldx ext ;s12x cyan
- gldx ext ;s12x cyan
- gldx ext,sp ;s12x cyan
- gldx ext,x ;s12x cyan
- gldx ext,y ;s12x cyan
- gldx ind,pc ;s12x cyan
- gldx ind,sp ;s12x cyan
- gldx ind,x ;s12x cyan
- gldx ind,y ;s12x cyan
- gldx small,pc ;s12x cyan
- gldx small,sp ;s12x cyan
- gldx small,x ;s12x cyan
- gldx small,y ;s12x cyan
- gldy 1,+sp ;s12x cyan
- gldy 1,+x ;s12x cyan
- gldy 1,+y ;s12x cyan
- gldy 8,+sp ;s12x cyan
- gldy 8,+x ;s12x cyan
- gldy 8,+y ;s12x cyan
- gldy ,pc ;s12x cyan
- gldy ,sp ;s12x cyan
- gldy ,x ;s12x cyan
- gldy ,y ;s12x cyan
- gldy 1,-sp ;s12x cyan
- gldy 1,-x ;s12x cyan
- gldy 1,-y ;s12x cyan
- gldy 8,-sp ;s12x cyan
- gldy 8,-x ;s12x cyan
- gldy 8,-y ;s12x cyan
- gldy -1,sp ;s12x cyan
- gldy -1,x ;s12x cyan
- gldy -1,y ;s12x cyan
- gldy -16,sp ;s12x cyan
- gldy -16,x ;s12x cyan
- gldy -16,y ;s12x cyan
- gldy -17,sp ;s12x cyan
- gldy -17,x ;s12x cyan
- gldy -17,y ;s12x cyan
- gldy -small,pc ;s12x cyan
- gldy -small,sp ;s12x cyan
- gldy -small,x ;s12x cyan
- gldy -small,y ;s12x cyan
- gldy 0,pc ;s12x cyan
- gldy 0,sp ;s12x cyan
- gldy 0,x ;s12x cyan
- gldy 0,y ;s12x cyan
- gldy 1,sp+ ;s12x cyan
- gldy 1,x+ ;s12x cyan
- gldy 1,y+ ;s12x cyan
- gldy 1,sp ;s12x cyan
- gldy 1,x ;s12x cyan
- gldy 1,y ;s12x cyan
- gldy 1,sp- ;s12x cyan
- gldy 1,x- ;s12x cyan
- gldy 1,y- ;s12x cyan
- gldy 125,pc ;s12x cyan
- gldy 125,sp ;s12x cyan
- gldy 125,x ;s12x cyan
- gldy 125,y ;s12x cyan
- gldy 15,sp ;s12x cyan
- gldy 15,x ;s12x cyan
- gldy 15,y ;s12x cyan
- gldy 16,sp ;s12x cyan
- gldy 16,x ;s12x cyan
- gldy 16,y ;s12x cyan
- gldy 8,sp+ ;s12x cyan
- gldy 8,x+ ;s12x cyan
- gldy 8,y+ ;s12x cyan
- gldy 8,sp- ;s12x cyan
- gldy 8,x- ;s12x cyan
- gldy 8,y- ;s12x cyan
- gldy a,sp ;s12x cyan
- gldy a,x ;s12x cyan
- gldy a,y ;s12x cyan
- gldy b,sp ;s12x cyan
- gldy b,x ;s12x cyan
- gldy b,y ;s12x cyan
- gldy d,sp ;s12x cyan
- gldy d,x ;s12x cyan
- gldy d,y ;s12x cyan
- gldy dir ;s12x cyan
- gldy dir ;s12x cyan
- gldy ext ;s12x cyan
- gldy ext ;s12x cyan
- gldy ext,sp ;s12x cyan
- gldy ext,x ;s12x cyan
- gldy ext,y ;s12x cyan
- gldy ind,pc ;s12x cyan
- gldy ind,sp ;s12x cyan
- gldy ind,x ;s12x cyan
- gldy ind,y ;s12x cyan
- gldy small,pc ;s12x cyan
- gldy small,sp ;s12x cyan
- gldy small,x ;s12x cyan
- gldy small,y ;s12x cyan
-
- leas 1,+sp
- leas 1,+x
- leas 1,+y
- leas 8,+sp
- leas 8,+x
- leas 8,+y
- leas ,pc
- leas ,sp
- leas ,x
- leas ,y
- leas 1,-sp
- leas 1,-x
- leas 1,-y
- leas 8,-sp
- leas 8,-x
- leas 8,-y
- leas -1,sp
- leas -1,x
- leas -1,y
- leas -16,sp
- leas -16,x
- leas -16,y
- leas -17,sp
- leas -17,x
- leas -17,y
- leas -small,pc
- leas -small,sp
- leas -small,x
- leas -small,y
- leas 0,pc
- leas 0,sp
- leas 0,x
- leas 0,y
- leas 1,sp+
- leas 1,x+
- leas 1,y+
- leas 1,sp
- leas 1,x
- leas 1,y
- leas 1,sp-
- leas 1,x-
- leas 1,y-
- leas 125,pc
- leas 125,sp
- leas 125,x
- leas 125,y
- leas 15,sp
- leas 15,x
- leas 15,y
- leas 16,sp
- leas 16,x
- leas 16,y
- leas 8,sp+
- leas 8,x+
- leas 8,y+
- leas 8,sp-
- leas 8,x-
- leas 8,y-
- leas a,sp
- leas a,x
- leas a,y
- leas b,sp
- leas b,x
- leas b,y
- leas d,sp
- leas d,x
- leas d,y
- leas ext,sp
- leas ext,x
- leas ext,y
- leas ind,pc
- leas ind,sp
- leas ind,x
- leas ind,y
- leas small,pc
- leas small,sp
- leas small,x
- leas small,y
- leax 1,+sp
- leax 1,+x
- leax 1,+y
- leax 8,+sp
- leax 8,+x
- leax 8,+y
- leax ,pc
- leax ,sp
- leax ,x
- leax ,y
- leax 1,-sp
- leax 1,-x
- leax 1,-y
- leax 8,-sp
- leax 8,-x
- leax 8,-y
- leax -1,sp
- leax -1,x
- leax -1,y
- leax -16,sp
- leax -16,x
- leax -16,y
- leax -17,sp
- leax -17,x
- leax -17,y
- leax -small,pc
- leax -small,sp
- leax -small,x
- leax -small,y
- leax 0,pc
- leax 0,sp
- leax 0,x
- leax 0,y
- leax 1,sp+
- leax 1,x+
- leax 1,y+
- leax 1,sp
- leax 1,x
- leax 1,y
- leax 1,sp-
- leax 1,x-
- leax 1,y-
- leax 125,pc
- leax 125,sp
- leax 125,x
- leax 125,y
- leax 15,sp
- leax 15,x
- leax 15,y
- leax 16,sp
- leax 16,x
- leax 16,y
- leax 8,sp+
- leax 8,x+
- leax 8,y+
- leax 8,sp-
- leax 8,x-
- leax 8,y-
- leax a,sp
- leax a,x
- leax a,y
- leax b,sp
- leax b,x
- leax b,y
- leax d,sp
- leax d,x
- leax d,y
- leax ext,sp
- leax ext,x
- leax ext,y
- leax ind,pc
- leax ind,sp
- leax ind,x
- leax ind,y
- leax small,pc
- leax small,sp
- leax small,x
- leax small,y
- leay 1,+sp
- leay 1,+x
- leay 1,+y
- leay 8,+sp
- leay 8,+x
- leay 8,+y
- leay ,pc
- leay ,sp
- leay ,x
- leay ,y
- leay 1,-sp
- leay 1,-x
- leay 1,-y
- leay 8,-sp
- leay 8,-x
- leay 8,-y
- leay -1,sp
- leay -1,x
- leay -1,y
- leay -16,sp
- leay -16,x
- leay -16,y
- leay -17,sp
- leay -17,x
- leay -17,y
- leay -small,pc
- leay -small,sp
- leay -small,x
- leay -small,y
- leay 0,pc
- leay 0,sp
- leay 0,x
- leay 0,y
- leay 1,sp+
- leay 1,x+
- leay 1,y+
- leay 1,sp
- leay 1,x
- leay 1,y
- leay 1,sp-
- leay 1,x-
- leay 1,y-
- leay 125,pc
- leay 125,sp
- leay 125,x
- leay 125,y
- leay 15,sp
- leay 15,x
- leay 15,y
- leay 16,sp
- leay 16,x
- leay 16,y
- leay 8,sp+
- leay 8,x+
- leay 8,y+
- leay 8,sp-
- leay 8,x-
- leay 8,y-
- leay a,sp
- leay a,x
- leay a,y
- leay b,sp
- leay b,x
- leay b,y
- leay d,sp
- leay d,x
- leay d,y
- leay ext,sp
- leay ext,x
- leay ext,y
- leay ind,pc
- leay ind,sp
- leay ind,x
- leay ind,y
- leay small,pc
- leay small,sp
- leay small,x
- leay small,y
- lsl 1,+sp
- lsl 1,+x
- lsl 1,+y
- lsl 8,+sp
- lsl 8,+x
- lsl 8,+y
- lsl ,pc
- lsl ,sp
- lsl ,x
- lsl ,y
- lsl 1,-sp
- lsl 1,-x
- lsl 1,-y
- lsl 8,-sp
- lsl 8,-x
- lsl 8,-y
- lsl -1,sp
- lsl -1,x
- lsl -1,y
- lsl -16,sp
- lsl -16,x
- lsl -16,y
- lsl -17,sp
- lsl -17,x
- lsl -17,y
- lsl -small,pc
- lsl -small,sp
- lsl -small,x
- lsl -small,y
- lsl 0,pc
- lsl 0,sp
- lsl 0,x
- lsl 0,y
- lsl 1,sp+
- lsl 1,x+
- lsl 1,y+
- lsl 1,sp
- lsl 1,x
- lsl 1,y
- lsl 1,sp-
- lsl 1,x-
- lsl 1,y-
- lsl 125,pc
- lsl 125,sp
- lsl 125,x
- lsl 125,y
- lsl 15,sp
- lsl 15,x
- lsl 15,y
- lsl 16,sp
- lsl 16,x
- lsl 16,y
- lsl 8,sp+
- lsl 8,x+
- lsl 8,y+
- lsl 8,sp-
- lsl 8,x-
- lsl 8,y-
- lsl a,sp
- lsl a,x
- lsl a,y
- lsl b,sp
- lsl b,x
- lsl b,y
- lsl d,sp
- lsl d,x
- lsl d,y
- lsl dir
- lsl ext
- lsl ext
- lsl ext,sp
- lsl ext,x
- lsl ext,y
- lsl ind,pc
- lsl ind,sp
- lsl ind,x
- lsl ind,y
- lsl small,pc
- lsl small,sp
- lsl small,x
- lsl small,y
- lsla
- lslb
- lsld
- lsr 1,+sp
- lsr 1,+x
- lsr 1,+y
- lsr 8,+sp
- lsr 8,+x
- lsr 8,+y
- lsr ,pc
- lsr ,sp
- lsr ,x
- lsr ,y
- lsr 1,-sp
- lsr 1,-x
- lsr 1,-y
- lsr 8,-sp
- lsr 8,-x
- lsr 8,-y
- lsr -1,sp
- lsr -1,x
- lsr -1,y
- lsr -16,sp
- lsr -16,x
- lsr -16,y
- lsr -17,sp
- lsr -17,x
- lsr -17,y
- lsr -small,pc
- lsr -small,sp
- lsr -small,x
- lsr -small,y
- lsr 0,pc
- lsr 0,sp
- lsr 0,x
- lsr 0,y
- lsr 1,sp+
- lsr 1,x+
- lsr 1,y+
- lsr 1,sp
- lsr 1,x
- lsr 1,y
- lsr 1,sp-
- lsr 1,x-
- lsr 1,y-
- lsr 125,pc
- lsr 125,sp
- lsr 125,x
- lsr 125,y
- lsr 15,sp
- lsr 15,x
- lsr 15,y
- lsr 16,sp
- lsr 16,x
- lsr 16,y
- lsr 8,sp+
- lsr 8,x+
- lsr 8,y+
- lsr 8,sp-
- lsr 8,x-
- lsr 8,y-
- lsr a,sp
- lsr a,x
- lsr a,y
- lsr b,sp
- lsr b,x
- lsr b,y
- lsr d,sp
- lsr d,x
- lsr d,y
- lsr dir
- lsr ext
- lsr ext
- lsr ext,sp
- lsr ext,x
- lsr ext,y
- lsr ind,pc
- lsr ind,sp
- lsr ind,x
- lsr ind,y
- lsr small,pc
- lsr small,sp
- lsr small,x
- lsr small,y
-
- lsrw 1,+sp ;s12x green
- lsrw 1,+x ;s12x green
- lsrw 1,+y ;s12x green
- lsrw 8,+sp ;s12x green
- lsrw 8,+x ;s12x green
- lsrw 8,+y ;s12x green
- lsrw ,pc ;s12x green
- lsrw ,sp ;s12x green
- lsrw ,x ;s12x green
- lsrw ,y ;s12x green
- lsrw 1,-sp ;s12x green
- lsrw 1,-x ;s12x green
- lsrw 1,-y ;s12x green
- lsrw 8,-sp ;s12x green
- lsrw 8,-x ;s12x green
- lsrw 8,-y ;s12x green
- lsrw -1,sp ;s12x green
- lsrw -1,x ;s12x green
- lsrw -1,y ;s12x green
- lsrw -16,sp ;s12x green
- lsrw -16,x ;s12x green
- lsrw -16,y ;s12x green
- lsrw -17,sp ;s12x green
- lsrw -17,x ;s12x green
- lsrw -17,y ;s12x green
- lsrw -small,pc ;s12x green
- lsrw -small,sp ;s12x green
- lsrw -small,x ;s12x green
- lsrw -small,y ;s12x green
- lsrw 0,pc ;s12x green
- lsrw 0,sp ;s12x green
- lsrw 0,x ;s12x green
- lsrw 0,y ;s12x green
- lsrw 1,sp+ ;s12x green
- lsrw 1,x+ ;s12x green
- lsrw 1,y+ ;s12x green
- lsrw 1,sp ;s12x green
- lsrw 1,x ;s12x green
- lsrw 1,y ;s12x green
- lsrw 1,sp- ;s12x green
- lsrw 1,x- ;s12x green
- lsrw 1,y- ;s12x green
- lsrw 125,pc ;s12x green
- lsrw 125,sp ;s12x green
- lsrw 125,x ;s12x green
- lsrw 125,y ;s12x green
- lsrw 15,sp ;s12x green
- lsrw 15,x ;s12x green
- lsrw 15,y ;s12x green
- lsrw 16,sp ;s12x green
- lsrw 16,x ;s12x green
- lsrw 16,y ;s12x green
- lsrw 8,sp+ ;s12x green
- lsrw 8,x+ ;s12x green
- lsrw 8,y+ ;s12x green
- lsrw 8,sp- ;s12x green
- lsrw 8,x- ;s12x green
- lsrw 8,y- ;s12x green
- lsrw a,sp ;s12x green
- lsrw a,x ;s12x green
- lsrw a,y ;s12x green
- lsrw b,sp ;s12x green
- lsrw b,x ;s12x green
- lsrw b,y ;s12x green
- lsrw d,sp ;s12x green
- lsrw d,x ;s12x green
- lsrw d,y ;s12x green
- lsrw dir ;s12x green
- lsrw ext ;s12x green
- lsrw ext ;s12x green
- lsrw ext,sp ;s12x green
- lsrw ext,x ;s12x green
- lsrw ext,y ;s12x green
- lsrw ind,pc ;s12x green
- lsrw ind,sp ;s12x green
- lsrw ind,x ;s12x green
- lsrw ind,y ;s12x green
- lsrw small,pc ;s12x green
- lsrw small,sp ;s12x green
- lsrw small,x ;s12x green
- lsrw small,y ;s12x green
-
- lsra
- lsrb
-
- lsrx ;s12x yellow
- lsry ;s12x yellow
-
- lsrd
- lsrd
- maxa 1,+sp
- maxa 1,+x
- maxa 1,+y
- maxa 8,+sp
- maxa 8,+x
- maxa 8,+y
- maxa ,pc
- maxa ,sp
- maxa ,x
- maxa ,y
- maxa 1,-sp
- maxa 1,-x
- maxa 1,-y
- maxa 8,-sp
- maxa 8,-x
- maxa 8,-y
- maxa -1,sp
- maxa -1,x
- maxa -1,y
- maxa -16,sp
- maxa -16,x
- maxa -16,y
- maxa -17,sp
- maxa -17,x
- maxa -17,y
- maxa -small,pc
- maxa -small,sp
- maxa -small,x
- maxa -small,y
- maxa 0,pc
- maxa 0,sp
- maxa 0,x
- maxa 0,y
- maxa 1,sp+
- maxa 1,x+
- maxa 1,y+
- maxa 1,sp
- maxa 1,x
- maxa 1,y
- maxa 1,sp-
- maxa 1,x-
- maxa 1,y-
- maxa 125,pc
- maxa 125,sp
- maxa 125,x
- maxa 125,y
- maxa 15,sp
- maxa 15,x
- maxa 15,y
- maxa 16,sp
- maxa 16,x
- maxa 16,y
- maxa 8,sp+
- maxa 8,x+
- maxa 8,y+
- maxa 8,sp-
- maxa 8,x-
- maxa 8,y-
- maxa a,sp
- maxa a,x
- maxa a,y
- maxa b,sp
- maxa b,x
- maxa b,y
- maxa d,sp
- maxa d,x
- maxa d,y
- maxa ext,sp
- maxa ext,x
- maxa ext,y
- maxa ind,pc
- maxa ind,sp
- maxa ind,x
- maxa ind,y
- maxa small,pc
- maxa small,sp
- maxa small,x
- maxa small,y
- maxm 1,+sp
- maxm 1,+x
- maxm 1,+y
- maxm 8,+sp
- maxm 8,+x
- maxm 8,+y
- maxm ,pc
- maxm ,sp
- maxm ,x
- maxm ,y
- maxm 1,-sp
- maxm 1,-x
- maxm 1,-y
- maxm 8,-sp
- maxm 8,-x
- maxm 8,-y
- maxm -1,sp
- maxm -1,x
- maxm -1,y
- maxm -16,sp
- maxm -16,x
- maxm -16,y
- maxm -17,sp
- maxm -17,x
- maxm -17,y
- maxm -small,pc
- maxm -small,sp
- maxm -small,x
- maxm -small,y
- maxm 0,pc
- maxm 0,sp
- maxm 0,x
- maxm 0,y
- maxm 1,sp+
- maxm 1,x+
- maxm 1,y+
- maxm 1,sp
- maxm 1,x
- maxm 1,y
- maxm 1,sp-
- maxm 1,x-
- maxm 1,y-
- maxm 125,pc
- maxm 125,sp
- maxm 125,x
- maxm 125,y
- maxm 15,sp
- maxm 15,x
- maxm 15,y
- maxm 16,sp
- maxm 16,x
- maxm 16,y
- maxm 8,sp+
- maxm 8,x+
- maxm 8,y+
- maxm 8,sp-
- maxm 8,x-
- maxm 8,y-
- maxm a,sp
- maxm a,x
- maxm a,y
- maxm b,sp
- maxm b,x
- maxm b,y
- maxm d,sp
- maxm d,x
- maxm d,y
- maxm ext,sp
- maxm ext,x
- maxm ext,y
- maxm ind,pc
- maxm ind,sp
- maxm ind,x
- maxm ind,y
- maxm small,pc
- maxm small,sp
- maxm small,x
- maxm small,y
- mem
- mina 1,+sp
- mina 1,+x
- mina 1,+y
- mina 8,+sp
- mina 8,+x
- mina 8,+y
- mina ,pc
- mina ,sp
- mina ,x
- mina ,y
- mina 1,-sp
- mina 1,-x
- mina 1,-y
- mina 8,-sp
- mina 8,-x
- mina 8,-y
- mina -1,sp
- mina -1,x
- mina -1,y
- mina -16,sp
- mina -16,x
- mina -16,y
- mina -17,sp
- mina -17,x
- mina -17,y
- mina -small,pc
- mina -small,sp
- mina -small,x
- mina -small,y
- mina 0,pc
- mina 0,sp
- mina 0,x
- mina 0,y
- mina 1,sp+
- mina 1,x+
- mina 1,y+
- mina 1,sp
- mina 1,x
- mina 1,y
- mina 1,sp-
- mina 1,x-
- mina 1,y-
- mina 125,pc
- mina 125,sp
- mina 125,x
- mina 125,y
- mina 15,sp
- mina 15,x
- mina 15,y
- mina 16,sp
- mina 16,x
- mina 16,y
- mina 8,sp+
- mina 8,x+
- mina 8,y+
- mina 8,sp-
- mina 8,x-
- mina 8,y-
- mina a,sp
- mina a,x
- mina a,y
- mina b,sp
- mina b,x
- mina b,y
- mina d,sp
- mina d,x
- mina d,y
- mina ext,sp
- mina ext,x
- mina ext,y
- mina ind,pc
- mina ind,sp
- mina ind,x
- mina ind,y
- mina small,pc
- mina small,sp
- mina small,x
- mina small,y
- minm 1,+sp
- minm 1,+x
- minm 1,+y
- minm 8,+sp
- minm 8,+x
- minm 8,+y
- minm ,pc
- minm ,sp
- minm ,x
- minm ,y
- minm 1,-sp
- minm 1,-x
- minm 1,-y
- minm 8,-sp
- minm 8,-x
- minm 8,-y
- minm -1,sp
- minm -1,x
- minm -1,y
- minm -16,sp
- minm -16,x
- minm -16,y
- minm -17,sp
- minm -17,x
- minm -17,y
- minm -small,pc
- minm -small,sp
- minm -small,x
- minm -small,y
- minm 0,pc
- minm 0,sp
- minm 0,x
- minm 0,y
- minm 1,sp+
- minm 1,x+
- minm 1,y+
- minm 1,sp
- minm 1,x
- minm 1,y
- minm 1,sp-
- minm 1,x-
- minm 1,y-
- minm 125,pc
- minm 125,sp
- minm 125,x
- minm 125,y
- minm 15,sp
- minm 15,x
- minm 15,y
- minm 16,sp
- minm 16,x
- minm 16,y
- minm 8,sp+
- minm 8,x+
- minm 8,y+
- minm 8,sp-
- minm 8,x-
- minm 8,y-
- minm a,sp
- minm a,x
- minm a,y
- minm b,sp
- minm b,x
- minm b,y
- minm d,sp
- minm d,x
- minm d,y
- minm ext,sp
- minm ext,x
- minm ext,y
- minm ind,pc
- minm ind,sp
- minm ind,x
- minm ind,y
- minm small,pc
- minm small,sp
- minm small,x
- minm small,y
- mul
- neg 1,+sp
- neg 1,+x
- neg 1,+y
- neg 8,+sp
- neg 8,+x
- neg 8,+y
- neg ,pc
- neg ,sp
- neg ,x
- neg ,y
- neg 1,-sp
- neg 1,-x
- neg 1,-y
- neg 8,-sp
- neg 8,-x
- neg 8,-y
- neg -1,sp
- neg -1,x
- neg -1,y
- neg -16,sp
- neg -16,x
- neg -16,y
- neg -17,sp
- neg -17,x
- neg -17,y
- neg -small,pc
- neg -small,sp
- neg -small,x
- neg -small,y
- neg 0,pc
- neg 0,sp
- neg 0,x
- neg 0,y
- neg 1,sp+
- neg 1,x+
- neg 1,y+
- neg 1,sp
- neg 1,x
- neg 1,y
- neg 1,sp-
- neg 1,x-
- neg 1,y-
- neg 125,pc
- neg 125,sp
- neg 125,x
- neg 125,y
- neg 15,sp
- neg 15,x
- neg 15,y
- neg 16,sp
- neg 16,x
- neg 16,y
- neg 8,sp+
- neg 8,x+
- neg 8,y+
- neg 8,sp-
- neg 8,x-
- neg 8,y-
- neg a,sp
- neg a,x
- neg a,y
- neg b,sp
- neg b,x
- neg b,y
- neg d,sp
- neg d,x
- neg d,y
- neg dir
- neg ext
- neg ext
- neg ext,sp
- neg ext,x
- neg ext,y
- neg ind,pc
- neg ind,sp
- neg ind,x
- neg ind,y
- neg small,pc
- neg small,sp
- neg small,x
- neg small,y
-
- negw 1,+sp ;s12x green
- negw 1,+x ;s12x green
- negw 1,+y ;s12x green
- negw 8,+sp ;s12x green
- negw 8,+x ;s12x green
- negw 8,+y ;s12x green
- negw ,pc ;s12x green
- negw ,sp ;s12x green
- negw ,x ;s12x green
- negw ,y ;s12x green
- negw 1,-sp ;s12x green
- negw 1,-x ;s12x green
- negw 1,-y ;s12x green
- negw 8,-sp ;s12x green
- negw 8,-x ;s12x green
- negw 8,-y ;s12x green
- negw -1,sp ;s12x green
- negw -1,x ;s12x green
- negw -1,y ;s12x green
- negw -16,sp ;s12x green
- negw -16,x ;s12x green
- negw -16,y ;s12x green
- negw -17,sp ;s12x green
- negw -17,x ;s12x green
- negw -17,y ;s12x green
- negw -small,pc ;s12x green
- negw -small,sp ;s12x green
- negw -small,x ;s12x green
- negw -small,y ;s12x green
- negw 0,pc ;s12x green
- negw 0,sp ;s12x green
- negw 0,x ;s12x green
- negw 0,y ;s12x green
- negw 1,sp+ ;s12x green
- negw 1,x+ ;s12x green
- negw 1,y+ ;s12x green
- negw 1,sp ;s12x green
- negw 1,x ;s12x green
- negw 1,y ;s12x green
- negw 1,sp- ;s12x green
- negw 1,x- ;s12x green
- negw 1,y- ;s12x green
- negw 125,pc ;s12x green
- negw 125,sp ;s12x green
- negw 125,x ;s12x green
- negw 125,y ;s12x green
- negw 15,sp ;s12x green
- negw 15,x ;s12x green
- negw 15,y ;s12x green
- negw 16,sp ;s12x green
- negw 16,x ;s12x green
- negw 16,y ;s12x green
- negw 8,sp+ ;s12x green
- negw 8,x+ ;s12x green
- negw 8,y+ ;s12x green
- negw 8,sp- ;s12x green
- negw 8,x- ;s12x green
- negw 8,y- ;s12x green
- negw a,sp ;s12x green
- negw a,x ;s12x green
- negw a,y ;s12x green
- negw b,sp ;s12x green
- negw b,x ;s12x green
- negw b,y ;s12x green
- negw d,sp ;s12x green
- negw d,x ;s12x green
- negw d,y ;s12x green
- negw dir ;s12x green
- negw ext ;s12x green
- negw ext ;s12x green
- negw ext,sp ;s12x green
- negw ext,x ;s12x green
- negw ext,y ;s12x green
- negw ind,pc ;s12x green
- negw ind,sp ;s12x green
- negw ind,x ;s12x green
- negw ind,y ;s12x green
- negw small,pc ;s12x green
- negw small,sp ;s12x green
- negw small,x ;s12x green
- negw small,y ;s12x green
-
- nega
- negb
-
- negx ;s12x yellow
- negy ;s12x yellow
-
- nop
- oraa #immed
- oraa 1,+sp
- oraa 1,+x
- oraa 1,+y
- oraa 8,+sp
- oraa 8,+x
- oraa 8,+y
- oraa ,pc
- oraa ,sp
- oraa ,x
- oraa ,y
- oraa 1,-sp
- oraa 1,-x
- oraa 1,-y
- oraa 8,-sp
- oraa 8,-x
- oraa 8,-y
- oraa -1,sp
- oraa -1,x
- oraa -1,y
- oraa -16,sp
- oraa -16,x
- oraa -16,y
- oraa -17,sp
- oraa -17,x
- oraa -17,y
- oraa -small,pc
- oraa -small,sp
- oraa -small,x
- oraa -small,y
- oraa 0,pc
- oraa 0,sp
- oraa 0,x
- oraa 0,y
- oraa 1,sp+
- oraa 1,x+
- oraa 1,y+
- oraa 1,sp
- oraa 1,x
- oraa 1,y
- oraa 1,sp-
- oraa 1,x-
- oraa 1,y-
- oraa 125,pc
- oraa 125,sp
- oraa 125,x
- oraa 125,y
- oraa 15,sp
- oraa 15,x
- oraa 15,y
- oraa 16,sp
- oraa 16,x
- oraa 16,y
- oraa 8,sp+
- oraa 8,x+
- oraa 8,y+
- oraa 8,sp-
- oraa 8,x-
- oraa 8,y-
- oraa a,sp
- oraa a,x
- oraa a,y
- oraa b,sp
- oraa b,x
- oraa b,y
- oraa d,sp
- oraa d,x
- oraa d,y
- oraa dir
- oraa dir
- oraa ext
- oraa ext
- oraa ext,sp
- oraa ext,x
- oraa ext,y
- oraa ind,pc
- oraa ind,sp
- oraa ind,x
- oraa ind,y
- oraa small,pc
- oraa small,sp
- oraa small,x
- oraa small,y
-
- orx #immed ;s12x yellow
- orx 1,+sp ;s12x yellow
- orx 1,+x ;s12x yellow
- orx 1,+y ;s12x yellow
- orx 8,+sp ;s12x yellow
- orx 8,+x ;s12x yellow
- orx 8,+y ;s12x yellow
- orx ,pc ;s12x yellow
- orx ,sp ;s12x yellow
- orx ,x ;s12x yellow
- orx ,y ;s12x yellow
- orx 1,-sp ;s12x yellow
- orx 1,-x ;s12x yellow
- orx 1,-y ;s12x yellow
- orx 8,-sp ;s12x yellow
- orx 8,-x ;s12x yellow
- orx 8,-y ;s12x yellow
- orx -1,sp ;s12x yellow
- orx -1,x ;s12x yellow
- orx -1,y ;s12x yellow
- orx -16,sp ;s12x yellow
- orx -16,x ;s12x yellow
- orx -16,y ;s12x yellow
- orx -17,sp ;s12x yellow
- orx -17,x ;s12x yellow
- orx -17,y ;s12x yellow
- orx -small,pc ;s12x yellow
- orx -small,sp ;s12x yellow
- orx -small,x ;s12x yellow
- orx -small,y ;s12x yellow
- orx 0,pc ;s12x yellow
- orx 0,sp ;s12x yellow
- orx 0,x ;s12x yellow
- orx 0,y ;s12x yellow
- orx 1,sp+ ;s12x yellow
- orx 1,x+ ;s12x yellow
- orx 1,y+ ;s12x yellow
- orx 1,sp ;s12x yellow
- orx 1,x ;s12x yellow
- orx 1,y ;s12x yellow
- orx 1,sp- ;s12x yellow
- orx 1,x- ;s12x yellow
- orx 1,y- ;s12x yellow
- orx 125,pc ;s12x yellow
- orx 125,sp ;s12x yellow
- orx 125,x ;s12x yellow
- orx 125,y ;s12x yellow
- orx 15,sp ;s12x yellow
- orx 15,x ;s12x yellow
- orx 15,y ;s12x yellow
- orx 16,sp ;s12x yellow
- orx 16,x ;s12x yellow
- orx 16,y ;s12x yellow
- orx 8,sp+ ;s12x yellow
- orx 8,x+ ;s12x yellow
- orx 8,y+ ;s12x yellow
- orx 8,sp- ;s12x yellow
- orx 8,x- ;s12x yellow
- orx 8,y- ;s12x yellow
- orx a,sp ;s12x yellow
- orx a,x ;s12x yellow
- orx a,y ;s12x yellow
- orx b,sp ;s12x yellow
- orx b,x ;s12x yellow
- orx b,y ;s12x yellow
- orx d,sp ;s12x yellow
- orx d,x ;s12x yellow
- orx d,y ;s12x yellow
- orx dir ;s12x yellow
- orx dir ;s12x yellow
- orx ext ;s12x yellow
- orx ext ;s12x yellow
- orx ext,sp ;s12x yellow
- orx ext,x ;s12x yellow
- orx ext,y ;s12x yellow
- orx ind,pc ;s12x yellow
- orx ind,sp ;s12x yellow
- orx ind,x ;s12x yellow
- orx ind,y ;s12x yellow
- orx small,pc ;s12x yellow
- orx small,sp ;s12x yellow
- orx small,x ;s12x yellow
- orx small,y ;s12x yellow
-
- ory #immed ;s12x yellow
- ory 1,+sp ;s12x yellow
- ory 1,+x ;s12x yellow
- ory 1,+y ;s12x yellow
- ory 8,+sp ;s12x yellow
- ory 8,+x ;s12x yellow
- ory 8,+y ;s12x yellow
- ory ,pc ;s12x yellow
- ory ,sp ;s12x yellow
- ory ,x ;s12x yellow
- ory ,y ;s12x yellow
- ory 1,-sp ;s12x yellow
- ory 1,-x ;s12x yellow
- ory 1,-y ;s12x yellow
- ory 8,-sp ;s12x yellow
- ory 8,-x ;s12x yellow
- ory 8,-y ;s12x yellow
- ory -1,sp ;s12x yellow
- ory -1,x ;s12x yellow
- ory -1,y ;s12x yellow
- ory -16,sp ;s12x yellow
- ory -16,x ;s12x yellow
- ory -16,y ;s12x yellow
- ory -17,sp ;s12x yellow
- ory -17,x ;s12x yellow
- ory -17,y ;s12x yellow
- ory -small,pc ;s12x yellow
- ory -small,sp ;s12x yellow
- ory -small,x ;s12x yellow
- ory -small,y ;s12x yellow
- ory 0,pc ;s12x yellow
- ory 0,sp ;s12x yellow
- ory 0,x ;s12x yellow
- ory 0,y ;s12x yellow
- ory 1,sp+ ;s12x yellow
- ory 1,x+ ;s12x yellow
- ory 1,y+ ;s12x yellow
- ory 1,sp ;s12x yellow
- ory 1,x ;s12x yellow
- ory 1,y ;s12x yellow
- ory 1,sp- ;s12x yellow
- ory 1,x- ;s12x yellow
- ory 1,y- ;s12x yellow
- ory 125,pc ;s12x yellow
- ory 125,sp ;s12x yellow
- ory 125,x ;s12x yellow
- ory 125,y ;s12x yellow
- ory 15,sp ;s12x yellow
- ory 15,x ;s12x yellow
- ory 15,y ;s12x yellow
- ory 16,sp ;s12x yellow
- ory 16,x ;s12x yellow
- ory 16,y ;s12x yellow
- ory 8,sp+ ;s12x yellow
- ory 8,x+ ;s12x yellow
- ory 8,y+ ;s12x yellow
- ory 8,sp- ;s12x yellow
- ory 8,x- ;s12x yellow
- ory 8,y- ;s12x yellow
- ory a,sp ;s12x yellow
- ory a,x ;s12x yellow
- ory a,y ;s12x yellow
- ory b,sp ;s12x yellow
- ory b,x ;s12x yellow
- ory b,y ;s12x yellow
- ory d,sp ;s12x yellow
- ory d,x ;s12x yellow
- ory d,y ;s12x yellow
- ory dir ;s12x yellow
- ory dir ;s12x yellow
- ory ext ;s12x yellow
- ory ext ;s12x yellow
- ory ext,sp ;s12x yellow
- ory ext,x ;s12x yellow
- ory ext,y ;s12x yellow
- ory ind,pc ;s12x yellow
- ory ind,sp ;s12x yellow
- ory ind,x ;s12x yellow
- ory ind,y ;s12x yellow
- ory small,pc ;s12x yellow
- ory small,sp ;s12x yellow
- ory small,x ;s12x yellow
- ory small,y ;s12x yellow
-
- orcc #immed
- psha
- pshb
- pshd
- pshx
- pshy
- pula
- pulb
- pulc
-
- pulcw ;s12x dark blue
-
- puld
- pulx
- puly
- rev
- rol 1,+sp
- rol 1,+x
- rol 1,+y
- rol 8,+sp
- rol 8,+x
- rol 8,+y
- rol ,pc
- rol ,sp
- rol ,x
- rol ,y
- rol 1,-sp
- rol 1,-x
- rol 1,-y
- rol 8,-sp
- rol 8,-x
- rol 8,-y
- rol -1,sp
- rol -1,x
- rol -1,y
- rol -16,sp
- rol -16,x
- rol -16,y
- rol -17,sp
- rol -17,x
- rol -17,y
- rol -small,pc
- rol -small,sp
- rol -small,x
- rol -small,y
- rol 0,pc
- rol 0,sp
- rol 0,x
- rol 0,y
- rol 1,sp+
- rol 1,x+
- rol 1,y+
- rol 1,sp
- rol 1,x
- rol 1,y
- rol 1,sp-
- rol 1,x-
- rol 1,y-
- rol 125,pc
- rol 125,sp
- rol 125,x
- rol 125,y
- rol 15,sp
- rol 15,x
- rol 15,y
- rol 16,sp
- rol 16,x
- rol 16,y
- rol 8,sp+
- rol 8,x+
- rol 8,y+
- rol 8,sp-
- rol 8,x-
- rol 8,y-
- rol a,sp
- rol a,x
- rol a,y
- rol b,sp
- rol b,x
- rol b,y
- rol d,sp
- rol d,x
- rol d,y
- rol dir
- rol ext
- rol ext
- rol ext,sp
- rol ext,x
- rol ext,y
- rol ind,pc
- rol ind,sp
- rol ind,x
- rol ind,y
- rol small,pc
- rol small,sp
- rol small,x
- rol small,y
-
- rolw 1,+sp ;s12x green
- rolw 1,+x ;s12x green
- rolw 1,+y ;s12x green
- rolw 8,+sp ;s12x green
- rolw 8,+x ;s12x green
- rolw 8,+y ;s12x green
- rolw ,pc ;s12x green
- rolw ,sp ;s12x green
- rolw ,x ;s12x green
- rolw ,y ;s12x green
- rolw 1,-sp ;s12x green
- rolw 1,-x ;s12x green
- rolw 1,-y ;s12x green
- rolw 8,-sp ;s12x green
- rolw 8,-x ;s12x green
- rolw 8,-y ;s12x green
- rolw -1,sp ;s12x green
- rolw -1,x ;s12x green
- rolw -1,y ;s12x green
- rolw -16,sp ;s12x green
- rolw -16,x ;s12x green
- rolw -16,y ;s12x green
- rolw -17,sp ;s12x green
- rolw -17,x ;s12x green
- rolw -17,y ;s12x green
- rolw -small,pc ;s12x green
- rolw -small,sp ;s12x green
- rolw -small,x ;s12x green
- rolw -small,y ;s12x green
- rolw 0,pc ;s12x green
- rolw 0,sp ;s12x green
- rolw 0,x ;s12x green
- rolw 0,y ;s12x green
- rolw 1,sp+ ;s12x green
- rolw 1,x+ ;s12x green
- rolw 1,y+ ;s12x green
- rolw 1,sp ;s12x green
- rolw 1,x ;s12x green
- rolw 1,y ;s12x green
- rolw 1,sp- ;s12x green
- rolw 1,x- ;s12x green
- rolw 1,y- ;s12x green
- rolw 125,pc ;s12x green
- rolw 125,sp ;s12x green
- rolw 125,x ;s12x green
- rolw 125,y ;s12x green
- rolw 15,sp ;s12x green
- rolw 15,x ;s12x green
- rolw 15,y ;s12x green
- rolw 16,sp ;s12x green
- rolw 16,x ;s12x green
- rolw 16,y ;s12x green
- rolw 8,sp+ ;s12x green
- rolw 8,x+ ;s12x green
- rolw 8,y+ ;s12x green
- rolw 8,sp- ;s12x green
- rolw 8,x- ;s12x green
- rolw 8,y- ;s12x green
- rolw a,sp ;s12x green
- rolw a,x ;s12x green
- rolw a,y ;s12x green
- rolw b,sp ;s12x green
- rolw b,x ;s12x green
- rolw b,y ;s12x green
- rolw d,sp ;s12x green
- rolw d,x ;s12x green
- rolw d,y ;s12x green
- rolw dir ;s12x green
- rolw ext ;s12x green
- rolw ext ;s12x green
- rolw ext,sp ;s12x green
- rolw ext,x ;s12x green
- rolw ext,y ;s12x green
- rolw ind,pc ;s12x green
- rolw ind,sp ;s12x green
- rolw ind,x ;s12x green
- rolw ind,y ;s12x green
- rolw small,pc ;s12x green
- rolw small,sp ;s12x green
- rolw small,x ;s12x green
- rolw small,y ;s12x green
-
- rola
- rolb
-
- rolx ;s12x yellow
- roly ;s12x yellow
-
- ror 1,+sp
- ror 1,+x
- ror 1,+y
- ror 8,+sp
- ror 8,+x
- ror 8,+y
- ror ,pc
- ror ,sp
- ror ,x
- ror ,y
- ror 1,-sp
- ror 1,-x
- ror 1,-y
- ror 8,-sp
- ror 8,-x
- ror 8,-y
- ror -1,sp
- ror -1,x
- ror -1,y
- ror -16,sp
- ror -16,x
- ror -16,y
- ror -17,sp
- ror -17,x
- ror -17,y
- ror -small,pc
- ror -small,sp
- ror -small,x
- ror -small,y
- ror 0,pc
- ror 0,sp
- ror 0,x
- ror 0,y
- ror 1,sp+
- ror 1,x+
- ror 1,y+
- ror 1,sp
- ror 1,x
- ror 1,y
- ror 1,sp-
- ror 1,x-
- ror 1,y-
- ror 125,pc
- ror 125,sp
- ror 125,x
- ror 125,y
- ror 15,sp
- ror 15,x
- ror 15,y
- ror 16,sp
- ror 16,x
- ror 16,y
- ror 8,sp+
- ror 8,x+
- ror 8,y+
- ror 8,sp-
- ror 8,x-
- ror 8,y-
- ror a,sp
- ror a,x
- ror a,y
- ror b,sp
- ror b,x
- ror b,y
- ror d,sp
- ror d,x
- ror d,y
- ror dir
- ror ext
- ror ext
- ror ext,sp
- ror ext,x
- ror ext,y
- ror ind,pc
- ror ind,sp
- ror ind,x
- ror ind,y
- ror small,pc
- ror small,sp
- ror small,x
- ror small,y
-
- rorw 1,+sp ;s12x green
- rorw 1,+x ;s12x green
- rorw 1,+y ;s12x green
- rorw 8,+sp ;s12x green
- rorw 8,+x ;s12x green
- rorw 8,+y ;s12x green
- rorw ,pc ;s12x green
- rorw ,sp ;s12x green
- rorw ,x ;s12x green
- rorw ,y ;s12x green
- rorw 1,-sp ;s12x green
- rorw 1,-x ;s12x green
- rorw 1,-y ;s12x green
- rorw 8,-sp ;s12x green
- rorw 8,-x ;s12x green
- rorw 8,-y ;s12x green
- rorw -1,sp ;s12x green
- rorw -1,x ;s12x green
- rorw -1,y ;s12x green
- rorw -16,sp ;s12x green
- rorw -16,x ;s12x green
- rorw -16,y ;s12x green
- rorw -17,sp ;s12x green
- rorw -17,x ;s12x green
- rorw -17,y ;s12x green
- rorw -small,pc ;s12x green
- rorw -small,sp ;s12x green
- rorw -small,x ;s12x green
- rorw -small,y ;s12x green
- rorw 0,pc ;s12x green
- rorw 0,sp ;s12x green
- rorw 0,x ;s12x green
- rorw 0,y ;s12x green
- rorw 1,sp+ ;s12x green
- rorw 1,x+ ;s12x green
- rorw 1,y+ ;s12x green
- rorw 1,sp ;s12x green
- rorw 1,x ;s12x green
- rorw 1,y ;s12x green
- rorw 1,sp- ;s12x green
- rorw 1,x- ;s12x green
- rorw 1,y- ;s12x green
- rorw 125,pc ;s12x green
- rorw 125,sp ;s12x green
- rorw 125,x ;s12x green
- rorw 125,y ;s12x green
- rorw 15,sp ;s12x green
- rorw 15,x ;s12x green
- rorw 15,y ;s12x green
- rorw 16,sp ;s12x green
- rorw 16,x ;s12x green
- rorw 16,y ;s12x green
- rorw 8,sp+ ;s12x green
- rorw 8,x+ ;s12x green
- rorw 8,y+ ;s12x green
- rorw 8,sp- ;s12x green
- rorw 8,x- ;s12x green
- rorw 8,y- ;s12x green
- rorw a,sp ;s12x green
- rorw a,x ;s12x green
- rorw a,y ;s12x green
- rorw b,sp ;s12x green
- rorw b,x ;s12x green
- rorw b,y ;s12x green
- rorw d,sp ;s12x green
- rorw d,x ;s12x green
- rorw d,y ;s12x green
- rorw dir ;s12x green
- rorw ext ;s12x green
- rorw ext ;s12x green
- rorw ext,sp ;s12x green
- rorw ext,x ;s12x green
- rorw ext,y ;s12x green
- rorw ind,pc ;s12x green
- rorw ind,sp ;s12x green
- rorw ind,x ;s12x green
- rorw ind,y ;s12x green
- rorw small,pc ;s12x green
- rorw small,sp ;s12x green
- rorw small,x ;s12x green
- rorw small,y ;s12x green
-
- rora
- rorb
-
- rorx ;s12x yellow
- rory ;s12x yellow
-
- rti
- rts
- sba
- sbca #immed
- sbca 1,+sp
- sbca 1,+x
- sbca 1,+y
- sbca 8,+sp
- sbca 8,+x
- sbca 8,+y
- sbca ,pc
- sbca ,sp
- sbca ,x
- sbca ,y
- sbca 1,-sp
- sbca 1,-x
- sbca 1,-y
- sbca 8,-sp
- sbca 8,-x
- sbca 8,-y
- sbca -1,sp
- sbca -1,x
- sbca -1,y
- sbca -16,sp
- sbca -16,x
- sbca -16,y
- sbca -17,sp
- sbca -17,x
- sbca -17,y
- sbca -small,pc
- sbca -small,sp
- sbca -small,x
- sbca -small,y
- sbca 0,pc
- sbca 0,sp
- sbca 0,x
- sbca 0,y
- sbca 1,sp+
- sbca 1,x+
- sbca 1,y+
- sbca 1,sp
- sbca 1,x
- sbca 1,y
- sbca 1,sp-
- sbca 1,x-
- sbca 1,y-
- sbca 125,pc
- sbca 125,sp
- sbca 125,x
- sbca 125,y
- sbca 15,sp
- sbca 15,x
- sbca 15,y
- sbca 16,sp
- sbca 16,x
- sbca 16,y
- sbca 8,sp+
- sbca 8,x+
- sbca 8,y+
- sbca 8,sp-
- sbca 8,x-
- sbca 8,y-
- sbca a,sp
- sbca a,x
- sbca a,y
- sbca b,sp
- sbca b,x
- sbca b,y
- sbca d,sp
- sbca d,x
- sbca d,y
- sbca dir
- sbca dir
- sbca ext
- sbca ext
- sbca ext,sp
- sbca ext,x
- sbca ext,y
- sbca ind,pc
- sbca ind,sp
- sbca ind,x
- sbca ind,y
- sbca small,pc
- sbca small,sp
- sbca small,x
- sbca small,y
-
- sbex #immed ;s12x yellow
- sbex 1,+sp ;s12x yellow
- sbex 1,+x ;s12x yellow
- sbex 1,+y ;s12x yellow
- sbex 8,+sp ;s12x yellow
- sbex 8,+x ;s12x yellow
- sbex 8,+y ;s12x yellow
- sbex ,pc ;s12x yellow
- sbex ,sp ;s12x yellow
- sbex ,x ;s12x yellow
- sbex ,y ;s12x yellow
- sbex 1,-sp ;s12x yellow
- sbex 1,-x ;s12x yellow
- sbex 1,-y ;s12x yellow
- sbex 8,-sp ;s12x yellow
- sbex 8,-x ;s12x yellow
- sbex 8,-y ;s12x yellow
- sbex -1,sp ;s12x yellow
- sbex -1,x ;s12x yellow
- sbex -1,y ;s12x yellow
- sbex -16,sp ;s12x yellow
- sbex -16,x ;s12x yellow
- sbex -16,y ;s12x yellow
- sbex -17,sp ;s12x yellow
- sbex -17,x ;s12x yellow
- sbex -17,y ;s12x yellow
- sbex -small,pc ;s12x yellow
- sbex -small,sp ;s12x yellow
- sbex -small,x ;s12x yellow
- sbex -small,y ;s12x yellow
- sbex 0,pc ;s12x yellow
- sbex 0,sp ;s12x yellow
- sbex 0,x ;s12x yellow
- sbex 0,y ;s12x yellow
- sbex 1,sp+ ;s12x yellow
- sbex 1,x+ ;s12x yellow
- sbex 1,y+ ;s12x yellow
- sbex 1,sp ;s12x yellow
- sbex 1,x ;s12x yellow
- sbex 1,y ;s12x yellow
- sbex 1,sp- ;s12x yellow
- sbex 1,x- ;s12x yellow
- sbex 1,y- ;s12x yellow
- sbex 125,pc ;s12x yellow
- sbex 125,sp ;s12x yellow
- sbex 125,x ;s12x yellow
- sbex 125,y ;s12x yellow
- sbex 15,sp ;s12x yellow
- sbex 15,x ;s12x yellow
- sbex 15,y ;s12x yellow
- sbex 16,sp ;s12x yellow
- sbex 16,x ;s12x yellow
- sbex 16,y ;s12x yellow
- sbex 8,sp+ ;s12x yellow
- sbex 8,x+ ;s12x yellow
- sbex 8,y+ ;s12x yellow
- sbex 8,sp- ;s12x yellow
- sbex 8,x- ;s12x yellow
- sbex 8,y- ;s12x yellow
- sbex a,sp ;s12x yellow
- sbex a,x ;s12x yellow
- sbex a,y ;s12x yellow
- sbex b,sp ;s12x yellow
- sbex b,x ;s12x yellow
- sbex b,y ;s12x yellow
- sbex d,sp ;s12x yellow
- sbex d,x ;s12x yellow
- sbex d,y ;s12x yellow
- sbex dir ;s12x yellow
- sbex dir ;s12x yellow
- sbex ext ;s12x yellow
- sbex ext ;s12x yellow
- sbex ext,sp ;s12x yellow
- sbex ext,x ;s12x yellow
- sbex ext,y ;s12x yellow
- sbex ind,pc ;s12x yellow
- sbex ind,sp ;s12x yellow
- sbex ind,x ;s12x yellow
- sbex ind,y ;s12x yellow
- sbex small,pc ;s12x yellow
- sbex small,sp ;s12x yellow
- sbex small,x ;s12x yellow
- sbex small,y ;s12x yellow
-
- sbcb #immed
- sbcb 1,+sp
- sbcb 1,+x
- sbcb 1,+y
- sbcb 8,+sp
- sbcb 8,+x
- sbcb 8,+y
- sbcb ,pc
- sbcb ,sp
- sbcb ,x
- sbcb ,y
- sbcb 1,-sp
- sbcb 1,-x
- sbcb 1,-y
- sbcb 8,-sp
- sbcb 8,-x
- sbcb 8,-y
- sbcb -1,sp
- sbcb -1,x
- sbcb -1,y
- sbcb -16,sp
- sbcb -16,x
- sbcb -16,y
- sbcb -17,sp
- sbcb -17,x
- sbcb -17,y
- sbcb -small,pc
- sbcb -small,sp
- sbcb -small,x
- sbcb -small,y
- sbcb 0,pc
- sbcb 0,sp
- sbcb 0,x
- sbcb 0,y
- sbcb 1,sp+
- sbcb 1,x+
- sbcb 1,y+
- sbcb 1,sp
- sbcb 1,x
- sbcb 1,y
- sbcb 1,sp-
- sbcb 1,x-
- sbcb 1,y-
- sbcb 125,pc
- sbcb 125,sp
- sbcb 125,x
- sbcb 125,y
- sbcb 15,sp
- sbcb 15,x
- sbcb 15,y
- sbcb 16,sp
- sbcb 16,x
- sbcb 16,y
- sbcb 8,sp+
- sbcb 8,x+
- sbcb 8,y+
- sbcb 8,sp-
- sbcb 8,x-
- sbcb 8,y-
- sbcb a,sp
- sbcb a,x
- sbcb a,y
- sbcb b,sp
- sbcb b,x
- sbcb b,y
- sbcb d,sp
- sbcb d,x
- sbcb d,y
- sbcb dir
- sbcb dir
- sbcb ext
- sbcb ext
- sbcb ext,sp
- sbcb ext,x
- sbcb ext,y
- sbcb ind,pc
- sbcb ind,sp
- sbcb ind,x
- sbcb ind,y
- sbcb small,pc
- sbcb small,sp
- sbcb small,x
- sbcb small,y
-
- sbey #immed ;s12x yellow
- sbey 1,+sp ;s12x yellow
- sbey 1,+x ;s12x yellow
- sbey 1,+y ;s12x yellow
- sbey 8,+sp ;s12x yellow
- sbey 8,+x ;s12x yellow
- sbey 8,+y ;s12x yellow
- sbey ,pc ;s12x yellow
- sbey ,sp ;s12x yellow
- sbey ,x ;s12x yellow
- sbey ,y ;s12x yellow
- sbey 1,-sp ;s12x yellow
- sbey 1,-x ;s12x yellow
- sbey 1,-y ;s12x yellow
- sbey 8,-sp ;s12x yellow
- sbey 8,-x ;s12x yellow
- sbey 8,-y ;s12x yellow
- sbey -1,sp ;s12x yellow
- sbey -1,x ;s12x yellow
- sbey -1,y ;s12x yellow
- sbey -16,sp ;s12x yellow
- sbey -16,x ;s12x yellow
- sbey -16,y ;s12x yellow
- sbey -17,sp ;s12x yellow
- sbey -17,x ;s12x yellow
- sbey -17,y ;s12x yellow
- sbey -small,pc ;s12x yellow
- sbey -small,sp ;s12x yellow
- sbey -small,x ;s12x yellow
- sbey -small,y ;s12x yellow
- sbey 0,pc ;s12x yellow
- sbey 0,sp ;s12x yellow
- sbey 0,x ;s12x yellow
- sbey 0,y ;s12x yellow
- sbey 1,sp+ ;s12x yellow
- sbey 1,x+ ;s12x yellow
- sbey 1,y+ ;s12x yellow
- sbey 1,sp ;s12x yellow
- sbey 1,x ;s12x yellow
- sbey 1,y ;s12x yellow
- sbey 1,sp- ;s12x yellow
- sbey 1,x- ;s12x yellow
- sbey 1,y- ;s12x yellow
- sbey 125,pc ;s12x yellow
- sbey 125,sp ;s12x yellow
- sbey 125,x ;s12x yellow
- sbey 125,y ;s12x yellow
- sbey 15,sp ;s12x yellow
- sbey 15,x ;s12x yellow
- sbey 15,y ;s12x yellow
- sbey 16,sp ;s12x yellow
- sbey 16,x ;s12x yellow
- sbey 16,y ;s12x yellow
- sbey 8,sp+ ;s12x yellow
- sbey 8,x+ ;s12x yellow
- sbey 8,y+ ;s12x yellow
- sbey 8,sp- ;s12x yellow
- sbey 8,x- ;s12x yellow
- sbey 8,y- ;s12x yellow
- sbey a,sp ;s12x yellow
- sbey a,x ;s12x yellow
- sbey a,y ;s12x yellow
- sbey b,sp ;s12x yellow
- sbey b,x ;s12x yellow
- sbey b,y ;s12x yellow
- sbey d,sp ;s12x yellow
- sbey d,x ;s12x yellow
- sbey d,y ;s12x yellow
- sbey dir ;s12x yellow
- sbey dir ;s12x yellow
- sbey ext ;s12x yellow
- sbey ext ;s12x yellow
- sbey ext,sp ;s12x yellow
- sbey ext,x ;s12x yellow
- sbey ext,y ;s12x yellow
- sbey ind,pc ;s12x yellow
- sbey ind,sp ;s12x yellow
- sbey ind,x ;s12x yellow
- sbey ind,y ;s12x yellow
- sbey small,pc ;s12x yellow
- sbey small,sp ;s12x yellow
- sbey small,x ;s12x yellow
- sbey small,y ;s12x yellow
-
- sec
- sei
- sev
- sex a d
- sex a sp
- sex a,sp
- sex a x
- sex a,x
- sex a y
- sex a,y
- sex b d
- sex b sp
- sex b,sp
- sex b x
- sex b,x
- sex b y
- sex b,y
- sex ccr d
- sex ccr sp
- sex ccr x
- sex ccr y
- staa 1,+sp
- staa 1,+x
- staa 1,+y
- staa 8,+sp
- staa 8,+x
- staa 8,+y
- staa ,pc
- staa ,sp
- staa ,x
- staa ,y
- staa 1,-sp
- staa 1,-x
- staa 1,-y
- staa 8,-sp
- staa 8,-x
- staa 8,-y
- staa -1,sp
- staa -1,x
- staa -1,y
- staa -16,sp
- staa -16,x
- staa -16,y
- staa -17,sp
- staa -17,x
- staa -17,y
- staa -small,pc
- staa -small,sp
- staa -small,x
- staa -small,y
- staa 0,pc
- staa 0,sp
- staa 0,x
- staa 0,y
- staa 1,sp+
- staa 1,x+
- staa 1,y+
- staa 1,sp
- staa 1,x
- staa 1,y
- staa 1,sp-
- staa 1,x-
- staa 1,y-
- staa 125,pc
- staa 125,sp
- staa 125,x
- staa 125,y
- staa 15,sp
- staa 15,x
- staa 15,y
- staa 16,sp
- staa 16,x
- staa 16,y
- staa 8,sp+
- staa 8,x+
- staa 8,y+
- staa 8,sp-
- staa 8,x-
- staa 8,y-
- staa a,sp
- staa a,x
- staa a,y
- staa b,sp
- staa b,x
- staa b,y
- staa d,sp
- staa d,x
- staa d,y
- staa dir
- staa dir
- staa ext
- staa ext
- staa ext,sp
- staa ext,x
- staa ext,y
- staa ind,pc
- staa ind,sp
- staa ind,x
- staa ind,y
- staa small,pc
- staa small,sp
- staa small,x
- staa small,y
- stab 1,+sp
- stab 1,+x
- stab 1,+y
- stab 8,+sp
- stab 8,+x
- stab 8,+y
- stab ,pc
- stab ,sp
- stab ,x
- stab ,y
- stab 1,-sp
- stab 1,-x
- stab 1,-y
- stab 8,-sp
- stab 8,-x
- stab 8,-y
- stab -1,sp
- stab -1,x
- stab -1,y
- stab -16,sp
- stab -16,x
- stab -16,y
- stab -17,sp
- stab -17,x
- stab -17,y
- stab -small,pc
- stab -small,sp
- stab -small,x
- stab -small,y
- stab 0,pc
- stab 0,sp
- stab 0,x
- stab 0,y
- stab 1,sp+
- stab 1,x+
- stab 1,y+
- stab 1,sp
- stab 1,x
- stab 1,y
- stab 1,sp-
- stab 1,x-
- stab 1,y-
- stab 125,pc
- stab 125,sp
- stab 125,x
- stab 125,y
- stab 15,sp
- stab 15,x
- stab 15,y
- stab 16,sp
- stab 16,x
- stab 16,y
- stab 8,sp+
- stab 8,x+
- stab 8,y+
- stab 8,sp-
- stab 8,x-
- stab 8,y-
- stab a,sp
- stab a,x
- stab a,y
- stab b,sp
- stab b,x
- stab b,y
- stab d,sp
- stab d,x
- stab d,y
- stab dir
- stab dir
- stab ext
- stab ext
- stab ext,sp
- stab ext,x
- stab ext,y
- stab ind,pc
- stab ind,sp
- stab ind,x
- stab ind,y
- stab small,pc
- stab small,sp
- stab small,x
- stab small,y
- std 1,+sp
- std 1,+x
- std 1,+y
- std 8,+sp
- std 8,+x
- std 8,+y
- std ,pc
- std ,sp
- std ,x
- std ,y
- std 1,-sp
- std 1,-x
- std 1,-y
- std 8,-sp
- std 8,-x
- std 8,-y
- std -1,sp
- std -1,x
- std -1,y
- std -16,sp
- std -16,x
- std -16,y
- std -17,sp
- std -17,x
- std -17,y
- std -small,pc
- std -small,sp
- std -small,x
- std -small,y
- std 0,pc
- std 0,sp
- std 0,x
- std 0,y
- std 1,sp+
- std 1,x+
- std 1,y+
- std 1,sp
- std 1,x
- std 1,y
- std 1,sp-
- std 1,x-
- std 1,y-
- std 125,pc
- std 125,sp
- std 125,x
- std 125,y
- std 15,sp
- std 15,x
- std 15,y
- std 16,sp
- std 16,x
- std 16,y
- std 8,sp+
- std 8,x+
- std 8,y+
- std 8,sp-
- std 8,x-
- std 8,y-
- std a,sp
- std a,x
- std a,y
- std b,sp
- std b,x
- std b,y
- std d,sp
- std d,x
- std d,y
- std dir
- std dir
- std ext
- std ext
- std ext,sp
- std ext,x
- std ext,y
- std ind,pc
- std ind,sp
- std ind,x
- std ind,y
- std small,pc
- std small,sp
- std small,x
- std small,y
- stop
- sts 1,+sp
- sts 1,+x
- sts 1,+y
- sts 8,+sp
- sts 8,+x
- sts 8,+y
- sts ,pc
- sts ,sp
- sts ,x
- sts ,y
- sts 1,-sp
- sts 1,-x
- sts 1,-y
- sts 8,-sp
- sts 8,-x
- sts 8,-y
- sts -1,sp
- sts -1,x
- sts -1,y
- sts -16,sp
- sts -16,x
- sts -16,y
- sts -17,sp
- sts -17,x
- sts -17,y
- sts -small,pc
- sts -small,sp
- sts -small,x
- sts -small,y
- sts 0,pc
- sts 0,sp
- sts 0,x
- sts 0,y
- sts 1,sp+
- sts 1,x+
- sts 1,y+
- sts 1,sp
- sts 1,x
- sts 1,y
- sts 1,sp-
- sts 1,x-
- sts 1,y-
- sts 125,pc
- sts 125,sp
- sts 125,x
- sts 125,y
- sts 15,sp
- sts 15,x
- sts 15,y
- sts 16,sp
- sts 16,x
- sts 16,y
- sts 8,sp+
- sts 8,x+
- sts 8,y+
- sts 8,sp-
- sts 8,x-
- sts 8,y-
- sts a,sp
- sts a,x
- sts a,y
- sts b,sp
- sts b,x
- sts b,y
- sts d,sp
- sts d,x
- sts d,y
- sts dir
- sts ext
- sts ext,sp
- sts ext,x
- sts ext,y
- sts ind,pc
- sts ind,sp
- sts ind,x
- sts ind,y
- sts small,pc
- sts small,sp
- sts small,x
- sts small,y
- stx 1,+sp
- stx 1,+x
- stx 1,+y
- stx 8,+sp
- stx 8,+x
- stx 8,+y
- stx ,pc
- stx ,sp
- stx ,x
- stx ,y
- stx 1,-sp
- stx 1,-x
- stx 1,-y
- stx 8,-sp
- stx 8,-x
- stx 8,-y
- stx -1,sp
- stx -1,x
- stx -1,y
- stx -16,sp
- stx -16,x
- stx -16,y
- stx -17,sp
- stx -17,x
- stx -17,y
- stx -small,pc
- stx -small,sp
- stx -small,x
- stx -small,y
- stx 0,pc
- stx 0,sp
- stx 0,x
- stx 0,y
- stx 1,sp+
- stx 1,x+
- stx 1,y+
- stx 1,sp
- stx 1,x
- stx 1,y
- stx 1,sp-
- stx 1,x-
- stx 1,y-
- stx 125,pc
- stx 125,sp
- stx 125,x
- stx 125,y
- stx 15,sp
- stx 15,x
- stx 15,y
- stx 16,sp
- stx 16,x
- stx 16,y
- stx 8,sp+
- stx 8,x+
- stx 8,y+
- stx 8,sp-
- stx 8,x-
- stx 8,y-
- stx a,sp
- stx a,x
- stx a,y
- stx b,sp
- stx b,x
- stx b,y
- stx d,sp
- stx d,x
- stx d,y
- stx dir
- stx dir
- stx ext
- stx ext
- stx ext,sp
- stx ext,x
- stx ext,y
- stx ind,pc
- stx ind,sp
- stx ind,x
- stx ind,y
- stx small,pc
- stx small,sp
- stx small,x
- stx small,y
- sty 1,+sp
- sty 1,+x
- sty 1,+y
- sty 8,+sp
- sty 8,+x
- sty 8,+y
- sty ,pc
- sty ,sp
- sty ,x
- sty ,y
- sty 1,-sp
- sty 1,-x
- sty 1,-y
- sty 8,-sp
- sty 8,-x
- sty 8,-y
- sty -1,sp
- sty -1,x
- sty -1,y
- sty -16,sp
- sty -16,x
- sty -16,y
- sty -17,sp
- sty -17,x
- sty -17,y
- sty -small,pc
- sty -small,sp
- sty -small,x
- sty -small,y
- sty 0,pc
- sty 0,sp
- sty 0,x
- sty 0,y
- sty 1,sp+
- sty 1,x+
- sty 1,y+
- sty 1,sp
- sty 1,x
- sty 1,y
- sty 1,sp-
- sty 1,x-
- sty 1,y-
- sty 125,pc
- sty 125,sp
- sty 125,x
- sty 125,y
- sty 15,sp
- sty 15,x
- sty 15,y
- sty 16,sp
- sty 16,x
- sty 16,y
- sty 8,sp+
- sty 8,x+
- sty 8,y+
- sty 8,sp-
- sty 8,x-
- sty 8,y-
- sty a,sp
- sty a,x
- sty a,y
- sty b,sp
- sty b,x
- sty b,y
- sty d,sp
- sty d,x
- sty d,y
- sty dir
- sty dir
- sty ext
- sty ext
- sty ext,sp
- sty ext,x
- sty ext,y
- sty ind,pc
- sty ind,sp
- sty ind,x
- sty ind,y
- sty small,pc
- sty small,sp
- sty small,x
- sty small,y
-
- ORG $8000
- gstaa 1,+sp ;s12x cyan
- gstaa 1,+x ;s12x cyan
- gstaa 1,+y ;s12x cyan
- gstaa 8,+sp ;s12x cyan
- gstaa 8,+x ;s12x cyan
- gstaa 8,+y ;s12x cyan
- gstaa ,pc ;s12x cyan
- gstaa ,sp ;s12x cyan
- gstaa ,x ;s12x cyan
- gstaa ,y ;s12x cyan
- gstaa 1,-sp ;s12x cyan
- gstaa 1,-x ;s12x cyan
- gstaa 1,-y ;s12x cyan
- gstaa 8,-sp ;s12x cyan
- gstaa 8,-x ;s12x cyan
- gstaa 8,-y ;s12x cyan
- gstaa -1,sp ;s12x cyan
- gstaa -1,x ;s12x cyan
- gstaa -1,y ;s12x cyan
- gstaa -16,sp ;s12x cyan
- gstaa -16,x ;s12x cyan
- gstaa -16,y ;s12x cyan
- gstaa -17,sp ;s12x cyan
- gstaa -17,x ;s12x cyan
- gstaa -17,y ;s12x cyan
- gstaa -small,pc ;s12x cyan
- gstaa -small,sp ;s12x cyan
- gstaa -small,x ;s12x cyan
- gstaa -small,y ;s12x cyan
- gstaa 0,pc ;s12x cyan
- gstaa 0,sp ;s12x cyan
- gstaa 0,x ;s12x cyan
- gstaa 0,y ;s12x cyan
- gstaa 1,sp+ ;s12x cyan
- gstaa 1,x+ ;s12x cyan
- gstaa 1,y+ ;s12x cyan
- gstaa 1,sp ;s12x cyan
- gstaa 1,x ;s12x cyan
- gstaa 1,y ;s12x cyan
- gstaa 1,sp- ;s12x cyan
- gstaa 1,x- ;s12x cyan
- gstaa 1,y- ;s12x cyan
- gstaa 125,pc ;s12x cyan
- gstaa 125,sp ;s12x cyan
- gstaa 125,x ;s12x cyan
- gstaa 125,y ;s12x cyan
- gstaa 15,sp ;s12x cyan
- gstaa 15,x ;s12x cyan
- gstaa 15,y ;s12x cyan
- gstaa 16,sp ;s12x cyan
- gstaa 16,x ;s12x cyan
- gstaa 16,y ;s12x cyan
- gstaa 8,sp+ ;s12x cyan
- gstaa 8,x+ ;s12x cyan
- gstaa 8,y+ ;s12x cyan
- gstaa 8,sp- ;s12x cyan
- gstaa 8,x- ;s12x cyan
- gstaa 8,y- ;s12x cyan
- gstaa a,sp ;s12x cyan
- gstaa a,x ;s12x cyan
- gstaa a,y ;s12x cyan
- gstaa b,sp ;s12x cyan
- gstaa b,x ;s12x cyan
- gstaa b,y ;s12x cyan
- gstaa d,sp ;s12x cyan
- gstaa d,x ;s12x cyan
- gstaa d,y ;s12x cyan
- gstaa dir ;s12x cyan
- gstaa dir ;s12x cyan
- gstaa ext ;s12x cyan
- gstaa ext ;s12x cyan
- gstaa ext,sp ;s12x cyan
- gstaa ext,x ;s12x cyan
- gstaa ext,y ;s12x cyan
- gstaa ind,pc ;s12x cyan
- gstaa ind,sp ;s12x cyan
- gstaa ind,x ;s12x cyan
- gstaa ind,y ;s12x cyan
- gstaa small,pc ;s12x cyan
- gstaa small,sp ;s12x cyan
- gstaa small,x ;s12x cyan
- gstaa small,y ;s12x cyan
- gstab 1,+sp ;s12x cyan
- gstab 1,+x ;s12x cyan
- gstab 1,+y ;s12x cyan
- gstab 8,+sp ;s12x cyan
- gstab 8,+x ;s12x cyan
- gstab 8,+y ;s12x cyan
- gstab ,pc ;s12x cyan
- gstab ,sp ;s12x cyan
- gstab ,x ;s12x cyan
- gstab ,y ;s12x cyan
- gstab 1,-sp ;s12x cyan
- gstab 1,-x ;s12x cyan
- gstab 1,-y ;s12x cyan
- gstab 8,-sp ;s12x cyan
- gstab 8,-x ;s12x cyan
- gstab 8,-y ;s12x cyan
- gstab -1,sp ;s12x cyan
- gstab -1,x ;s12x cyan
- gstab -1,y ;s12x cyan
- gstab -16,sp ;s12x cyan
- gstab -16,x ;s12x cyan
- gstab -16,y ;s12x cyan
- gstab -17,sp ;s12x cyan
- gstab -17,x ;s12x cyan
- gstab -17,y ;s12x cyan
- gstab -small,pc ;s12x cyan
- gstab -small,sp ;s12x cyan
- gstab -small,x ;s12x cyan
- gstab -small,y ;s12x cyan
- gstab 0,pc ;s12x cyan
- gstab 0,sp ;s12x cyan
- gstab 0,x ;s12x cyan
- gstab 0,y ;s12x cyan
- gstab 1,sp+ ;s12x cyan
- gstab 1,x+ ;s12x cyan
- gstab 1,y+ ;s12x cyan
- gstab 1,sp ;s12x cyan
- gstab 1,x ;s12x cyan
- gstab 1,y ;s12x cyan
- gstab 1,sp- ;s12x cyan
- gstab 1,x- ;s12x cyan
- gstab 1,y- ;s12x cyan
- gstab 125,pc ;s12x cyan
- gstab 125,sp ;s12x cyan
- gstab 125,x ;s12x cyan
- gstab 125,y ;s12x cyan
- gstab 15,sp ;s12x cyan
- gstab 15,x ;s12x cyan
- gstab 15,y ;s12x cyan
- gstab 16,sp ;s12x cyan
- gstab 16,x ;s12x cyan
- gstab 16,y ;s12x cyan
- gstab 8,sp+ ;s12x cyan
- gstab 8,x+ ;s12x cyan
- gstab 8,y+ ;s12x cyan
- gstab 8,sp- ;s12x cyan
- gstab 8,x- ;s12x cyan
- gstab 8,y- ;s12x cyan
- gstab a,sp ;s12x cyan
- gstab a,x ;s12x cyan
- gstab a,y ;s12x cyan
- gstab b,sp ;s12x cyan
- gstab b,x ;s12x cyan
- gstab b,y ;s12x cyan
- gstab d,sp ;s12x cyan
- gstab d,x ;s12x cyan
- gstab d,y ;s12x cyan
- gstab dir ;s12x cyan
- gstab dir ;s12x cyan
- gstab ext ;s12x cyan
- gstab ext ;s12x cyan
- gstab ext,sp ;s12x cyan
- gstab ext,x ;s12x cyan
- gstab ext,y ;s12x cyan
- gstab ind,pc ;s12x cyan
- gstab ind,sp ;s12x cyan
- gstab ind,x ;s12x cyan
- gstab ind,y ;s12x cyan
- gstab small,pc ;s12x cyan
- gstab small,sp ;s12x cyan
- gstab small,x ;s12x cyan
- gstab small,y ;s12x cyan
- gstd 1,+sp ;s12x cyan
- gstd 1,+x ;s12x cyan
- gstd 1,+y ;s12x cyan
- gstd 8,+sp ;s12x cyan
- gstd 8,+x ;s12x cyan
- gstd 8,+y ;s12x cyan
- gstd ,pc ;s12x cyan
- gstd ,sp ;s12x cyan
- gstd ,x ;s12x cyan
- gstd ,y ;s12x cyan
- gstd 1,-sp ;s12x cyan
- gstd 1,-x ;s12x cyan
- gstd 1,-y ;s12x cyan
- gstd 8,-sp ;s12x cyan
- gstd 8,-x ;s12x cyan
- gstd 8,-y ;s12x cyan
- gstd -1,sp ;s12x cyan
- gstd -1,x ;s12x cyan
- gstd -1,y ;s12x cyan
- gstd -16,sp ;s12x cyan
- gstd -16,x ;s12x cyan
- gstd -16,y ;s12x cyan
- gstd -17,sp ;s12x cyan
- gstd -17,x ;s12x cyan
- gstd -17,y ;s12x cyan
- gstd -small,pc ;s12x cyan
- gstd -small,sp ;s12x cyan
- gstd -small,x ;s12x cyan
- gstd -small,y ;s12x cyan
- gstd 0,pc ;s12x cyan
- gstd 0,sp ;s12x cyan
- gstd 0,x ;s12x cyan
- gstd 0,y ;s12x cyan
- gstd 1,sp+ ;s12x cyan
- gstd 1,x+ ;s12x cyan
- gstd 1,y+ ;s12x cyan
- gstd 1,sp ;s12x cyan
- gstd 1,x ;s12x cyan
- gstd 1,y ;s12x cyan
- gstd 1,sp- ;s12x cyan
- gstd 1,x- ;s12x cyan
- gstd 1,y- ;s12x cyan
- gstd 125,pc ;s12x cyan
- gstd 125,sp ;s12x cyan
- gstd 125,x ;s12x cyan
- gstd 125,y ;s12x cyan
- gstd 15,sp ;s12x cyan
- gstd 15,x ;s12x cyan
- gstd 15,y ;s12x cyan
- gstd 16,sp ;s12x cyan
- gstd 16,x ;s12x cyan
- gstd 16,y ;s12x cyan
- gstd 8,sp+ ;s12x cyan
- gstd 8,x+ ;s12x cyan
- gstd 8,y+ ;s12x cyan
- gstd 8,sp- ;s12x cyan
- gstd 8,x- ;s12x cyan
- gstd 8,y- ;s12x cyan
- gstd a,sp ;s12x cyan
- gstd a,x ;s12x cyan
- gstd a,y ;s12x cyan
- gstd b,sp ;s12x cyan
- gstd b,x ;s12x cyan
- gstd b,y ;s12x cyan
- gstd d,sp ;s12x cyan
- gstd d,x ;s12x cyan
- gstd d,y ;s12x cyan
- gstd dir ;s12x cyan
- gstd dir ;s12x cyan
- gstd ext ;s12x cyan
- gstd ext ;s12x cyan
- gstd ext,sp ;s12x cyan
- gstd ext,x ;s12x cyan
- gstd ext,y ;s12x cyan
- gstd ind,pc ;s12x cyan
- gstd ind,sp ;s12x cyan
- gstd ind,x ;s12x cyan
- gstd ind,y ;s12x cyan
- gstd small,pc ;s12x cyan
- gstd small,sp ;s12x cyan
- gstd small,x ;s12x cyan
- gstd small,y ;s12x cyan
- gsts 1,+sp ;s12x cyan
- gsts 1,+x ;s12x cyan
- gsts 1,+y ;s12x cyan
- gsts 8,+sp ;s12x cyan
- gsts 8,+x ;s12x cyan
- gsts 8,+y ;s12x cyan
- gsts ,pc ;s12x cyan
- gsts ,sp ;s12x cyan
- gsts ,x ;s12x cyan
- gsts ,y ;s12x cyan
- gsts 1,-sp ;s12x cyan
- gsts 1,-x ;s12x cyan
- gsts 1,-y ;s12x cyan
- gsts 8,-sp ;s12x cyan
- gsts 8,-x ;s12x cyan
- gsts 8,-y ;s12x cyan
- gsts -1,sp ;s12x cyan
- gsts -1,x ;s12x cyan
- gsts -1,y ;s12x cyan
- gsts -16,sp ;s12x cyan
- gsts -16,x ;s12x cyan
- gsts -16,y ;s12x cyan
- gsts -17,sp ;s12x cyan
- gsts -17,x ;s12x cyan
- gsts -17,y ;s12x cyan
- gsts -small,pc ;s12x cyan
- gsts -small,sp ;s12x cyan
- gsts -small,x ;s12x cyan
- gsts -small,y ;s12x cyan
- gsts 0,pc ;s12x cyan
- gsts 0,sp ;s12x cyan
- gsts 0,x ;s12x cyan
- gsts 0,y ;s12x cyan
- gsts 1,sp+ ;s12x cyan
- gsts 1,x+ ;s12x cyan
- gsts 1,y+ ;s12x cyan
- gsts 1,sp ;s12x cyan
- gsts 1,x ;s12x cyan
- gsts 1,y ;s12x cyan
- gsts 1,sp- ;s12x cyan
- gsts 1,x- ;s12x cyan
- gsts 1,y- ;s12x cyan
- gsts 125,pc ;s12x cyan
- gsts 125,sp ;s12x cyan
- gsts 125,x ;s12x cyan
- gsts 125,y ;s12x cyan
- gsts 15,sp ;s12x cyan
- gsts 15,x ;s12x cyan
- gsts 15,y ;s12x cyan
- gsts 16,sp ;s12x cyan
- gsts 16,x ;s12x cyan
- gsts 16,y ;s12x cyan
- gsts 8,sp+ ;s12x cyan
- gsts 8,x+ ;s12x cyan
- gsts 8,y+ ;s12x cyan
- gsts 8,sp- ;s12x cyan
- gsts 8,x- ;s12x cyan
- gsts 8,y- ;s12x cyan
- gsts a,sp ;s12x cyan
- gsts a,x ;s12x cyan
- gsts a,y ;s12x cyan
- gsts b,sp ;s12x cyan
- gsts b,x ;s12x cyan
- gsts b,y ;s12x cyan
- gsts d,sp ;s12x cyan
- gsts d,x ;s12x cyan
- gsts d,y ;s12x cyan
- gsts dir ;s12x cyan
- gsts ext ;s12x cyan
- gsts ext,sp ;s12x cyan
- gsts ext,x ;s12x cyan
- gsts ext,y ;s12x cyan
- gsts ind,pc ;s12x cyan
- gsts ind,sp ;s12x cyan
- gsts ind,x ;s12x cyan
- gsts ind,y ;s12x cyan
- gsts small,pc ;s12x cyan
- gsts small,sp ;s12x cyan
- gsts small,x ;s12x cyan
- gsts small,y ;s12x cyan
- gstx 1,+sp ;s12x cyan
- gstx 1,+x ;s12x cyan
- gstx 1,+y ;s12x cyan
- gstx 8,+sp ;s12x cyan
- gstx 8,+x ;s12x cyan
- gstx 8,+y ;s12x cyan
- gstx ,pc ;s12x cyan
- gstx ,sp ;s12x cyan
- gstx ,x ;s12x cyan
- gstx ,y ;s12x cyan
- gstx 1,-sp ;s12x cyan
- gstx 1,-x ;s12x cyan
- gstx 1,-y ;s12x cyan
- gstx 8,-sp ;s12x cyan
- gstx 8,-x ;s12x cyan
- gstx 8,-y ;s12x cyan
- gstx -1,sp ;s12x cyan
- gstx -1,x ;s12x cyan
- gstx -1,y ;s12x cyan
- gstx -16,sp ;s12x cyan
- gstx -16,x ;s12x cyan
- gstx -16,y ;s12x cyan
- gstx -17,sp ;s12x cyan
- gstx -17,x ;s12x cyan
- gstx -17,y ;s12x cyan
- gstx -small,pc ;s12x cyan
- gstx -small,sp ;s12x cyan
- gstx -small,x ;s12x cyan
- gstx -small,y ;s12x cyan
- gstx 0,pc ;s12x cyan
- gstx 0,sp ;s12x cyan
- gstx 0,x ;s12x cyan
- gstx 0,y ;s12x cyan
- gstx 1,sp+ ;s12x cyan
- gstx 1,x+ ;s12x cyan
- gstx 1,y+ ;s12x cyan
- gstx 1,sp ;s12x cyan
- gstx 1,x ;s12x cyan
- gstx 1,y ;s12x cyan
- gstx 1,sp- ;s12x cyan
- gstx 1,x- ;s12x cyan
- gstx 1,y- ;s12x cyan
- gstx 125,pc ;s12x cyan
- gstx 125,sp ;s12x cyan
- gstx 125,x ;s12x cyan
- gstx 125,y ;s12x cyan
- gstx 15,sp ;s12x cyan
- gstx 15,x ;s12x cyan
- gstx 15,y ;s12x cyan
- gstx 16,sp ;s12x cyan
- gstx 16,x ;s12x cyan
- gstx 16,y ;s12x cyan
- gstx 8,sp+ ;s12x cyan
- gstx 8,x+ ;s12x cyan
- gstx 8,y+ ;s12x cyan
- gstx 8,sp- ;s12x cyan
- gstx 8,x- ;s12x cyan
- gstx 8,y- ;s12x cyan
- gstx a,sp ;s12x cyan
- gstx a,x ;s12x cyan
- gstx a,y ;s12x cyan
- gstx b,sp ;s12x cyan
- gstx b,x ;s12x cyan
- gstx b,y ;s12x cyan
- gstx d,sp ;s12x cyan
- gstx d,x ;s12x cyan
- gstx d,y ;s12x cyan
- gstx dir ;s12x cyan
- gstx dir ;s12x cyan
- gstx ext ;s12x cyan
- gstx ext ;s12x cyan
- gstx ext,sp ;s12x cyan
- gstx ext,x ;s12x cyan
- gstx ext,y ;s12x cyan
- gstx ind,pc ;s12x cyan
- gstx ind,sp ;s12x cyan
- gstx ind,x ;s12x cyan
- gstx ind,y ;s12x cyan
- gstx small,pc ;s12x cyan
- gstx small,sp ;s12x cyan
- gstx small,x ;s12x cyan
- gstx small,y ;s12x cyan
- gsty 1,+sp ;s12x cyan
- gsty 1,+x ;s12x cyan
- gsty 1,+y ;s12x cyan
- gsty 8,+sp ;s12x cyan
- gsty 8,+x ;s12x cyan
- gsty 8,+y ;s12x cyan
- gsty ,pc ;s12x cyan
- gsty ,sp ;s12x cyan
- gsty ,x ;s12x cyan
- gsty ,y ;s12x cyan
- gsty 1,-sp ;s12x cyan
- gsty 1,-x ;s12x cyan
- gsty 1,-y ;s12x cyan
- gsty 8,-sp ;s12x cyan
- gsty 8,-x ;s12x cyan
- gsty 8,-y ;s12x cyan
- gsty -1,sp ;s12x cyan
- gsty -1,x ;s12x cyan
- gsty -1,y ;s12x cyan
- gsty -16,sp ;s12x cyan
- gsty -16,x ;s12x cyan
- gsty -16,y ;s12x cyan
- gsty -17,sp ;s12x cyan
- gsty -17,x ;s12x cyan
- gsty -17,y ;s12x cyan
- gsty -small,pc ;s12x cyan
- gsty -small,sp ;s12x cyan
- gsty -small,x ;s12x cyan
- gsty -small,y ;s12x cyan
- gsty 0,pc ;s12x cyan
- gsty 0,sp ;s12x cyan
- gsty 0,x ;s12x cyan
- gsty 0,y ;s12x cyan
- gsty 1,sp+ ;s12x cyan
- gsty 1,x+ ;s12x cyan
- gsty 1,y+ ;s12x cyan
- gsty 1,sp ;s12x cyan
- gsty 1,x ;s12x cyan
- gsty 1,y ;s12x cyan
- gsty 1,sp- ;s12x cyan
- gsty 1,x- ;s12x cyan
- gsty 1,y- ;s12x cyan
- gsty 125,pc ;s12x cyan
- gsty 125,sp ;s12x cyan
- gsty 125,x ;s12x cyan
- gsty 125,y ;s12x cyan
- gsty 15,sp ;s12x cyan
- gsty 15,x ;s12x cyan
- gsty 15,y ;s12x cyan
- gsty 16,sp ;s12x cyan
- gsty 16,x ;s12x cyan
- gsty 16,y ;s12x cyan
- gsty 8,sp+ ;s12x cyan
- gsty 8,x+ ;s12x cyan
- gsty 8,y+ ;s12x cyan
- gsty 8,sp- ;s12x cyan
- gsty 8,x- ;s12x cyan
- gsty 8,y- ;s12x cyan
- gsty a,sp ;s12x cyan
- gsty a,x ;s12x cyan
- gsty a,y ;s12x cyan
- gsty b,sp ;s12x cyan
- gsty b,x ;s12x cyan
- gsty b,y ;s12x cyan
- gsty d,sp ;s12x cyan
- gsty d,x ;s12x cyan
- gsty d,y ;s12x cyan
- gsty dir ;s12x cyan
- gsty dir ;s12x cyan
- gsty ext ;s12x cyan
- gsty ext ;s12x cyan
- gsty ext,sp ;s12x cyan
- gsty ext,x ;s12x cyan
- gsty ext,y ;s12x cyan
- gsty ind,pc ;s12x cyan
- gsty ind,sp ;s12x cyan
- gsty ind,x ;s12x cyan
- gsty ind,y ;s12x cyan
- gsty small,pc ;s12x cyan
- gsty small,sp ;s12x cyan
- gsty small,x ;s12x cyan
- gsty small,y ;s12x cyan
-
- suba #immed
- suba 1,+sp
- suba 1,+x
- suba 1,+y
- suba 8,+sp
- suba 8,+x
- suba 8,+y
- suba ,pc
- suba ,sp
- suba ,x
- suba ,y
- suba 1,-sp
- suba 1,-x
- suba 1,-y
- suba 8,-sp
- suba 8,-x
- suba 8,-y
- suba -1,sp
- suba -1,x
- suba -1,y
- suba -16,sp
- suba -16,x
- suba -16,y
- suba -17,sp
- suba -17,x
- suba -17,y
- suba -small,pc
- suba -small,sp
- suba -small,x
- suba -small,y
- suba 0,pc
- suba 0,sp
- suba 0,x
- suba 0,y
- suba 1,sp+
- suba 1,x+
- suba 1,y+
- suba 1,sp
- suba 1,x
- suba 1,y
- suba 1,sp-
- suba 1,x-
- suba 1,y-
- suba 125,pc
- suba 125,sp
- suba 125,x
- suba 125,y
- suba 15,sp
- suba 15,x
- suba 15,y
- suba 16,sp
- suba 16,x
- suba 16,y
- suba 8,sp+
- suba 8,x+
- suba 8,y+
- suba 8,sp-
- suba 8,x-
- suba 8,y-
- suba a,sp
- suba a,x
- suba a,y
- suba b,sp
- suba b,x
- suba b,y
- suba d,sp
- suba d,x
- suba d,y
- suba dir
- suba ext
- suba ext,sp
- suba ext,x
- suba ext,y
- suba ind,pc
- suba ind,sp
- suba ind,x
- suba ind,y
- suba small,pc
- suba small,sp
- suba small,x
- suba small,y
-
- subx #immed ;s12x yellow
- subx 1,+sp ;s12x yellow
- subx 1,+x ;s12x yellow
- subx 1,+y ;s12x yellow
- subx 8,+sp ;s12x yellow
- subx 8,+x ;s12x yellow
- subx 8,+y ;s12x yellow
- subx ,pc ;s12x yellow
- subx ,sp ;s12x yellow
- subx ,x ;s12x yellow
- subx ,y ;s12x yellow
- subx 1,-sp ;s12x yellow
- subx 1,-x ;s12x yellow
- subx 1,-y ;s12x yellow
- subx 8,-sp ;s12x yellow
- subx 8,-x ;s12x yellow
- subx 8,-y ;s12x yellow
- subx -1,sp ;s12x yellow
- subx -1,x ;s12x yellow
- subx -1,y ;s12x yellow
- subx -16,sp ;s12x yellow
- subx -16,x ;s12x yellow
- subx -16,y ;s12x yellow
- subx -17,sp ;s12x yellow
- subx -17,x ;s12x yellow
- subx -17,y ;s12x yellow
- subx -small,pc ;s12x yellow
- subx -small,sp ;s12x yellow
- subx -small,x ;s12x yellow
- subx -small,y ;s12x yellow
- subx 0,pc ;s12x yellow
- subx 0,sp ;s12x yellow
- subx 0,x ;s12x yellow
- subx 0,y ;s12x yellow
- subx 1,sp+ ;s12x yellow
- subx 1,x+ ;s12x yellow
- subx 1,y+ ;s12x yellow
- subx 1,sp ;s12x yellow
- subx 1,x ;s12x yellow
- subx 1,y ;s12x yellow
- subx 1,sp- ;s12x yellow
- subx 1,x- ;s12x yellow
- subx 1,y- ;s12x yellow
- subx 125,pc ;s12x yellow
- subx 125,sp ;s12x yellow
- subx 125,x ;s12x yellow
- subx 125,y ;s12x yellow
- subx 15,sp ;s12x yellow
- subx 15,x ;s12x yellow
- subx 15,y ;s12x yellow
- subx 16,sp ;s12x yellow
- subx 16,x ;s12x yellow
- subx 16,y ;s12x yellow
- subx 8,sp+ ;s12x yellow
- subx 8,x+ ;s12x yellow
- subx 8,y+ ;s12x yellow
- subx 8,sp- ;s12x yellow
- subx 8,x- ;s12x yellow
- subx 8,y- ;s12x yellow
- subx a,sp ;s12x yellow
- subx a,x ;s12x yellow
- subx a,y ;s12x yellow
- subx b,sp ;s12x yellow
- subx b,x ;s12x yellow
- subx b,y ;s12x yellow
- subx d,sp ;s12x yellow
- subx d,x ;s12x yellow
- subx d,y ;s12x yellow
- subx dir ;s12x yellow
- subx ext ;s12x yellow
- subx ext,sp ;s12x yellow
- subx ext,x ;s12x yellow
- subx ext,y ;s12x yellow
- subx ind,pc ;s12x yellow
- subx ind,sp ;s12x yellow
- subx ind,x ;s12x yellow
- subx ind,y ;s12x yellow
- subx small,pc ;s12x yellow
- subx small,sp ;s12x yellow
- subx small,x ;s12x yellow
- subx small,y ;s12x yellow
-
- subb #immed
- subb 1,+sp
- subb 1,+x
- subb 1,+y
- subb 8,+sp
- subb 8,+x
- subb 8,+y
- subb ,pc
- subb ,sp
- subb ,x
- subb ,y
- subb 1,-sp
- subb 1,-x
- subb 1,-y
- subb 8,-sp
- subb 8,-x
- subb 8,-y
- subb -1,sp
- subb -1,x
- subb -1,y
- subb -16,sp
- subb -16,x
- subb -16,y
- subb -17,sp
- subb -17,x
- subb -17,y
- subb -small,pc
- subb -small,sp
- subb -small,x
- subb -small,y
- subb 0,pc
- subb 0,sp
- subb 0,x
- subb 0,y
- subb 1,sp+
- subb 1,x+
- subb 1,y+
- subb 1,sp
- subb 1,x
- subb 1,y
- subb 1,sp-
- subb 1,x-
- subb 1,y-
- subb 125,pc
- subb 125,sp
- subb 125,x
- subb 125,y
- subb 15,sp
- subb 15,x
- subb 15,y
- subb 16,sp
- subb 16,x
- subb 16,y
- subb 8,sp+
- subb 8,x+
- subb 8,y+
- subb 8,sp-
- subb 8,x-
- subb 8,y-
- subb a,sp
- subb a,x
- subb a,y
- subb b,sp
- subb b,x
- subb b,y
- subb d,sp
- subb d,x
- subb d,y
- subb dir
- subb dir
- subb ext
- subb ext
- subb ext,sp
- subb ext,x
- subb ext,y
- subb ind,pc
- subb ind,sp
- subb ind,x
- subb ind,y
- subb small,pc
- subb small,sp
- subb small,x
- subb small,y
-
- suby #immed ;s12x yellow
- suby 1,+sp ;s12x yellow
- suby 1,+x ;s12x yellow
- suby 1,+y ;s12x yellow
- suby 8,+sp ;s12x yellow
- suby 8,+x ;s12x yellow
- suby 8,+y ;s12x yellow
- suby ,pc ;s12x yellow
- suby ,sp ;s12x yellow
- suby ,x ;s12x yellow
- suby ,y ;s12x yellow
- suby 1,-sp ;s12x yellow
- suby 1,-x ;s12x yellow
- suby 1,-y ;s12x yellow
- suby 8,-sp ;s12x yellow
- suby 8,-x ;s12x yellow
- suby 8,-y ;s12x yellow
- suby -1,sp ;s12x yellow
- suby -1,x ;s12x yellow
- suby -1,y ;s12x yellow
- suby -16,sp ;s12x yellow
- suby -16,x ;s12x yellow
- suby -16,y ;s12x yellow
- suby -17,sp ;s12x yellow
- suby -17,x ;s12x yellow
- suby -17,y ;s12x yellow
- suby -small,pc ;s12x yellow
- suby -small,sp ;s12x yellow
- suby -small,x ;s12x yellow
- suby -small,y ;s12x yellow
- suby 0,pc ;s12x yellow
- suby 0,sp ;s12x yellow
- suby 0,x ;s12x yellow
- suby 0,y ;s12x yellow
- suby 1,sp+ ;s12x yellow
- suby 1,x+ ;s12x yellow
- suby 1,y+ ;s12x yellow
- suby 1,sp ;s12x yellow
- suby 1,x ;s12x yellow
- suby 1,y ;s12x yellow
- suby 1,sp- ;s12x yellow
- suby 1,x- ;s12x yellow
- suby 1,y- ;s12x yellow
- suby 125,pc ;s12x yellow
- suby 125,sp ;s12x yellow
- suby 125,x ;s12x yellow
- suby 125,y ;s12x yellow
- suby 15,sp ;s12x yellow
- suby 15,x ;s12x yellow
- suby 15,y ;s12x yellow
- suby 16,sp ;s12x yellow
- suby 16,x ;s12x yellow
- suby 16,y ;s12x yellow
- suby 8,sp+ ;s12x yellow
- suby 8,x+ ;s12x yellow
- suby 8,y+ ;s12x yellow
- suby 8,sp- ;s12x yellow
- suby 8,x- ;s12x yellow
- suby 8,y- ;s12x yellow
- suby a,sp ;s12x yellow
- suby a,x ;s12x yellow
- suby a,y ;s12x yellow
- suby b,sp ;s12x yellow
- suby b,x ;s12x yellow
- suby b,y ;s12x yellow
- suby d,sp ;s12x yellow
- suby d,x ;s12x yellow
- suby d,y ;s12x yellow
- suby dir ;s12x yellow
- suby dir ;s12x yellow
- suby ext ;s12x yellow
- suby ext ;s12x yellow
- suby ext,sp ;s12x yellow
- suby ext,x ;s12x yellow
- suby ext,y ;s12x yellow
- suby ind,pc ;s12x yellow
- suby ind,sp ;s12x yellow
- suby ind,x ;s12x yellow
- suby ind,y ;s12x yellow
- suby small,pc ;s12x yellow
- suby small,sp ;s12x yellow
- suby small,x ;s12x yellow
- suby small,y ;s12x yellow
-
- subd #immed
- subd 1,+sp
- subd 1,+x
- subd 1,+y
- subd 8,+sp
- subd 8,+x
- subd 8,+y
- subd ,pc
- subd ,sp
- subd ,x
- subd ,y
- subd 1,-sp
- subd 1,-x
- subd 1,-y
- subd 8,-sp
- subd 8,-x
- subd 8,-y
- subd -1,sp
- subd -1,x
- subd -1,y
- subd -16,sp
- subd -16,x
- subd -16,y
- subd -17,sp
- subd -17,x
- subd -17,y
- subd -small,pc
- subd -small,sp
- subd -small,x
- subd -small,y
- subd 0,pc
- subd 0,sp
- subd 0,x
- subd 0,y
- subd 1,sp+
- subd 1,x+
- subd 1,y+
- subd 1,sp
- subd 1,x
- subd 1,y
- subd 1,sp-
- subd 1,x-
- subd 1,y-
- subd 125,pc
- subd 125,sp
- subd 125,x
- subd 125,y
- subd 15,sp
- subd 15,x
- subd 15,y
- subd 16,sp
- subd 16,x
- subd 16,y
- subd 8,sp+
- subd 8,x+
- subd 8,y+
- subd 8,sp-
- subd 8,x-
- subd 8,y-
- subd a,sp
- subd a,x
- subd a,y
- subd b,sp
- subd b,x
- subd b,y
- subd d,sp
- subd d,x
- subd d,y
- subd dir
- subd dir
- subd ext
- subd ext
- subd ext,sp
- subd ext,x
- subd ext,y
- subd ind,pc
- subd ind,sp
- subd ind,x
- subd ind,y
- subd small,pc
- subd small,sp
- subd small,x
- subd small,y
-
- sbed #immed ;s12x red
- sbed #immed ;s12x red
- sbed 1,+sp ;s12x red
- sbed 1,+x ;s12x red
- sbed 1,+y ;s12x red
- sbed 8,+sp ;s12x red
- sbed 8,+x ;s12x red
- sbed 8,+y ;s12x red
- sbed ,pc ;s12x red
- sbed ,sp ;s12x red
- sbed ,x ;s12x red
- sbed ,y ;s12x red
- sbed 1,-sp ;s12x red
- sbed 1,-x ;s12x red
- sbed 1,-y ;s12x red
- sbed 8,-sp ;s12x red
- sbed 8,-x ;s12x red
- sbed 8,-y ;s12x red
- sbed -1,sp ;s12x red
- sbed -1,x ;s12x red
- sbed -1,y ;s12x red
- sbed -16,sp ;s12x red
- sbed -16,x ;s12x red
- sbed -16,y ;s12x red
- sbed -17,sp ;s12x red
- sbed -17,x ;s12x red
- sbed -17,y ;s12x red
- sbed -small,pc ;s12x red
- sbed -small,sp ;s12x red
- sbed -small,x ;s12x red
- sbed -small,y ;s12x red
- sbed 0,pc ;s12x red
- sbed 0,sp ;s12x red
- sbed 0,x ;s12x red
- sbed 0,y ;s12x red
- sbed 1,sp+ ;s12x red
- sbed 1,x+ ;s12x red
- sbed 1,y+ ;s12x red
- sbed 1,sp ;s12x red
- sbed 1,x ;s12x red
- sbed 1,y ;s12x red
- sbed 1,sp- ;s12x red
- sbed 1,x- ;s12x red
- sbed 1,y- ;s12x red
- sbed 125,pc ;s12x red
- sbed 125,sp ;s12x red
- sbed 125,x ;s12x red
- sbed 125,y ;s12x red
- sbed 15,sp ;s12x red
- sbed 15,x ;s12x red
- sbed 15,y ;s12x red
- sbed 16,sp ;s12x red
- sbed 16,x ;s12x red
- sbed 16,y ;s12x red
- sbed 8,sp+ ;s12x red
- sbed 8,x+ ;s12x red
- sbed 8,y+ ;s12x red
- sbed 8,sp- ;s12x red
- sbed 8,x- ;s12x red
- sbed 8,y- ;s12x red
- sbed a,sp ;s12x red
- sbed a,x ;s12x red
- sbed a,y ;s12x red
- sbed b,sp ;s12x red
- sbed b,x ;s12x red
- sbed b,y ;s12x red
- sbed d,sp ;s12x red
- sbed d,x ;s12x red
- sbed d,y ;s12x red
- sbed dir ;s12x red
- sbed dir ;s12x red
- sbed ext ;s12x red
- sbed ext ;s12x red
- sbed ext,sp ;s12x red
- sbed ext,x ;s12x red
- sbed ext,y ;s12x red
- sbed ind,pc ;s12x red
- sbed ind,sp ;s12x red
- sbed ind,x ;s12x red
- sbed ind,y ;s12x red
- sbed small,pc ;s12x red
- sbed small,sp ;s12x red
- sbed small,x ;s12x red
- sbed small,y ;s12x red
-
- swi
-
- tab
- tap
- tba
- tbl b,x
- tfr a a
- tfr a,a
- tfr a b
- tfr a,b
- tfr a ccr
- tfr a ccrl ;s12x tfr alternative
- tfr a ccrh ;s12x tfr new
- tfr a d
- tfr a sp
- tfr a x
- tfr a,x
- tfr a y
- tfr a,y
- tfr b a
- tfr b b
- tfr b ccr
- tfr b ccrl ;s12x tfr alternative
- ;tfr b ccrh ;s12x tfr new
- tfr b d
- tfr b sp
- tfr b x
- tfr b y
- tfr ccr a
- tfr ccrl a ;s12x tfr alternative
- tfr ccrh a ;s12x tfr new
- tfr ccr b
- tfr ccrl b ;s12x alternative
- ;tfr ccrh b ;s12x new
- tfr ccr ccr
- tfr ccrl ccrl ;s12x tfr alternative
- tfr ccrw ccrw ;s12x tfr new
- tfr ccr d
- tfr ccrl d ;s12x tfr alternative
- tfr ccrw d ;s12x tfr new
- tfr ccr sp
- tfr ccrl sp ;s12x tfr alternative
- tfr ccrw sp ;s12x tfr new
- tfr ccr x
- tfr ccrl x ;s12x tfr alternative
- tfr ccrw x ;s12x tfr new
- tfr ccr y
- tfr ccrl y ;s12x tfr alternative
- tfr ccrw y ;s12x tfr new
- tfr d a
- tfr d b
- ;tfr d ccr ;?????? ?JW?
- ;tfr d ccrw ;s12x tfr new ?JW?
- tfr d d
- tfr d sp
- tfr d x
- tfr d y
- tfr sp a
- tfr sp b
- tfr sp ccr
- tfr sp ccrl ;s12x tfr alternative
- tfr sp ccrw ;s12x tfr new
- tfr sp d
- tfr sp sp
- tfr sp x
- tfr sp y
- tfr x a
- tfr x b
- tfr x ccr
- tfr x ccrl ;s12x tfr alternative
- tfr x ccrw ;s12x tfr new
- tfr x d
- tfr x sp
- tfr x x
- tfr x y
- tfr y a
- tfr y b
- tfr y ccr
- tfr y ccrl ;s12x tfr alternative
- tfr y ccrw ;s12x tfr new
- tfr y d
- tfr y sp
- tfr y x
- tfr y y
- tpa
- tst 1,+sp
- tst 1,+x
- tst 1,+y
- tst 8,+sp
- tst 8,+x
- tst 8,+y
- tst ,pc
- tst ,sp
- tst ,x
- tst ,y
- tst 1,-sp
- tst 1,-x
- tst 1,-y
- tst 8,-sp
- tst 8,-x
- tst 8,-y
- tst -1,sp
- tst -1,x
- tst -1,y
- tst -16,sp
- tst -16,x
- tst -16,y
- tst -17,sp
- tst -17,x
- tst -17,y
- tst -small,pc
- tst -small,sp
- tst -small,x
- tst -small,y
- tst 0,pc
- tst 0,sp
- tst 0,x
- tst 0,y
- tst 1,sp+
- tst 1,x+
- tst 1,y+
- tst 1,sp
- tst 1,x
- tst 1,y
- tst 1,sp-
- tst 1,x-
- tst 1,y-
- tst 125,pc
- tst 125,sp
- tst 125,x
- tst 125,y
- tst 15,sp
- tst 15,x
- tst 15,y
- tst 16,sp
- tst 16,x
- tst 16,y
- tst 8,sp+
- tst 8,x+
- tst 8,y+
- tst 8,sp-
- tst 8,x-
- tst 8,y-
- tst a,sp
- tst a,x
- tst a,y
- tst b,sp
- tst b,x
- tst b,y
- tst d,sp
- tst d,x
- tst d,y
- tst dir
- tst ext
- tst ext
- tst ext,sp
- tst ext,x
- tst ext,y
- tst ind,pc
- tst ind,sp
- tst ind,x
- tst ind,y
- tst small,pc
- tst small,sp
- tst small,x
- tst small,y
-
- tstw 1,+sp ;s12x green
- tstw 1,+x ;s12x green
- tstw 1,+y ;s12x green
- tstw 8,+sp ;s12x green
- tstw 8,+x ;s12x green
- tstw 8,+y ;s12x green
- tstw ,pc ;s12x green
- tstw ,sp ;s12x green
- tstw ,x ;s12x green
- tstw ,y ;s12x green
- tstw 1,-sp ;s12x green
- tstw 1,-x ;s12x green
- tstw 1,-y ;s12x green
- tstw 8,-sp ;s12x green
- tstw 8,-x ;s12x green
- tstw 8,-y ;s12x green
- tstw -1,sp ;s12x green
- tstw -1,x ;s12x green
- tstw -1,y ;s12x green
- tstw -16,sp ;s12x green
- tstw -16,x ;s12x green
- tstw -16,y ;s12x green
- tstw -17,sp ;s12x green
- tstw -17,x ;s12x green
- tstw -17,y ;s12x green
- tstw -small,pc ;s12x green
- tstw -small,sp ;s12x green
- tstw -small,x ;s12x green
- tstw -small,y ;s12x green
- tstw 0,pc ;s12x green
- tstw 0,sp ;s12x green
- tstw 0,x ;s12x green
- tstw 0,y ;s12x green
- tstw 1,sp+ ;s12x green
- tstw 1,x+ ;s12x green
- tstw 1,y+ ;s12x green
- tstw 1,sp ;s12x green
- tstw 1,x ;s12x green
- tstw 1,y ;s12x green
- tstw 1,sp- ;s12x green
- tstw 1,x- ;s12x green
- tstw 1,y- ;s12x green
- tstw 125,pc ;s12x green
- tstw 125,sp ;s12x green
- tstw 125,x ;s12x green
- tstw 125,y ;s12x green
- tstw 15,sp ;s12x green
- tstw 15,x ;s12x green
- tstw 15,y ;s12x green
- tstw 16,sp ;s12x green
- tstw 16,x ;s12x green
- tstw 16,y ;s12x green
- tstw 8,sp+ ;s12x green
- tstw 8,x+ ;s12x green
- tstw 8,y+ ;s12x green
- tstw 8,sp- ;s12x green
- tstw 8,x- ;s12x green
- tstw 8,y- ;s12x green
- tstw a,sp ;s12x green
- tstw a,x ;s12x green
- tstw a,y ;s12x green
- tstw b,sp ;s12x green
- tstw b,x ;s12x green
- tstw b,y ;s12x green
- tstw d,sp ;s12x green
- tstw d,x ;s12x green
- tstw d,y ;s12x green
- tstw dir ;s12x green
- tstw ext ;s12x green
- tstw ext ;s12x green
- tstw ext,sp ;s12x green
- tstw ext,x ;s12x green
- tstw ext,y ;s12x green
- tstw ind,pc ;s12x green
- tstw ind,sp ;s12x green
- tstw ind,x ;s12x green
- tstw ind,y ;s12x green
- tstw small,pc ;s12x green
- tstw small,sp ;s12x green
- tstw small,x ;s12x green
- tstw small,y ;s12x green
-
- tsta
- tstb
- tstx ;s12x yellow
- tsty ;s12x yellow
- tsx
- tsy
- txs
- tys
- wai
- wav
- xgdx
- xgdy
- call 1,+sp $55
- call 1,+x $55
- call 1,+y $55
- call 8,+sp $55
- call 8,+x $55
- call 8,+y $55
- call ,pc $55
- call ,sp $55
- call ,x $55
- call ,y $55
- call 1,-sp $55
- call 1,-x $55
- call 1,-y $55
- call 8,-sp $55
- call 8,-x $55
- call 8,-y $55
- call -1,sp $55
- call -1,x $55
- call -1,y $55
- call -16,sp $55
- call -16,x $55
- call -16,y $55
- call -17,sp $55
- call -17,x $55
- call -17,y $55
- call -small,pc $55
- call -small,sp $55
- call -small,x $55
- call -small,y $55
- call 0,pc $55
- call 0,sp $55
- call 0,x $55
- call 0,y $55
- call 1,sp+ $55
- call 1,x+ $55
- call 1,y+ $55
- call 1,sp $55
- call 1,x $55
- call 1,y $55
- call 1,sp- $55
- call 1,x- $55
- call 1,y- $55
- call 125,pc $55
- call 125,sp $55
- call 125,x $55
- call 125,y $55
- call 15,sp $55
- call 15,x $55
- call 15,y $55
- call 16,sp $55
- call 16,x $55
- call 16,y $55
- call 8,sp+ $55
- call 8,x+ $55
- call 8,y+ $55
- call 8,sp- $55
- call 8,x- $55
- call 8,y- $55
- call a,sp $55
- call a,x $55
- call a,y $55
- call b,sp $55
- call b,x $55
- call b,y $55
- call d,sp $55
- call d,x $55
- call d,y $55
- call dir $55
- call ext $55
- call ext,sp $55
- call ext,x $55
- call ext,y $55
- call ind,pc $55
- call ind,sp $55
- call ind,x $55
- call ind,y $55
- call small,pc $55
- call small,sp $55
- call small,x $55
- call small,y $55
- pshc
-
- pshcw ;s12x dark blue
-
- rtc
- movb #immed 3,+x
- movb #immed 5,-y
- movb #immed 5,sp
- movb #immed ext
- movb 1,+sp 3,+x
- movb 1,+sp 5,-y
- movb 1,+sp 5,sp
- movb 1,+sp ext
- movb 1,+x 3,+x
- movb 1,+x 5,-y
- movb 1,+x 5,sp
- movb 1,+x ext
- movb 1,+y 3,+x
- movb 1,+y 5,-y
- movb 1,+y 5,sp
- movb 1,+y ext
- movb 3,+x 1,+sp
- movb 3,+x 1,+x
- movb 3,+x 1,+y
- movb 3,+x 8,+sp
- movb 3,+x 8,+x
- movb 3,+x 8,+y
- movb 3,+x ,pc
- movb 3,+x ,sp
- movb 3,+x ,x
- movb 3,+x ,y
- movb 3,+x 1,-sp
- movb 3,+x 1,-x
- movb 3,+x 1,-y
- movb 3,+x 8,-sp
- movb 3,+x 8,-x
- movb 3,+x 8,-y
- movb 3,+x -1,sp
- movb 3,+x -1,x
- movb 3,+x -1,y
- movb 3,+x -16,sp
- movb 3,+x -16,x
- movb 3,+x -16,y
- movb 3,+x -small,pc
- movb 3,+x -small,sp
- movb 3,+x -small,x
- movb 3,+x -small,y
- movb 3,+x 0,pc
- movb 3,+x 0,sp
- movb 3,+x 0,x
- movb 3,+x 0,y
- movb 3,+x 1,sp+
- movb 3,+x 1,x+
- movb 3,+x 1,y+
- movb 3,+x 1,sp
- movb 3,+x 1,x
- movb 3,+x 1,y
- movb 3,+x 1,sp-
- movb 3,+x 1,x-
- movb 3,+x 1,y-
- movb 3,+x 15,sp
- movb 3,+x 15,x
- movb 3,+x 15,y
- movb 3,+x 8,sp+
- movb 3,+x 8,x+
- movb 3,+x 8,y+
- movb 3,+x 8,sp-
- movb 3,+x 8,x-
- movb 3,+x 8,y-
- movb 3,+x a,sp
- movb 3,+x a,x
- movb 3,+x a,y
- movb 3,+x b,sp
- movb 3,+x b,x
- movb 3,+x b,y
- movb 3,+x d,sp
- movb 3,+x d,x
- movb 3,+x d,y
- movb 3,+x ext
- movb 3,+x small,pc
- movb 3,+x small,sp
- movb 3,+x small,x
- movb 3,+x small,y
- movb 8,+sp 3,+x
- movb 8,+sp 5,-y
- movb 8,+sp 5,sp
- movb 8,+sp ext
- movb 8,+x 3,+x
- movb 8,+x 5,-y
- movb 8,+x 5,sp
- movb 8,+x ext
- movb 8,+y 3,+x
- movb 8,+y 5,-y
- movb 8,+y 5,sp
- movb 8,+y ext
- movb ,pc 3,+x
- movb ,pc 5,-y
- movb ,pc 5,sp
- movb ,pc ext
- movb ,sp 3,+x
- movb ,sp 5,-y
- movb ,sp 5,sp
- movb ,sp ext
- movb ,x 3,+x
- movb ,x 5,-y
- movb ,x 5,sp
- movb ,x ext
- movb ,y 3,+x
- movb ,y 5,-y
- movb ,y 5,sp
- movb ,y ext
- movb 1,-sp 3,+x
- movb 1,-sp 5,-y
- movb 1,-sp 5,sp
- movb 1,-sp ext
- movb 1,-x 3,+x
- movb 1,-x 5,-y
- movb 1,-x 5,sp
- movb 1,-x ext
- movb 1,-y 3,+x
- movb 1,-y 5,-y
- movb 1,-y 5,sp
- movb 1,-y ext
- movb 8,-sp 3,+x
- movb 8,-sp 5,-y
- movb 8,-sp 5,sp
- movb 8,-sp ext
- movb 8,-x 3,+x
- movb 8,-x 5,-y
- movb 8,-x 5,sp
- movb 8,-x ext
- movb 8,-y 3,+x
- movb 8,-y 5,-y
- movb 8,-y 5,sp
- movb 8,-y ext
- movb -1,sp 3,+x
- movb -1,sp 5,-y
- movb -1,sp 5,sp
- movb -1,sp ext
- movb -1,x 3,+x
- movb -1,x 5,-y
- movb -1,x 5,sp
- movb -1,x ext
- movb -1,y 3,+x
- movb -1,y 5,-y
- movb -1,y 5,sp
- movb -1,y ext
- movb -16,sp 3,+x
- movb -16,sp 5,-y
- movb -16,sp 5,sp
- movb -16,sp ext
- movb -16,x 3,+x
- movb -16,x 5,-y
- movb -16,x 5,sp
- movb -16,x ext
- movb -16,y 3,+x
- movb -16,y 5,-y
- movb -16,y 5,sp
- movb -16,y ext
- movb -small,pc 3,+x
- movb -small,pc 5,-y
- movb -small,pc 5,sp
- movb -small,pc ext
- movb -small,sp 3,+x
- movb -small,sp 5,-y
- movb -small,sp 5,sp
- movb -small,sp ext
- movb -small,x 3,+x
- movb -small,x 5,-y
- movb -small,x 5,sp
- movb -small,x ext
- movb -small,y 3,+x
- movb -small,y 5,-y
- movb -small,y 5,sp
- movb -small,y ext
- movb 0,pc 3,+x
- movb 0,pc 5,-y
- movb 0,pc 5,sp
- movb 0,pc ext
- movb 0,sp 3,+x
- movb 0,sp 5,-y
- movb 0,sp 5,sp
- movb 0,sp ext
- movb 0,x 3,+x
- movb 0,x 5,-y
- movb 0,x 5,sp
- movb 0,x ext
- movb 0,y 3,+x
- movb 0,y 5,-y
- movb 0,y 5,sp
- movb 0,y ext
- movb 1,sp+ 3,+x
- movb 1,sp+ 5,-y
- movb 1,sp+ 5,sp
- movb 1,sp+ ext
- movb 1,x+ 3,+x
- movb 1,x+ 5,-y
- movb 1,x+ 5,sp
- movb 1,x+ ext
- movb 1,y+ 3,+x
- movb 1,y+ 5,-y
- movb 1,y+ 5,sp
- movb 1,y+ ext
- movb 1,sp 3,+x
- movb 1,sp 5,-y
- movb 1,sp 5,sp
- movb 1,sp ext
- movb 1,x 3,+x
- movb 1,x 5,-y
- movb 1,x 5,sp
- movb 1,x ext
- movb 1,y 3,+x
- movb 1,y 5,-y
- movb 1,y 5,sp
- movb 1,y ext
- movb 1,sp- 3,+x
- movb 1,sp- 5,-y
- movb 1,sp- 5,sp
- movb 1,sp- ext
- movb 1,x- 3,+x
- movb 1,x- 5,-y
- movb 1,x- 5,sp
- movb 1,x- ext
- movb 1,y- 3,+x
- movb 1,y- 5,-y
- movb 1,y- 5,sp
- movb 1,y- ext
- movb 5,-y 1,+sp
- movb 5,-y 1,+x
- movb 5,-y 1,+y
- movb 5,-y 8,+sp
- movb 5,-y 8,+x
- movb 5,-y 8,+y
- movb 5,-y ,pc
- movb 5,-y ,sp
- movb 5,-y ,x
- movb 5,-y ,y
- movb 5,-y 1,-sp
- movb 5,-y 1,-x
- movb 5,-y 1,-y
- movb 5,-y 8,-sp
- movb 5,-y 8,-x
- movb 5,-y 8,-y
- movb 5,-y -1,sp
- movb 5,-y -1,x
- movb 5,-y -1,y
- movb 5,-y -16,sp
- movb 5,-y -16,x
- movb 5,-y -16,y
- movb 5,-y -small,pc
- movb 5,-y -small,sp
- movb 5,-y -small,x
- movb 5,-y -small,y
- movb 5,-y 0,pc
- movb 5,-y 0,sp
- movb 5,-y 0,x
- movb 5,-y 0,y
- movb 5,-y 1,sp+
- movb 5,-y 1,x+
- movb 5,-y 1,y+
- movb 5,-y 1,sp
- movb 5,-y 1,x
- movb 5,-y 1,y
- movb 5,-y 1,sp-
- movb 5,-y 1,x-
- movb 5,-y 1,y-
- movb 5,-y 15,sp
- movb 5,-y 15,x
- movb 5,-y 15,y
- movb 5,-y 8,sp+
- movb 5,-y 8,x+
- movb 5,-y 8,y+
- movb 5,-y 8,sp-
- movb 5,-y 8,x-
- movb 5,-y 8,y-
- movb 5,-y a,sp
- movb 5,-y a,x
- movb 5,-y a,y
- movb 5,-y b,sp
- movb 5,-y b,x
- movb 5,-y b,y
- movb 5,-y d,sp
- movb 5,-y d,x
- movb 5,-y d,y
- movb 5,-y ext
- movb 5,-y small,pc
- movb 5,-y small,sp
- movb 5,-y small,x
- movb 5,-y small,y
- movb 15,sp 3,+x
- movb 15,sp 5,-y
- movb 15,sp 5,sp
- movb 15,sp ext
- movb 15,x 3,+x
- movb 15,x 5,-y
- movb 15,x 5,sp
- movb 15,x ext
- movb 15,y 3,+x
- movb 15,y 5,-y
- movb 15,y 5,sp
- movb 15,y ext
- movb 5,sp 1,+sp
- movb 5,sp 1,+x
- movb 5,sp 1,+y
- movb 5,sp 8,+sp
- movb 5,sp 8,+x
- movb 5,sp 8,+y
- movb 5,sp ,pc
- movb 5,sp ,sp
- movb 5,sp ,x
- movb 5,sp ,y
- movb 5,sp 1,-sp
- movb 5,sp 1,-x
- movb 5,sp 1,-y
- movb 5,sp 8,-sp
- movb 5,sp 8,-x
- movb 5,sp 8,-y
- movb 5,sp -1,sp
- movb 5,sp -1,x
- movb 5,sp -1,y
- movb 5,sp -16,sp
- movb 5,sp -16,x
- movb 5,sp -16,y
- movb 5,sp -small,pc
- movb 5,sp -small,sp
- movb 5,sp -small,x
- movb 5,sp -small,y
- movb 5,sp 0,pc
- movb 5,sp 0,sp
- movb 5,sp 0,x
- movb 5,sp 0,y
- movb 5,sp 1,sp+
- movb 5,sp 1,x+
- movb 5,sp 1,y+
- movb 5,sp 1,sp
- movb 5,sp 1,x
- movb 5,sp 1,y
- movb 5,sp 1,sp-
- movb 5,sp 1,x-
- movb 5,sp 1,y-
- movb 5,sp 8,sp+
- movb 5,sp 8,x+
- movb 5,sp 8,y+
- movb 5,sp 8,sp-
- movb 5,sp 8,x-
- movb 5,sp 8,y-
- movb 5,sp a,sp
- movb 5,sp a,x
- movb 5,sp a,y
- movb 5,sp b,sp
- movb 5,sp b,x
- movb 5,sp b,y
- movb 5,sp d,sp
- movb 5,sp d,x
- movb 5,sp d,y
- movb 5,sp ext
- movb 5,sp small,pc
- movb 5,sp small,sp
- movb 5,sp small,x
- movb 5,sp small,y
- movb 8,sp+ 3,+x
- movb 8,sp+ 5,-y
- movb 8,sp+ 5,sp
- movb 8,sp+ ext
- movb 8,x+ 3,+x
- movb 8,x+ 5,-y
- movb 8,x+ 5,sp
- movb 8,x+ ext
- movb 8,y+ 3,+x
- movb 8,y+ 5,-y
- movb 8,y+ 5,sp
- movb 8,y+ ext
- movb 8,sp- 3,+x
- movb 8,sp- 5,-y
- movb 8,sp- 5,sp
- movb 8,sp- ext
- movb 8,x- 3,+x
- movb 8,x- 5,-y
- movb 8,x- 5,sp
- movb 8,x- ext
- movb 8,y- 3,+x
- movb 8,y- 5,-y
- movb 8,y- 5,sp
- movb 8,y- ext
- movb a,sp 3,+x
- movb a,sp 5,-y
- movb a,sp 5,sp
- movb a,sp ext
- movb a,x 3,+x
- movb a,x 5,-y
- movb a,x 5,sp
- movb a,x ext
- movb a,y 3,+x
- movb a,y 5,-y
- movb a,y 5,sp
- movb a,y ext
- movb b,sp 3,+x
- movb b,sp 5,-y
- movb b,sp 5,sp
- movb b,sp ext
- movb b,x 3,+x
- movb b,x 5,-y
- movb b,x 5,sp
- movb b,x ext
- movb b,y 3,+x
- movb b,y 5,-y
- movb b,y 5,sp
- movb b,y ext
- movb d,sp 3,+x
- movb d,sp 5,-y
- movb d,sp 5,sp
- movb d,sp ext
- movb d,x 3,+x
- movb d,x 5,-y
- movb d,x 5,sp
- movb d,x ext
- movb d,y 3,+x
- movb d,y 5,-y
- movb d,y 5,sp
- movb d,y ext
- movb ext 1,+sp
- movb ext 1,+x
- movb ext 1,+y
- movb ext 8,+sp
- movb ext 8,+x
- movb ext 8,+y
- movb ext ,pc
- movb ext ,sp
- movb ext ,x
- movb ext ,y
- movb ext 1,-sp
- movb ext 1,-x
- movb ext 1,-y
- movb ext 8,-sp
- movb ext 8,-x
- movb ext 8,-y
- movb ext -1,sp
- movb ext -1,x
- movb ext -1,y
- movb ext -16,sp
- movb ext -16,x
- movb ext -16,y
- movb ext -small,pc
- movb ext -small,sp
- movb ext -small,x
- movb ext -small,y
- movb ext 0,pc
- movb ext 0,sp
- movb ext 0,x
- movb ext 0,y
- movb ext 1,sp+
- movb ext 1,x+
- movb ext 1,y+
- movb ext 1,sp
- movb ext 1,x
- movb ext 1,y
- movb ext 1,sp-
- movb ext 1,x-
- movb ext 1,y-
- movb ext 8,sp+
- movb ext 8,x+
- movb ext 8,y+
- movb ext 8,sp-
- movb ext 8,x-
- movb ext 8,y-
- movb ext a,sp
- movb ext a,x
- movb ext a,y
- movb ext b,sp
- movb ext b,x
- movb ext b,y
- movb ext d,sp
- movb ext d,x
- movb ext d,y
- movb ext ext
- movb ext small,pc
- movb ext small,sp
- movb ext small,x
- movb ext small,y
- movb small,pc 3,+x
- movb small,pc 5,-y
- movb small,pc 5,sp
- movb small,pc ext
- movb small,sp 3,+x
- movb small,sp 5,-y
- movb small,sp 5,sp
- movb small,sp ext
- movb small,x 3,+x
- movb small,x 5,-y
- movb small,x 5,sp
- movb small,x ext
- movb small,y 3,+x
- movb small,y 5,-y
- movb small,y 5,sp
- movb small,y ext
- movw #immed 3,+x
- movw #immed 5,-y
- movw #immed 5,sp
- movw #immed ext
- movw 1,+sp 3,+x
- movw 1,+sp 5,-y
- movw 1,+sp 5,sp
- movw 1,+sp ext
- movw 1,+x 3,+x
- movw 1,+x 5,-y
- movw 1,+x 5,sp
- movw 1,+x ext
- movw 1,+y 3,+x
- movw 1,+y 5,-y
- movw 1,+y 5,sp
- movw 1,+y ext
- movw 3,+x 1,+sp
- movw 3,+x 1,+x
- movw 3,+x 1,+y
- movw 3,+x 8,+sp
- movw 3,+x 8,+x
- movw 3,+x 8,+y
- movw 3,+x ,pc
- movw 3,+x ,sp
- movw 3,+x ,x
- movw 3,+x ,y
- movw 3,+x 1,-sp
- movw 3,+x 1,-x
- movw 3,+x 1,-y
- movw 3,+x 8,-sp
- movw 3,+x 8,-x
- movw 3,+x 8,-y
- movw 3,+x -1,sp
- movw 3,+x -1,x
- movw 3,+x -1,y
- movw 3,+x -16,sp
- movw 3,+x -16,x
- movw 3,+x -16,y
- movw 3,+x -small,pc
- movw 3,+x -small,sp
- movw 3,+x -small,x
- movw 3,+x -small,y
- movw 3,+x 0,pc
- movw 3,+x 0,sp
- movw 3,+x 0,x
- movw 3,+x 0,y
- movw 3,+x 1,sp+
- movw 3,+x 1,x+
- movw 3,+x 1,y+
- movw 3,+x 1,sp
- movw 3,+x 1,x
- movw 3,+x 1,y
- movw 3,+x 1,sp-
- movw 3,+x 1,x-
- movw 3,+x 1,y-
- movw 3,+x 8,sp+
- movw 3,+x 8,x+
- movw 3,+x 8,y+
- movw 3,+x 8,sp-
- movw 3,+x 8,x-
- movw 3,+x 8,y-
- movw 3,+x a,sp
- movw 3,+x a,x
- movw 3,+x a,y
- movw 3,+x b,sp
- movw 3,+x b,x
- movw 3,+x b,y
- movw 3,+x d,sp
- movw 3,+x d,x
- movw 3,+x d,y
- movw 3,+x ext
- movw 3,+x small,pc
- movw 3,+x small,sp
- movw 3,+x small,x
- movw 3,+x small,y
- movw 8,+sp 3,+x
- movw 8,+sp 5,-y
- movw 8,+sp 5,sp
- movw 8,+sp ext
- movw 8,+x 3,+x
- movw 8,+x 5,-y
- movw 8,+x 5,sp
- movw 8,+x ext
- movw 8,+y 3,+x
- movw 8,+y 5,-y
- movw 8,+y 5,sp
- movw 8,+y ext
- movw ,pc 3,+x
- movw ,pc 5,-y
- movw ,pc 5,sp
- movw ,pc ext
- movw ,sp 3,+x
- movw ,sp 5,-y
- movw ,sp 5,sp
- movw ,sp ext
- movw ,x 3,+x
- movw ,x 5,-y
- movw ,x 5,sp
- movw ,x ext
- movw ,y 3,+x
- movw ,y 5,-y
- movw ,y 5,sp
- movw ,y ext
- movw 1,-sp 3,+x
- movw 1,-sp 5,-y
- movw 1,-sp 5,sp
- movw 1,-sp ext
- movw 1,-x 3,+x
- movw 1,-x 5,-y
- movw 1,-x 5,sp
- movw 1,-x ext
- movw 1,-y 3,+x
- movw 1,-y 5,-y
- movw 1,-y 5,sp
- movw 1,-y ext
- movw 8,-sp 3,+x
- movw 8,-sp 5,-y
- movw 8,-sp 5,sp
- movw 8,-sp ext
- movw 8,-x 3,+x
- movw 8,-x 5,-y
- movw 8,-x 5,sp
- movw 8,-x ext
- movw 8,-y 3,+x
- movw 8,-y 5,-y
- movw 8,-y 5,sp
- movw 8,-y ext
- movw -1,sp 3,+x
- movw -1,sp 5,-y
- movw -1,sp 5,sp
- movw -1,sp ext
- movw -1,x 3,+x
- movw -1,x 5,-y
- movw -1,x 5,sp
- movw -1,x ext
- movw -1,y 3,+x
- movw -1,y 5,-y
- movw -1,y 5,sp
- movw -1,y ext
- movw -16,sp 3,+x
- movw -16,sp 5,-y
- movw -16,sp 5,sp
- movw -16,sp ext
- movw -16,x 3,+x
- movw -16,x 5,-y
- movw -16,x 5,sp
- movw -16,x ext
- movw -16,y 3,+x
- movw -16,y 5,-y
- movw -16,y 5,sp
- movw -16,y ext
- movw -small,pc 3,+x
- movw -small,pc 5,-y
- movw -small,pc 5,sp
- movw -small,pc ext
- movw -small,sp 3,+x
- movw -small,sp 5,-y
- movw -small,sp 5,sp
- movw -small,sp ext
- movw -small,x 3,+x
- movw -small,x 5,-y
- movw -small,x 5,sp
- movw -small,x ext
- movw -small,y 3,+x
- movw -small,y 5,-y
- movw -small,y 5,sp
- movw -small,y ext
- movw 0,pc 3,+x
- movw 0,pc 5,-y
- movw 0,pc 5,sp
- movw 0,pc ext
- movw 0,sp 3,+x
- movw 0,sp 5,-y
- movw 0,sp 5,sp
- movw 0,sp ext
- movw 0,x 3,+x
- movw 0,x 5,-y
- movw 0,x 5,sp
- movw 0,x ext
- movw 0,y 3,+x
- movw 0,y 5,-y
- movw 0,y 5,sp
- movw 0,y ext
- movw 1,sp+ 3,+x
- movw 1,sp+ 5,-y
- movw 1,sp+ 5,sp
- movw 1,sp+ ext
- movw 1,x+ 3,+x
- movw 1,x+ 5,-y
- movw 1,x+ 5,sp
- movw 1,x+ ext
- movw 1,y+ 3,+x
- movw 1,y+ 5,-y
- movw 1,y+ 5,sp
- movw 1,y+ ext
- movw 1,sp 3,+x
- movw 1,sp 5,-y
- movw 1,sp 5,sp
- movw 1,sp ext
- movw 1,x 3,+x
- movw 1,x 5,-y
- movw 1,x 5,sp
- movw 1,x ext
- movw 1,y 3,+x
- movw 1,y 5,-y
- movw 1,y 5,sp
- movw 1,y ext
- movw 1,sp- 3,+x
- movw 1,sp- 5,-y
- movw 1,sp- 5,sp
- movw 1,sp- ext
- movw 1,x- 3,+x
- movw 1,x- 5,-y
- movw 1,x- 5,sp
- movw 1,x- ext
- movw 1,y- 3,+x
- movw 1,y- 5,-y
- movw 1,y- 5,sp
- movw 1,y- ext
- movw 5,-y 1,+sp
- movw 5,-y 1,+x
- movw 5,-y 1,+y
- movw 5,-y 8,+sp
- movw 5,-y 8,+x
- movw 5,-y 8,+y
- movw 5,-y ,pc
- movw 5,-y ,sp
- movw 5,-y ,x
- movw 5,-y ,y
- movw 5,-y 1,-sp
- movw 5,-y 1,-x
- movw 5,-y 1,-y
- movw 5,-y 8,-sp
- movw 5,-y 8,-x
- movw 5,-y 8,-y
- movw 5,-y -1,sp
- movw 5,-y -1,x
- movw 5,-y -1,y
- movw 5,-y -16,sp
- movw 5,-y -16,x
- movw 5,-y -16,y
- movw 5,-y -small,pc
- movw 5,-y -small,sp
- movw 5,-y -small,x
- movw 5,-y -small,y
- movw 5,-y 0,pc
- movw 5,-y 0,sp
- movw 5,-y 0,x
- movw 5,-y 0,y
- movw 5,-y 1,sp+
- movw 5,-y 1,x+
- movw 5,-y 1,y+
- movw 5,-y 1,sp
- movw 5,-y 1,x
- movw 5,-y 1,y
- movw 5,-y 1,sp-
- movw 5,-y 1,x-
- movw 5,-y 1,y-
- movw 5,-y 15,sp
- movw 5,-y 15,x
- movw 5,-y 15,y
- movw 5,-y 8,sp+
- movw 5,-y 8,x+
- movw 5,-y 8,y+
- movw 5,-y 8,sp-
- movw 5,-y 8,x-
- movw 5,-y 8,y-
- movw 5,-y a,sp
- movw 5,-y a,x
- movw 5,-y a,y
- movw 5,-y b,sp
- movw 5,-y b,x
- movw 5,-y b,y
- movw 5,-y d,sp
- movw 5,-y d,x
- movw 5,-y d,y
- movw 5,-y ext
- movw 5,-y small,pc
- movw 5,-y small,sp
- movw 5,-y small,x
- movw 5,-y small,y
- movw 15,sp 3,+x
- movw 15,sp 5,-y
- movw 15,sp 5,sp
- movw 15,sp ext
- movw 15,x 3,+x
- movw 15,x 5,-y
- movw 15,x 5,sp
- movw 15,x ext
- movw 15,y 3,+x
- movw 15,y 5,-y
- movw 15,y 5,sp
- movw 15,y ext
- movw 5,sp 1,+sp
- movw 5,sp 1,+x
- movw 5,sp 1,+y
- movw 5,sp 8,+sp
- movw 5,sp 8,+x
- movw 5,sp 8,+y
- movw 5,sp ,pc
- movw 5,sp ,sp
- movw 5,sp ,x
- movw 5,sp ,y
- movw 5,sp 1,-sp
- movw 5,sp 1,-x
- movw 5,sp 1,-y
- movw 5,sp 8,-sp
- movw 5,sp 8,-x
- movw 5,sp 8,-y
- movw 5,sp -1,sp
- movw 5,sp -1,x
- movw 5,sp -1,y
- movw 5,sp -16,sp
- movw 5,sp -16,x
- movw 5,sp -16,y
- movw 5,sp -small,pc
- movw 5,sp -small,sp
- movw 5,sp -small,x
- movw 5,sp -small,y
- movw 5,sp 0,pc
- movw 5,sp 0,sp
- movw 5,sp 0,x
- movw 5,sp 0,y
- movw 5,sp 1,sp+
- movw 5,sp 1,x+
- movw 5,sp 1,y+
- movw 5,sp 1,sp
- movw 5,sp 1,x
- movw 5,sp 1,y
- movw 5,sp 1,sp-
- movw 5,sp 1,x-
- movw 5,sp 1,y-
- movw 5,sp 8,sp+
- movw 5,sp 8,x+
- movw 5,sp 8,y+
- movw 5,sp 8,sp-
- movw 5,sp 8,x-
- movw 5,sp 8,y-
- movw 5,sp a,sp
- movw 5,sp a,x
- movw 5,sp a,y
- movw 5,sp b,sp
- movw 5,sp b,x
- movw 5,sp b,y
- movw 5,sp d,sp
- movw 5,sp d,x
- movw 5,sp d,y
- movw 5,sp ext
- movw 5,sp small,pc
- movw 5,sp small,sp
- movw 5,sp small,x
- movw 5,sp small,y
- movw 8,sp+ 3,+x
- movw 8,sp+ 5,-y
- movw 8,sp+ 5,sp
- movw 8,sp+ ext
- movw 8,x+ 3,+x
- movw 8,x+ 5,-y
- movw 8,x+ 5,sp
- movw 8,x+ ext
- movw 8,y+ 3,+x
- movw 8,y+ 5,-y
- movw 8,y+ 5,sp
- movw 8,y+ ext
- movw 8,sp- 3,+x
- movw 8,sp- 5,-y
- movw 8,sp- 5,sp
- movw 8,sp- ext
- movw 8,x- 3,+x
- movw 8,x- 5,-y
- movw 8,x- 5,sp
- movw 8,x- ext
- movw 8,y- 3,+x
- movw 8,y- 5,-y
- movw 8,y- 5,sp
- movw 8,y- ext
- movw a,sp 3,+x
- movw a,sp 5,-y
- movw a,sp 5,sp
- movw a,sp ext
- movw a,x 3,+x
- movw a,x 5,-y
- movw a,x 5,sp
- movw a,x ext
- movw a,y 3,+x
- movw a,y 5,-y
- movw a,y 5,sp
- movw a,y ext
- movw b,sp 3,+x
- movw b,sp 5,-y
- movw b,sp 5,sp
- movw b,sp ext
- movw b,x 3,+x
- movw b,x 5,-y
- movw b,x 5,sp
- movw b,x ext
- movw b,y 3,+x
- movw b,y 5,-y
- movw b,y 5,sp
- movw b,y ext
- movw d,sp 3,+x
- movw d,sp 5,-y
- movw d,sp 5,sp
- movw d,sp ext
- movw d,x 3,+x
- movw d,x 5,-y
- movw d,x 5,sp
- movw d,x ext
- movw d,y 3,+x
- movw d,y 5,-y
- movw d,y 5,sp
- movw d,y ext
- movw ext 1,+sp
- movw ext 1,+x
- movw ext 1,+y
- movw ext 8,+sp
- movw ext 8,+x
- movw ext 8,+y
- movw ext ,pc
- movw ext ,sp
- movw ext ,x
- movw ext ,y
- movw ext 1,-sp
- movw ext 1,-x
- movw ext 1,-y
- movw ext 8,-sp
- movw ext 8,-x
- movw ext 8,-y
- movw ext -1,sp
- movw ext -1,x
- movw ext -1,y
- movw ext -16,sp
- movw ext -16,x
- movw ext -16,y
- movw ext -small,pc
- movw ext -small,sp
- movw ext -small,x
- movw ext -small,y
- movw ext 0,pc
- movw ext 0,sp
- movw ext 0,x
- movw ext 0,y
- movw ext 1,sp+
- movw ext 1,x+
- movw ext 1,y+
- movw ext 1,sp
- movw ext 1,x
- movw ext 1,y
- movw ext 1,sp-
- movw ext 1,x-
- movw ext 1,y-
- movw ext 8,sp+
- movw ext 8,x+
- movw ext 8,y+
- movw ext 8,sp-
- movw ext 8,x-
- movw ext 8,y-
- movw ext a,sp
- movw ext a,x
- movw ext a,y
- movw ext b,sp
- movw ext b,x
- movw ext b,y
- movw ext d,sp
- movw ext d,x
- movw ext d,y
- movw ext ext
- movw ext small,pc
- movw ext small,sp
- movw ext small,x
- movw ext small,y
- movw small,pc 3,+x
- movw small,pc 5,-y
- movw small,pc 5,sp
- movw small,pc ext
- movw small,sp 3,+x
- movw small,sp 5,-y
- movw small,sp 5,sp
- movw small,sp ext
- movw small,x 3,+x
- movw small,x 5,-y
- movw small,x 5,sp
- movw small,x ext
- movw small,y 3,+x
- movw small,y 5,-y
- movw small,y 5,sp
- movw small,y ext
- movb 1,x+ 1,y-
- movb 0,x 0,x
trunk/bench/tools/HSW12ASM/test_S12X.s
Property changes :
Deleted: svn:executable
Index: trunk/bench/tools/HSW12ASM/test_HC11.s
===================================================================
--- trunk/bench/tools/HSW12ASM/test_HC11.s (revision 2)
+++ trunk/bench/tools/HSW12ASM/test_HC11.s (nonexistent)
@@ -1,1317 +0,0 @@
-*
-* HC11 test case
-*
- CPU HC11
-
-char equ 65
-immed equ $72
-dir equ $55
-ext equ $1234
-ind equ $37
-small equ $e
-mask equ %11001100
-ROTATE000 EQU $0188
-ROTATE001 EQU $8944
-ROTATE002 EQU $3333
-ROTATE003 EQU $4444
-INDEX EQU 3
-*
-*
-*
- ORG $1000
-TEST1 EQU 1
-TEST2 EQU 2
-TEST3 EQU 3
-TEST4 EQU 4
-TEST5 EQU 5
-TEST6 EQU 6
-TEST7 EQU 7
-TEST8 EQU 8
-
-#ifdef TEST1
- ldaa #TEST1
-#ifdef TEST2
- ldaa #TEST2
-#ifndef TEST3
- ldab #TEST3
-#ifdef TEST4
- ldab #TEST4
-#endif
-#ifdef TEST5
- ldaa #TEST5
-*#ifdef TEST6
-* ldaa #TEST6
-*#ifdef TEST7
-* ldaa #TEST7
-*#ifdef TEST8
-* ldaa #TEST8
-*#endif
-*#endif
-*#endif
-#else
- ldd #3333
-#ifdef TEST7
- ldd #7777
-#else
- ldaa #'N'
-#endif
-#endif
-#else
- ldd #3333
-#ifdef TEST17
- ldd #7777
-#else
- ldaa #'N'
-#endif
-#endif
-#endif
-#endif
-*#endif
- ORG $4000
-
-#ifdef a4fn
-#endif
-#ifdef b32ff
-#endif
-; funny ` test
-; stinky `` test
-;
-happy`
-
- dw 2
- db 2
- dc.w 2
- dc.b 2
- fcb 2
- fdb 2222
- ds 34
- ds.b 34
- ds.w 34
- rmb 34
- rmw 34
-bb equ 1
-#ifdef aa
-#endif
-#ifdef aa
-#endif
-
-#ifdef aa
-#endif
-#ifdef bb
-#endif
- bclr dir,$55
- bclr dir,#$55
-
- brset dir,$55,*
- brset dir,#$55,*
-
- bset dir,$55
- bset dir,#$55
-
- aba
- abx
- aby
- ALIGN 0
- adca #immed
- adca #immed
- adca #immed
- adca #immed
- adca #immed
-#ifndef dense
-#else
-#endif
- LOC
- adca ,x
- adca ,y
-reset
-reset`
- adca -1,x
-*
-* helwo warry bud
-* hewe is you comment
-*
- adca -1,y
- jsr *
- adca -16,x
- adca -16,y
- ALIGN 1
- adca -17,x
- adca -17,y
- ALIGN 3
- adca -small,x
- ALIGN 7
- adca -small,y
- adca 0,x
- adca 0,y
- adca ext,x
- adca ext,x
- adca ext,x
- adca ext,x
- adca ext,x
- adca 1,x
- adca 1,y
- adca 125,x
- adca 125,y
- adca 15,x
- adca 15,y
- adca 16,x
- adca 16,y
- adca dir
- adca dir
- adca ext
- adca ext
- adca ext,x
- adca ext,y
- adca small,x
- adca small,y
- adcb #immed
- adcb dir
- adcb ext
- adda #immed
- adda dir
- adda ext
- adda ext
- addb #immed
- addb dir
- addb ext
- addd #immed
- addd dir
- addd ext
- anda #immed
- anda dir
- anda ext
- andb #immed
- andb dir
- andb ext
- asl dir
- asl ext
- asla
- aslb
- asld
- asr dir
- asr ext
- asra
- asrb
- bcc *
- bcs *
- beq *
- bge *
- bgt *
- bhi *
- bita #immed
- bita dir
- bita ext
- bitb #immed
- bitb dir
- bitb ext
- ble *
- bls *
- blt *
- bmi *
- bne *
- bpl *
- bra *
- brn *
- bsr *
- bvc *
- bvs *
- cba
- clc
- cli
- clr dir
- clr ext
- clra
- clrb
- clv
- cmpa #immed
- cmpa dir
- cmpa ext
- cmpb #immed
- cmpb #immed
- cmpb ,x
- cmpb ,y
- cmpb -1,x
- cmpb -1,y
- cmpb -16,x
- cmpb -16,y
- cmpb -17,x
- cmpb -17,y
- cmpb -small,x
- cmpb -small,y
- cmpb 0,x
- cmpb 0,y
- cmpb 1,x
- cmpb 1,y
- cmpb 125,x
- cmpb 125,y
- cmpb 15,x
- cmpb 15,y
- cmpb 16,x
- cmpb 16,y
- cmpb dir
- cmpb dir
- cmpb ext
- cmpb ext
- cmpb ext,x
- cmpb ext,y
- cmpb small,x
- cmpb small,y
- com ,x
- com ,y
- com -1,x
- com -1,y
- com -16,x
- com -16,y
- com -17,x
- com -17,y
- com -small,x
- com -small,y
- com 0,x
- com 0,y
- com 1,x
- com 1,y
- com 125,x
- com 125,y
- com 15,x
- com 15,y
- com 16,x
- com 16,y
- com dir
- com ext
- com ext
- com ext,x
- com ext,y
- com small,x
- com small,y
- coma
- comb
- cpd #immed
- cpd #immed
- cpd ,x
- cpd ,y
- cpd -1,x
- cpd -1,y
- cpd -16,x
- cpd -16,y
- cpd -17,x
- cpd -17,y
- cpd -small,x
- cpd -small,y
- cpd 0,x
- cpd 0,y
- cpd 1,x
- cpd 1,y
- cpd 125,x
- cpd 125,y
- cpd 15,x
- cpd 15,y
- cpd 16,x
- cpd 16,y
- cpd dir
- cpd dir
- cpd ext
- cpd ext
- cpd ext,x
- cpd ext,y
- cpd small,x
- cpd small,y
- cpx #immed
- cpx #immed
- cpx ,x
- cpx ,y
- cpx -1,x
- cpx -1,y
- cpx -16,x
- cpx -16,y
- cpx -17,x
- cpx -17,y
- cpx -small,x
- cpx -small,y
- cpx 0,x
- cpx 0,y
- cpx 1,x
- cpx 1,y
- cpx 125,x
- cpx 125,y
- cpx 15,x
- cpx 15,y
- cpx 16,x
- cpx 16,y
- cpx dir
- cpx dir
- cpx ext
- cpx ext
- cpx ext,x
- cpx ext,y
- cpx small,x
- cpx small,y
- cpy #immed
- cpy #immed
- cpy ,x
- cpy ,y
- cpy -1,x
- cpy -1,y
- cpy -16,x
- cpy -16,y
- cpy -17,x
- cpy -17,y
- cpy -small,x
- cpy -small,y
- cpy 0,x
- cpy 0,y
- cpy 1,x
- cpy 1,y
- cpy 125,x
- cpy 125,y
- cpy 15,x
- cpy 15,y
- cpy 16,x
- cpy 16,y
- cpy dir
- cpy dir
- cpy ext
- cpy ext
- cpy ext,x
- cpy ext,y
- cpy small,x
- cpy small,y
- daa
- dec ,x
- dec ,y
- dec -1,x
- dec -1,y
- dec -16,x
- dec -16,y
- dec -17,x
- dec -17,y
- dec -small,x
- dec -small,y
- dec 0,x
- dec 0,y
- dec 1,x
- dec 1,y
- dec 125,x
- dec 125,y
- dec 15,x
- dec 15,y
- dec 16,x
- dec 16,y
- dec dir
- dec ext
- dec ext
- dec ext,x
- dec ext,y
- dec small,x
- dec small,y
- deca
- decb
- des
- dex
- dey
- eora #immed
- eora #immed
- eora ,x
- eora ,y
- eora -1,x
- eora -1,y
- eora -16,x
- eora -16,y
- eora -17,x
- eora -17,y
- eora -small,x
- eora -small,y
- eora 0,x
- eora 0,y
- eora 1,x
- eora 1,y
- eora 125,x
- eora 125,y
- eora 15,x
- eora 15,y
- eora 16,x
- eora 16,y
- eora dir
- eora dir
- eora ext
- eora ext
- eora ext,x
- eora ext,y
- eora small,x
- eora small,y
- eorb #immed
- eorb #immed
- eorb ,x
- eorb ,y
- eorb -1,x
- eorb -1,y
- eorb -16,x
- eorb -16,y
- eorb -17,x
- eorb -17,y
- eorb -small,x
- eorb -small,y
- eorb 0,x
- eorb 0,y
- eorb 1,x
- eorb 1,y
- eorb 125,x
- eorb 125,y
- eorb 15,x
- eorb 15,y
- eorb 16,x
- eorb 16,y
- eorb dir
- eorb dir
- eorb ext
- eorb ext
- eorb ext,x
- eorb ext,y
- eorb small,x
- eorb small,y
- fdiv
- idiv
- inc ,x
- inc ,y
- inc -1,x
- inc -1,y
- inc -16,x
- inc -16,y
- inc -17,x
- inc -17,y
- inc -small,x
- inc -small,y
- inc 0,x
- inc 0,y
- inc 1,x
- inc 1,y
- inc 125,x
- inc 125,y
- inc 15,x
- inc 15,y
- inc 16,x
- inc 16,y
- inc dir
- inc ext
- inc ext
- inc ext,x
- inc ext,y
- inc small,x
- inc small,y
- inca
- incb
- ins
- inx
- iny
- jmp ,x
- jmp ,y
- jmp -1,x
- jmp -1,y
- jmp -16,x
- jmp -16,y
- jmp -17,x
- jmp -17,y
- jmp -small,x
- jmp -small,y
- jmp 0,x
- jmp 0,y
- jmp 1,x
- jmp 1,y
- jmp 125,x
- jmp 125,y
- jmp 15,x
- jmp 15,y
- jmp 16,x
- jmp 16,y
- jmp dir
- jmp ext
- jmp ext
- jmp ext,x
- jmp ext,y
- jmp small,x
- jmp small,y
- jsr ,x
- jsr ,y
- jsr -1,x
- jsr -1,y
- jsr -16,x
- jsr -16,y
- jsr -17,x
- jsr -17,y
- jsr -small,x
- jsr -small,y
- jsr 0,x
- jsr 0,y
- jsr 1,x
- jsr 1,y
- jsr 125,x
- jsr 125,y
- jsr 15,x
- jsr 15,y
- jsr 16,x
- jsr 16,y
- jsr dir
- jsr dir
- jsr ext
- jsr ext
- jsr ext
- jsr ext,x
- jsr ext,y
- jsr small,x
- jsr small,y
- ldaa #immed
- ldaa #immed
- ldaa ,x
- ldaa ,y
- ldaa -1,x
- ldaa -1,y
- ldaa -16,x
- ldaa -16,y
- ldaa -17,x
- ldaa -17,y
- ldaa -small,x
- ldaa -small,y
- ldaa 0,x
- ldaa 0,y
- ldaa 1,x
- ldaa 1,y
- ldaa 125,x
- ldaa 125,y
- ldaa 15,x
- ldaa 15,y
- ldaa 16,x
- ldaa 16,y
- ldaa dir
- ldaa dir
- ldaa ext
- ldaa ext
- ldaa ext,x
- ldaa ext,y
- ldaa small,x
- ldaa small,y
- ldab #immed
- ldab #immed
- ldab ,x
- ldab ,y
- ldab -1,x
- ldab -1,y
- ldab -16,x
- ldab -16,y
- ldab -17,x
- ldab -17,y
- ldab -small,x
- ldab -small,y
- ldab 0,x
- ldab 0,y
- ldab 1,x
- ldab 1,y
- ldab 125,x
- ldab 125,y
- ldab 15,x
- ldab 15,y
- ldab 16,x
- ldab 16,y
- ldab dir
- ldab dir
- ldab ext
- ldab ext
- ldab ext,x
- ldab ext,y
- ldab small,x
- ldab small,y
- ldd #immed
- ldd #immed
- ldd ,x
- ldd ,y
- ldd -1,x
- ldd -1,y
- ldd -16,x
- ldd -16,y
- ldd -17,x
- ldd -17,y
- ldd -small,x
- ldd -small,y
- ldd 0,x
- ldd 0,y
- ldd 1,x
- ldd 1,y
- ldd 125,x
- ldd 125,y
- ldd 15,x
- ldd 15,y
- ldd 16,x
- ldd 16,y
- ldd dir
- ldd dir
- ldd ext
- ldd ext
- ldd ext,x
- ldd ext,y
- ldd small,x
- ldd small,y
- lds #immed
- lds #immed
- lds ,x
- lds ,y
- lds -1,x
- lds -1,y
- lds -16,x
- lds -16,y
- lds -17,x
- lds -17,y
- lds -small,x
- lds -small,y
- lds 0,x
- lds 0,y
- lds 1,x
- lds 1,y
- lds 125,x
- lds 125,y
- lds 15,x
- lds 15,y
- lds 16,x
- lds 16,y
- lds dir
- lds ext
- lds ext,x
- lds ext,y
- lds small,x
- lds small,y
- ldx #immed
- ldx #immed
- ldx ,x
- ldx ,y
- ldx -1,x
- ldx -1,y
- ldx -16,x
- ldx -16,y
- ldx -17,x
- ldx -17,y
- ldx -small,x
- ldx -small,y
- ldx 0,x
- ldx 0,y
- ldx 1,x
- ldx 1,y
- ldx 125,x
- ldx 125,y
- ldx 15,x
- ldx 15,y
- ldx 16,x
- ldx 16,y
- ldx dir
- ldx dir
- ldx ext
- ldx ext
- ldx ext,x
- ldx ext,y
- ldx small,x
- ldx small,y
- ldy #immed
- ldy #immed
- ldy ,x
- ldy ,y
- ldy -1,x
- ldy -1,y
- ldy -16,x
- ldy -16,y
- ldy -17,x
- ldy -17,y
- ldy -small,x
- ldy -small,y
- ldy 0,x
- ldy 0,y
- ldy 1,x
- ldy 1,y
- ldy 125,x
- ldy 125,y
- ldy 15,x
- ldy 15,y
- ldy 16,x
- ldy 16,y
- ldy dir
- ldy dir
- ldy ext
- ldy ext
- ldy ext,x
- ldy ext,y
- ldy small,x
- ldy small,y
- lsl ,x
- lsl ,y
- lsl -1,x
- lsl -1,y
- lsl -16,x
- lsl -16,y
- lsl -17,x
- lsl -17,y
- lsl -small,x
- lsl -small,y
- lsl 0,x
- lsl 0,y
- lsl 1,x
- lsl 1,y
- lsl 125,x
- lsl 125,y
- lsl 15,x
- lsl 15,y
- lsl 16,x
- lsl 16,y
- lsl dir
- lsl ext
- lsl ext
- lsl ext,x
- lsl ext,y
- lsl small,x
- lsl small,y
- lsla
- lslb
- lsld
- lsr ,x
- lsr ,y
- lsr -1,x
- lsr -1,y
- lsr -16,x
- lsr -16,y
- lsr -17,x
- lsr -17,y
- lsr -small,x
- lsr -small,y
- lsr 0,x
- lsr 0,y
- lsr 1,x
- lsr 1,y
- lsr 125,x
- lsr 125,y
- lsr 15,x
- lsr 15,y
- lsr 16,x
- lsr 16,y
- lsr dir
- lsr ext
- lsr ext
- lsr ext,x
- lsr ext,y
- lsr small,x
- lsr small,y
- lsra
- lsrb
- lsrd
- lsrd
- mul
- neg ,x
- neg ,y
- neg -1,x
- neg -1,y
- neg -16,x
- neg -16,y
- neg -17,x
- neg -17,y
- neg -small,x
- neg -small,y
- neg 0,x
- neg 0,y
- neg 1,x
- neg 1,y
- neg 125,x
- neg 125,y
- neg 15,x
- neg 15,y
- neg 16,x
- neg 16,y
- neg dir
- neg ext
- neg ext
- neg ext,x
- neg ext,y
- neg small,x
- neg small,y
- nega
- negb
- nop
- oraa #immed
- oraa #immed
- oraa ,x
- oraa ,y
- oraa -1,x
- oraa -1,y
- oraa -16,x
- oraa -16,y
- oraa -17,x
- oraa -17,y
- oraa -small,x
- oraa -small,y
- oraa 0,x
- oraa 0,y
- oraa 1,x
- oraa 1,y
- oraa 125,x
- oraa 125,y
- oraa 15,x
- oraa 15,y
- oraa 16,x
- oraa 16,y
- oraa dir
- oraa dir
- oraa ext
- oraa ext
- oraa ext,x
- oraa ext,y
- oraa small,x
- oraa small,y
- orab #immed
- orab #immed
- orab ,x
- orab ,y
- orab -1,x
- orab -1,y
- orab -16,x
- orab -16,y
- orab -17,x
- orab -17,y
- orab -small,x
- orab -small,y
- orab 0,x
- orab 0,y
- orab 1,x
- orab 1,y
- orab 125,x
- orab 125,y
- orab 15,x
- orab 15,y
- orab 16,x
- orab 16,y
- orab dir
- orab dir
- orab ext
- orab ext
- orab ext,x
- orab ext,y
- orab small,x
- orab small,y
- psha
- pshb
- pshx
- pshy
- pula
- pulb
- pulx
- puly
- rol ,x
- rol ,y
- rol -1,x
- rol -1,y
- rol -16,x
- rol -16,y
- rol -17,x
- rol -17,y
- rol -small,x
- rol -small,y
- rol 0,x
- rol 0,y
- rol 1,x
- rol 1,y
- rol 125,x
- rol 125,y
- rol 15,x
- rol 15,y
- rol 16,x
- rol 16,y
- rol dir
- rol ext
- rol ext
- rol ext,x
- rol ext,y
- rol small,x
- rol small,y
- rola
- rolb
- ror ,x
- ror ,y
- ror -1,x
- ror -1,y
- ror -16,x
- ror -16,y
- ror -17,x
- ror -17,y
- ror -small,x
- ror -small,y
- ror 0,x
- ror 0,y
- ror 1,x
- ror 1,y
- ror 125,x
- ror 125,y
- ror 15,x
- ror 15,y
- ror 16,x
- ror 16,y
- ror dir
- ror ext
- ror ext
- ror ext,x
- ror ext,y
- ror small,x
- ror small,y
- rora
- rorb
- rti
- rts
- sba
- sbca #immed
- sbca #immed
- sbca ,x
- sbca ,y
- sbca -1,x
- sbca -1,y
- sbca -16,x
- sbca -16,y
- sbca -17,x
- sbca -17,y
- sbca -small,x
- sbca -small,y
- sbca 0,x
- sbca 0,y
- sbca 1,x
- sbca 1,y
- sbca 125,x
- sbca 125,y
- sbca 15,x
- sbca 15,y
- sbca 16,x
- sbca 16,y
- sbca dir
- sbca dir
- sbca ext
- sbca ext
- sbca ext,x
- sbca ext,y
- sbca small,x
- sbca small,y
- sbcb #immed
- sbcb #immed
- sbcb ,x
- sbcb ,y
- sbcb -1,x
- sbcb -1,y
- sbcb -16,x
- sbcb -16,y
- sbcb -17,x
- sbcb -17,y
- sbcb -small,x
- sbcb -small,y
- sbcb 0,x
- sbcb 0,y
- sbcb 1,x
- sbcb 1,y
- sbcb 125,x
- sbcb 125,y
- sbcb 15,x
- sbcb 15,y
- sbcb 16,x
- sbcb 16,y
- sbcb dir
- sbcb dir
- sbcb ext
- sbcb ext
- sbcb ext,x
- sbcb ext,y
- sbcb small,x
- sbcb small,y
- sec
- sei
- sev
- staa ,x
- staa ,y
- staa -1,x
- staa -1,y
- staa -16,x
- staa -16,y
- staa -17,x
- staa -17,y
- staa -small,x
- staa -small,y
- staa 0,x
- staa 0,y
- staa 1,x
- staa 1,y
- staa 125,x
- staa 125,y
- staa 15,x
- staa 15,y
- staa 16,x
- staa 16,y
- staa dir
- staa dir
- staa ext
- staa ext
- staa ext,x
- staa ext,y
- staa small,x
- staa small,y
- stab ,x
- stab ,y
- stab -1,x
- stab -1,y
- stab -16,x
- stab -16,y
- stab -17,x
- stab -17,y
- stab -small,x
- stab -small,y
- stab 0,x
- stab 0,y
- stab 1,x
- stab 1,y
- stab 125,x
- stab 125,y
- stab 15,x
- stab 15,y
- stab 16,x
- stab 16,y
- stab dir
- stab dir
- stab ext
- stab ext
- stab ext,x
- stab ext,y
- stab small,x
- stab small,y
- std ,x
- std ,y
- std -1,x
- std -1,y
- std -16,x
- std -16,y
- std -17,x
- std -17,y
- std -small,x
- std -small,y
- std 0,x
- std 0,y
- std 1,x
- std 1,y
- std 125,x
- std 125,y
- std 15,x
- std 15,y
- std 16,x
- std 16,y
- std dir
- std dir
- std ext
- std ext
- std ext,x
- std ext,y
- std small,x
- std small,y
- stop
- sts ,x
- sts ,y
- sts -1,x
- sts -1,y
- sts -16,x
- sts -16,y
- sts -17,x
- sts -17,y
- sts -small,x
- sts -small,y
- sts 0,x
- sts 0,y
- sts 1,x
- sts 1,y
- sts 125,x
- sts 125,y
- sts 15,x
- sts 15,y
- sts 16,x
- sts 16,y
- sts dir
- sts ext
- sts ext,x
- sts ext,y
- sts small,x
- sts small,y
- stx ,x
- stx ,y
- stx -1,x
- stx -1,y
- stx -16,x
- stx -16,y
- stx -17,x
- stx -17,y
- stx -small,x
- stx -small,y
- stx 0,x
- stx 0,y
- stx 1,x
- stx 1,y
- stx 125,x
- stx 125,y
- stx 15,x
- stx 15,y
- stx 16,x
- stx 16,y
- stx dir
- stx dir
- stx ext
- stx ext
- stx ext,x
- stx ext,y
- stx small,x
- stx small,y
- sty ,x
- sty ,y
- sty -1,x
- sty -1,y
- sty -16,x
- sty -16,y
- sty -17,x
- sty -17,y
- sty -small,x
- sty -small,y
- sty 0,x
- sty 0,y
- sty 1,x
- sty 1,y
- sty 125,x
- sty 125,y
- sty 15,x
- sty 15,y
- sty 16,x
- sty 16,y
- sty dir
- sty dir
- sty ext
- sty ext
- sty ext,x
- sty ext,y
- sty small,x
- sty small,y
- suba #immed
- suba ,x
- suba ,y
- suba -1,x
- suba -1,y
- suba -16,x
- suba -16,y
- suba -17,x
- suba -17,y
- suba -small,x
- suba -small,y
- suba 0,x
- suba 0,y
- suba 1,x
- suba 1,y
- suba 125,x
- suba 125,y
- suba 15,x
- suba 15,y
- suba 16,x
- suba 16,y
- suba dir
- suba ext
- suba ext,x
- suba ext,y
- suba small,x
- suba small,y
- subb #immed
- subb #immed
- subb ,x
- subb ,y
- subb -1,x
- subb -1,y
- subb -16,x
- subb -16,y
- subb -17,x
- subb -17,y
- subb -small,x
- subb -small,y
- subb 0,x
- subb 0,y
- subb 1,x
- subb 1,y
- subb 125,x
- subb 125,y
- subb 15,x
- subb 15,y
- subb 16,x
- subb 16,y
- subb dir
- subb dir
- subb ext
- subb ext
- subb ext,x
- subb ext,y
- subb small,x
- subb small,y
- subd #immed
- subd #immed
- subd ,x
- subd ,y
- subd -1,x
- subd -1,y
- subd -16,x
- subd -16,y
- subd -17,x
- subd -17,y
- subd -small,x
- subd -small,y
- subd 0,x
- subd 0,y
- subd 1,x
- subd 1,y
- subd 125,x
- subd 125,y
- subd 15,x
- subd 15,y
- subd 16,x
- subd 16,y
- subd dir
- subd dir
- subd ext
- subd ext
- subd ext,x
- subd ext,y
- subd small,x
- subd small,y
- swi
- tab
- tap
- tba
- tpa
- tst ,x
- tst ,y
- tst -1,x
- tst -1,y
- tst -16,x
- tst -16,y
- tst -17,x
- tst -17,y
- tst -small,x
- tst -small,y
- tst 0,x
- tst 0,y
- tst 1,x
- tst 1,y
- tst 125,x
- tst 125,y
- tst 15,x
- tst 15,y
- tst 16,x
- tst 16,y
- tst dir
- tst ext
- tst ext
- tst ext,x
- tst ext,y
- tst small,x
- tst small,y
- tsta
- tstb
- tsx
- tsy
- txs
- tys
- wai
- xgdx
- xgdy
trunk/bench/tools/HSW12ASM/test_HC11.s
Property changes :
Deleted: svn:executable