00000000: 28 20 41 53 53 45 4D 42 4C 45 52 20 43 4F 4E 54 |( ASSEMBLER CONT|
00000010: 2E 20 29 20 48 45 58 20 20 20 20 20 20 20 20 20 |. ) HEX |
00000020: 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 | |
00000030: 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 | |
00000040: 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 | |
00000050: 3A 20 4D 4F 44 45 35 20 28 20 49 4E 44 45 58 45 |: MODE5 ( INDEXE|
00000060: 44 2C 58 20 26 20 5A 50 2C 58 20 29 20 20 20 20 |D,X & ZP,X ) |
00000070: 20 20 20 20 20 20 20 20 28 20 49 46 20 41 44 44 | ( IF ADD|
00000080: 52 20 3C 3D 46 46 20 41 4E 44 20 5A 50 20 4D 4F |R <=FF AND ZP MO|
00000090: 44 45 20 41 4C 4C 4F 57 45 44 20 20 20 20 20 20 |DE ALLOWED |
000000A0: 20 54 48 45 4E 20 43 4F 4E 56 45 52 54 20 4F 50 | THEN CONVERT OP|
000000B0: 43 4F 44 45 20 54 4F 20 5A 50 20 54 59 50 45 20 |CODE TO ZP TYPE |
000000C0: 29 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 |) |
000000D0: 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 | |
000000E0: 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 | |
000000F0: 31 43 20 2B 20 3E 52 20 32 30 20 41 4E 44 20 30 |1C + >R 20 AND 0|
00000100: 3D 20 4F 56 45 52 20 46 46 30 30 20 41 4E 44 20 |= OVER FF00 AND |
00000110: 4F 52 20 20 20 20 20 20 20 30 3D 20 49 46 20 52 |OR 0= IF R|
00000120: 3E 20 38 20 2D 20 43 2C 20 43 2C 20 20 20 20 20 |> 8 - C, C, |
00000130: 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 | |
00000140: 20 45 4C 53 45 20 52 3E 20 28 20 49 46 20 4F 50 | ELSE R> ( IF OP|
00000150: 43 4F 44 45 3D 39 43 20 54 48 45 4E 20 49 4C 4C |CODE=9C THEN ILL|
00000160: 47 4C 29 20 20 20 20 20 20 44 55 50 20 39 43 20 |GL) DUP 9C |
00000170: 3D 20 49 46 20 45 52 52 4D 4F 44 45 20 54 48 45 |= IF ERRMODE THE|
00000180: 4E 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 |N |
00000190: 20 43 2C 20 2C 20 54 48 45 4E 20 3B 20 20 20 20 | C, , THEN ; |
000001A0: 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 | |
000001B0: 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 | |
000001C0: 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 | |
000001D0: 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 | |
000001E0: 3A 20 4D 4F 44 45 36 20 28 20 49 4E 44 45 58 45 |: MODE6 ( INDEXE|
000001F0: 44 2C 59 20 26 20 5A 50 2C 59 20 29 20 20 20 20 |D,Y & ZP,Y ) |
00000200: 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 | |
00000210: 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 | |
00000220: 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 | |
00000230: 28 20 53 54 58 20 3F 29 20 44 55 50 20 38 32 20 |( STX ?) DUP 82 |
00000240: 3D 20 49 46 20 31 34 20 2B 20 43 2C 20 44 52 4F |= IF 14 + C, DRO|
00000250: 50 20 20 20 20 20 20 20 20 44 55 50 20 46 46 30 |P DUP FF0|
00000260: 30 20 41 4E 44 20 49 46 20 35 20 41 45 52 52 20 |0 AND IF 5 AERR |
00000270: 54 48 45 4E 20 43 2C 20 20 20 20 20 20 20 20 20 |THEN C, |
00000280: 20 45 4C 53 45 20 28 20 4C 44 58 3F 29 20 44 55 | ELSE ( LDX?) DU|
00000290: 50 20 41 32 20 3D 20 49 46 20 44 52 4F 50 20 44 |P A2 = IF DROP D|
000002A0: 52 4F 50 20 20 20 20 20 20 44 55 50 20 46 46 30 |ROP DUP FF0|
000002B0: 30 20 41 4E 44 20 49 46 20 42 45 20 43 2C 20 2C |0 AND IF BE C, ,|
000002C0: 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 | |
000002D0: 20 45 4C 53 45 20 42 36 20 43 2C 20 20 20 20 20 | ELSE B6 C, |
000002E0: 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 | |
000002F0: 20 20 20 20 20 20 20 20 20 43 2C 20 54 48 45 4E | C, THEN|
00000300: 20 45 4C 53 45 20 31 38 20 2B 20 43 2C 20 44 52 | ELSE 18 + C, DR|
00000310: 4F 50 20 2C 20 54 48 45 4E 20 20 20 20 20 20 20 |OP , THEN |
00000320: 20 54 48 45 4E 20 3B 20 20 20 20 20 20 20 20 20 | THEN ; |
00000330: 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 | |
00000340: 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 | |
00000350: 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 | |
00000360: 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 | |
00000370: 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 | |
00000380: 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 | |
00000390: 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 | |
000003A0: 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 | |
000003B0: 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 | |
000003C0: 44 45 43 49 4D 41 4C 20 20 2D 2D 3E 20 20 20 20 |DECIMAL --> |
000003D0: 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 | |
000003E0: 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 | |
000003F0: 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 | |
( ASSEMBLER CONT. ) HEX
: MODE5 ( INDEXED,X & ZP,X )
( IF ADDR <=FF AND ZP MODE ALLOWED
THEN CONVERT OPCODE TO ZP TYPE )
1C + >R 20 AND 0= OVER FF00 AND OR
0= IF R> 8 - C, C,
ELSE R> ( IF OPCODE=9C THEN ILLGL)
DUP 9C = IF ERRMODE THEN
C, , THEN ;
: MODE6 ( INDEXED,Y & ZP,Y )
( STX ?) DUP 82 = IF 14 + C, DROP
DUP FF00 AND IF 5 AERR THEN C,
ELSE ( LDX?) DUP A2 = IF DROP DROP
DUP FF00 AND IF BE C, ,
ELSE B6 C,
C, THEN ELSE 18 + C, DROP , THEN
THEN ;
DECIMAL -->
×
C64 Image
> CLICK IMAGE PREVIEW FOR FULL MODAL