TUTORIAL
FILE INFORMATION
FILENAME(S): TUTORIAL
FILE TYPE(S): PRG
FILE SIZE: 13.4K
FIRST SEEN: 2025-10-19 22:49:33
APPEARS ON: 1 disk(s)
FILE HASH
efde68ade81cd26c8943c9086677363e851f9cb1084d84481efad168a8c189ef
FOUND ON DISKS (1 DISKS)
| DISK TITLE | FILENAME | FILE TYPE | COLLECTION | TRACK | SECTOR | ACTIONS |
|---|---|---|---|---|---|---|
| GOLD DISK 9 | TUTORIAL | PRG | Radd Maxx | 25 | 1 | DOWNLOAD FILE |
FILE CONTENT & ANALYSIS
> DETECTED: COMMODORE BASIC PROGRAM (LOAD ADDRESS $0801)
00000000: 01 08 1D 08 01 00 8F 20 28 43 29 31 39 38 35 20 |....... (C)1985 |
00000010: 47 4F 4C 44 20 44 49 53 4B 20 49 4E 43 00 48 08 |GOLD DISK INC.H.|
00000020: 0A 00 99 22 93 90 22 3A 97 35 33 32 38 31 2C 31 |..."..":.53281,1|
00000030: 3A 97 35 33 32 37 32 2C 32 33 3A 97 35 33 32 38 |:.53272,23:.5328|
00000040: 30 2C 32 3A 50 47 B2 31 00 96 08 14 00 91 20 50 |0,2:PG.1...... P|
00000050: 47 20 89 20 20 31 30 30 2C 32 30 30 2C 33 30 30 |G . 100,200,300|
00000060: 2C 34 30 30 2C 35 30 30 2C 36 30 30 2C 37 30 30 |,400,500,600,700|
00000070: 2C 38 30 30 2C 39 30 30 2C 31 30 30 30 2C 31 31 |,800,900,1000,11|
00000080: 30 30 2C 31 32 30 30 2C 31 33 30 30 2C 31 34 30 |00,1200,1300,140|
00000090: 30 2C 31 35 30 30 00 AD 08 16 00 91 28 50 47 AB |0,1500......(PG.|
000000A0: 31 35 29 89 31 36 30 30 2C 31 37 30 30 00 CB 08 |15).1600,1700...|
000000B0: 63 00 8F 2D 2D 2D 2D 2D 2D 2D 2D 2D 2D 50 41 47 |c..----------PAG|
000000C0: 45 20 31 2D 2D 2D 2D 2D 2D 2D 2D 00 F8 08 64 00 |E 1--------...d.|
000000D0: 3A 99 22 93 1F 22 20 20 A3 31 37 29 22 12 46 4F |:.".." .17)".FO|
000000E0: 52 54 48 92 90 20 20 20 20 20 20 20 20 20 20 20 |RTH.. |
000000F0: 20 20 20 20 20 20 31 22 00 FE 08 65 00 99 00 2C | 1"...e...,|
00000100: 09 66 00 99 22 20 20 CC 41 53 54 20 4D 4F 4E 54 |.f.." .AST MONT|
00000110: 48 20 57 45 20 4C 4F 4F 4B 45 44 20 41 54 20 53 |H WE LOOKED AT S|
00000120: 4F 4D 45 20 4F 46 20 20 54 48 45 22 00 5A 09 68 |OME OF THE".Z.h|
00000130: 00 99 22 20 53 49 4D 50 4C 45 52 20 53 54 41 43 |.." SIMPLER STAC|
00000140: 4B 20 20 4D 41 4E 49 50 55 4C 41 54 49 4F 4E 20 |K MANIPULATION |
00000150: 43 4F 4D 4D 41 4E 44 53 2E 22 00 89 09 6A 00 99 |COMMANDS."...j..|
00000160: 22 20 D4 48 49 53 20 54 49 4D 45 20 57 45 27 4C |" .HIS TIME WE'L|
00000170: 4C 20 4C 45 41 52 4E 20 20 48 4F 57 20 54 4F 20 |L LEARN HOW TO |
00000180: 45 58 50 4C 4F 49 54 20 22 00 B7 09 6C 00 99 22 |EXPLOIT "...l.."|
00000190: 20 54 48 45 20 46 55 4C 4C 20 50 4F 57 45 52 20 | THE FULL POWER |
000001A0: 4F 46 20 20 C6 CF D2 D4 C8 20 42 59 20 43 52 45 |OF ..... BY CRE|
000001B0: 41 54 49 4E 47 20 22 00 DC 09 6E 00 99 22 20 4F |ATING "...n.." O|
000001C0: 55 52 20 4F 57 4E 20 C4 C5 C6 C9 CE C9 D4 C9 CF |UR OWN .........|
000001D0: CE D3 2E 20 20 20 20 20 20 20 20 22 00 E2 09 70 |... "...p|
000001E0: 00 99 00 FE 09 72 00 99 22 20 D9 4F 55 20 4D 41 |.....r.." .OU MA|
000001F0: 59 20 52 45 43 41 4C 4C 20 54 48 41 54 2C 00 05 |Y RECALL THAT,..|
00000200: 0A 74 00 99 22 00 2A 0A 76 00 99 22 20 20 56 4C |.t..".*.v.." VL|
00000210: 49 53 54 20 20 12 D2 C5 D4 D5 D2 CE 92 A0 A0 A0 |IST ...........|
00000220: A0 A0 A0 A0 A0 A0 A0 A0 A0 22 00 30 0A 78 00 99 |.........".0.x..|
00000230: 00 5F 0A 7A 00 99 22 20 47 41 56 45 20 55 53 20 |._.z.." GAVE US |
00000240: 41 20 4C 49 53 54 20 4F 46 20 20 41 4C 4C 20 54 |A LIST OF ALL T|
00000250: 48 45 20 57 4F 52 44 53 20 4B 4E 4F 57 4E 22 00 |HE WORDS KNOWN".|
00000260: 8B 0A 7C 00 99 22 20 54 4F 20 20 C6 CF D2 D4 C8 |..|.." TO .....|
00000270: 20 28 CF 46 20 43 4F 55 52 53 45 20 56 4C 49 53 | (.F COURSE VLIS|
00000280: 54 20 49 53 20 54 48 45 52 45 22 00 B5 0A 7E 00 |T IS THERE"...~.|
00000290: 99 22 20 54 4F 4F 29 2E 20 C8 4F 57 20 43 41 4E |." TOO). .OW CAN|
000002A0: 20 57 45 20 41 44 44 20 54 4F 20 54 48 49 53 20 | WE ADD TO THIS |
000002B0: C6 CF D2 D4 C8 00 E1 0A 80 00 99 22 20 44 49 43 |..........." DIC|
000002C0: 54 49 4F 4E 41 52 59 3F 20 C8 45 52 45 27 53 20 |TIONARY? .ERE'S |
000002D0: 41 20 53 49 4D 50 4C 45 20 45 58 41 4D 50 4C 45 |A SIMPLE EXAMPLE|
000002E0: 2C 00 E7 0A 82 00 99 00 0D 0B 84 00 99 22 20 3A |,............" :|
000002F0: 20 41 53 43 49 49 20 44 55 50 20 2E 20 45 4D 49 | ASCII DUP . EMI|
00000300: 54 20 3B 20 20 12 D2 C5 D4 D5 D2 CE 92 00 15 0B |T ; ...........|
00000310: 86 00 99 3A 99 00 42 0B 88 00 99 22 20 CC 45 54 |...:..B...." .ET|
00000320: 27 53 20 45 58 41 4D 49 4E 45 20 54 48 49 53 20 |'S EXAMINE THIS |
00000330: 4C 49 4E 45 20 49 4E 20 44 45 54 41 49 4C 2E 20 |LINE IN DETAIL. |
00000340: 20 22 00 4A 0B 8A 00 99 3A 99 00 74 0B 96 00 99 | ".J....:..t....|
00000350: 22 20 1F 12 53 50 41 43 45 92 20 41 48 45 41 44 |" ..SPACE. AHEAD|
00000360: 20 20 20 20 12 5F 92 20 47 4F 4C 44 20 44 49 53 | ._. GOLD DIS|
00000370: 4B 90 22 3B 00 87 0B A0 00 A1 41 24 3A 8B 41 24 |K.";......A$:.A$|
00000380: B2 22 22 A7 31 36 30 00 98 0B AA 00 8B 41 24 B2 |."".160......A$.|
00000390: 22 5F 22 A7 33 30 30 30 00 A9 0B B4 00 8B 41 24 |"_".3000......A$|
000003A0: B3 B1 22 20 22 A7 31 36 30 00 B9 0B BE 00 50 47 |.." ".160.....PG|
000003B0: B2 50 47 AA 31 3A 89 32 30 00 D7 0B C7 00 8F 2D |.PG.1:.20......-|
000003C0: 2D 2D 2D 2D 2D 2D 2D 2D 2D 50 41 47 45 20 32 2D |---------PAGE 2-|
000003D0: 2D 2D 2D 2D 2D 2D 2D 00 04 0C C8 00 3A 99 22 93 |-------.....:.".|
000003E0: 1F 22 20 20 A3 31 37 29 22 12 46 4F 52 54 48 92 |." .17)".FORTH.|
000003F0: 90 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 |. |
00000400: 20 20 32 22 00 0A 0C C9 00 99 00 35 0C CA 00 99 | 2".......5....|
00000410: 22 20 3A 20 41 53 43 49 49 20 20 44 55 50 20 20 |" : ASCII DUP |
00000420: 2E 20 20 20 45 4D 49 54 A0 3B 20 20 12 D2 C5 D4 |. EMIT.; ....|
00000430: D5 D2 CE 92 22 00 53 0C CB 00 99 22 1F 20 20 20 |....".S....". |
00000440: 20 20 20 20 20 20 AF AF AF AF AF AF AF AF AF AF | ..........|
00000450: AF AF AF 00 74 0C CC 00 99 22 20 5E 20 20 20 5E |....t...." ^ ^|
00000460: 20 20 20 20 20 20 20 20 20 20 5E 20 20 20 20 20 | ^ |
00000470: 20 20 20 5E 00 7A 0C CE 00 99 00 80 0C CF 00 99 | ^.z..........|
00000480: 00 AC 0C D0 00 99 22 20 DD 20 20 20 DD 20 20 20 |......" . . |
00000490: 20 20 20 20 20 20 20 DD 20 20 20 20 20 20 20 20 | . |
000004A0: DD AF 90 20 4D 55 53 54 20 45 4E 44 00 DB 0C D2 |... MUST END....|
000004B0: 00 99 22 20 20 20 20 20 20 20 20 20 20 20 20 20 |.." |
000004C0: 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 57 | W|
000004D0: 49 54 48 20 53 45 4D 49 2D 1F 22 00 05 0D D4 00 |ITH SEMI-.".....|
000004E0: 99 22 20 DD 20 20 20 DD 20 20 20 20 20 20 20 20 |." . . |
000004F0: 20 20 DD 20 20 20 20 20 20 20 90 20 20 20 20 43 | . . C|
00000500: 4F 4C 4F 4E 2E 00 0E 0D D6 00 99 22 1F 22 00 3D |OLON.......".".=|
00000510: 0D D8 00 99 22 20 DD 20 20 20 DD 20 20 20 20 20 |...." . . |
00000520: 20 20 20 20 20 DD AF 20 AF 90 20 42 4F 44 59 20 | .. .. BODY |
00000530: 4F 46 20 44 45 46 49 4E 49 54 49 4F 4E 00 6D 0D |OF DEFINITION.m.|
00000540: DA 00 99 22 20 20 20 20 20 20 20 20 20 20 20 20 |..." |
00000550: 20 20 20 20 20 20 20 20 20 45 41 43 48 20 57 4F | EACH WO|
00000560: 52 44 20 4D 55 53 54 20 41 4C 2D 1F 22 00 9B 0D |RD MUST AL-."...|
00000570: DC 00 99 22 20 DD 20 20 20 DD 20 20 20 20 20 20 |..." . . |
00000580: 20 20 20 20 20 20 20 20 90 20 52 45 41 44 59 20 | . READY |
00000590: 42 45 20 44 45 46 49 4E 45 44 2E 00 A4 0D DE 00 |BE DEFINED......|
000005A0: 99 22 1F 22 00 D1 0D E0 00 99 22 20 DD 20 20 20 |."."......" . |
000005B0: DD AF 20 AF 20 AF 20 AF 20 90 54 48 45 20 44 45 |.. . . . .THE DE|
000005C0: 46 49 4E 49 54 49 4F 4E 20 4E 41 4D 45 20 43 41 |FINITION NAME CA|
000005D0: 4E 00 FD 0D E2 00 99 22 20 20 20 20 20 20 20 20 |N......" |
000005E0: 20 20 20 20 20 20 42 45 20 41 4E 59 20 4C 45 4E | BE ANY LEN|
000005F0: 47 54 48 20 55 50 20 54 4F 20 41 1F 22 00 2C 0E |GTH UP TO A.".,.|
00000600: E4 00 99 22 20 DD 20 20 20 20 20 20 20 20 20 20 |..." . |
00000610: 20 20 90 4D 41 58 49 4D 55 4D 20 4F 46 20 33 31 | .MAXIMUM OF 31|
00000620: 20 43 48 41 52 41 43 54 45 52 53 2E 00 35 0E E6 | CHARACTERS..5..|
00000630: 00 99 22 1F 22 00 60 0E E8 00 99 22 20 DD AF 20 |..".".`...." .. |
00000640: AF A0 AF A0 90 45 56 45 52 59 20 44 45 46 49 4E |.....EVERY DEFIN|
00000650: 49 54 49 4F 4E 20 4D 55 53 54 20 42 45 47 49 4E |ITION MUST BEGIN|
00000660: 00 88 0E EA 00 99 22 20 20 20 20 20 20 20 20 57 |......" W|
00000670: 49 54 48 20 41 20 43 4F 4C 4F 4E 20 46 4F 4C 4C |ITH A COLON FOLL|
00000680: 4F 57 45 44 20 42 59 22 00 AE 0E EC 00 99 22 20 |OWED BY"......" |
00000690: 20 20 20 20 20 20 20 41 54 20 4C 45 41 53 54 20 | AT LEAST |
000006A0: 4F 4E 45 20 53 50 41 43 45 2E 20 20 20 22 00 B4 |ONE SPACE. "..|
000006B0: 0E EE 00 99 00 BE 0E FA 00 89 32 35 30 30 00 DC |..........2500..|
000006C0: 0E 2B 01 8F 2D 2D 2D 2D 2D 2D 2D 2D 2D 2D 50 41 |.+..----------PA|
000006D0: 47 45 20 33 2D 2D 2D 2D 2D 2D 2D 2D 00 09 0F 2C |GE 3--------...,|
000006E0: 01 3A 99 22 93 1F 22 20 20 A3 31 37 29 22 12 46 |.:.".." .17)".F|
000006F0: 4F 52 54 48 92 90 20 20 20 20 20 20 20 20 20 20 |ORTH.. |
00000700: 20 20 20 20 20 20 20 33 22 00 0F 0F 2D 01 99 00 | 3"...-...|
00000710: 3B 0F 2E 01 99 22 20 D7 45 27 56 45 20 4A 55 53 |;...." .E'VE JUS|
00000720: 54 20 41 44 44 45 44 20 41 20 4E 45 57 20 57 4F |T ADDED A NEW WO|
00000730: 52 44 20 54 4F 20 54 48 45 20 22 00 65 0F 30 01 |RD TO THE ".e.0.|
00000740: 99 22 20 44 49 43 54 49 4F 4E 41 52 59 21 20 28 |." DICTIONARY! (|
00000750: 20 C4 4F 20 41 20 56 4C 49 53 54 20 41 4E 44 20 | .O A VLIST AND |
00000760: 53 45 45 2E 29 00 6B 0F 31 01 99 00 96 0F 32 01 |SEE.).k.1.....2.|
00000770: 99 22 20 C9 54 27 53 20 45 41 53 59 20 54 4F 20 |." .T'S EASY TO |
00000780: 53 45 45 20 57 48 41 54 20 54 48 49 53 20 4E 45 |SEE WHAT THIS NE|
00000790: 57 20 57 4F 52 44 00 C4 0F 34 01 99 22 20 44 4F |W WORD...4.." DO|
000007A0: 45 53 2E 20 C9 54 20 44 55 50 4C 49 43 41 54 45 |ES. .T DUPLICATE|
000007B0: 53 20 54 48 45 20 54 4F 50 20 4E 55 4D 42 45 52 |S THE TOP NUMBER|
000007C0: 20 4F 4E 22 00 F1 0F 36 01 99 22 20 54 48 45 20 | ON"...6.." THE |
000007D0: 53 54 41 43 4B 20 41 4E 44 20 50 52 49 4E 54 53 |STACK AND PRINTS|
000007E0: 20 49 54 20 4F 55 54 20 41 4C 4F 4E 47 20 20 20 | IT OUT ALONG |
000007F0: 22 00 14 10 38 01 99 22 20 57 49 54 48 20 49 54 |"...8.." WITH IT|
00000800: 27 53 20 41 53 43 49 49 20 43 48 41 52 41 43 54 |'S ASCII CHARACT|
00000810: 45 52 2E 22 00 1B 10 3A 01 99 22 00 48 10 3C 01 |ER."...:..".H.<.|
00000820: 99 22 20 D4 48 49 53 20 45 58 41 4D 50 4C 45 20 |." .HIS EXAMPLE |
00000830: 49 4C 4C 55 53 54 52 41 54 45 53 20 57 48 59 20 |ILLUSTRATES WHY |
00000840: C6 CF D2 D4 C8 20 49 53 00 75 10 3E 01 99 22 20 |..... IS.u.>.." |
00000850: 53 55 43 48 20 41 20 50 4F 57 45 52 46 55 4C 20 |SUCH A POWERFUL |
00000860: 50 52 4F 47 52 41 4D 4D 49 4E 47 20 4C 41 4E 47 |PROGRAMMING LANG|
00000870: 55 41 47 45 2E 00 A1 10 3F 01 99 22 20 C9 4E 53 |UAGE....?.." .NS|
00000880: 54 45 41 44 20 4F 46 20 42 45 49 4E 47 20 43 4F |TEAD OF BEING CO|
00000890: 4E 46 49 4E 45 44 20 54 4F 20 41 20 46 49 58 45 |NFINED TO A FIXE|
000008A0: 44 00 CC 10 40 01 99 22 20 53 45 54 20 4F 46 20 |D...@.." SET OF |
000008B0: 43 4F 4D 4D 41 4E 44 53 20 41 53 20 49 4E 20 C2 |COMMANDS AS IN .|
000008C0: C1 D3 C9 C3 2C 20 57 45 20 43 41 4E 00 F9 10 42 |...., WE CAN...B|
000008D0: 01 99 22 20 44 45 46 49 4E 45 20 4E 45 57 20 4F |.." DEFINE NEW O|
000008E0: 4E 45 53 20 54 4F 20 44 4F 20 45 58 41 43 54 4C |NES TO DO EXACTL|
000008F0: 59 20 57 48 41 54 20 57 45 00 24 11 44 01 99 22 |Y WHAT WE.$.D.."|
00000900: 20 57 41 4E 54 2E 20 C6 55 52 54 48 45 52 4D 4F | WANT. .URTHERMO|
00000910: 52 45 2C 20 42 45 43 41 55 53 45 20 45 41 43 48 |RE, BECAUSE EACH|
00000920: 20 4E 45 57 00 51 11 46 01 99 22 20 57 4F 52 44 | NEW.Q.F.." WORD|
00000930: 20 49 53 20 42 55 49 4C 54 20 55 50 20 46 52 4F | IS BUILT UP FRO|
00000940: 4D 20 50 52 45 56 49 4F 55 53 4C 59 20 44 45 46 |M PREVIOUSLY DEF|
00000950: 2D 00 7D 11 48 01 99 22 20 49 4E 45 44 20 57 4F |-.}.H.." INED WO|
00000960: 52 44 53 2C 20 41 20 43 4C 45 41 52 20 53 54 52 |RDS, A CLEAR STR|
00000970: 55 43 54 55 52 45 44 20 53 54 59 4C 45 00 A0 11 |UCTURED STYLE...|
00000980: 4A 01 99 22 20 4F 46 20 50 52 4F 47 52 41 4D 4D |J.." OF PROGRAMM|
00000990: 49 4E 47 20 49 53 20 45 4E 46 4F 52 43 45 44 2E |ING IS ENFORCED.|
000009A0: 00 A7 11 4C 01 99 22 00 B1 11 4E 01 99 3A 99 3A |...L.."...N..:.:|
000009B0: 99 00 BB 11 50 01 89 32 35 30 30 00 D9 11 8F 01 |....P..2500.....|
000009C0: 8F 2D 2D 2D 2D 2D 2D 2D 2D 2D 2D 50 41 47 45 20 |.----------PAGE |
000009D0: 34 2D 2D 2D 2D 2D 2D 2D 2D 00 06 12 90 01 3A 99 |4--------.....:.|
000009E0: 22 93 1F 22 20 20 A3 31 37 29 22 12 46 4F 52 54 |".." .17)".FORT|
000009F0: 48 92 90 20 20 20 20 20 20 20 20 20 20 20 20 20 |H.. |
00000A00: 20 20 20 20 34 22 00 0C 12 91 01 99 00 38 12 92 | 4".......8..|
00000A10: 01 99 22 20 A0 C9 46 20 46 4F 52 20 53 4F 4D 45 |.." ..F FOR SOME|
00000A20: 20 52 45 41 53 4F 4E 20 57 45 20 57 45 52 45 4E | REASON WE WEREN|
00000A30: 27 54 20 48 41 50 50 59 00 65 12 94 01 99 22 20 |'T HAPPY.e...." |
00000A40: 57 49 54 48 20 4F 55 52 20 44 45 46 49 4E 49 54 |WITH OUR DEFINIT|
00000A50: 49 4F 4E 20 4F 46 20 41 53 43 49 49 20 57 45 20 |ION OF ASCII WE |
00000A60: 43 4F 55 4C 44 00 8F 12 95 01 99 22 20 52 45 4D |COULD......" REM|
00000A70: 4F 56 45 20 49 54 20 49 4E 20 4F 4E 45 20 4F 46 |OVE IT IN ONE OF|
00000A80: 20 54 57 4F 20 57 41 59 53 2E 20 20 CF 4E 45 00 | TWO WAYS. .NE.|
00000A90: A6 12 96 01 99 22 20 50 4F 53 53 49 42 49 4C 49 |....." POSSIBILI|
00000AA0: 54 59 20 49 53 2C 00 AC 12 98 01 99 00 CA 12 99 |TY IS,..........|
00000AB0: 01 99 22 20 46 4F 52 47 45 54 20 41 53 43 49 49 |.." FORGET ASCII|
00000AC0: A0 20 12 D2 C5 D4 D5 D2 CE 92 00 D0 12 9A 01 99 |. ..............|
00000AD0: 00 FD 12 9C 01 99 22 20 46 4F 52 47 45 54 20 57 |......" FORGET W|
00000AE0: 49 4C 4C 20 52 45 4D 4F 56 45 20 54 48 45 20 45 |ILL REMOVE THE E|
00000AF0: 4E 54 52 59 20 46 52 4F 4D 20 54 48 45 00 2B 13 |NTRY FROM THE.+.|
00000B00: 9E 01 99 22 20 44 49 43 54 49 4F 4E 41 52 59 20 |..." DICTIONARY |
00000B10: 45 4E 54 49 52 45 4C 59 2E 20 D5 4E 46 4F 52 54 |ENTIRELY. .NFORT|
00000B20: 55 4E 41 54 45 4C 59 2C 20 49 54 00 56 13 A0 01 |UNATELY, IT.V...|
00000B30: 99 22 20 41 4C 53 4F 20 52 45 4D 4F 56 45 53 20 |." ALSO REMOVES |
00000B40: 41 4E 59 20 4F 54 48 45 52 20 57 4F 52 44 53 20 |ANY OTHER WORDS |
00000B50: 57 45 20 4D 41 59 00 76 13 A2 01 99 22 20 48 41 |WE MAY.v...." HA|
00000B60: 56 45 20 44 45 46 49 4E 45 44 20 53 49 4E 43 45 |VE DEFINED SINCE|
00000B70: 20 54 48 45 4E 2E 00 7D 13 A4 01 99 22 00 AA 13 | THEN..}...."...|
00000B80: A6 01 99 22 20 C1 4E 4F 54 48 45 52 20 57 41 59 |..." .NOTHER WAY|
00000B90: 20 49 53 20 54 4F 20 53 49 4D 50 4C 59 20 52 45 | IS TO SIMPLY RE|
00000BA0: 44 45 46 49 4E 45 20 54 48 45 00 D7 13 A8 01 99 |DEFINE THE......|
00000BB0: 22 20 57 4F 52 44 20 41 47 41 49 4E 20 55 53 49 |" WORD AGAIN USI|
00000BC0: 4E 47 20 54 48 45 20 20 53 41 4D 45 20 20 4E 41 |NG THE SAME NA|
00000BD0: 4D 45 2E 20 D4 48 45 00 02 14 AA 01 99 22 20 4F |ME. .HE......" O|
00000BE0: 52 49 47 49 4E 41 4C 20 57 4F 52 44 20 49 53 20 |RIGINAL WORD IS |
00000BF0: 53 54 49 4C 4C 20 54 48 45 52 45 20 41 4E 44 20 |STILL THERE AND |
00000C00: 49 53 00 2C 14 AC 01 99 22 20 55 53 45 44 20 42 |IS.,...." USED B|
00000C10: 59 20 41 4E 59 20 57 4F 52 44 53 20 52 45 46 45 |Y ANY WORDS REFE|
00000C20: 52 52 49 4E 47 20 54 4F 20 49 54 2C 00 57 14 AE |RRING TO IT,.W..|
00000C30: 01 99 22 20 42 55 54 20 41 4E 59 20 53 55 42 53 |.." BUT ANY SUBS|
00000C40: 45 51 55 45 4E 54 20 44 45 46 49 4E 49 54 49 4F |EQUENT DEFINITIO|
00000C50: 4E 53 20 4D 55 53 54 00 6F 14 B0 01 99 22 20 55 |NS MUST.o...." U|
00000C60: 53 45 20 54 48 45 20 4E 45 57 20 4F 4E 45 2E 00 |SE THE NEW ONE..|
00000C70: 75 14 B2 01 99 00 7B 14 B4 01 99 00 81 14 B6 01 |u.....{.........|
00000C80: 99 00 8B 14 B8 01 89 32 35 30 30 00 A9 14 F3 01 |.......2500.....|
00000C90: 8F 2D 2D 2D 2D 2D 2D 2D 2D 2D 2D 50 41 47 45 20 |.----------PAGE |
00000CA0: 35 2D 2D 2D 2D 2D 2D 2D 2D 00 D6 14 F4 01 3A 99 |5--------.....:.|
00000CB0: 22 93 1F 22 20 20 A3 31 37 29 22 12 46 4F 52 54 |".." .17)".FORT|
00000CC0: 48 92 90 20 20 20 20 20 20 20 20 20 20 20 20 20 |H.. |
00000CD0: 20 20 20 20 35 22 00 DC 14 F5 01 99 00 EC 14 F8 | 5"..........|
00000CE0: 01 99 22 20 20 CC 4F 4F 50 49 4E 47 00 FC 14 FA |.." .OOPING....|
00000CF0: 01 99 22 20 20 A3 A3 A3 A3 A3 A3 A3 00 29 15 FC |.." ........)..|
00000D00: 01 99 22 20 20 D4 48 45 52 45 20 41 52 45 20 53 |.." .HERE ARE S|
00000D10: 45 56 45 52 41 4C 20 4C 4F 4F 50 49 4E 47 20 43 |EVERAL LOOPING C|
00000D20: 4F 4E 53 54 52 55 43 54 53 00 57 15 FE 01 99 22 |ONSTRUCTS.W...."|
00000D30: 20 41 56 41 49 4C 41 42 4C 45 20 49 4E 20 C6 CF | AVAILABLE IN ..|
00000D40: D2 D4 C8 2E 20 C8 45 52 45 27 53 20 4F 4E 45 20 |.... .ERE'S ONE |
00000D50: 45 58 41 4D 50 4C 45 00 5D 15 00 02 99 00 89 15 |EXAMPLE.].......|
00000D60: 02 02 99 22 20 3A 20 41 53 43 49 49 54 41 42 4C |..." : ASCIITABL|
00000D70: 45 20 20 39 31 20 36 35 20 20 44 4F 20 20 49 20 |E 91 65 DO I |
00000D80: 20 41 53 43 49 49 20 43 52 00 AF 15 04 02 99 22 | ASCII CR......"|
00000D90: 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 4C | L|
00000DA0: 4F 4F 50 A0 3B 20 20 12 D2 C5 D4 D5 D2 CE 92 00 |OOP.; .........|
00000DB0: B5 15 06 02 99 00 E1 15 08 02 99 22 20 C9 46 20 |..........." .F |
00000DC0: 54 48 49 53 20 57 4F 52 44 20 57 45 52 45 20 45 |THIS WORD WERE E|
00000DD0: 58 45 43 55 54 45 44 2C 20 54 48 45 20 4F 55 54 |XECUTED, THE OUT|
00000DE0: 2D 00 02 16 0A 02 99 22 20 50 55 54 20 57 4F 55 |-......" PUT WOU|
00000DF0: 4C 44 20 4C 4F 4F 4B 20 4C 49 4B 45 20 54 48 49 |LD LOOK LIKE THI|
00000E00: 53 2C 00 2F 16 0E 02 99 22 20 36 35 20 20 20 20 |S,./...." 65 |
00000E10: C1 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 |. |
00000E20: 20 20 20 20 20 20 20 20 20 20 20 20 20 20 22 00 | ".|
00000E30: 3E 16 10 02 99 22 20 36 36 20 20 20 20 C2 00 4D |>...." 66 ..M|
00000E40: 16 12 02 99 22 20 20 3A 20 20 20 20 3A 00 7A 16 |...." : :.z.|
00000E50: 14 02 99 22 20 20 3A 20 20 20 20 3A 20 20 20 20 |..." : : |
00000E60: 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 | |
00000E70: 20 20 20 20 20 20 20 20 20 22 00 A7 16 16 02 99 | "......|
00000E80: 22 20 39 30 20 20 20 20 DA 20 20 20 20 20 20 20 |" 90 . |
00000E90: 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 | |
00000EA0: 20 20 20 20 20 20 22 00 CE 16 18 02 99 22 20 D7 | "......" .|
00000EB0: 45 20 43 4F 55 4C 44 20 44 4F 20 54 48 49 53 20 |E COULD DO THIS |
00000EC0: 49 4E 20 C2 C1 D3 C9 C3 20 57 49 54 48 2C 00 D4 |IN ..... WITH,..|
00000ED0: 16 19 02 99 00 FC 16 1A 02 99 22 20 C6 CF D2 C9 |.........." ....|
00000EE0: 3D 36 35 D4 CF 39 30 3A D0 D2 C9 CE D4 C9 3B C3 |=65..90:......;.|
00000EF0: C8 D2 24 28 C9 29 3A CE C5 D8 D4 C9 00 02 17 1B |..$(.):.........|
00000F00: 02 99 00 2C 17 1C 02 99 22 20 D4 48 45 20 4E 55 |...,...." .HE NU|
00000F10: 4D 42 45 52 20 4F 46 20 20 54 49 4D 45 53 20 54 |MBER OF TIMES T|
00000F20: 48 45 20 53 54 55 46 46 20 20 49 4E 00 59 17 1E |HE STUFF IN.Y..|
00000F30: 02 99 22 20 42 45 54 57 45 45 4E 20 20 C4 CF 20 |.." BETWEEN .. |
00000F40: 20 41 4E 44 20 20 CC CF CF D0 20 20 49 53 20 50 | AND .... IS P|
00000F50: 45 52 46 4F 52 4D 45 44 22 00 63 17 26 02 89 32 |ERFORMED".c.&..2|
00000F60: 35 30 30 00 81 17 57 02 8F 2D 2D 2D 2D 2D 2D 2D |500...W..-------|
00000F70: 2D 2D 2D 50 41 47 45 20 36 2D 2D 2D 2D 2D 2D 2D |---PAGE 6-------|
00000F80: 2D 00 AE 17 58 02 3A 99 22 93 1F 22 20 20 A3 31 |-...X.:.".." .1|
00000F90: 37 29 22 12 46 4F 52 54 48 92 90 20 20 20 20 20 |7)".FORTH.. |
00000FA0: 20 20 20 20 20 20 20 20 20 20 20 20 36 22 00 B4 | 6"..|
00000FB0: 17 59 02 99 00 E2 17 5A 02 99 22 20 49 53 20 47 |.Y.....Z.." IS G|
00000FC0: 49 56 45 4E 20 42 59 20 54 48 45 20 44 49 46 46 |IVEN BY THE DIFF|
00000FD0: 45 52 45 4E 43 45 20 42 45 54 57 45 45 4E 20 54 |ERENCE BETWEEN T|
00000FE0: 48 45 00 11 18 5C 02 99 22 20 54 48 45 20 55 50 |HE...\.." THE UP|
00000FF0: 50 45 52 20 4C 49 4D 49 54 20 28 39 31 29 20 20 |PER LIMIT (91) |
00001000: 41 4E 44 20 54 48 45 20 4C 4F 57 45 52 20 20 20 |AND THE LOWER |
00001010: 22 00 40 18 5E 02 99 22 20 4C 49 4D 49 54 20 28 |".@.^.." LIMIT (|
00001020: 36 35 29 20 49 2E 45 2E 20 32 36 20 54 49 4D 45 |65) I.E. 26 TIME|
00001030: 53 2E 20 CE 4F 54 49 43 45 20 54 48 45 20 20 22 |S. .OTICE THE "|
00001040: 00 6F 18 60 02 99 22 20 4F 52 44 45 52 20 4F 46 |.o.`.." ORDER OF|
00001050: 20 4F 43 43 55 52 45 4E 43 45 20 4F 46 20 54 48 | OCCURENCE OF TH|
00001060: 45 53 45 20 4C 49 4D 49 54 53 2E 20 20 20 22 00 |ESE LIMITS. ".|
00001070: 76 18 62 02 99 22 00 A5 18 64 02 99 22 20 C5 41 |v.b.."...d.." .A|
00001080: 43 48 20 54 49 4D 45 20 54 48 52 4F 55 47 48 20 |CH TIME THROUGH |
00001090: 54 48 45 20 4C 4F 4F 50 2C 20 41 4E 20 49 4E 44 |THE LOOP, AN IND|
000010A0: 45 58 20 20 22 00 D2 18 65 02 99 22 20 49 53 20 |EX "...e.." IS |
000010B0: 49 4E 43 52 45 4D 45 4E 54 45 44 20 42 59 20 4F |INCREMENTED BY O|
000010C0: 4E 45 20 28 49 54 20 49 53 20 49 4E 49 54 49 41 |NE (IT IS INITIA|
000010D0: 4C 2D 00 01 19 66 02 99 22 20 4C 59 20 53 45 54 |L-...f.." LY SET|
000010E0: 20 54 4F 20 54 48 45 20 4C 4F 57 45 52 20 4C 49 | TO THE LOWER LI|
000010F0: 4D 49 54 29 20 41 4E 44 20 57 48 45 4E 20 49 54 |MIT) AND WHEN IT|
00001100: 22 00 30 19 68 02 99 22 20 45 51 55 41 4C 53 20 |".0.h.." EQUALS |
00001110: 54 48 45 20 20 55 50 50 45 52 20 4C 49 4D 49 54 |THE UPPER LIMIT|
00001120: 2C 20 54 48 45 20 4C 4F 4F 50 49 4E 47 20 20 22 |, THE LOOPING "|
00001130: 00 5F 19 6A 02 99 22 20 45 4E 44 53 2E 20 20 D7 |._.j.." ENDS. .|
00001140: 45 20 43 41 4E 20 47 45 54 20 20 54 48 45 20 43 |E CAN GET THE C|
00001150: 55 52 52 45 4E 54 20 56 41 4C 55 45 20 20 22 00 |URRENT VALUE ".|
00001160: 8E 19 6C 02 99 22 20 4F 46 20 54 48 45 20 49 4E |..l.." OF THE IN|
00001170: 44 45 58 20 41 54 20 41 4E 59 20 54 49 4D 45 20 |DEX AT ANY TIME |
00001180: 42 59 20 55 53 49 4E 47 20 20 20 49 20 22 00 BD |BY USING I "..|
00001190: 19 6E 02 99 22 20 28 41 20 53 59 53 54 45 4D 20 |.n.." (A SYSTEM |
000011A0: 44 45 46 49 4E 45 44 20 57 4F 52 44 29 20 57 48 |DEFINED WORD) WH|
000011B0: 49 43 48 20 50 55 54 53 20 54 48 45 22 00 E5 19 |ICH PUTS THE"...|
000011C0: 70 02 99 22 20 49 4E 44 45 58 20 56 41 4C 55 45 |p.." INDEX VALUE|
000011D0: 20 4F 4E 20 54 4F 50 20 4F 46 20 54 48 45 20 53 | ON TOP OF THE S|
000011E0: 54 41 43 4B 2E 00 EC 19 72 02 99 22 00 1A 1A 74 |TACK....r.."...t|
000011F0: 02 99 22 20 20 C9 4E 20 54 48 49 53 20 45 58 41 |.." .N THIS EXA|
00001200: 4D 50 4C 45 2C 20 20 49 20 20 20 50 52 4F 56 49 |MPLE, I PROVI|
00001210: 44 45 53 20 54 48 45 20 20 22 00 49 1A 76 02 99 |DES THE ".I.v..|
00001220: 22 20 4E 55 4D 42 45 52 20 57 48 49 43 48 20 49 |" NUMBER WHICH I|
00001230: 53 20 4E 45 45 44 45 44 20 42 59 20 A0 41 53 43 |S NEEDED BY .ASC|
00001240: 49 49 20 2E 20 20 20 20 22 00 78 1A 80 02 99 22 |II . ".x...."|
00001250: 20 43 52 20 49 53 20 41 4E 4F 54 48 45 52 20 53 | CR IS ANOTHER S|
00001260: 59 53 54 45 4D 20 44 45 46 49 4E 45 44 20 57 4F |YSTEM DEFINED WO|
00001270: 52 44 20 54 48 41 54 22 00 97 1A 82 02 99 22 20 |RD THAT"......" |
00001280: 44 4F 45 53 20 41 20 43 41 52 52 49 41 47 45 20 |DOES A CARRIAGE |
00001290: 52 45 54 55 52 4E 2E 00 9E 1A 84 02 99 22 00 CD |RETURN......."..|
000012A0: 1A 86 02 99 22 20 D9 4F 55 20 4D 49 47 48 54 20 |...." .OU MIGHT |
000012B0: 48 41 56 45 20 4E 4F 54 49 43 45 44 20 54 48 41 |HAVE NOTICED THA|
000012C0: 54 20 4F 55 52 20 4E 45 57 20 20 20 22 00 D4 1A |T OUR NEW "...|
000012D0: 88 02 99 22 00 DE 1A 8A 02 89 32 35 30 30 00 FC |..."......2500..|
000012E0: 1A BB 02 8F 2D 2D 2D 2D 2D 2D 2D 2D 2D 2D 50 41 |....----------PA|
000012F0: 47 45 20 37 2D 2D 2D 2D 2D 2D 2D 2D 00 29 1B BC |GE 7--------.)..|
00001300: 02 3A 99 22 93 1F 22 20 20 A3 31 37 29 22 12 46 |.:.".." .17)".F|
00001310: 4F 52 54 48 92 90 20 20 20 20 20 20 20 20 20 20 |ORTH.. |
00001320: 20 20 20 20 20 20 20 37 22 00 2F 1B BD 02 99 00 | 7"./.....|
00001330: 5E 1B BE 02 99 22 20 44 45 46 49 4E 49 54 49 4F |^...." DEFINITIO|
00001340: 4E 20 44 49 44 20 4E 4F 54 20 46 49 54 20 41 4C |N DID NOT FIT AL|
00001350: 4C 20 4F 4E 45 20 4C 49 4E 45 2E 20 20 22 00 8B |L ONE LINE. "..|
00001360: 1B C0 02 99 22 20 C9 4E 20 54 48 49 53 20 43 41 |...." .N THIS CA|
00001370: 53 45 20 59 4F 55 20 4A 55 53 54 20 44 4F 20 41 |SE YOU JUST DO A|
00001380: 20 43 41 52 52 49 41 47 45 20 22 00 B7 1B C2 02 | CARRIAGE ".....|
00001390: 99 22 20 52 45 54 55 52 4E 20 41 54 20 54 48 45 |." RETURN AT THE|
000013A0: 20 45 4E 44 20 4F 46 20 45 41 43 48 20 4C 49 4E | END OF EACH LIN|
000013B0: 45 2E 20 CF 4E 4C 59 00 E1 1B C6 02 99 22 20 41 |E. .NLY......" A|
000013C0: 46 54 45 52 20 54 48 45 20 53 45 4D 49 43 4F 4C |FTER THE SEMICOL|
000013D0: 4F 4E 20 49 53 20 45 4E 43 4F 55 4E 54 45 52 45 |ON IS ENCOUNTERE|
000013E0: 44 00 0C 1C C7 02 99 22 20 57 49 4C 4C 20 54 48 |D......" WILL TH|
000013F0: 45 20 4E 45 57 20 44 45 46 49 4E 49 54 49 4F 4E |E NEW DEFINITION|
00001400: 20 42 45 20 41 44 44 45 44 20 54 4F 00 23 1C C8 | BE ADDED TO.#..|
00001410: 02 99 22 20 54 48 45 20 44 49 43 54 49 4F 4E 41 |.." THE DICTIONA|
00001420: 52 59 2E 00 51 1C CA 02 99 22 20 CE 4F 57 20 46 |RY..Q...." .OW F|
00001430: 4F 52 20 41 20 46 45 57 20 57 4F 52 44 53 20 41 |OR A FEW WORDS A|
00001440: 42 4F 55 54 20 20 50 52 4F 47 52 41 4D 4D 2D 20 |BOUT PROGRAMM- |
00001450: 22 00 80 1C CC 02 99 22 20 49 4E 47 20 53 54 59 |"......" ING STY|
00001460: 4C 45 2E 20 D7 45 20 43 4F 55 4C 44 20 48 41 56 |LE. .E COULD HAV|
00001470: 45 20 50 55 54 20 54 48 45 20 43 4F 44 45 20 22 |E PUT THE CODE "|
00001480: 00 AF 1C CE 02 99 22 20 46 4F 52 20 41 53 43 49 |......" FOR ASCI|
00001490: 49 A0 20 49 4E 53 49 44 45 20 54 48 45 20 4C 4F |I. INSIDE THE LO|
000014A0: 4F 50 20 42 55 54 20 54 48 41 54 20 20 20 22 00 |OP BUT THAT ".|
000014B0: DE 1C D0 02 99 22 20 57 4F 55 4C 44 20 54 45 4E |....." WOULD TEN|
000014C0: 44 20 54 4F 20 4F 42 53 43 55 52 45 20 54 48 45 |D TO OBSCURE THE|
000014D0: 20 4D 45 41 4E 49 4E 47 20 4F 46 20 20 22 00 0D | MEANING OF "..|
000014E0: 1D D2 02 99 22 20 54 48 45 20 43 4F 44 45 2E 20 |...." THE CODE. |
000014F0: C9 54 27 53 20 42 45 54 54 45 52 20 54 4F 20 42 |.T'S BETTER TO B|
00001500: 52 45 41 4B 20 54 48 45 20 20 20 20 22 00 38 1D |REAK THE ".8.|
00001510: D4 02 99 22 20 43 4F 44 45 20 49 4E 54 4F 20 4D |..." CODE INTO M|
00001520: 41 4E 41 47 45 41 42 4C 45 20 50 41 52 54 53 20 |ANAGEABLE PARTS |
00001530: 41 53 20 57 45 27 56 45 00 45 1D D6 02 99 22 20 |AS WE'VE.E...." |
00001540: 44 4F 4E 45 2E 00 74 1D E2 02 99 22 20 C1 4C 53 |DONE..t...." .LS|
00001550: 4F 2C 20 C6 CF D2 D4 C8 20 41 4C 4C 4F 57 53 20 |O, ..... ALLOWS |
00001560: 55 50 20 54 4F 20 33 31 20 43 48 41 52 41 43 54 |UP TO 31 CHARACT|
00001570: 45 52 20 22 00 A3 1D E4 02 99 22 20 49 44 45 4E |ER "......" IDEN|
00001580: 54 49 46 49 45 52 53 2C 20 4D 41 4B 49 4E 47 20 |TIFIERS, MAKING |
00001590: 49 54 20 50 4F 53 53 49 42 4C 45 20 54 4F 20 55 |IT POSSIBLE TO U|
000015A0: 53 45 22 00 D2 1D E6 02 99 22 20 4D 45 41 4E 49 |SE"......" MEANI|
000015B0: 4E 47 46 55 4C 20 20 4E 41 4D 45 53 20 4C 49 4B |NGFUL NAMES LIK|
000015C0: 45 20 A0 41 53 43 49 49 20 41 4E 44 20 20 20 20 |E .ASCII AND |
000015D0: 20 22 00 00 1E E8 02 99 22 20 41 53 43 49 49 54 | "......" ASCIIT|
000015E0: 41 42 4C 45 2E 20 C9 4E 20 C2 C1 D3 C9 C3 20 4F |ABLE. .N ..... O|
000015F0: 4E 20 54 48 45 20 4F 54 48 45 52 20 20 20 20 22 |N THE OTHER "|
00001600: 00 2F 1E EA 02 99 22 20 48 41 4E 44 2C 20 57 45 |./...." HAND, WE|
00001610: 20 41 52 45 20 53 54 55 43 4B 20 57 49 54 48 20 | ARE STUCK WITH |
00001620: 4D 45 41 4E 49 4E 47 4C 45 53 53 20 20 20 22 00 |MEANINGLESS ".|
00001630: 5D 1E EC 02 99 22 20 54 57 4F 20 4C 45 54 54 45 |]...." TWO LETTE|
00001640: 52 20 49 44 45 4E 54 49 46 49 45 52 53 20 4C 49 |R IDENTIFIERS LI|
00001650: 4B 45 20 20 C1 31 2E 20 20 20 20 20 22 00 65 1E |KE .1. ".e.|
00001660: EE 02 99 3A 99 00 6F 1E F8 02 89 32 35 30 30 00 |...:..o....2500.|
00001670: 8D 1E 1F 03 8F 2D 2D 2D 2D 2D 2D 2D 2D 2D 2D 50 |.....----------P|
00001680: 41 47 45 20 38 2D 2D 2D 2D 2D 2D 2D 2D 00 BA 1E |AGE 8--------...|
00001690: 20 03 3A 99 22 93 1F 22 20 20 A3 31 37 29 22 12 | .:.".." .17)".|
000016A0: 46 4F 52 54 48 92 90 20 20 20 20 20 20 20 20 20 |FORTH.. |
000016B0: 20 20 20 20 20 20 20 20 38 22 00 C0 1E 21 03 99 | 8"...!..|
000016C0: 00 D4 1E 22 03 99 22 20 20 20 44 4F 20 20 20 2B |...".." DO +|
000016D0: 4C 4F 4F 50 00 E8 1E 24 03 99 22 20 20 20 A3 A3 |LOOP...$.." ..|
000016E0: A3 A3 A3 A3 A3 A3 A3 A3 00 17 1F 28 03 99 22 20 |...........(.." |
000016F0: D7 45 20 44 4F 4E 27 54 20 48 41 56 45 20 54 4F |.E DON'T HAVE TO|
00001700: 20 49 4E 43 52 45 4D 45 4E 54 20 54 48 45 20 49 | INCREMENT THE I|
00001710: 4E 44 45 58 20 20 22 00 46 1F 2A 03 99 22 20 42 |NDEX ".F.*.." B|
00001720: 59 20 31 2E 20 2B 4C 4F 4F 50 20 20 49 4E 43 52 |Y 1. +LOOP INCR|
00001730: 45 4D 45 4E 54 53 20 54 48 45 20 49 4E 44 45 58 |EMENTS THE INDEX|
00001740: 20 42 59 20 20 22 00 75 1F 2C 03 99 22 20 54 48 | BY ".u.,.." TH|
00001750: 45 20 41 4D 4F 55 4E 54 20 4F 4E 20 54 48 45 20 |E AMOUNT ON THE |
00001760: 54 4F 50 20 4F 46 20 54 48 45 20 53 54 41 43 4B |TOP OF THE STACK|
00001770: 2C 20 20 20 22 00 A4 1F 2E 03 99 22 20 57 48 49 |, "......" WHI|
00001780: 43 48 20 43 41 4E 20 42 45 20 50 4F 53 49 54 49 |CH CAN BE POSITI|
00001790: 56 45 20 4F 52 20 4E 45 47 41 54 49 56 45 2E 20 |VE OR NEGATIVE. |
000017A0: D9 4F 55 22 00 D3 1F 30 03 99 22 20 48 41 56 45 |.OU"...0.." HAVE|
000017B0: 20 54 4F 20 42 45 20 53 55 52 45 20 54 48 41 54 | TO BE SURE THAT|
000017C0: 20 54 48 49 53 20 4E 55 4D 42 45 52 20 49 53 20 | THIS NUMBER IS |
000017D0: 20 20 22 00 F9 1F 32 03 99 22 20 41 4C 57 41 59 | "...2.." ALWAY|
000017E0: 53 20 41 56 41 49 4C 41 42 4C 45 2E 20 C6 4F 52 |S AVAILABLE. .OR|
000017F0: 20 45 58 41 4D 50 4C 45 2C 00 FF 1F 34 03 99 00 | EXAMPLE,...4...|
00001800: 2B 20 36 03 99 22 20 3A 20 45 58 31 20 20 2D 31 |+ 6.." : EX1 -1|
00001810: 20 32 30 20 33 30 20 44 4F 20 20 2B 4C 4F 4F 50 | 20 30 DO +LOOP|
00001820: 20 3B 20 20 20 20 D7 D2 CF CE C7 00 57 20 38 03 | ; ......W 8.|
00001830: 99 22 20 20 20 20 20 20 20 20 20 20 20 20 20 20 |." |
00001840: 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 | |
00001850: 20 20 A3 A3 A3 A3 A3 00 83 20 3A 03 99 22 20 3A | ....... :.." :|
00001860: 20 45 58 32 20 20 32 30 20 33 30 20 44 4F 20 2D | EX2 20 30 DO -|
00001870: 31 20 2B 4C 4F 4F 50 20 3B 20 20 20 20 20 D2 C9 |1 +LOOP ; ..|
00001880: C7 C8 D4 00 AF 20 3C 03 99 22 20 20 20 20 20 20 |..... <.." |
00001890: 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 | |
000018A0: 20 20 20 20 20 20 20 20 20 20 A3 A3 A3 A3 A3 00 | ......|
000018B0: DD 20 3E 03 99 22 20 D4 48 45 20 50 52 4F 42 4C |. >.." .HE PROBL|
000018C0: 45 4D 20 57 49 54 48 20 45 58 31 20 49 53 20 54 |EM WITH EX1 IS T|
000018D0: 48 41 54 20 54 48 45 20 53 54 45 50 22 00 0B 21 |HAT THE STEP"..!|
000018E0: 40 03 99 22 20 53 49 5A 45 2C 20 2D 31 20 2C 20 |@.." SIZE, -1 , |
000018F0: 49 53 20 20 4F 4E 4C 59 20 41 56 41 49 4C 41 42 |IS ONLY AVAILAB|
00001900: 4C 45 20 4F 4E 20 54 48 45 20 22 00 35 21 42 03 |LE ON THE ".5!B.|
00001910: 99 22 20 46 49 52 53 54 20 50 41 53 53 20 54 48 |." FIRST PASS TH|
00001920: 52 4F 55 47 48 20 54 48 45 20 4C 4F 4F 50 2E 20 |ROUGH THE LOOP. |
00001930: C1 46 54 45 52 00 63 21 44 03 99 22 20 54 48 45 |.FTER.c!D.." THE|
00001940: 20 46 49 52 53 54 20 50 41 53 53 20 57 45 20 57 | FIRST PASS WE W|
00001950: 4F 55 4C 44 20 47 45 54 20 41 20 3F 53 54 41 43 |OULD GET A ?STAC|
00001960: 4B 20 22 00 77 21 46 03 99 22 20 45 4D 50 54 59 |K ".w!F.." EMPTY|
00001970: 20 45 52 52 4F 52 2E 00 9E 21 48 03 99 22 20 D4 | ERROR...!H.." .|
00001980: 48 45 20 C2 C1 D3 C9 C3 A0 45 51 55 49 56 41 4C |HE ......EQUIVAL|
00001990: 45 4E 54 20 4F 46 20 45 58 32 20 49 53 2C 00 A4 |ENT OF EX2 IS,..|
000019A0: 21 49 03 99 00 C7 21 4A 03 99 22 20 C6 CF D2 20 |!I....!J.." ... |
000019B0: C9 3D 33 30 20 D4 CF 20 32 30 20 D3 D4 C5 D0 2D |.=30 .. 20 ....-|
000019C0: 31 3A CE C5 D8 D4 C9 00 D1 21 52 03 89 32 35 30 |1:.......!R..250|
000019D0: 30 00 EF 21 83 03 8F 2D 2D 2D 2D 2D 2D 2D 2D 2D |0..!...---------|
000019E0: 2D 50 41 47 45 20 39 2D 2D 2D 2D 2D 2D 2D 2D 00 |-PAGE 9--------.|
000019F0: 1C 22 84 03 3A 99 22 93 1F 22 20 20 A3 31 37 29 |."..:.".." .17)|
00001A00: 22 12 46 4F 52 54 48 92 90 20 20 20 20 20 20 20 |".FORTH.. |
00001A10: 20 20 20 20 20 20 20 20 20 20 39 22 00 22 22 85 | 9"."".|
00001A20: 03 99 00 3F 22 86 03 99 22 20 C3 4F 4E 44 49 54 |...?"..." .ONDIT|
00001A30: 49 4F 4E 41 4C 20 C2 52 41 4E 43 48 49 4E 47 00 |IONAL .RANCHING.|
00001A40: 6D 22 87 03 99 22 20 A3 A3 A3 A3 A3 A3 A3 A3 A3 |m"..." .........|
00001A50: A3 A3 A3 A3 A3 A3 A3 A3 A3 A3 A3 A3 20 20 20 20 |............ |
00001A60: 20 20 20 20 20 20 20 20 20 20 20 20 22 00 98 22 | ".."|
00001A70: 8A 03 99 22 20 C9 4E 20 C6 CF D2 D4 C8 A0 54 48 |..." .N ......TH|
00001A80: 45 20 C9 C6 A0 53 54 41 54 45 4D 45 4E 54 20 54 |E ...STATEMENT T|
00001A90: 41 4B 45 53 20 54 48 45 00 AF 22 8C 03 99 22 20 |AKES THE.."..." |
00001AA0: 46 4F 4C 4C 4F 57 49 4E 47 20 46 4F 52 4D 2C 00 |FOLLOWING FORM,.|
00001AB0: B5 22 8E 03 99 00 DB 22 90 03 99 22 20 20 49 46 |."....."..." IF|
00001AC0: 20 20 20 D8 20 20 20 20 20 20 20 5B 54 52 55 45 | . [TRUE|
00001AD0: 20 43 4F 4E 44 49 54 49 4F 4E 5D 00 05 23 92 03 | CONDITION]..#..|
00001AE0: 99 22 20 20 20 20 20 20 20 45 4C 53 45 20 20 D9 |." ELSE .|
00001AF0: 20 20 20 20 5B 46 41 4C 53 45 20 43 4F 4E 44 49 | [FALSE CONDI|
00001B00: 54 49 4F 4E 5D 00 31 23 94 03 99 22 20 20 20 20 |TION].1#..." |
00001B10: 20 20 20 20 20 20 20 20 20 54 48 45 4E 20 20 DA | THEN .|
00001B20: 20 20 5B 55 4E 43 4F 4E 44 49 54 49 4F 4E 41 4C | [UNCONDITIONAL|
00001B30: 5D 00 39 23 96 03 99 3A 99 00 64 23 98 03 99 22 |].9#...:..d#..."|
00001B40: 20 D7 48 45 52 45 20 20 D8 2C D9 2C DA 20 41 52 | .HERE .,.,. AR|
00001B50: 45 20 C6 CF D2 D4 C8 20 45 58 50 52 45 53 53 49 |E ..... EXPRESSI|
00001B60: 4F 4E 53 2E 00 6A 23 9A 03 99 00 97 23 9C 03 99 |ONS..j#.....#...|
00001B70: 22 20 D8 20 20 49 53 20 20 45 58 45 43 55 54 45 |" . IS EXECUTE|
00001B80: 44 20 49 46 20 20 20 C9 C6 20 20 46 49 4E 44 53 |D IF .. FINDS|
00001B90: 20 41 20 4E 4F 4E 2D 00 C5 23 9E 03 99 22 20 5A | A NON-..#..." Z|
00001BA0: 45 52 4F 20 56 41 4C 55 45 20 4F 4E 20 54 4F 50 |ERO VALUE ON TOP|
00001BB0: 20 4F 46 20 54 48 45 20 53 54 41 43 4B 2C 20 4F | OF THE STACK, O|
00001BC0: 54 48 45 52 2D 00 F3 23 A0 03 99 22 20 57 49 53 |THER-..#..." WIS|
00001BD0: 45 20 D9 20 49 53 20 45 58 45 43 55 54 45 44 20 |E . IS EXECUTED |
00001BE0: 28 30 20 49 53 20 4F 4E 20 54 4F 50 29 2E 20 DA |(0 IS ON TOP). .|
00001BF0: 20 49 53 00 1D 24 A2 03 99 22 20 50 45 52 46 4F | IS..$..." PERFO|
00001C00: 52 4D 45 44 20 41 46 54 45 52 20 45 49 54 48 45 |RMED AFTER EITHE|
00001C10: 52 20 D8 20 4F 52 20 D9 2E 20 D4 48 45 00 4A 24 |R . OR .. .HE.J$|
00001C20: A4 03 99 22 20 45 4C 53 45 20 53 54 41 54 45 4D |..." ELSE STATEM|
00001C30: 45 4E 54 20 49 53 20 4F 50 54 49 4F 4E 41 4C 2E |ENT IS OPTIONAL.|
00001C40: 20 D4 48 45 20 C6 CF D2 D4 C8 00 77 24 A6 03 99 | .HE ......w$...|
00001C50: 22 20 56 45 52 53 49 4F 4E 20 4F 46 20 C9 C6 20 |" VERSION OF .. |
00001C60: 49 53 20 43 4C 45 41 52 4C 59 20 4D 4F 52 45 20 |IS CLEARLY MORE |
00001C70: 56 45 52 53 41 54 2D 00 90 24 A8 03 99 22 20 49 |VERSAT-..$..." I|
00001C80: 4C 45 20 54 48 41 4E 20 C2 C1 D3 C9 C3 27 53 2E |LE THAN .....'S.|
00001C90: 00 98 24 AA 03 99 3A 99 00 A2 24 B6 03 89 32 35 |..$...:...$...25|
00001CA0: 30 30 00 C1 24 E7 03 8F 2D 2D 2D 2D 2D 2D 2D 2D |00..$...--------|
00001CB0: 2D 2D 50 41 47 45 20 31 30 2D 2D 2D 2D 2D 2D 2D |--PAGE 10-------|
00001CC0: 2D 00 EE 24 E8 03 3A 99 22 93 1F 22 20 20 A3 31 |-..$..:.".." .1|
00001CD0: 37 29 22 12 46 4F 52 54 48 92 90 20 20 20 20 20 |7)".FORTH.. |
00001CE0: 20 20 20 20 20 20 20 20 20 20 20 31 30 22 00 1C | 10"..|
00001CF0: 25 EA 03 99 22 20 D4 48 45 20 4E 55 4D 42 45 52 |%..." .HE NUMBER|
00001D00: 20 4F 4E 20 54 4F 50 20 4F 46 20 54 48 45 20 53 | ON TOP OF THE S|
00001D10: 54 41 43 4B 20 55 53 45 44 20 42 59 00 4A 25 EC |TACK USED BY.J%.|
00001D20: 03 99 22 20 C9 C6 20 49 53 20 43 41 4C 4C 45 44 |.." .. IS CALLED|
00001D30: 20 41 20 46 4C 41 47 2E 20 C9 54 20 43 41 4E 20 | A FLAG. .T CAN |
00001D40: 42 45 20 53 45 54 20 45 58 2D 00 77 25 F0 03 99 |BE SET EX-.w%...|
00001D50: 22 20 50 4C 49 43 49 54 4C 59 20 4F 52 20 41 53 |" PLICITLY OR AS|
00001D60: 20 41 20 52 45 53 55 4C 54 20 4F 46 20 4F 4E 45 | A RESULT OF ONE|
00001D70: 20 4F 46 20 54 48 45 00 8F 25 F2 03 99 22 20 46 | OF THE..%..." F|
00001D80: 4F 4C 4C 4F 57 49 4E 47 20 54 45 53 54 53 2C 00 |OLLOWING TESTS,.|
00001D90: 95 25 F4 03 99 00 C4 25 F6 03 99 22 20 20 20 30 |.%.....%..." 0|
00001DA0: 3C 20 20 20 20 20 D2 45 54 55 52 4E 53 20 54 52 |< .ETURNS TR|
00001DB0: 55 45 20 28 4E 4F 4E 2D 5A 45 52 4F 29 20 20 20 |UE (NON-ZERO) |
00001DC0: 20 20 20 22 00 EE 25 F8 03 99 22 20 20 20 20 20 | "..%..." |
00001DD0: 20 20 20 20 20 49 46 20 54 4F 50 20 4F 46 20 53 | IF TOP OF S|
00001DE0: 54 41 43 4B 20 4E 45 47 41 54 49 56 45 2E 00 F4 |TACK NEGATIVE...|
00001DF0: 25 F9 03 99 00 1B 26 FA 03 99 22 20 20 20 30 3E |%.....&..." 0>|
00001E00: 20 20 20 20 20 D2 45 54 55 52 4E 53 20 54 52 55 | .ETURNS TRU|
00001E10: 45 20 49 46 20 54 4F 50 20 4F 46 00 4A 26 FC 03 |E IF TOP OF.J&..|
00001E20: 99 22 20 20 20 20 20 20 20 20 20 20 53 54 41 43 |." STAC|
00001E30: 4B 20 50 4F 53 49 54 49 56 45 2E 20 20 20 20 20 |K POSITIVE. |
00001E40: 20 20 20 20 20 20 20 20 20 22 00 50 26 FE 03 99 | ".P&...|
00001E50: 00 7D 26 00 04 99 22 20 20 20 30 3D 20 20 20 20 |.}&..." 0= |
00001E60: 20 D2 45 54 55 52 4E 53 20 54 52 55 45 20 49 46 | .ETURNS TRUE IF|
00001E70: 20 54 4F 50 20 4F 46 20 20 20 20 20 22 00 A2 26 | TOP OF "..&|
00001E80: 02 04 99 22 20 20 20 20 20 20 20 20 20 20 53 54 |..." ST|
00001E90: 41 43 4B 20 45 51 55 41 4C 20 54 4F 20 5A 45 52 |ACK EQUAL TO ZER|
00001EA0: 4F 2E 00 A8 26 04 04 99 00 D7 26 06 04 99 22 20 |O...&.....&..." |
00001EB0: D9 4F 55 20 43 41 4E 20 43 4F 4D 50 41 52 45 20 |.OU CAN COMPARE |
00001EC0: 54 48 45 20 54 4F 50 20 54 57 4F 20 56 41 4C 55 |THE TOP TWO VALU|
00001ED0: 45 53 20 4F 4E 20 22 00 EE 26 08 04 99 22 20 54 |ES ON "..&..." T|
00001EE0: 48 45 20 53 54 41 43 4B 20 57 49 54 48 2C 00 F5 |HE STACK WITH,..|
00001EF0: 26 0A 04 99 22 00 24 27 0C 04 99 22 20 20 20 3D |&...".$'..." =|
00001F00: 20 20 20 20 20 20 D2 45 54 55 52 4E 53 20 54 52 | .ETURNS TR|
00001F10: 55 45 20 49 46 20 4E 55 4D 42 45 52 53 20 45 51 |UE IF NUMBERS EQ|
00001F20: 55 41 4C 22 00 2B 27 0E 04 99 22 00 5A 27 10 04 |UAL".+'...".Z'..|
00001F30: 99 22 20 20 20 3C 20 20 20 20 20 20 D2 45 54 55 |." < .ETU|
00001F40: 52 4E 53 20 54 52 55 45 20 49 46 20 54 4F 50 20 |RNS TRUE IF TOP |
00001F50: 4E 55 4D 42 45 52 20 20 20 22 00 71 27 12 04 99 |NUMBER ".q'...|
00001F60: 22 20 20 20 20 20 20 20 20 20 20 4C 41 52 47 45 |" LARGE|
00001F70: 52 00 77 27 14 04 99 00 81 27 1A 04 89 32 35 30 |R.w'.....'...250|
00001F80: 30 00 A0 27 4B 04 8F 2D 2D 2D 2D 2D 2D 2D 2D 2D |0..'K..---------|
00001F90: 2D 50 41 47 45 20 31 31 2D 2D 2D 2D 2D 2D 2D 2D |-PAGE 11--------|
00001FA0: 00 CD 27 4C 04 3A 99 22 93 1F 22 20 20 A3 31 37 |..'L.:.".." .17|
00001FB0: 29 22 12 46 4F 52 54 48 92 90 20 20 20 20 20 20 |)".FORTH.. |
00001FC0: 20 20 20 20 20 20 20 20 20 20 31 31 22 00 D3 27 | 11"..'|
00001FD0: 4D 04 99 00 01 28 4E 04 99 22 20 20 20 3E 20 20 |M....(N.." > |
00001FE0: 20 20 20 20 20 20 20 D2 45 54 55 52 4E 53 20 54 | .ETURNS T|
00001FF0: 52 55 45 20 49 46 20 54 4F 50 20 4E 55 4D 42 45 |RUE IF TOP NUMBE|
00002000: 52 00 1D 28 50 04 99 22 20 20 20 20 20 20 20 20 |R..(P.." |
00002010: 20 20 20 20 20 53 4D 41 4C 4C 45 52 2E 00 23 28 | SMALLER..#(|
00002020: 52 04 99 00 51 28 54 04 99 22 20 D7 48 49 43 48 |R...Q(T.." .HICH|
00002030: 20 4D 41 54 48 20 4F 50 45 52 41 54 4F 52 20 28 | MATH OPERATOR (|
00002040: 20 2B 20 2F 20 2D 20 2A 20 29 20 57 4F 55 4C 44 | + / - * ) WOULD|
00002050: 22 00 7D 28 56 04 99 22 20 59 4F 55 20 55 53 45 |".}(V.." YOU USE|
00002060: 20 54 4F 20 54 45 53 54 20 49 46 20 54 48 45 20 | TO TEST IF THE |
00002070: 54 4F 50 20 54 57 4F 20 4E 55 4D 42 2D 00 98 28 |TOP TWO NUMB-..(|
00002080: 58 04 99 22 20 45 52 53 20 57 45 52 45 20 4E 4F |X.." ERS WERE NO|
00002090: 54 20 45 51 55 41 4C 3F 00 C2 28 60 04 99 22 20 |T EQUAL?..(`.." |
000020A0: C8 45 52 45 27 53 20 41 20 53 49 4D 50 4C 45 20 |.ERE'S A SIMPLE |
000020B0: 45 58 41 4D 50 4C 45 2C 20 20 20 20 20 20 20 20 |EXAMPLE, |
000020C0: 20 22 00 C8 28 61 04 99 00 FE 28 62 04 99 22 20 | "..(a....(b.." |
000020D0: 3A 20 A0 53 49 47 4E 20 20 30 3C 20 20 49 46 20 |: .SIGN 0< IF |
000020E0: 2E 22 C7 28 33 34 29 22 20 49 54 27 53 20 41 20 |.".(34)" IT'S A |
000020F0: 4E 45 47 41 54 49 56 45 22 C7 28 33 34 29 00 05 |NEGATIVE".(34)..|
00002100: 29 64 04 99 22 00 3B 29 66 04 99 22 20 20 20 20 |)d..".;)f.." |
00002110: 20 20 20 20 20 20 20 20 45 4C 53 45 20 2E 22 C7 | ELSE .".|
00002120: 28 33 34 29 22 20 49 54 27 53 20 41 20 50 4F 53 |(34)" IT'S A POS|
00002130: 49 54 49 56 45 22 C7 28 33 34 29 00 41 29 68 04 |ITIVE".(34).A)h.|
00002140: 99 00 72 29 6A 04 99 22 20 20 20 20 20 20 20 20 |..r)j.." |
00002150: 20 20 20 20 54 48 45 4E 20 2E 22 C7 28 33 34 29 | THEN .".(34)|
00002160: 22 20 4E 55 4D 42 45 52 22 C7 28 33 34 29 22 20 |" NUMBER".(34)" |
00002170: 3B 22 00 79 29 6C 04 99 22 00 AA 29 6F 04 99 22 |;".y)l.."..)o.."|
00002180: 20 2E 22 C7 28 33 34 29 22 20 49 53 20 41 20 55 | .".(34)" IS A U|
00002190: 53 45 46 55 4C 20 43 4F 4D 4D 41 4E 44 20 46 4F |SEFUL COMMAND FO|
000021A0: 52 20 53 45 4E 44 49 4E 47 22 00 D9 29 70 04 99 |R SENDING"..)p..|
000021B0: 22 20 43 48 41 52 41 43 54 45 52 20 53 54 52 49 |" CHARACTER STRI|
000021C0: 4E 47 53 20 54 4F 20 54 48 45 20 53 43 52 45 45 |NGS TO THE SCREE|
000021D0: 4E 2E 20 C4 4F 4E 27 54 22 00 06 2A 72 04 99 22 |N. .ON'T"..*r.."|
000021E0: 20 46 4F 52 47 45 54 20 54 4F 20 4C 45 41 56 45 | FORGET TO LEAVE|
000021F0: 20 41 20 53 50 41 43 45 20 41 46 54 45 52 20 2E | A SPACE AFTER .|
00002200: 22 C7 28 33 34 29 00 33 2A 73 04 99 22 20 D7 48 |".(34).3*s.." .H|
00002210: 41 54 20 57 4F 55 4C 44 20 42 45 20 54 48 45 20 |AT WOULD BE THE |
00002220: 4F 55 54 50 55 54 20 49 46 20 57 45 20 54 59 50 |OUTPUT IF WE TYP|
00002230: 45 44 2C 00 39 2A 74 04 99 00 58 2A 75 04 99 22 |ED,.9*t...X*u.."|
00002240: 20 20 20 20 20 20 20 2D 39 39 20 53 49 47 4E 20 | -99 SIGN |
00002250: 12 D2 C5 D4 D5 D2 CE 92 00 87 2A 76 04 99 22 20 |..........*v.." |
00002260: D3 49 4E 43 45 20 41 4E 59 20 4C 45 47 49 54 49 |.INCE ANY LEGITI|
00002270: 4D 41 54 45 20 C6 CF D2 D4 C8 20 50 48 52 41 53 |MATE ..... PHRAS|
00002280: 45 20 43 41 4E 20 22 00 91 2A 7E 04 89 32 35 30 |E CAN "..*~..250|
00002290: 30 00 B0 2A AF 04 8F 2D 2D 2D 2D 2D 2D 2D 2D 2D |0..*...---------|
000022A0: 2D 50 41 47 45 20 31 32 2D 2D 2D 2D 2D 2D 2D 2D |-PAGE 12--------|
000022B0: 00 DD 2A B0 04 3A 99 22 93 1F 22 20 20 A3 31 37 |..*..:.".." .17|
000022C0: 29 22 12 46 4F 52 54 48 92 90 20 20 20 20 20 20 |)".FORTH.. |
000022D0: 20 20 20 20 20 20 20 20 20 20 31 32 22 00 0C 2B | 12"..+|
000022E0: B2 04 99 22 20 42 45 20 55 53 45 44 20 49 54 20 |..." BE USED IT |
000022F0: 49 53 20 50 4F 53 53 49 42 4C 45 20 54 4F 20 50 |IS POSSIBLE TO P|
00002300: 55 54 20 44 4F 20 4C 4F 4F 50 53 22 00 3B 2B B4 |UT DO LOOPS".;+.|
00002310: 04 99 22 20 4F 52 20 45 56 45 4E 20 4F 54 48 45 |.." OR EVEN OTHE|
00002320: 52 20 C9 C6 20 53 54 41 54 45 4D 45 4E 54 53 20 |R .. STATEMENTS |
00002330: 49 4E 53 49 44 45 20 C9 C6 20 22 00 67 2B B6 04 |INSIDE .. ".g+..|
00002340: 99 22 20 53 54 41 54 45 4D 45 4E 54 53 2E 20 28 |." STATEMENTS. (|
00002350: CC 4F 4F 50 53 20 41 4E 44 20 C9 C6 20 53 54 41 |.OOPS AND .. STA|
00002360: 54 45 4D 45 4E 54 53 00 94 2B B7 04 99 22 20 43 |TEMENTS..+..." C|
00002370: 41 4E 20 4F 4E 4C 59 20 41 50 50 45 41 52 20 49 |AN ONLY APPEAR I|
00002380: 4E 20 43 4F 4C 4F 4E 20 44 45 46 49 4E 49 54 49 |N COLON DEFINITI|
00002390: 4F 4E 53 29 00 9B 2B B8 04 99 22 00 C9 2B BA 04 |ONS)..+..."..+..|
000023A0: 99 22 20 C3 CF CE D3 D4 C1 CE D4 D3 A0 C1 CE C4 |." .............|
000023B0: A0 D6 C1 D2 C9 C1 C2 CC C5 D3 20 20 20 20 20 20 |.......... |
000023C0: 20 20 20 20 20 20 20 20 22 00 F6 2B BC 04 99 22 | "..+..."|
000023D0: 20 A3 A3 A3 A3 A3 A3 A3 A3 A3 A3 A3 A3 A3 A3 A3 | ...............|
000023E0: A3 A3 A3 A3 A3 A3 A3 A3 20 20 20 20 20 20 20 20 |........ |
000023F0: 20 20 20 20 20 22 00 23 2C BE 04 99 22 20 CF 4E | ".#,..." .N|
00002400: 45 20 49 4E 49 54 49 41 4C 49 5A 45 53 20 41 20 |E INITIALIZES A |
00002410: 43 4F 4E 53 54 41 4E 54 20 49 4E 20 C6 CF D2 D4 |CONSTANT IN ....|
00002420: C8 20 22 00 43 2C C0 04 99 22 20 42 59 20 54 59 |. ".C,..." BY TY|
00002430: 50 49 4E 47 20 54 48 45 20 46 4F 4C 4C 4F 57 49 |PING THE FOLLOWI|
00002440: 4E 47 2C 00 49 2C C2 04 99 00 77 2C C4 04 99 22 |NG,.I,....w,..."|
00002450: 20 20 5B 56 41 4C 55 45 5D 20 20 43 4F 4E 53 54 | [VALUE] CONST|
00002460: 41 4E 54 A0 A0 5B 43 4F 4E 53 54 41 4E 54 20 4E |ANT..[CONSTANT N|
00002470: 41 4D 45 5D 20 20 22 00 7E 2C C6 04 99 22 00 92 |AME] ".~,..."..|
00002480: 2C C8 04 99 22 20 C6 4F 52 20 45 58 41 4D 50 4C |,..." .OR EXAMPL|
00002490: 45 2C 00 98 2C CA 04 99 00 BD 2C CC 04 99 22 20 |E,..,.....,..." |
000024A0: 32 30 30 20 20 43 4F 4E 53 54 41 4E 54 A0 20 C9 |200 CONSTANT. .|
000024B0: D1 20 20 20 12 D2 C5 D4 D5 D2 CE 92 22 00 C3 2C |. ........"..,|
000024C0: CE 04 99 00 F1 2C D0 04 99 22 20 C1 46 54 45 52 |.....,..." .FTER|
000024D0: 20 54 48 45 20 43 4F 4E 53 54 41 4E 54 20 48 41 | THE CONSTANT HA|
000024E0: 53 20 42 45 45 4E 20 44 45 46 49 4E 45 44 2C 20 |S BEEN DEFINED, |
000024F0: 22 00 1D 2D D2 04 99 22 20 49 54 27 53 20 56 41 |"..-..." IT'S VA|
00002500: 4C 55 45 20 57 49 4C 4C 20 42 45 20 50 55 54 20 |LUE WILL BE PUT |
00002510: 4F 4E 20 54 4F 50 20 4F 46 20 54 48 45 00 4B 2D |ON TOP OF THE.K-|
00002520: D4 04 99 22 20 53 54 41 43 4B 20 57 48 45 4E 45 |..." STACK WHENE|
00002530: 56 45 52 20 49 54 27 53 20 4E 41 4D 45 20 49 53 |VER IT'S NAME IS|
00002540: 20 45 4E 43 4F 55 4E 54 45 52 2D 00 79 2D D6 04 | ENCOUNTER-.y-..|
00002550: 99 22 20 45 44 2E 20 C9 54 20 49 53 20 41 20 47 |." ED. .T IS A G|
00002560: 4F 4F 44 20 49 44 45 41 20 54 4F 20 55 53 45 20 |OOD IDEA TO USE |
00002570: 43 4F 4E 53 54 41 4E 54 53 00 A3 2D D8 04 99 22 |CONSTANTS..-..."|
00002580: 20 49 4E 20 59 4F 55 52 20 50 52 4F 47 52 41 4D | IN YOUR PROGRAM|
00002590: 53 20 54 4F 20 4D 41 4B 45 20 54 48 45 4D 20 4D |S TO MAKE THEM M|
000025A0: 4F 52 45 00 A9 2D DC 04 99 00 B3 2D E2 04 89 32 |ORE..-.....-...2|
000025B0: 35 30 30 00 D2 2D 13 05 8F 2D 2D 2D 2D 2D 2D 2D |500..-...-------|
000025C0: 2D 2D 2D 50 41 47 45 20 31 33 2D 2D 2D 2D 2D 2D |---PAGE 13------|
000025D0: 2D 2D 00 FF 2D 14 05 3A 99 22 93 1F 22 20 20 A3 |--..-..:.".." .|
000025E0: 31 37 29 22 12 46 4F 52 54 48 92 90 20 20 20 20 |17)".FORTH.. |
000025F0: 20 20 20 20 20 20 20 20 20 20 20 20 31 33 22 00 | 13".|
00002600: 2C 2E 16 05 99 22 20 52 45 41 44 41 42 4C 45 2E |,...." READABLE.|
00002610: 20 20 D6 41 52 49 41 42 4C 45 53 20 41 52 45 20 | .ARIABLES ARE |
00002620: 44 45 46 49 4E 45 44 20 49 4E 20 22 00 53 2E 18 |DEFINED IN ".S..|
00002630: 05 99 22 20 4D 55 43 48 20 54 48 45 20 53 41 4D |.." MUCH THE SAM|
00002640: 45 20 57 41 59 20 41 53 20 43 4F 4E 53 54 41 4E |E WAY AS CONSTAN|
00002650: 54 53 2C 00 76 2E 19 05 99 3A 99 22 20 20 30 20 |TS,.v....:." 0 |
00002660: 56 41 52 49 41 42 4C 45 20 41 47 45 20 20 12 D2 |VARIABLE AGE ..|
00002670: C5 D4 D5 D2 CE 92 00 7D 2E 1A 05 99 22 00 AB 2E |.......}...."...|
00002680: 1C 05 99 22 20 D4 48 45 20 44 49 46 46 45 52 45 |..." .HE DIFFERE|
00002690: 4E 43 45 20 43 4F 4D 45 53 20 57 48 45 4E 20 57 |NCE COMES WHEN W|
000026A0: 45 20 27 45 58 45 43 55 54 45 27 00 D7 2E 1E 05 |E 'EXECUTE'.....|
000026B0: 99 22 20 54 48 45 20 57 4F 52 44 20 C1 C7 C5 2E |." THE WORD ....|
000026C0: 20 C9 4E 53 54 45 41 44 20 4F 46 20 50 55 54 54 | .NSTEAD OF PUTT|
000026D0: 49 4E 47 20 54 48 45 00 06 2F 20 05 99 22 20 56 |ING THE../ .." V|
000026E0: 41 4C 55 45 20 4F 4E 20 54 48 45 20 53 54 41 43 |ALUE ON THE STAC|
000026F0: 4B 2C 20 C1 C7 C5 20 50 55 54 53 20 49 54 27 53 |K, ... PUTS IT'S|
00002700: 20 4F 57 4E 20 22 00 35 2F 22 05 99 22 20 41 44 | OWN ".5/".." AD|
00002710: 44 52 45 53 53 20 54 48 45 52 45 2E 20 D4 48 45 |DRESS THERE. .HE|
00002720: 4E 20 49 46 20 57 45 20 57 41 4E 54 20 54 4F 20 |N IF WE WANT TO |
00002730: 4B 4E 4F 57 22 00 5D 2F 24 05 99 22 20 49 54 27 |KNOW".]/$.." IT'|
00002740: 53 20 43 55 52 52 45 4E 54 20 56 41 4C 55 45 20 |S CURRENT VALUE |
00002750: 57 45 20 57 4F 55 4C 44 20 53 41 59 2C 00 64 2F |WE WOULD SAY,.d/|
00002760: 26 05 99 22 00 90 2F 28 05 99 22 20 20 20 20 40 |&.."../(.." @|
00002770: 20 20 20 20 12 D2 C5 D4 D5 D2 CE 92 20 20 20 20 | ........ |
00002780: 20 20 20 A0 A0 A0 A0 A0 A0 A0 A0 A0 A0 A0 20 22 | ........... "|
00002790: 00 96 2F 2A 05 99 00 C1 2F 2C 05 99 22 20 40 20 |../*..../,.." @ |
000027A0: 52 45 50 4C 41 43 45 53 20 54 48 45 20 41 44 44 |REPLACES THE ADD|
000027B0: 52 45 53 53 20 4F 4E 20 54 48 45 20 53 54 41 43 |RESS ON THE STAC|
000027C0: 4B 00 EA 2F 2E 05 99 22 20 57 49 54 48 20 54 48 |K../..." WITH TH|
000027D0: 45 20 4E 55 4D 42 45 52 20 41 54 20 54 48 41 54 |E NUMBER AT THAT|
000027E0: 20 41 44 44 52 45 53 53 2E 22 00 17 30 32 05 99 | ADDRESS."..02..|
000027F0: 22 20 C9 46 20 57 45 20 57 41 4E 54 20 54 4F 20 |" .F WE WANT TO |
00002800: 41 4C 54 45 52 20 54 48 45 20 56 41 4C 55 45 20 |ALTER THE VALUE |
00002810: 4F 46 20 C1 C7 C5 22 00 30 30 34 05 99 22 20 57 |OF ...".004.." W|
00002820: 45 20 57 4F 55 4C 44 20 44 4F 20 54 48 49 53 2C |E WOULD DO THIS,|
00002830: 00 56 30 38 05 99 22 20 5B 4E 45 57 20 56 41 4C |.V08.." [NEW VAL|
00002840: 55 45 5D 20 20 41 47 45 20 20 20 21 20 20 12 D2 |UE] AGE ! ..|
00002850: C5 D4 D5 D2 CE 92 00 5C 30 39 05 99 00 88 30 3A |.......\09....0:|
00002860: 05 99 22 20 21 20 54 41 4B 45 53 20 54 48 45 20 |.." ! TAKES THE |
00002870: 54 4F 50 20 4E 55 4D 42 45 52 20 4F 46 46 20 54 |TOP NUMBER OFF T|
00002880: 48 45 20 53 54 41 43 4B 00 B5 30 3B 05 99 22 20 |HE STACK..0;.." |
00002890: 41 4E 44 20 55 53 45 53 20 54 48 49 53 20 41 53 |AND USES THIS AS|
000028A0: 20 54 48 45 20 41 44 44 52 45 53 53 20 41 54 20 | THE ADDRESS AT |
000028B0: 57 48 49 43 48 00 D7 30 3C 05 99 22 20 49 54 20 |WHICH..0<.." IT |
000028C0: 50 55 54 53 20 54 48 45 20 53 45 43 4F 4E 44 20 |PUTS THE SECOND |
000028D0: 4E 55 4D 42 45 52 2E 00 E1 30 46 05 89 32 35 30 |NUMBER...0F..250|
000028E0: 30 00 00 31 77 05 8F 2D 2D 2D 2D 2D 2D 2D 2D 2D |0..1w..---------|
000028F0: 2D 50 41 47 45 20 31 34 2D 2D 2D 2D 2D 2D 2D 2D |-PAGE 14--------|
00002900: 00 2D 31 78 05 3A 99 22 93 1F 22 20 20 A3 31 37 |.-1x.:.".." .17|
00002910: 29 22 12 46 4F 52 54 48 92 90 20 20 20 20 20 20 |)".FORTH.. |
00002920: 20 20 20 20 20 20 20 20 20 20 31 34 22 00 33 31 | 14".31|
00002930: 79 05 99 00 60 31 7A 05 99 22 20 20 D6 41 52 49 |y...`1z.." .ARI|
00002940: 41 42 4C 45 53 20 41 4E 44 20 43 4F 4E 53 54 41 |ABLES AND CONSTA|
00002950: 4E 54 53 20 41 52 45 20 41 44 44 45 44 20 54 4F |NTS ARE ADDED TO|
00002960: 00 8C 31 7C 05 99 22 20 54 48 45 20 C4 C9 C3 D4 |..1|.." THE ....|
00002970: C9 CF CE C1 D2 D9 20 4A 55 53 54 20 4C 49 4B 45 |...... JUST LIKE|
00002980: 20 4F 54 48 45 52 20 C6 CF D2 D4 C8 00 B9 31 7E | OTHER .......1~|
00002990: 05 99 22 20 57 4F 52 44 53 20 53 4F 20 54 48 45 |.." WORDS SO THE|
000029A0: 59 20 4D 41 59 20 42 45 20 44 45 4C 45 54 45 44 |Y MAY BE DELETED|
000029B0: 20 4F 52 20 52 45 44 45 2D 00 CF 31 80 05 99 22 | OR REDE-..1..."|
000029C0: 20 46 49 4E 45 44 20 41 53 20 57 45 4C 4C 2E 00 | FINED AS WELL..|
000029D0: D6 31 82 05 99 22 00 F4 31 84 05 99 22 20 D3 41 |.1..."..1..." .A|
000029E0: 56 49 4E 47 20 C6 CF D2 D4 C8 20 50 52 4F 47 52 |VING ..... PROGR|
000029F0: 41 4D 53 2E 00 12 32 86 05 99 22 20 A3 A3 A3 A3 |AMS...2..." ....|
00002A00: A3 A3 A3 A3 A3 A3 A3 A3 A3 A3 A3 A3 A3 A3 A3 A3 |................|
00002A10: A3 A3 00 3D 32 88 05 99 22 20 D7 45 20 41 4C 4C |...=2..." .E ALL|
00002A20: 20 4B 4E 4F 57 20 54 48 41 54 20 41 20 C2 C1 D3 | KNOW THAT A ...|
00002A30: C9 C3 20 50 52 4F 47 52 41 4D 20 49 53 00 67 32 |.. PROGRAM IS.g2|
00002A40: 8A 05 99 22 20 53 54 4F 52 45 44 20 41 53 20 41 |..." STORED AS A|
00002A50: 20 46 49 4C 45 20 4F 4E 20 44 49 53 4B 2C 20 57 | FILE ON DISK, W|
00002A60: 48 49 43 48 20 57 45 00 94 32 8B 05 99 22 20 43 |HICH WE..2..." C|
00002A70: 41 4E 20 4C 4F 41 44 20 41 4E 44 20 52 55 4E 2E |AN LOAD AND RUN.|
00002A80: 20 C9 4E 20 C6 CF D2 D4 C8 20 54 48 49 4E 47 53 | .N ..... THINGS|
00002A90: 20 41 52 45 00 BF 32 8C 05 99 22 20 41 20 4C 49 | ARE..2..." A LI|
00002AA0: 54 54 4C 45 20 44 49 46 46 45 52 45 4E 54 2E 20 |TTLE DIFFERENT. |
00002AB0: C1 53 20 46 41 52 20 41 53 20 C6 CF D2 D4 C8 00 |.S FAR AS ......|
00002AC0: EB 32 8E 05 99 22 20 49 53 20 43 4F 4E 43 45 52 |.2..." IS CONCER|
00002AD0: 4E 45 44 2C 20 54 48 45 20 44 49 53 4B 20 49 53 |NED, THE DISK IS|
00002AE0: 20 44 49 56 49 44 45 44 20 55 50 00 1A 33 90 05 | DIVIDED UP..3..|
00002AF0: 99 22 20 49 4E 54 4F 20 57 48 41 54 20 41 52 45 |." INTO WHAT ARE|
00002B00: 20 43 41 4C 4C 45 44 20 D3 C3 D2 C5 C5 CE D3 2C | CALLED .......,|
00002B10: 4E 4F 54 20 46 49 4C 45 53 2E 00 47 33 92 05 99 |NOT FILES..G3...|
00002B20: 22 20 20 C5 41 43 48 20 53 43 52 45 45 4E 20 49 |" .ACH SCREEN I|
00002B30: 53 20 4E 55 4D 42 45 52 45 44 20 41 4E 44 20 43 |S NUMBERED AND C|
00002B40: 41 4E 20 48 4F 4C 44 00 74 33 94 05 99 22 20 4F |AN HOLD.t3..." O|
00002B50: 4E 4C 59 20 31 30 32 34 20 43 48 41 52 41 43 54 |NLY 1024 CHARACT|
00002B60: 45 52 53 2E 20 C9 4E 53 54 45 41 44 20 4F 46 20 |ERS. .NSTEAD OF |
00002B70: 43 52 45 2D 00 A0 33 96 05 99 22 20 45 41 54 49 |CRE-..3..." EATI|
00002B80: 4E 47 20 4F 55 52 20 44 45 46 49 4E 49 54 49 4F |NG OUR DEFINITIO|
00002B90: 4E 53 20 41 53 20 57 45 27 56 45 20 42 45 45 4E |NS AS WE'VE BEEN|
00002BA0: 00 CE 33 98 05 99 22 20 44 4F 49 4E 47 2C 20 57 |..3..." DOING, W|
00002BB0: 45 20 43 41 4E 20 45 44 49 54 20 54 48 45 4D 20 |E CAN EDIT THEM |
00002BC0: 49 4E 54 4F 20 41 20 53 43 52 45 45 4E 2E 00 FC |INTO A SCREEN...|
00002BD0: 33 9A 05 99 22 20 D4 48 45 4E 20 57 48 45 4E 20 |3..." .HEN WHEN |
00002BE0: 57 45 20 4C 4F 41 44 20 54 48 45 20 53 43 52 45 |WE LOAD THE SCRE|
00002BF0: 45 4E 2C 20 54 48 45 20 44 45 46 2D 00 27 34 9C |EN, THE DEF-.'4.|
00002C00: 05 99 22 20 49 4E 49 54 49 4F 4E 53 20 47 45 54 |.." INITIONS GET|
00002C10: 20 45 4E 54 45 52 45 44 20 49 4E 54 4F 20 54 48 | ENTERED INTO TH|
00002C20: 45 20 44 49 43 54 2D 00 4D 34 9D 05 99 22 20 49 |E DICT-.M4..." I|
00002C30: 4F 4E 41 52 59 2E 20 D4 4F 20 4C 4F 41 44 20 41 |ONARY. .O LOAD A|
00002C40: 20 53 43 52 45 45 4E 20 54 59 50 45 2C 00 57 34 | SCREEN TYPE,.W4|
00002C50: AA 05 89 32 35 30 30 00 76 34 DB 05 8F 2D 2D 2D |...2500.v4...---|
00002C60: 2D 2D 2D 2D 2D 2D 2D 50 41 47 45 20 31 35 2D 2D |-------PAGE 15--|
00002C70: 2D 2D 2D 2D 2D 2D 00 A3 34 DC 05 3A 99 22 93 1F |------..4..:."..|
00002C80: 22 20 20 A3 31 37 29 22 12 46 4F 52 54 48 92 90 |" .17)".FORTH..|
00002C90: 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 | |
00002CA0: 31 35 22 00 A9 34 DD 05 99 00 CA 34 DE 05 99 22 |15"..4.....4..."|
00002CB0: 20 20 20 5B 53 43 52 45 45 4E 23 5D 20 4C 4F 41 | [SCREEN#] LOA|
00002CC0: 44 20 12 52 45 54 55 52 4E 92 00 D1 34 E0 05 99 |D .RETURN...4...|
00002CD0: 22 00 FF 34 E2 05 99 22 20 D4 4F 20 4D 41 4B 45 |"..4..." .O MAKE|
00002CE0: 20 43 48 41 4E 47 45 53 20 54 4F 20 41 20 50 41 | CHANGES TO A PA|
00002CF0: 52 54 49 43 55 4C 41 52 20 53 43 52 45 45 4E 00 |RTICULAR SCREEN.|
00002D00: 20 35 E4 05 99 22 20 57 45 20 4D 55 53 54 20 45 | 5..." WE MUST E|
00002D10: 4E 54 45 52 20 54 48 45 20 45 44 49 54 4F 52 2C |NTER THE EDITOR,|
00002D20: 00 27 35 E6 05 99 22 00 4B 35 E8 05 99 22 20 20 |.'5...".K5..." |
00002D30: 5B 53 43 52 45 45 4E 23 5D 20 20 45 44 49 54 20 |[SCREEN#] EDIT |
00002D40: 20 20 12 D2 C5 D4 D5 D2 CE 92 22 00 52 35 EA 05 | ........".R5..|
00002D50: 99 22 00 7E 35 EC 05 99 22 20 D3 45 45 20 54 48 |.".~5..." .EE TH|
00002D60: 45 20 4C 41 53 54 20 4D 4F 4E 54 48 27 53 20 C6 |E LAST MONTH'S .|
00002D70: CF D2 D4 C8 20 49 4E 53 54 52 55 43 54 2D 00 AC |.... INSTRUCT-..|
00002D80: 35 EE 05 99 22 20 49 4F 4E 53 20 4F 4E 20 48 4F |5..." IONS ON HO|
00002D90: 57 20 54 4F 20 55 53 45 20 54 48 45 20 45 44 49 |W TO USE THE EDI|
00002DA0: 54 4F 52 2E 20 D2 45 4D 45 4D 42 2D 00 D6 35 F0 |TOR. .EMEMB-..5.|
00002DB0: 05 99 22 20 45 52 20 54 48 41 54 20 59 4F 55 20 |.." ER THAT YOU |
00002DC0: 4D 55 53 54 20 4E 4F 54 20 20 53 54 4F 52 45 20 |MUST NOT STORE |
00002DD0: 20 C2 C1 D3 C9 C3 00 04 36 F1 05 99 22 20 50 52 | .......6..." PR|
00002DE0: 4F 47 52 41 4D 53 20 4F 4E 20 41 20 44 49 53 4B |OGRAMS ON A DISK|
00002DF0: 20 54 48 41 54 20 43 4F 4E 54 41 49 4E 53 20 C6 | THAT CONTAINS .|
00002E00: CF D2 D4 C8 00 14 36 F2 05 99 22 20 53 43 52 45 |......6..." SCRE|
00002E10: 45 4E 53 2E 00 3D 36 F3 05 99 22 20 20 C1 46 54 |ENS..=6..." .FT|
00002E20: 45 52 20 59 4F 55 20 48 41 56 45 20 4D 41 44 45 |ER YOU HAVE MADE|
00002E30: 20 43 48 41 4E 47 45 53 20 54 4F 20 41 00 69 36 | CHANGES TO A.i6|
00002E40: F4 05 99 22 20 53 43 52 45 45 4E 20 59 4F 55 20 |..." SCREEN YOU |
00002E50: 43 41 4E 20 55 50 44 41 54 45 20 54 48 45 20 44 |CAN UPDATE THE D|
00002E60: 49 53 4B 20 57 49 54 48 2C 00 70 36 F6 05 99 22 |ISK WITH,.p6..."|
00002E70: 00 95 36 F8 05 99 22 20 20 20 46 4C 55 53 48 20 |..6..." FLUSH |
00002E80: 20 20 12 D2 C5 D4 D5 D2 CE 92 20 20 20 20 20 20 | ........ |
00002E90: 20 20 A0 A0 A0 00 C1 36 FC 05 99 22 20 C9 46 20 | .....6..." .F |
00002EA0: 59 4F 55 20 4A 55 53 54 20 57 41 4E 54 20 54 4F |YOU JUST WANT TO|
00002EB0: 20 4C 4F 4F 4B 20 41 54 20 57 48 41 54 53 20 49 | LOOK AT WHATS I|
00002EC0: 4E 00 E2 36 FE 05 99 22 20 41 20 50 41 52 54 49 |N..6..." A PARTI|
00002ED0: 43 55 4C 41 52 20 53 43 52 45 45 4E 20 54 59 50 |CULAR SCREEN TYP|
00002EE0: 45 2C 00 E8 36 01 06 99 00 0B 37 02 06 99 22 20 |E,..6.....7..." |
00002EF0: 20 20 5B 53 43 52 45 45 4E 23 5D 20 20 4C 49 53 | [SCREEN#] LIS|
00002F00: 54 20 20 12 D2 C5 D4 D5 D2 CE 92 00 11 37 04 06 |T ..........7..|
00002F10: 99 00 1B 37 0E 06 89 32 35 30 30 00 3A 37 3F 06 |...7...2500.:7?.|
00002F20: 8F 2D 2D 2D 2D 2D 2D 2D 2D 2D 2D 50 41 47 45 20 |.----------PAGE |
00002F30: 31 36 2D 2D 2D 2D 2D 2D 2D 2D 00 67 37 40 06 3A |16--------.g7@.:|
00002F40: 99 22 93 1F 22 20 20 A3 31 37 29 22 12 46 4F 52 |.".." .17)".FOR|
00002F50: 54 48 92 90 20 20 20 20 20 20 20 20 20 20 20 20 |TH.. |
00002F60: 20 20 20 20 31 36 22 00 6D 37 41 06 99 00 97 37 | 16".m7A....7|
00002F70: 42 06 99 22 20 20 D4 4F 20 50 52 49 4E 54 20 4A |B.." .O PRINT J|
00002F80: 55 53 54 20 54 48 45 20 46 49 52 53 54 20 4C 49 |UST THE FIRST LI|
00002F90: 4E 45 20 4F 46 20 41 00 BF 37 44 06 99 22 20 53 |NE OF A..7D.." S|
00002FA0: 45 52 49 45 53 20 4F 46 20 C6 CF D2 D4 C8 A0 53 |ERIES OF ......S|
00002FB0: 43 52 45 45 4E 53 20 44 4F 20 54 48 49 53 2C 00 |CREENS DO THIS,.|
00002FC0: C6 37 46 06 99 22 00 E6 37 48 06 99 22 20 20 20 |.7F.."..7H.." |
00002FD0: 31 20 31 30 20 49 4E 44 45 58 20 20 20 20 12 D2 |1 10 INDEX ..|
00002FE0: C5 D4 D5 D2 CE 92 00 ED 37 4A 06 99 22 00 1A 38 |........7J.."..8|
00002FF0: 4C 06 99 22 20 D4 48 49 53 20 50 52 49 4E 54 53 |L.." .HIS PRINTS|
00003000: 20 54 48 45 20 46 49 52 53 54 20 4C 49 4E 45 20 | THE FIRST LINE |
00003010: 4F 46 20 53 43 52 45 45 4E 53 00 48 38 4E 06 99 |OF SCREENS.H8N..|
00003020: 22 20 31 20 54 48 52 4F 55 47 48 20 31 30 2E 20 |" 1 THROUGH 10. |
00003030: D4 48 45 20 46 49 52 53 54 20 4C 49 4E 45 20 53 |.HE FIRST LINE S|
00003040: 48 4F 55 4C 44 20 42 45 00 76 38 50 06 99 22 20 |HOULD BE.v8P.." |
00003050: 41 20 43 4F 4D 4D 45 4E 54 20 54 45 4C 4C 49 4E |A COMMENT TELLIN|
00003060: 47 20 57 48 41 54 53 20 4F 4E 20 54 48 45 20 53 |G WHATS ON THE S|
00003070: 43 52 45 45 4E 2E 00 7C 38 54 06 99 00 A9 38 5B |CREEN..|8T....8[|
00003080: 06 99 22 20 D4 48 45 20 45 4E 44 20 4F 46 20 44 |.." .HE END OF D|
00003090: 45 46 49 4E 49 54 49 4F 4E 53 20 4F 4E 20 41 20 |EFINITIONS ON A |
000030A0: 53 43 52 45 45 4E 20 49 53 00 D7 38 5C 06 99 22 |SCREEN IS..8\.."|
000030B0: 20 47 49 56 45 4E 20 42 59 20 20 3B 53 20 20 20 | GIVEN BY ;S |
000030C0: 2E 20 C9 46 20 4E 4F 54 20 41 4C 4C 20 54 48 45 |. .F NOT ALL THE|
000030D0: 20 44 45 46 49 4E 2D 00 04 39 5E 06 99 22 20 49 | DEFIN-..9^.." I|
000030E0: 54 49 4F 4E 53 20 43 41 4E 20 46 49 54 20 4F 4E |TIONS CAN FIT ON|
000030F0: 20 4F 4E 45 20 53 43 52 45 45 4E 20 54 48 45 4E | ONE SCREEN THEN|
00003100: 20 55 53 45 00 32 39 60 06 99 22 20 2D 2D 3E 20 | USE.29`.." --> |
00003110: 20 20 57 48 49 43 48 20 43 41 55 53 45 53 20 CC | WHICH CAUSES .|
00003120: CF C1 C4 49 4E 47 20 54 4F 20 43 4F 4E 54 49 4E |...ING TO CONTIN|
00003130: 55 45 00 5E 39 62 06 99 22 20 4F 4E 20 54 48 45 |UE.^9b.." ON THE|
00003140: 20 4E 45 58 54 20 53 43 52 45 45 4E 2E 20 C1 4E | NEXT SCREEN. .N|
00003150: 20 45 58 41 4D 50 4C 45 20 C6 CF D2 D4 C8 00 88 | EXAMPLE .......|
00003160: 39 64 06 99 22 20 53 43 52 45 45 4E 20 43 41 4E |9d.." SCREEN CAN|
00003170: 20 42 45 20 46 4F 55 4E 44 20 4F 4E 20 54 48 49 | BE FOUND ON THI|
00003180: 53 20 4D 4F 4E 54 48 53 00 B4 39 65 06 99 22 20 |S MONTHS..9e.." |
00003190: C7 CF CC C4 20 44 49 53 4B 2E 20 C1 46 54 45 52 |.... DISK. .FTER|
000031A0: 20 59 4F 55 27 56 45 20 4C 4F 41 44 45 44 20 C6 | YOU'VE LOADED .|
000031B0: CF D2 D4 C8 00 DF 39 66 06 99 22 20 46 52 4F 4D |......9f.." FROM|
000031C0: 20 4C 41 53 54 20 4D 4F 4E 54 48 27 53 20 44 49 | LAST MONTH'S DI|
000031D0: 53 4B 2C 20 50 55 54 20 49 4E 20 54 48 49 53 00 |SK, PUT IN THIS.|
000031E0: FD 39 68 06 99 22 20 4D 4F 4E 54 48 27 53 20 44 |.9h.." MONTH'S D|
000031F0: 49 53 4B 20 41 4E 44 20 54 59 50 45 2C 00 03 3A |ISK AND TYPE,..:|
00003200: 69 06 99 00 1B 3A 6A 06 99 22 20 20 37 20 4C 49 |i....:j.." 7 LI|
00003210: 53 54 A0 12 52 45 54 55 52 4E 92 00 21 3A 6C 06 |ST..RETURN..!:l.|
00003220: 99 00 2B 3A 72 06 89 32 35 30 30 00 4A 3A A3 06 |..+:r..2500.J:..|
00003230: 8F 2D 2D 2D 2D 2D 2D 2D 2D 2D 2D 50 41 47 45 20 |.----------PAGE |
00003240: 31 37 2D 2D 2D 2D 2D 2D 2D 2D 00 77 3A A4 06 3A |17--------.w:..:|
00003250: 99 22 93 1F 22 20 20 A3 31 37 29 22 12 46 4F 52 |.".." .17)".FOR|
00003260: 54 48 92 90 20 20 20 20 20 20 20 20 20 20 20 20 |TH.. |
00003270: 20 20 20 20 31 37 22 00 7D 3A A5 06 99 00 97 3A | 17".}:.....:|
00003280: B8 06 99 22 20 C3 4F 4E 43 4C 55 53 49 4F 4E 20 |..." .ONCLUSION |
00003290: 20 20 20 20 20 20 22 00 AE 3A BA 06 99 22 20 A3 | "..:..." .|
000032A0: A3 A3 A3 A3 A3 A3 A3 A3 A3 20 20 20 20 22 00 DB |......... "..|
000032B0: 3A BB 06 99 22 20 D9 4F 55 20 4E 4F 57 20 48 41 |:..." .OU NOW HA|
000032C0: 56 45 20 54 48 45 20 42 41 53 49 43 20 54 4F 4F |VE THE BASIC TOO|
000032D0: 4C 53 20 54 4F 20 53 54 41 52 54 00 02 3B BC 06 |LS TO START..;..|
000032E0: 99 22 20 43 52 45 41 54 49 4E 47 20 41 50 50 4C |." CREATING APPL|
000032F0: 49 43 41 54 49 4F 4E 53 20 49 4E 20 C6 CF D2 D4 |ICATIONS IN ....|
00003300: C8 2E 00 2D 3B BE 06 99 22 20 C8 4F 57 45 56 45 |...-;..." .OWEVE|
00003310: 52 2C 20 54 48 45 52 45 20 41 52 45 20 4D 41 4E |R, THERE ARE MAN|
00003320: 59 20 4D 4F 52 45 20 55 53 45 46 55 4C 00 5E 3B |Y MORE USEFUL.^;|
00003330: C0 06 99 22 20 44 45 46 49 4E 49 54 49 4F 4E 53 |..." DEFINITIONS|
00003340: 20 41 4E 44 20 43 4F 4E 43 45 50 54 53 20 54 4F | AND CONCEPTS TO|
00003350: 20 42 45 20 43 4F 56 45 52 45 44 2E 22 3B 00 8D | BE COVERED.";..|
00003360: 3B C2 06 99 22 20 CE 45 58 54 20 4D 4F 4E 54 48 |;..." .EXT MONTH|
00003370: 20 57 45 27 4C 4C 20 4C 4F 4F 4B 20 4D 4F 52 45 | WE'LL LOOK MORE|
00003380: 20 43 4C 4F 53 45 4C 59 20 41 54 20 22 00 B8 3B | CLOSELY AT "..;|
00003390: C4 06 99 22 20 54 48 45 20 53 54 52 55 43 54 55 |..." THE STRUCTU|
000033A0: 52 45 20 4F 46 20 54 48 45 20 C4 C9 C3 D4 C9 CF |RE OF THE ......|
000033B0: CE C1 D2 D9 20 41 4E 44 00 E5 3B C6 06 99 22 20 |.... AND..;..." |
000033C0: 48 4F 57 20 C6 CF D2 D4 C8 20 53 45 41 52 43 48 |HOW ..... SEARCH|
000033D0: 45 53 20 41 4E 44 20 45 58 45 43 55 54 45 53 20 |ES AND EXECUTES |
000033E0: 57 4F 52 44 53 00 10 3C C8 06 99 22 20 49 4E 20 |WORDS..<..." IN |
000033F0: 49 54 2E 20 D7 45 27 4C 4C 20 41 4C 53 4F 20 4C |IT. .E'LL ALSO L|
00003400: 4F 4F 4B 20 41 54 20 43 48 41 52 41 43 54 45 52 |OOK AT CHARACTER|
00003410: 00 3E 3C CA 06 99 22 20 53 54 52 49 4E 47 20 C9 |.><..." STRING .|
00003420: 2F CF 20 41 4E 44 20 4E 55 4D 42 45 52 20 46 4F |/. AND NUMBER FO|
00003430: 52 4D 41 54 54 49 4E 47 2E 20 D4 48 49 53 00 5F |RMATTING. .HIS._|
00003440: 3C CC 06 99 22 20 41 4E 44 20 4D 55 43 48 20 4D |<..." AND MUCH M|
00003450: 4F 52 45 20 4E 45 58 54 20 4D 4F 4E 54 48 2E 00 |ORE NEXT MONTH..|
00003460: 6D 3C CE 06 99 3A 99 3A 99 3A 99 3A 99 00 79 3C |m<...:.:.:.:..y<|
00003470: CF 06 99 3A 99 3A 99 3A 99 00 9F 3C D6 06 99 22 |...:.:.:...<..."|
00003480: 20 1F 12 5E 92 20 42 41 43 4B 20 20 20 20 20 12 | ..^. BACK .|
00003490: 5F 92 20 47 4F 4C 44 20 44 49 53 4B 90 22 3B 00 |_. GOLD DISK.";.|
000034A0: B3 3C E0 06 A1 41 24 3A 8B 41 24 B2 22 22 A7 31 |.<...A$:.A$."".1|
000034B0: 37 36 30 00 C4 3C EA 06 8B 41 24 B2 22 5F 22 A7 |760..<...A$."_".|
000034C0: 33 30 30 30 00 D6 3C F4 06 8B 41 24 B3 B1 22 5E |3000..<...A$.."^|
000034D0: 22 A7 31 37 36 30 00 E6 3C FE 06 50 47 B2 50 47 |".1760..<..PG.PG|
000034E0: AB 31 3A 89 32 30 00 18 3D C4 09 99 22 20 1F 12 |.1:.20..=..." ..|
000034F0: 53 50 41 43 45 92 20 41 48 45 41 44 20 20 20 12 |SPACE. AHEAD .|
00003500: 5E 92 20 42 41 43 4B 20 20 12 5F 92 20 47 4F 4C |^. BACK ._. GOL|
00003510: 44 20 44 49 53 4B 22 3B 00 2C 3D C5 09 A1 41 24 |D DISK";.,=...A$|
00003520: 3A 8B 41 24 B2 22 22 A7 32 35 30 31 00 44 3D C6 |:.A$."".2501.D=.|
00003530: 09 8B 41 24 B2 22 5E 22 A7 50 47 B2 50 47 AB 31 |..A$."^".PG.PG.1|
00003540: 3A 89 32 30 00 55 3D C7 09 8B 41 24 B2 22 5F 22 |:.20.U=...A$."_"|
00003550: A7 33 30 30 30 00 67 3D C8 09 8B 41 24 B3 B1 22 |.3000.g=...A$.."|
00003560: 20 22 A7 32 35 30 31 00 77 3D C9 09 50 47 B2 50 | ".2501.w=..PG.P|
00003570: 47 AA 31 3A 89 32 30 00 8F 3D B8 0B 99 C7 28 31 |G.1:.20..=....(1|
00003580: 35 34 29 3A 99 22 93 22 3A 9E 34 39 31 35 32 00 |54):.".":.49152.|
00003590: 00 00 |.. |
....... (C)1985 GOLD DISK INC.H...."..":
.53281,1:.53272,23:.53280,2:PG.1...... P
G . 100,200,300,400,500,600,700,800,900
,1000,1100,1200,1300,1400,1500......(PG.
15).1600,1700.K.C..----------PAGE 1-----
---...D.:.".." .17)".FORTH..
1"...E...,.F.." LAST MONTH WE LOO
KED AT SOME OF THE".Z.H.." SIMPLER STAC
K MANIPULATION COMMANDS."...J.." THIS T
IME WE'LL LEARN HOW TO EXPLOIT "...L.."
THE FULL POWER OF FORTH BY CREATING ".
..N.." OUR OWN DEFINITIONS. "...P
.....R.." YOU MAY RECALL THAT,...T..".*.
V.." VLIST .RETURN. ".0.X..
._.Z.." GAVE US A LIST OF ALL THE WORDS
KNOWN"...|.." TO FORTH (OF COURSE VLIS
T IS THERE"...~.." TOO). HOW CAN WE ADD
TO THIS FORTH......" DICTIONARY? HERE'S
A SIMPLE EXAMPLE,............" : ASCII D
UP . EMIT ; .RETURN.......:..B...." LET
'S EXAMINE THIS LINE IN DETAIL. ".J....
:..T...." ..SPACE. AHEAD ._. GOLD DIS
K.";... ..A$:.A$."".160......A$."_".3000
......A$.." ".160.....PG.PG.1:.20.W.G..-
---------PAGE 2--------...H.:.".." .17)
".FORTH.. 2"...I...5.J..
" : ASCII DUP . EMIT ; .RETURN.".S.
K..". ..............T.L.." ^ ^
^ ^.Z.N.....O.....P.."
. . . ... MUST END...R
.." WITH SEMI
-."...T.." . . . . C
OLON....V..".".=.X.." . . ..
.. BODY OF DEFINITION.M.Z.."
EACH WORD MUST AL-."......" .
. . READY BE DEFINED......
.".".Q...." . .. . . . .THE DEFINITION
NAME CAN......" BE ANY LEN
GTH UP TO A.".,...." . .MAXIM
UM OF 31 CHARACTERS..5....".".`...." ..
. . .EVERY DEFINITION MUST BEGIN......"
WITH A COLON FOLLOWED BY"......"
AT LEAST ONE SPACE. "..........
..2500...+..----------PAGE 3--------...,
.:.".." .17)".FORTH.. 3
"...-...;...." WE'VE JUST ADDED A NEW WO
RD TO THE ".E.0.." DICTIONARY! ( DO A VL
IST AND SEE.).K.1.....2.." IT'S EASY TO
SEE WHAT THIS NEW WORD.D.4.." DOES. IT D
UPLICATES THE TOP NUMBER ON"...6.." THE
STACK AND PRINTS IT OUT ALONG "...8.."
WITH IT'S ASCII CHARACTER."...:..".H.<.
." THIS EXAMPLE ILLUSTRATES WHY FORTH IS
.U.>.." SUCH A POWERFUL PROGRAMMING LANG
UAGE....?.." INSTEAD OF BEING CONFINED T
O A FIXED.L.@.." SET OF COMMANDS AS IN B
ASIC, WE CAN...B.." DEFINE NEW ONES TO D
O EXACTLY WHAT WE.$.D.." WANT. FURTHERMO
RE, BECAUSE EACH NEW.Q.F.." WORD IS BUIL
T UP FROM PREVIOUSLY DEF-.}.H.." INED WO
RDS, A CLEAR STRUCTURED STYLE. .J.." OF
PROGRAMMING IS ENFORCED....L.."...N..:.:
....P..2500.Y....----------PAGE 4-------
-.....:.".." .17)".FORTH..
4".......8...." IF FOR SOME REASON
WE WEREN'T HAPPY.E...." WITH OUR DEFINIT
ION OF ASCII WE COULD......" REMOVE IT I
N ONE OF TWO WAYS. ONE......" POSSIBILI
TY IS,.......J...." FORGET ASCII .RETUR
N..P.........." FORGET WILL REMOVE THE E
NTRY FROM THE.+...." DICTIONARY ENTIRELY
. UNFORTUNATELY, IT.V. .." ALSO REMOVES
ANY OTHER WORDS WE MAY.V...." HAVE DEFIN
ED SINCE THEN..}...."......" ANOTHER WAY
IS TO SIMPLY REDEFINE THE.W...." WORD A
GAIN USING THE SAME NAME. THE......" O
RIGINAL WORD IS STILL THERE AND IS.,....
" USED BY ANY WORDS REFERRING TO IT,.W..
.." BUT ANY SUBSEQUENT DEFINITIONS MUST.
O...." USE THE NEW ONE..U.....{.........
.......2500......----------PAGE 5-------
-.V...:.".." .17)".FORTH..
5"............" LOOPING......" ...
.....)...." THERE ARE SEVERAL LOOPING C
ONSTRUCTS.W...." AVAILABLE IN FORTH. HER
E'S ONE EXAMPLE.].........." : ASCIITABL
E 91 65 DO I ASCII CR......"
LOOP ; .RETURN............." IF
THIS WORD WERE EXECUTED, THE OUT-......"
PUT WOULD LOOK LIKE THIS,./...." 65
A ".>...." 6
6 B.M...." : :.Z...." : :
"......" 90
Z ".N...." W
E COULD DO THIS IN BASIC WITH,.T........
.." FORI=65TO90:PRINTI;CHR$(I):NEXTI....
...,...." THE NUMBER OF TIMES THE STUFF
IN.Y...." BETWEEN DO AND LOOP IS P
ERFORMED".C.&..2500...W..----------PAGE
6--------...X.:.".." .17)".FORTH..
6"...Y.....Z.." IS GIVEN BY
THE DIFFERENCE BETWEEN THE...\.." THE UP
PER LIMIT (91) AND THE LOWER ".@.^.."
LIMIT (65) I.E. 26 TIMES. NOTICE THE "
.O.`.." ORDER OF OCCURENCE OF THESE LIMI
TS. ".V.B.."...D.." EACH TIME THROUGH
THE LOOP, AN INDEX ".R.E.." IS INCREMEN
TED BY ONE (IT IS INITIAL-...F.." LY SET
TO THE LOWER LIMIT) AND WHEN IT".0.H.."
EQUALS THE UPPER LIMIT, THE LOOPING "
._.J.." ENDS. WE CAN GET THE CURRENT V
ALUE "...L.." OF THE INDEX AT ANY TIME
BY USING I "...N.." (A SYSTEM DEFINED
WORD) WHICH PUTS THE"...P.." INDEX VALUE
ON TOP OF THE STACK....R.."...T.." IN
THIS EXAMPLE, I PROVIDES THE ".I.V..
" NUMBER WHICH IS NEEDED BY ASCII .
".X...." CR IS ANOTHER SYSTEM DEFINED WO
RD THAT"......" DOES A CARRIAGE RETURN..
.....".M...." YOU MIGHT HAVE NOTICED THA
T OUR NEW ".T...."......2500......----
------PAGE 7--------.)...:.".." .17)".F
ORTH.. 7"./.....^...." D
EFINITION DID NOT FIT ALL ONE LINE. "..
...." IN THIS CASE YOU JUST DO A CARRIAG
E "...B.." RETURN AT THE END OF EACH LIN
E. ONLY...F.." AFTER THE SEMICOLON IS EN
COUNTERED...G.." WILL THE NEW DEFINITION
BE ADDED TO.#.H.." THE DICTIONARY..Q.J.
." NOW FOR A FEW WORDS ABOUT PROGRAMM-
"...L.." ING STYLE. WE COULD HAVE PUT TH
E CODE "...N.." FOR ASCII INSIDE THE LO
OP BUT THAT "...P.." WOULD TEND TO OBS
CURE THE MEANING OF "...R.." THE CODE.
IT'S BETTER TO BREAK THE ".8.T.." COD
E INTO MANAGEABLE PARTS AS WE'VE.E.V.."
DONE..T...." ALSO, FORTH ALLOWS UP TO 31
CHARACTER "......" IDENTIFIERS, MAKING
IT POSSIBLE TO USE".R...." MEANINGFUL N
AMES LIKE ASCII AND "......" ASCIIT
ABLE. IN BASIC ON THE OTHER "./...."
HAND, WE ARE STUCK WITH MEANINGLESS ".
]...." TWO LETTER IDENTIFIERS LIKE A1.
".E....:..O....2500......----------P
AGE 8--------... .:.".." .17)".FORTH..
8"...!...T.".." DO +
LOOP...$.." .............(.." WE DON'T
HAVE TO INCREMENT THE INDEX ".F.*.." B
Y 1. +LOOP INCREMENTS THE INDEX BY ".U
.,.." THE AMOUNT ON THE TOP OF THE STACK
, "......" WHICH CAN BE POSITIVE OR NE
GATIVE. YOU".S.0.." HAVE TO BE SURE THAT
THIS NUMBER IS "...2.." ALWAYS AVAILA
BLE. FOR EXAMPLE,...4...+ 6.." : EX1 -1
20 30 DO +LOOP ; WRONG.W 8.."
....... :.." :
EX2 20 30 DO -1 +LOOP ; RIGHT.. <.
." ......
. >.." THE PROBLEM WITH EX1 IS THAT THE
STEP"..!@.." SIZE, -1 , IS ONLY AVAILAB
LE ON THE ".5!B.." FIRST PASS THROUGH TH
E LOOP. AFTER.C!D.." THE FIRST PASS WE W
OULD GET A ?STACK ".W!F.." EMPTY ERROR..
.!H.." THE BASIC EQUIVALENT OF EX2 IS,..
!I...G!J.." FOR I=30 TO 20 STEP-1:NEXTI.
Q!R..2500..!...----------PAGE 9--------.
."..:.".." .17)".FORTH..
9".""....?"..." CONDITIONAL BRANCHING.
M"..." .....................
".."..." IN FORTH THE IF STATEMENT T
AKES THE.."..." FOLLOWING FORM,.."....."
..." IF X [TRUE CONDITION]..#..
." ELSE Y [FALSE CONDITION].1#
..." THEN Z [UNCONDITIONAL
].9#...:..D#..." WHERE X,Y,Z ARE FORTH
EXPRESSIONS..J#.....#..." X IS EXECUTE
D IF IF FINDS A NON-.E#..." ZERO VALU
E ON TOP OF THE STACK, OTHER-..# .." WIS
E Y IS EXECUTED (0 IS ON TOP). Z IS..$..
." PERFORMED AFTER EITHER X OR Y. THE.J$
..." ELSE STATEMENT IS OPTIONAL. THE FOR
TH.W$..." VERSION OF IF IS CLEARLY MORE
VERSAT-..$..." ILE THAN BASIC'S...$...:.
..$...2500.A$...----------PAGE 10-------
-..$..:.".." .17)".FORTH..
10"..%..." THE NUMBER ON TOP OF THE S
TACK USED BY.J%..." IF IS CALLED A FLAG.
IT CAN BE SET EX-.W%..." PLICITLY OR AS
A RESULT OF ONE OF THE..%..." FOLLOWING
TESTS,..%....D%..." 0< RETURNS TR
UE (NON-ZERO) "..%..." IF
TOP OF STACK NEGATIVE...%.....&..." 0>
RETURNS TRUE IF TOP OF.J&..."
STACK POSITIVE. ".P&...
.}&..." 0= RETURNS TRUE IF TOP OF
"..&..." STACK EQUAL TO ZER
O...&....W&..." YOU CAN COMPARE THE TOP
TWO VALUES ON "..&..." THE STACK WITH,..
&...".$'..." = RETURNS TRUE IF NU
MBERS EQUAL".+'...".Z'..." < RETU
RNS TRUE IF TOP NUMBER ".Q'..."
LARGER.W'.....'...2500. 'K..---------
-PAGE 11--------.M'L.:.".." .17)".FORTH
.. 11".S'M....(N.." >
RETURNS TRUE IF TOP NUMBER..(P.."
SMALLER..#(R...Q(T.." WHICH
MATH OPERATOR ( + / - * ) WOULD".}(V.."
YOU USE TO TEST IF THE TOP TWO NUMB-..(
X.." ERS WERE NOT EQUAL?.B(`.." HERE'S A
SIMPLE EXAMPLE, ".H(A....(B.."
: SIGN 0< IF ."G(34)" IT'S A NEGATIVE
"G(34)..)D..".;)F.." ELSE ."G
(34)" IT'S A POSITIVE"G(34).A)H...R)J.."
THEN ."G(34)" NUMBER"G(34)"
;".Y)L.."..)O.." ."G(34)" IS A USEFUL CO
MMAND FOR SENDING".Y)P.." CHARACTER STRI
NGS TO THE SCREEN. DON'T"..*R.." FORGET
TO LEAVE A SPACE AFTER ."G(34).3*S.." WH
AT WOULD BE THE OUTPUT IF WE TYPED,.9*T.
..X*U.." -99 SIGN .RETURN...*V.."
SINCE ANY LEGITIMATE FORTH PHRASE CAN ".
.*~..2500..*...----------PAGE 12--------
..*..:.".." .17)".FORTH..
12"..+..." BE USED IT IS POSSIBLE TO P
UT DO LOOPS".;+..." OR EVEN OTHER IF STA
TEMENTS INSIDE IF ".G+..." STATEMENTS. (
LOOPS AND IF STATEMENTS..+..." CAN ONLY
APPEAR IN COLON DEFINITIONS)..+...".I+..
." CONSTANTS AND VARIABLES
"..+..." .......................
".#,..." ONE INITIALIZES A CONSTANT
IN FORTH ".C,..." BY TYPING THE FOLLOWI
NG,.I,B...W,D.." [VALUE] CONSTANT [CO
NSTANT NAME] ".~,F.."..,H.." FOR EXAMPL
E,..,J....,L.." 200 CONSTANT IQ .RET
URN.".C,N....,P.." AFTER THE CONSTANT HA
S BEEN DEFINED, "..-R.." IT'S VALUE WILL
BE PUT ON TOP OF THE.K-T.." STACK WHENE
VER IT'S NAME IS ENCOUNTER-.Y-V.." ED. I
T IS A GOOD IDEA TO USE CONSTANTS..-X.."
IN YOUR PROGRAMS TO MAKE THEM MORE..-..
...-...2500.R-...----------PAGE 13------
--..-..:.".." .17)".FORTH..
13".,...." READABLE. VARIABLES ARE
DEFINED IN ".S...." MUCH THE SAME WAY AS
CONSTANTS,.V....:." 0 VARIABLE AGE .R
ETURN..}...."......" THE DIFFERENCE COME
S WHEN WE 'EXECUTE'.W...." THE WORD AGE.
INSTEAD OF PUTTING THE../ .." VALUE ON
THE STACK, AGE PUTS IT'S OWN ".5/".." AD
DRESS THERE. THEN IF WE WANT TO KNOW".]/
$.." IT'S CURRENT VALUE WE WOULD SAY,.D/
&.."../(.." @ .RETURN.
"../*...A/,.." @ REPLACES THE ADD
RESS ON THE STACK../..." WITH THE NUMBER
AT THAT ADDRESS."..02.." IF WE WANT TO
ALTER THE VALUE OF AGE".004.." WE WOULD
DO THIS,.V08.." [NEW VALUE] AGE ! .R
ETURN..\09....0:.." ! TAKES THE TOP NUMB
ER OFF THE STACK..0;.." AND USES THIS AS
THE ADDRESS AT WHICH.W0<.." IT PUTS THE
SECOND NUMBER...0F..2500..1W..---------
-PAGE 14--------.-1X.:.".." .17)".FORTH
.. 14".31Y...`1Z.." VARI
ABLES AND CONSTANTS ARE ADDED TO..1|.."
THE DICTIONARY JUST LIKE OTHER FORTH..1~
.." WORDS SO THEY MAY BE DELETED OR REDE
-.O1..." FINED AS WELL..V1..."..1..." SA
VING FORTH PROGRAMS...2..." ............
...........=2..." WE ALL KNOW THAT A BAS
IC PROGRAM IS.G2..." STORED AS A FILE ON
DISK, WHICH WE..2..." CAN LOAD AND RUN.
IN FORTH THINGS ARE..2..." A LITTLE DIF
FERENT. AS FAR AS FORTH..2..." IS CONCER
NED, THE DISK IS DIVIDED UP..3..." INTO
WHAT ARE CALLED SCREENS,NOT FILES..G3...
" EACH SCREEN IS NUMBERED AND CAN HOLD.
T3..." ONLY 1024 CHARACTERS. INSTEAD OF
CRE-. 3..." EATING OUR DEFINITIONS AS WE
'VE BEEN.N3..." DOING, WE CAN EDIT THEM
INTO A SCREEN...3..." THEN WHEN WE LOAD
THE SCREEN, THE DEF-.'4..." INITIONS GET
ENTERED INTO THE DICT-.M4..." IONARY. T
O LOAD A SCREEN TYPE,.W4...2500.V4...---
-------PAGE 15--------..4..:.".." .17)"
.FORTH.. 15"..4....J4..."
[SCREEN#] LOAD .RETURN..Q4..."..4..."
TO MAKE CHANGES TO A PARTICULAR SCREEN.
5..." WE MUST ENTER THE EDITOR,.'5...".
K5..." [SCREEN#] EDIT .RETURN.".R5..
.".~5..." SEE THE LAST MONTH'S FORTH INS
TRUCT-..5..." IONS ON HOW TO USE THE EDI
TOR. REMEMB-.V5..." ER THAT YOU MUST NOT
STORE BASIC..6..." PROGRAMS ON A DISK
THAT CONTAINS FORTH..6..." SCREENS..=6.
.." AFTER YOU HAVE MADE CHANGES TO A.I6
..." SCREEN YOU CAN UPDATE THE DISK WITH
,.P6..."..6..." FLUSH .RETURN.
.A6..." IF YOU JUST WANT TO LOOK AT
WHATS IN..6..." A PARTICULAR SCREEN TYP
E,..6.....7..." [SCREEN#] LIST .RETU
RN...7.....7...2500.:7?..----------PAGE
16--------.G7@.:.".." .17)".FORTH..
16".M7A....7B.." TO PRINT J
UST THE FIRST LINE OF A..7D.." SERIES OF
FORTH SCREENS DO THIS,.F7F.."..7H.."
1 10 INDEX .RETURN...7J.."..8L.." THI
S PRINTS THE FIRST LINE OF SCREENS.H8N..
" 1 THROUGH 10. THE FIRST LINE SHOULD BE
.V8P.." A COMMENT TELLING WHATS ON THE S
CREEN..|8T....8[.." THE END OF DEFINITIO
NS ON A SCREEN IS.W8\.." GIVEN BY ;S
. IF NOT ALL THE DEFIN-..9^.." ITIONS CA
N FIT ON ONE SCREEN THEN USE.29`.." -->
WHICH CAUSES LOADING TO CONTINUE.^9B..
" ON THE NEXT SCREEN. AN EXAMPLE FORTH..
9D.." SCREEN CAN BE FOUND ON THIS MONTHS
..9E.." GOLD DISK. AFTER YOU'VE LOADED F
ORTH..9F.." FROM LAST MONTH'S DISK, PUT
IN THIS..9H.." MONTH'S DISK AND TYPE,..:
I....:J.." 7 LIST .RETURN..!:L...+:R..2
500.J:...----------PAGE 17--------.W:..:
.".." .17)".FORTH.. 17".
}:.....:..." CONCLUSION "..:..." .
......... "..:..." YOU NOW HAVE THE B
ASIC TOOLS TO START..;..." CREATING APPL
ICATIONS IN FORTH..-;..." HOWEVER, THERE
ARE MANY MORE USEFUL.^;..." DEFINITIONS
AND CONCEPTS TO BE COVERED.";..;B.." NE
XT MONTH WE'LL LOOK MORE CLOSELY AT "..;
D.." THE STRUCTURE OF THE DICTIONARY AND
..;F.." HOW FORTH SEARCHES AND EXECUTES
WORDS..<H.." IN IT. WE'LL ALSO LOOK AT C
HARACTER.><J.." STRING I/O AND NUMBER FO
RMATTING. THIS._<L.." AND MUCH MORE NEXT
MONTH..M<N..:.:.:.:..Y<O..:.:.:...<V.."
..^. BACK ._. GOLD DISK.";..<...A$:
.A$."".1760.D<...A$."_".3000.V<...A$.."^
".1760..<..PG.PG.1:.20..=D.." ..SPACE. A
HEAD .^. BACK ._. GOLD DISK";.,=E..A$
:.A$."".2501.D=F..A$."^".PG.PG.1:.20.U=G
..A$."_".3000.G=H..A$.." ".2501.W=I.PG.P
G.1:.20..=...G(154):.".":.49152...
×
C64 Image
> CLICK IMAGE PREVIEW FOR FULL MODAL