Annotation of gforth/arch/6502/asm.fs, revision 1.2
1.2 ! crook 1: \ asm.fs
! 2: \
! 3: \ postfix assembler/disassembler for 6502 and variants.
1.1 pazsan 4:
1.2 ! crook 5: \ Generic routines for labels (forwards/backward references). The
! 6: \ assembler-specific part is supplied as an xt in "std-resolver" below.
1.1 pazsan 7: HEX
8: require asm/numref.fs
9: HEX
10:
11: also assembler definitions
12:
1.2 ! crook 13: \ Select CPU variant
! 14: VARIABLE CPU&
1.1 pazsan 15:
1.2 ! crook 16: : 65N02 10 CPU& C! ; \ 0001xxxx
! 17: : R65C02 80 CPU& C! ; \ 0010xxxx
! 18: : 65SC02 40 CPU& C! ; \ 0100xxxx
! 19: : 6511Q 20 CPU& C! ; \ 1000xxxx
! 20:
! 21: 65N02 \ Set a default CPU type
! 22:
! 23: \ Support for std-resolver
1.1 pazsan 24: : ABS/REL@ \ ( Addr --- A/R )
1.2 ! crook 25: \ Addr is the Addr of the Opcode
! 26: \ A/R is a flag: A=1 R=0
! 27: \ RELative opcodes are 01, 03, 05, 07, 08, 09, 0B, 0D, 0F all other are ABS
! 28: X c@ \ Get Opcode
! 29: dup 0F and 0= \ 0000xxxx = 0
! 30: over 10 and 0<> \ xxxxxxx1 = 0
! 31: and \ 0 0 => 1
! 32: swap 80 = \ !!JAW bugfix for bra
! 33: or 0= ; \ Flag: 1 = ABS 0 = Rel
1.1 pazsan 34:
35: : ABS/REL! \ ( $-Addr $:-Addr A/R --- )
1.2 ! crook 36: IF
! 37: swap 1+ X ! \ ABS
! 38: ELSE
! 39: over 2 + - \ REL
! 40: dup 0 80 - < ABORT" branch out of range"
! 41: dup 7F > ABORT" branch out of range"
! 42: swap 1+ X C!
! 43: THEN ;
1.1 pazsan 44:
45: : doresolve ( instruction-address -- )
46: ref-adr @ over abs/rel@ abs/rel! ;
47:
48: ' doresolve to std-resolver
49:
50: \ Tokens used in ASMTAB:
51: \ ASMTAB consists of 256 entrys that are 16Bit wide
52: \
53: \ Opcode implemented on:
54: \ 1111xxxx Fx 65C02 & 65SC02 & 6511Q & 65N02 basic
55: \ 1011xxxx Bx 65C02 & 6511Q & 65N02 basic + 6511Q
56: \ 1101xxxx Dx 65C02 & 65SC02 & 65N02 basic + 65SC02
57: \
1.2 ! crook 58: \ Addressing:
1.1 pazsan 59: \ x0 = None x1 = A. x2 = C #. x3 = C X)
60: \ x4 = C )Y x5 = C ,X x6 = C ,Y x7 = C
61: \ x8 = N ,X x9 = N ,Y xA = N xB = N ).
1.2 ! crook 62: \ xC = N X) xD = C rel xE = C ). xF = C bit
1.1 pazsan 63: \
64: \ Opcodes:
65: \ 00 ADC 01 and 02 ASL 03 BBR 04 BBS 05 BCC
66: \ 06 BCS 07 BEQ 08 BIT 09 BMI 0A BNE 0B BPL
67: \ 0C BRA 0D BRK 0E BVC 0F BVS 10 CLC 11 CLD
68: \ 12 CLI 13 CLV 14 CMP 15 CPX 16 CPY 17 DEC
69: \ 18 DEX 19 DEY 1A Eor 1B INC 1C INX 1D INY
70: \ 1E JMP 1F JSR 20 LDA 21 LDX 22 LDY 23 LSR
71: \ 24 NOP 25 orA 26 PHA 27 PHP 28 PHX 29 PHY
72: \ 2A PLA 2B PLP 2C PLX 2D PLY 2E RMB 2F ROL
73: \ 30 Ror 31 RTI 32 RTS 33 SBC 34 SEC 35 SED
74: \ 36 SEI 37 SMB 38 STA 39 STX 3A STY 3B STZ
75: \ 3C TAX 3D TAY 3E TRB 3F TSB 40 TSX 41 TXA
76: \ 42 TXS 43 TYA 44 WAI 45 STP
77: \ 80 no Opcode
78: \
79: \ Position: AABC
1.2 ! crook 80: \ ||| Addressing
1.1 pazsan 81: \ || CPU-Type
82: \ | Opcode
83: \
84:
85: CREATE ASMTAB
86: 0DF0 , ( 00 BRK ) 25F3 , ( 01 C X> orA )
87: 80F0 , ( 02 ) 08F0 , ( 03 )
88: 3FD7 , ( 04 C TSB ) 25F7 , ( 05 C orA )
89: 02F7 , ( 06 C ASL ) 2EBF , ( 07 C C RMB )
90: 27F0 , ( 08 PHP ) 25F2 , ( 09 C #. orA )
91: 02F1 , ( 0A A. ASL ) 80F0 , ( 0B )
92: 3FDA , ( 0C N TSB ) 25FA , ( 0D N orA )
93: 02FA , ( 0E N ASL ) 03BF , ( 0F C C BBR )
94:
95: 0BFD , ( 10 C rel BPL ) 25F4 , ( 11 C >Y orA )
96: 25DE , ( 12 C > orA ) 80F0 , ( 13 )
97: 3ED7 , ( 14 C TRB ) 25F5 , ( 15 C ,X orA )
98: 02F5 , ( 16 C ,X orA ) 2EBF , ( 17 C C RMB )
99: 10F0 , ( 18 CLC ) 25F9 , ( 19 N ,Y orA )
100: 1BD1 , ( 1A A. INC ) 80F0 , ( 1B )
101: 3EDA , ( 1C N TRB ) 25F8 , ( 1D N ,X orA )
102: 02F8 , ( 1E N ,X ASL ) 03BF , ( 1F C C BBR )
103:
104: 1FFA , ( 20 N JSR ) 01F3 , ( 21 C X> and )
105: 80F0 , ( 22 ) 80F0 , ( 23 )
106: 08F7 , ( 24 C BIT ) 01F7 , ( 25 C and )
107: 2FF7 , ( 26 C ROL ) 2EBF , ( 27 C C RMB )
108: 2BF0 , ( 28 PLP ) 01F2 , ( 29 C #. and )
109: 2FF1 , ( 2A A. ROL ) 80F0 , ( 2B )
110: 08FA , ( 2C N BIT ) 01FA , ( 2D N and )
111: 2FFA , ( 2E N ROL ) 03BF , ( 2F C C BBR )
112:
113: 09FD , ( 30 C rel BMI ) 01F4 , ( 31 C >Y and )
114: 01DE , ( 32 C > and ) 80F0 , ( 33 )
115: 08D5 , ( 34 C ,X BIT ) 01F5 , ( 35 C ,X BIT )
116: 2FF5 , ( 36 C ,X ROL ) 2EBF , ( 37 C C RMB )
117: 34F0 , ( 38 SEC ) 01F9 , ( 39 N ,Y and )
118: 17D1 , ( 3A A. DEC ) 80F0 , ( 3B )
119: 08D8 , ( 3C N ,X BIT ) 01F8 , ( 3D N ,X and )
120: 2FF8 , ( 3E N ,X ROL ) 03BF , ( 3F C C BBR )
121:
122: 31F0 , ( 40 RTI ) 1AF3 , ( 41 C X> Eor )
123: 80F0 , ( 42 ) 80F0 , ( 43 )
124: 80F0 , ( 44 ) 1AF7 , ( 45 C Eor )
125: 23F7 , ( 46 C LSR ) 2EBF , ( 47 C C RMB )
126: 26F0 , ( 48 PHA ) 1AF2 , ( 49 C #. Eor )
127: 23F1 , ( 4A A. LSR ) 80F0 , ( 4B )
128: 1EFA , ( 4C N JMP ) 1AFA , ( 4D N Eor )
129: 23FA , ( 4E N LSR ) 03BF , ( 4F C C BBR )
130:
131: 0EFD , ( 50 C rel BVC ) 1AF4 , ( 51 C >Y Eor )
132: 1ADE , ( 52 C > Eor ) 80F0 , ( 53 )
133: 80F0 , ( 54 ) 1AF5 , ( 55 C ,X Eor )
134: 23F5 , ( 56 C ,X Eor ) 2EBF , ( 57 C C RMB )
135: 12F0 , ( 58 CLI ) 1AF9 , ( 59 N ,Y Eor )
136: 29D0 , ( 5A PHY ) 80F0 , ( 5B )
137: 80F0 , ( 5C ) 1AF8 , ( 5D N ,X Eor )
138: 23F8 , ( 5E N ,X LSR ) 03BF , ( 5F C C BBR )
139:
140: 32F0 , ( 60 RTS ) 00F3 , ( 61 C X> ADC )
141: 80F0 , ( 62 ) 80F0 , ( 63 )
142: 3BD7 , ( 64 C STZ ) 00F7 , ( 65 C ADC )
143: 30F7 , ( 66 C Ror ) 2EBF , ( 67 C C RMB )
144: 2AF0 , ( 68 PLA ) 00F2 , ( 69 C #. ADC )
145: 30F1 , ( 6A A. Ror ) 80F0 , ( 6B )
146: 1EFB , ( 6C N > JMP ) 00FA , ( 6D N ADC )
147: 30FA , ( 6E N Ror ) 03BF , ( 6F C C BBR )
148:
149: 0FFD , ( 70 C rel BVS ) 00F4 , ( 71 C >Y ADC )
150: 00DE , ( 72 C > ADC ) 80F0 , ( 73 )
151: 3BD5 , ( 74 C ,X STZ ) 00F5 , ( 75 C ,X ADC )
152: 30F5 , ( 76 C ,X Ror ) 2EBF , ( 77 C C RMB )
153: 36F0 , ( 78 SEI ) 00F9 , ( 79 N ,Y ADC )
154: 2DD0 , ( 7A PLY ) 80F0 , ( 7B )
155: 1EDC , ( 7C N X> JMP ) 00F8 , ( 7D N ,X ADC )
156: 30F8 , ( 7E N ,X Ror ) 03BF , ( 7F C C BBR )
157:
158: 0CDD , ( 80 C rel BRA ) 38F3 , ( 81 C X> STA )
159: 80F0 , ( 82 ) 80F0 , ( 83 )
160: 3AF7 , ( 84 C STY ) 38F7 , ( 85 C STA )
161: 39F7 , ( 86 C STX ) 37BF , ( 87 C C SMB )
162: 19F0 , ( 88 DEY ) 08D2 , ( 89 C #. BIT )
163: 41F0 , ( 8A TXA ) 80F0 , ( 8B )
164: 3AFA , ( 8C N STY ) 38FA , ( 8D N STA )
165: 39FA , ( 8E N STX ) 04BF , ( 8F C C BBS )
166:
167: 05FD , ( 90 C rel BCC ) 38F4 , ( 91 C >Y STA )
168: 38DE , ( 92 C > STA ) 80F0 , ( 93 )
169: 3AF5 , ( 94 C ,X STY ) 38F5 , ( 95 C ,X STA )
170: 39F6 , ( 96 C ,Y STX ) 37BF , ( 97 C C SMB )
171: 43F0 , ( 98 TYA ) 38F9 , ( 99 N ,Y STA )
172: 42F0 , ( 9A TXS ) 80F0 , ( 9B )
173: 3BDA , ( 9C N STZ ) 38F8 , ( 9D N ,X STA )
174: 3BD8 , ( 9E N ,X STZ ) 04BF , ( 9F C C BBS )
175:
176: 22F2 , ( A0 C # LDY ) 20F3 , ( A1 C X> LDA )
177: 21F2 , ( A2 C # LDX ) 80F0 , ( A3 )
178: 22F7 , ( A4 C LDY ) 20F7 , ( A5 C LDA )
179: 21F7 , ( A6 C LDX ) 37BF , ( A7 C C SMB )
180: 3DF0 , ( A8 TAY ) 20F2 , ( A9 C #. LDA )
181: 3CF0 , ( AA TAX ) 80F0 , ( AB )
182: 22FA , ( AC N LDY ) 20FA , ( AD N LDA )
183: 21FA , ( AE N LDX ) 04BF , ( AF C C BBS )
184:
185: 06FD , ( B0 C rel BCS ) 20F4 , ( B1 C >Y LDA )
186: 20DE , ( B2 C > LDA ) 80F0 , ( B3 )
187: 22F5 , ( B4 C ,X LDY ) 20F5 , ( B5 C ,X LDA )
188: 21F6 , ( B6 C ,X LDX ) 37BF , ( B7 C C SMB )
189: 13F0 , ( B8 CLV ) 20F9 , ( B9 N ,Y LDA )
190: 42F0 , ( BA TSX ) 80F0 , ( BB )
191: 22F8 , ( BC N ,X LDY ) 20F8 , ( BD N ,X LDA )
192: 21F9 , ( BE N ,Y LDX ) 04BF , ( BF C C BBS )
193:
194: 16F2 , ( C0 C #. CPY ) 14F3 , ( C1 X> CMP )
195: 80F0 , ( C2 ) 80F0 , ( C3 )
196: 16F7 , ( C4 C CPY ) 14F7 , ( C5 C CMP )
197: 17F7 , ( C6 C DEC ) 37BF , ( C7 C C SMB )
198: 1DF0 , ( C8 INY ) 14F2 , ( C9 C #. CMP )
199: 18F0 , ( CA DEX ) 4440 , ( CB WAI )
200: 16FA , ( CC N CPY ) 14FA , ( CD N CMP )
201: 17FA , ( CE N DEC ) 04BF , ( CF C C BBS )
202:
203: 0AFD , ( D0 C rel BNE ) 14F4 , ( D1 C >Y CMP )
204: 14DE , ( D2 C > CMP ) 80F0 , ( D3 )
205: 80F0 , ( D4 ) 14F5 , ( D5 C ,X CMP )
206: 17F5 , ( D6 C ,X DEC ) 37BF , ( D7 C C SMB )
207: 11F0 , ( D8 CLD ) 14F9 , ( D9 N ,Y CMP )
208: 28D0 , ( DA PHX ) 4540 , ( DB STP )
209: 80F0 , ( DC ) 14F8 , ( DD N ,X CMP )
210: 17F8 , ( DE N ,X DEC ) 04BF , ( DF C C BBS )
211:
212: 15F2 , ( E0 C #. CPX ) 33F3 , ( E1 C X> SBC )
213: 80F0 , ( E2 ) 80F0 , ( E3 )
214: 15F7 , ( E4 C CPX ) 33F7 , ( E5 N SBC )
215: 1BF7 , ( E6 C INC ) 37BF , ( E7 C C SMB )
216: 1CF0 , ( E8 INX ) 33F2 , ( E9 C #. SBC )
217: 24F0 , ( EA NOP ) 80F0 , ( EB )
218: 15FA , ( EC N CPX ) 33FA , ( ED N SBC )
219: 1BFA , ( EE N INC ) 04BF , ( EF C C BBS )
220:
221: 07FD , ( F0 C rel BEQ ) 33F4 , ( F1 C >Y SBC )
222: 33DE , ( F2 C > SBC ) 80F0 , ( F3 )
223: 80F0 , ( F4 ) 33F5 , ( F5 C ,X SBC )
224: 1BF5 , ( F6 C ,X INC ) 37BF , ( F7 C C SMB )
225: 35F0 , ( F8 SED ) 33F9 , ( F9 N ,Y SBC )
226: 2CD0 , ( FA PLX ) 80F0 , ( FB )
227: 80F0 , ( FC ) 33F8 , ( FD N ,X SBC )
228: 1BF8 , ( FE N ,X INC ) 04BF , ( FF C C BBS )
229:
1.2 ! crook 230: \ ***********************************************************************
! 231: \
1.1 pazsan 232: \ Assembler
233:
234: \ single Byte Instructions
235:
236: : BRK, 00 X c, ; : CLC, 18 X c, ; : CLD, D8 X c, ; : CLI, 58 X c, ;
237: : CLV, B8 X c, ; : DEX, CA X c, ; : DEY, 88 X c, ; : INX, E8 X c, ;
238: : INY, C8 X c, ; : NOP, EA X c, ; : PHA, 48 X c, ; : PHP, 08 X c, ;
239: : PLA, 68 X c, ; : PLP, 28 X c, ; : RTI, 40 X c, ; : RTS, 60 X c, ;
240: : SEC, 38 X c, ; : SED, F8 X c, ; : SEI, 78 X c, ; : TAX, AA X c, ;
241: : TAY, A8 X c, ; : TSX, BA X c, ; : TXA, 8A X c, ; : TXS, 9A X c, ;
242: : TYA, 98 X c, ;
243:
1.2 ! crook 244: : SOP, CPU& C@ C0 and IF X c, ELSE -1 ABORT" sop not supported" THEN ; ( C1 --- )
1.1 pazsan 245: : PLY, 7A SOP, ; : PLX, FA SOP, ; : PHY, 5A SOP, ; : PHX, DA SOP, ;
246: : WAI, CB SOP, ; : STP, DB SOP, ;
247:
248: \ Addressingtokens
249: \ COPAD 00 : no Addressing valid
250:
251: VARIABLE COPAD
252:
253: : #. 02 COPAD C! ; : ). 07 COPAD C! ; : ,X 05 COPAD C! ;
254: : ,Y 06 COPAD C! ; : X) 03 COPAD C! ; : )Y 04 COPAD C! ;
255: : A. 01 COPAD C! ;
256:
1.2 ! crook 257: \ ->ASM2.F65
1.1 pazsan 258: 2D EMIT 3E EMIT
259: 41 EMIT 53 EMIT 4D EMIT 32 EMIT
260: 2E EMIT 46 EMIT 36 EMIT 35 EMIT CR
261:
262: \ Branch Instructions
263:
264: : RB, \ ( Addr1 --- ) ( COPAD = 00 )
265: \ ( C1 --- ) COPAD = 02
1.2 ! crook 266: X c, COPAD C@ 02 =
! 267: IF 00 COPAD C! \ C1 #.-Addressing
! 268: ELSE
! 269: X here 1+ -
! 270: dup 0 80 - < ABORT" branch out of range"
! 271: dup 7F > ABORT" branch out of range"
! 272: THEN X c, ; \ Put Addr in Memory
1.1 pazsan 273:
274: : BCC, 090 RB, ; : BCS, 0B0 RB, ; : BEQ, 0F0 RB, ; : BMI, 030 RB, ;
275: : BNE, 0D0 RB, ; : BPL, 010 RB, ; : BVC, 050 RB, ; : BVS, 070 RB, ;
276: : BRA, CPU& C@ C0 and IF 80 RB, ELSE -1 ABORT" bra not supported" THEN ;
277:
1.2 ! crook 278: \ These 4 Opcodes are only available in 65C02 and 6511Q.
1.1 pazsan 279: \ Error 07 "Opcode-Bitaddressing is wrong"
280:
281: : BOP, \ ( Addr1 C2 C3 --- )
282: \ or ( C1 C2 C3 --- )
1.2 ! crook 283: CPU& C@ A0 and IF \ only 65C02 and 6511Q
! 284: swap dup FFF8 and -1 ABORT" bop error jrd?!" \ C2 is only 0 - 7
! 285: 4 lshift or \ make opcode
! 286: dup 08 and IF
! 287: X c, X , \ BBS, BBR,
! 288: ELSE X c, X c, THEN \ RMB, SMB,
! 289: ELSE -1 ABORT" bop not supported" THEN ;
1.1 pazsan 290:
291: : BBR, 0F BOP, ; \ ( Addr1 C2 --- )
292: : BBS, 8F BOP, ; \ ( Addr1 C2 --- )
293: : RMB, 07 BOP, ; \ ( C1 C2 --- )
294: : SMB, 87 BOP, ; \ ( C1 C2 --- )
295:
296: : JMP, \ ( Addr1 --- )
1.2 ! crook 297: COPAD C@ dup 07 = IF
! 298: drop 6C \ Addr1 ) JMP
! 299: ELSE 03 = \ Addr1 JMP
! 300: IF CPU& C@ C0 and 0= ABORT" jmp (),x not supported" 7C
! 301: ELSE 4C
! 302: THEN
! 303: THEN X c, X ,
! 304: 00 COPAD C! ;
1.1 pazsan 305:
1.2 ! crook 306: : JSR, \ ( Addr1 --- )
1.1 pazsan 307: 20 X c, X , ;
308:
1.2 ! crook 309: \ Instructions with multiple Addressing
1.1 pazsan 310: \
311: \ Offset: COPAD x 2 + 1 wenn N
312: \ COPAD x 2 wenn C
313: \ Content = AddrTokens of ASMTAB
314: \ or 80 = Error
315:
316: CREATE FOPCADR
317: 0A07 , 0101 , 8002 , 0C03 , 8004 , 0805 , 0906 , 0B0E ,
318:
319: \
320: \ 0 1 2 3 4 5 6 7 8 9 A B C D E F
321: \
322: \ C 07 01 02 03 04 05 06 0E
323: \ N 0A 01 80 0C 80 08 09 0B
324: \ ------ - A. - - #. - - X) - - )Y - - ,X - - ,Y - - ). -
325: \
326:
327: : FOPC \ ( C1 --- )
328: \ or ( N C1 --- )
329: \ or ( C C1 --- )
1.2 ! crook 330: COPAD C@ 1 = IF
! 331: 1 swap 1 swap 1 swap \ ( 1 1 1 C1 --- )
! 332: ELSE 1 ROT ROT swap \ ( 1 N 1 C1 --- )
! 333: dup FF00 and ROT \ oder ( 1 C 0 C1 --- )
1.1 pazsan 334: THEN
1.2 ! crook 335:
! 336: \ TOS C1 is a Token representing the Opcode corresponding to ASMTAB
! 337: \ SOS Then comes a Flag indicating C or N -Data
! 338: \ 3OS Then comes the Data or a Dummy in case of A.-Addr
! 339: \ 4OS Last comes the Errorflag
! 340: ASMTAB 100 cells + ASMTAB
! 341: DO
! 342: dup I @ 8 rshift = \ Opcode ? C1 = ?
! 343: IF \ Now test Addr
! 344: COPAD C@ 06 = IF \ ,Y-Patch
! 345: dup dup 39 = \ if STX
! 346: swap 21 = or 0= \ or LDX not, otherwise
! 347: IF swap 1 or swap THEN \ make C a N
! 348: THEN
! 349: over COPAD C@
! 350: cells FOPCADR + @ \ look in FOPCADR
! 351: swap IF 8 rshift ELSE 0ff and THEN \ N => 1+ , C => 0+
! 352: I @ 00f and =
! 353: I @ 0f0 and CPU& C@ and 0<> \ CPU-Test
! 354: and \ 1-Flag if ok
! 355: \ ( 1 x x C1 F --- )
! 356: IF I ASMTAB - 1 cells / \ Recalculate Opcode from Offset
! 357: X c, \ Compile Opcode
! 358: drop \ C1 goes
! 359: COPAD C@ 01 = IF \ No Operand if A.-Addr
! 360: 2drop
! 361: ELSE
! 362: IF X , ELSE X c, THEN \ Compile Operand
! 363: THEN
! 364: drop \ drop Errorflag
! 365: 0 0 0 0 LEAVE \ Successflag and Dummys
! 366: THEN
! 367: THEN
! 368: 1 cells
! 369: +LOOP drop 2drop ABORT" not supported" 0 COPAD C! ;
1.1 pazsan 370:
371: : ADC, 00 FOPC ; : and, 01 FOPC ; : ASL, 02 FOPC ; : CMP, 14 FOPC ;
372: : CPX, 15 FOPC ; : CPY, 16 FOPC ; : DEC, 17 FOPC ; : EOR, 1A FOPC ;
373: : INC, 1B FOPC ; : LDA, 20 FOPC ; : LDX, 21 FOPC ; : LDY, 22 FOPC ;
374: : LSR, 23 FOPC ; : ORA, 25 FOPC ; : ROL, 2F FOPC ; : ROR, 30 FOPC ;
375: : SBC, 33 FOPC ; : STA, 38 FOPC ; : STX, 39 FOPC ; : STY, 3A FOPC ;
376: : BIT, 08 FOPC ; : STZ, 3B FOPC ; : TSB, 3F FOPC ; : TRB, 3E FOPC ;
377:
378: \ **********************************************************************
379: \
380: \ Disassembler
381: \
382: \ Format of Disassembler:
383: \
384: \ AAAA BBB C DD EEEE
385: \
386: \ AAAA: Addr in hex
387: \ BBB: Opcode
388: \ C: Operand embedded in opcode
1.2 ! crook 389: \ DD: Addressing
1.1 pazsan 390: \ EEEE or
391: \ EE: Operand in hex
392: \
393: \ Offset corresponds to ASMTAB-Offset
394:
395: \ 1. Letter of Opcode
396: CREATE OPTAB1
397: 41 C, 41 C, 41 C, 42 C, 42 C, 42 C,
398: 42 C, 42 C, 42 C, 42 C, 42 C, 42 C,
399: 42 C, 42 C, 42 C, 42 C, 43 C, 43 C,
400: 43 C, 43 C, 43 C, 43 C, 43 C, 44 C,
401: 44 C, 44 C, 45 C, 49 C, 49 C, 49 C,
402: 4A C, 4A C, 4C C, 4C C, 4C C, 4C C,
403: 4E C, 4F C, 50 C, 50 C, 50 C, 50 C,
404: 50 C, 50 C, 50 C, 50 C, 52 C, 52 C,
405: 52 C, 52 C, 52 C, 53 C, 53 C, 53 C,
406: 53 C, 53 C, 53 C, 53 C, 53 C, 53 C,
407: 54 C, 54 C, 54 C, 54 C, 54 C, 54 C,
408: 54 C, 54 C, 57 C, 53 C,
409:
410: \ 2.Letter of Opcode
411: CREATE OPTAB2
412: 44 C, 4E C, 53 C, 42 C, 42 C, 43 C,
413: 43 C, 45 C, 49 C, 4D C, 4E C, 50 C,
414: 52 C, 52 C, 56 C, 56 C, 4C C, 4C C,
415: 4C C, 4C C, 4D C, 50 C, 50 C, 45 C,
416: 45 C, 45 C, 4F C, 4E C, 4E C, 4E C,
417: 4D C, 53 C, 44 C, 44 C, 44 C, 53 C,
418: 4F C, 52 C, 48 C, 48 C, 48 C, 48 C,
419: 4C C, 4C C, 4C C, 4C C, 4D C, 4F C,
420: 4F C, 54 C, 54 C, 42 C, 45 C, 45 C,
421: 45 C, 4D C, 54 C, 54 C, 54 C, 54 C,
422: 41 C, 41 C, 52 C, 53 C, 53 C, 58 C,
423: 58 C, 59 C, 41 C, 54 C,
424:
425: \ 3.Letter of Opcode
426: CREATE OPTAB3
427: 43 C, 44 C, 4C C, 52 C, 53 C, 43 C,
428: 53 C, 51 C, 54 C, 49 C, 45 C, 4C C,
429: 41 C, 4B C, 43 C, 53 C, 43 C, 44 C,
430: 49 C, 56 C, 50 C, 58 C, 59 C, 43 C,
431: 58 C, 59 C, 52 C, 43 C, 58 C, 59 C,
432: 50 C, 52 C, 41 C, 58 C, 59 C, 52 C,
433: 50 C, 41 C, 41 C, 50 C, 58 C, 59 C,
434: 41 C, 50 C, 58 C, 59 C, 42 C, 4C C,
435: 52 C, 49 C, 53 C, 43 C, 43 C, 44 C,
436: 49 C, 42 C, 41 C, 58 C, 59 C, 5A C,
437: 58 C, 59 C, 42 C, 42 C, 58 C, 41 C,
438: 53 C, 41 C, 49 C, 50 C,
439:
440: CREATE ADTAB1
441:
442: 20 C, 41 C, 23 C, 58 C,
443: 29 C, 2C C, 2C C, 20 C,
444: 2C C, 2C C, 20 C, 29 C,
445: 58 C, 20 C, 29 C, 20 C,
446:
447: CREATE ADTAB2
448:
449: 20 C, 2E C, 2E C, 29 C,
450: 59 C, 58 C, 59 C, 20 C,
451: 58 C, 59 C, 20 C, 2E C,
452: 29 C, 20 C, 2E C, 20 C,
453:
454: CREATE ADTAB3
455:
456: 0 C, 0 C, 3 C, 3 C,
457: 3 C, 3 C, 3 C, 3 C,
458: 2 C, 2 C, 2 C, 2 C,
459: 2 C, 1 C, 3 C, 3 C,
460:
1.2 ! crook 461: \ ->COLD.F65
1.1 pazsan 462: 2D EMIT 3E EMIT
463: 43 EMIT 4F EMIT 4C EMIT 44 EMIT
464: 2E EMIT 46 EMIT 36 EMIT 35 EMIT CR
465:
1.2 ! crook 466: \ end of definitions for assembler wordlist
1.1 pazsan 467: previous definitions
FreeBSD-CVSweb <freebsd-cvsweb@FreeBSD.org>