00000000: 28 20 43 4F 44 45 2C 20 3B 43 4F 44 45 2C 20 4F |( CODE, ;CODE, O|
00000010: 50 45 52 41 4E 44 20 29 20 48 45 58 20 20 20 20 |PERAND ) 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: 46 4F 52 54 48 20 44 45 46 49 4E 49 54 49 4F 4E |FORTH DEFINITION|
00000060: 53 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 |S |
00000070: 20 20 20 20 20 20 20 20 3A 20 43 4F 44 45 20 3F | : CODE ?|
00000080: 45 58 45 43 20 43 52 45 41 54 45 20 53 4D 55 44 |EXEC CREATE SMUD|
00000090: 47 45 20 20 20 20 20 20 20 20 20 20 20 20 20 20 |GE |
000000A0: 20 20 20 5B 43 4F 4D 50 49 4C 45 5D 20 41 53 53 | [COMPILE] ASS|
000000B0: 45 4D 42 4C 45 52 20 20 20 21 43 53 50 20 4C 41 |EMBLER !CSP LA|
000000C0: 54 45 53 54 20 20 20 20 20 20 20 50 46 41 20 44 |TEST PFA D|
000000D0: 55 50 20 32 20 2D 20 21 20 3B 20 20 20 20 20 20 |UP 2 - ! ; |
000000E0: 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 | |
000000F0: 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 | |
00000100: 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 | |
00000110: 20 20 20 20 20 20 20 20 28 20 3B 43 4F 44 45 20 | ( ;CODE |
00000120: 49 53 20 41 4C 52 45 41 44 59 20 44 45 46 49 4E |IS ALREADY DEFIN|
00000130: 45 44 20 49 4E 20 54 48 45 20 46 4F 52 54 48 20 |ED IN THE FORTH |
00000140: 20 20 4B 45 52 4E 41 4C 2E 20 20 4A 55 53 54 20 | KERNAL. JUST |
00000150: 52 45 44 45 46 49 4E 45 20 54 4F 20 49 4E 56 4F |REDEFINE TO INVO|
00000160: 4B 45 20 54 48 45 20 20 20 20 41 53 53 45 4D 42 |KE THE ASSEMB|
00000170: 4C 45 52 20 56 4F 43 41 42 55 4C 41 52 59 20 29 |LER VOCABULARY )|
00000180: 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 | |
00000190: 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 | |
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 3A 20 3B 43 4F 44 45 20 | : ;CODE |
000001C0: 5B 43 4F 4D 50 49 4C 45 5D 20 41 53 53 45 4D 42 |[COMPILE] ASSEMB|
000001D0: 4C 45 52 20 20 20 20 20 20 20 20 20 20 20 20 20 |LER |
000001E0: 20 20 20 20 20 20 20 20 5B 43 4F 4D 50 49 4C 45 | [COMPILE|
000001F0: 5D 20 3B 43 4F 44 45 20 20 3B 20 20 49 4D 4D 45 |] ;CODE ; IMME|
00000200: 44 49 41 54 45 20 20 20 41 53 53 45 4D 42 4C 45 |DIATE ASSEMBLE|
00000210: 52 20 44 45 46 49 4E 49 54 49 4F 4E 53 20 20 20 |R DEFINITIONS |
00000220: 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 | |
00000230: 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 | |
00000240: 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 | |
00000250: 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 | |
00000260: 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 | |
00000270: 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 | |
00000280: 28 20 46 45 54 43 48 20 43 46 41 20 4F 46 20 50 |( FETCH CFA OF P|
00000290: 52 4F 50 45 52 20 41 44 44 52 45 53 53 20 4D 4F |ROPER ADDRESS MO|
000002A0: 44 45 29 20 20 20 20 20 28 20 41 44 4D 41 53 4B |DE) ( ADMASK|
000002B0: 20 4F 50 42 41 53 45 20 2D 2D 2D 20 41 44 4D 41 | OPBASE --- ADMA|
000002C0: 53 4B 20 4F 50 42 41 53 45 20 43 46 41 20 29 20 |SK OPBASE CFA ) |
000002D0: 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 | |
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 3A 20 4F 50 45 52 41 4E | : OPERAN|
00000300: 44 20 4F 56 45 52 20 4D 4F 44 45 20 40 20 41 4E |D OVER MODE @ AN|
00000310: 44 20 30 20 31 30 20 30 20 44 4F 20 20 20 20 20 |D 0 10 0 DO |
00000320: 20 20 53 57 41 50 20 44 55 50 20 31 20 41 4E 44 | SWAP DUP 1 AND|
00000330: 20 49 46 20 4C 45 41 56 45 20 53 57 41 50 20 45 | IF LEAVE SWAP E|
00000340: 4C 53 45 20 20 20 20 20 20 20 32 2F 20 53 57 41 |LSE 2/ SWA|
00000350: 50 20 32 2B 20 54 48 45 4E 20 4C 4F 4F 50 20 53 |P 2+ THEN LOOP S|
00000360: 57 41 50 20 44 52 4F 50 20 20 20 20 20 20 20 20 |WAP DROP |
00000370: 20 20 4F 50 4A 54 42 4C 20 2B 20 40 20 3B 20 20 | OPJTBL + @ ; |
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 | |
00000400: 62 62 62 62 62 62 62 40 AC 9F C9 68 40 A3 9F C2 |bbbbbbb@...h@...|
00000410: 60 DD B9 36 90 68 BD 5C 63 B0 7D 88 B0 93 DD 5C |`..6.h.\c.}....\|
00000420: 63 E5 4B 88 DD 5C 63 E5 4C 88 DD 5C 63 E5 4D 88 |c.K..\c.L..\c.M.|
00000430: DD 5C 63 E5 4E 2C 26 36 C9 50 E5 4B C9 15 E5 4C |.\c.N,&6.P.K...L|
00000440: C9 6D E5 4D C9 E9 E5 4E C2 60 C0 28 DD B9 38 FD |.m.M...N.`.(..8.|
00000450: 60 62 88 E8 B0 96 40 DD 36 C0 4D C2 60 DD 07 3A |`b....@.6.M.`..:|
00000460: FD F0 05 88 E8 B0 96 C9 60 E5 DB C9 35 E5 DC C9 |........`...5...|
00000470: 60 E5 D9 E5 F0 C9 68 E5 D8 E5 DA C9 65 E5 D7 40 |`.....h.....e..@|
00000480: A0 9F 40 61 62 40 AC 9F C2 68 40 A6 9F 40 AF 9F |..@ab@...h@..@..|
00000490: E5 01 40 AF 9F E5 02 C0 60 90 76 40 AC 9F C9 68 |..@.....`.v@...h|
000004A0: 40 A3 9F C5 DB 90 63 2C F4 4A C9 65 40 AD 36 B0 |@.....c,.J.e@.6.|
000004B0: D8 40 6A 35 C6 F0 B0 83 A8 B0 96 86 02 B0 92 CE |.@j5............|
000004C0: B7 38 88 88 88 88 EE B7 38 C9 29 ED B8 38 00 CE |.8......8.)..8..|
000004D0: B7 38 EE B8 38 C2 23 EE B7 38 00 9F 36 29 3A 21 |.8..8.#..8..6):!|
000004E0: 2D 25 2D 5A 60 CA CA CA CA CA CA CA CA CA CA CA |-%-Z`...........|
000004F0: CA CA CA CA CA CA CA CA CA CA CA CA CA CA CA CA |................|
00000500: 00 |. |
( CODE, ;CODE, OPERAND ) HEX
FORTH DEFINITIONS
: CODE ?EXEC CREATE SMUDGE
[COMPILE] ASSEMBLER !CSP LATEST
PFA DUP 2 - ! ;
( ;CODE IS ALREADY DEFINED IN THE FORTH
KERNAL. JUST REDEFINE TO INVOKE THE
ASSEMBLER VOCABULARY )
: ;CODE [COMPILE] ASSEMBLER
[COMPILE] ;CODE ; IMMEDIATE
ASSEMBLER DEFINITIONS
( FETCH CFA OF PROPER ADDRESS MODE)
( ADMASK OPBASE --- ADMASK OPBASE CFA )
: OPERAND OVER MODE @ AND 0 10 0 DO
SWAP DUP 1 AND IF LEAVE SWAP ELSE
2/ SWAP 2+ THEN LOOP SWAP DROP
OPJTBL + @ ;
DECIMAL -->
BBBBBBB@..IH@..B
`..6.H.\C.}....\C.K..\C.L..\C.M..\C.N,&6
IP.KI..LIM.MI..NB`.(..8.`B....@.6.MB`..:
.......I`..I5..I`.Y..IH.X.ZIE.W@ .@AB@..
BH@..@....@.....`.V@..IH@..E..C,.JIE@.6.
X@J5F..........N.8......8I)..8.N.8..8B#.
.8..6):!-%-Z`JJJJJJJJJJJJJJJJJJJJJJJJJJJ
.
×
C64 Image
> CLICK IMAGE PREVIEW FOR FULL MODAL