/
ex.lst
759 lines (759 loc) · 30.9 KB
/
ex.lst
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
228
229
230
231
232
233
234
235
236
237
238
239
240
241
242
243
244
245
246
247
248
249
250
251
252
253
254
255
256
257
258
259
260
261
262
263
264
265
266
267
268
269
270
271
272
273
274
275
276
277
278
279
280
281
282
283
284
285
286
287
288
289
290
291
292
293
294
295
296
297
298
299
300
301
302
303
304
305
306
307
308
309
310
311
312
313
314
315
316
317
318
319
320
321
322
323
324
325
326
327
328
329
330
331
332
333
334
335
336
337
338
339
340
341
342
343
344
345
346
347
348
349
350
351
352
353
354
355
356
357
358
359
360
361
362
363
364
365
366
367
368
369
370
371
372
373
374
375
376
377
378
379
380
381
382
383
384
385
386
387
388
389
390
391
392
393
394
395
396
397
398
399
400
401
402
403
404
405
406
407
408
409
410
411
412
413
414
415
416
417
418
419
420
421
422
423
424
425
426
427
428
429
430
431
432
433
434
435
436
437
438
439
440
441
442
443
444
445
446
447
448
449
450
451
452
453
454
455
456
457
458
459
460
461
462
463
464
465
466
467
468
469
470
471
472
473
474
475
476
477
478
479
480
481
482
483
484
485
486
487
488
489
490
491
492
493
494
495
496
497
498
499
500
501
502
503
504
505
506
507
508
509
510
511
512
513
514
515
516
517
518
519
520
521
522
523
524
525
526
527
528
529
530
531
532
533
534
535
536
537
538
539
540
541
542
543
544
545
546
547
548
549
550
551
552
553
554
555
556
557
558
559
560
561
562
563
564
565
566
567
568
569
570
571
572
573
574
575
576
577
578
579
580
581
582
583
584
585
586
587
588
589
590
591
592
593
594
595
596
597
598
599
600
601
602
603
604
605
606
607
608
609
610
611
612
613
614
615
616
617
618
619
620
621
622
623
624
625
626
627
628
629
630
631
632
633
634
635
636
637
638
639
640
641
642
643
644
645
646
647
648
649
650
651
652
653
654
655
656
657
658
659
660
661
662
663
664
665
666
667
668
669
670
671
672
673
674
675
676
677
678
679
680
681
682
683
684
685
686
687
688
689
690
691
692
693
694
695
696
697
698
699
700
701
702
703
704
705
706
707
708
709
710
711
712
713
714
715
716
717
718
719
720
721
722
723
724
725
726
727
728
729
730
731
732
733
734
735
736
737
738
739
740
741
742
743
744
745
746
747
748
749
750
751
752
753
754
755
756
757
758
759
; memory-size: 3072 bytes, (0c00 hex)
0000: 08 de 04 00 00 ; JMP main (04de)
;
0005: 00 00 00
0008: 00000004 00000000
0010: 00000040 00000bda 0000000a 00000000
0020: 00000000 00000c00 00000000 00000000
0030: 00000000 00000000 00000000 00000000
;
0040: 18 eb 0b 00 00 ; DICTP (HERE) (0beb)
0045: 01 4b 00 00 00 ; LITERAL 75 (0x004b)
004a: 0c ; RET
004b: ed 05 00 00 ; dw 0x05ed
;
004f: 18 da 0b 00 00 ; DICTP (LAST) (0bda)
0054: 01 5a 00 00 00 ; LITERAL 90 (0x005a)
0059: 0c ; RET
005a: bd 08 00 00 ; dw 0x08bd
;
005e: 18 cb 0b 00 00 ; DICTP BASE (0bcb)
0063: 01 69 00 00 00 ; LITERAL 105 (0x0069)
0068: 0c ; RET
0069: 0a 00 00 00 ; dw 0x000a
;
006d: 18 bb 0b 00 00 ; DICTP STATE (0bbb)
0072: 01 78 00 00 00 ; LITERAL 120 (0x0078)
0077: 0c ; RET
0078: 00 00 00 00 ; dw 0x0000
;
007c: 18 a8 0b 00 00 ; DICTP (MEM_SZ) (0ba8)
0081: 01 87 00 00 00 ; LITERAL 135 (0x0087)
0086: 0c ; RET
0087: 00 0c 00 00 ; dw 0x0c00
;
008b: 18 9a 0b 00 00 ; DICTP >IN (0b9a)
0090: 01 96 00 00 00 ; LITERAL 150 (0x0096)
0095: 0c ; RET
0096: 00 00 00 00 ; dw 0x0000
;
009a: 18 8b 0b 00 00 ; DICTP #NEG (0b8b)
009f: 01 a5 00 00 00 ; LITERAL 165 (0x00a5)
00a4: 0c ; RET
00a5: 00 00 00 00 ; dw 0x0000
;
00a9: 18 7c 0b 00 00 ; DICTP #LEN (0b7c)
00ae: 01 b4 00 00 00 ; LITERAL 180 (0x00b4)
00b3: 0c ; RET
00b4: 00 00 00 00 ; dw 0x0000
;
00b8: 18 69 0b 00 00 ; DICTP INPUT-FP (0b69)
00bd: 01 c3 00 00 00 ; LITERAL 195 (0x00c3)
00c2: 0c ; RET
00c3: 00 00 00 00 ; dw 0x0000
;
00c7: 18 5c 0b 00 00 ; DICTP T1 (0b5c)
00cc: 01 d2 00 00 00 ; LITERAL 210 (0x00d2)
00d1: 0c ; RET
00d2: 00 00 00 00 ; dw 0x0000
;
00d6: 18 4f 0b 00 00 ; DICTP T2 (0b4f)
00db: 01 e1 00 00 00 ; LITERAL 225 (0x00e1)
00e0: 0c ; RET
00e1: 00 00 00 00 ; dw 0x0000
;
00e5: 18 42 0b 00 00 ; DICTP T3 (0b42)
00ea: 01 f0 00 00 00 ; LITERAL 240 (0x00f0)
00ef: 0c ; RET
00f0: 00 00 00 00 ; dw 0x0000
;
00f4: fc ; NOP
00f5: 18 33 0b 00 00 ; DICTP CELL (0b33)
00fa: 0e 04 ; CLITERAL 4
00fc: 0c ; RET
;
00fd: 18 24 0b 00 00 ; DICTP LAST (0b24)
0102: 0b 4f 00 00 00 ; CALL (LAST) (004f)
0107: 02 ; FETCH
0108: 0c ; RET
;
0109: 18 15 0b 00 00 ; DICTP HERE (0b15)
010e: 0b 40 00 00 00 ; CALL (HERE) (0040)
0113: 02 ; FETCH
0114: 0c ; RET
;
0115: 18 09 0b 00 00 ; DICTP , (0b09)
011a: 0b 40 00 00 00 ; CALL (HERE) (0040)
011f: 02 ; FETCH
0120: 03 ; STORE
0121: 0b 40 00 00 00 ; CALL (HERE) (0040)
0126: 02 ; FETCH
0127: 0e 04 ; CLITERAL 4
0129: 11 ; ADD
012a: 0b 40 00 00 00 ; CALL (HERE) (0040)
012f: 03 ; STORE
0130: 0c ; RET
;
0131: 18 fc 0a 00 00 ; DICTP C, (0afc)
0136: 0b 40 00 00 00 ; CALL (HERE) (0040)
013b: 02 ; FETCH
013c: 10 ; CSTORE
013d: 0b 40 00 00 00 ; CALL (HERE) (0040)
0142: 02 ; FETCH
0143: 2c ; INC
0144: 0b 40 00 00 00 ; CALL (HERE) (0040)
0149: 03 ; STORE
014a: 0c ; RET
;
014b: 18 ee 0a 00 00 ; DICTP JMP (0aee)
0150: 0e 08 ; CLITERAL 8
0152: 0b 31 01 00 00 ; CALL C, (0131)
0157: 0c ; RET
;
0158: 18 df 0a 00 00 ; DICTP JMPZ (0adf)
015d: 0e 09 ; CLITERAL 9
015f: 0b 31 01 00 00 ; CALL C, (0131)
0164: 0c ; RET
;
0165: 18 cf 0a 00 00 ; DICTP JMPNZ (0acf)
016a: 0e 0a ; CLITERAL 10
016c: 0b 31 01 00 00 ; CALL C, (0131)
0171: 0c ; RET
;
0172: 18 c1 0a 00 00 ; DICTP RET (0ac1)
0177: 0e 0c ; CLITERAL 12
0179: 0b 31 01 00 00 ; CALL C, (0131)
017e: 0c ; RET
;
017f: 18 ac 0a 00 00 ; DICTP ?COMPILING (0aac)
0184: 0b 6d 00 00 00 ; CALL STATE (006d)
0189: 02 ; FETCH
018a: 0c ; RET
;
018b: 18 9f 0a 00 00 ; DICTP IF (0a9f)
0190: 0b 6d 00 00 00 ; CALL STATE (006d)
0195: 02 ; FETCH
0196: 09 ad 01 00 00 ; JMPZ 01ad
019b: 0b 58 01 00 00 ; CALL JMPZ (0158)
01a0: 0b 40 00 00 00 ; CALL (HERE) (0040)
01a5: 02 ; FETCH
01a6: 0e 00 ; CLITERAL 0
01a8: 0b 15 01 00 00 ; CALL , (0115)
01ad: 0c ; RET
;
01ae: 18 90 0a 00 00 ; DICTP THEN (0a90)
01b3: 0b 6d 00 00 00 ; CALL STATE (006d)
01b8: 02 ; FETCH
01b9: 09 c6 01 00 00 ; JMPZ 01c6
01be: 0b 40 00 00 00 ; CALL (HERE) (0040)
01c3: 02 ; FETCH
01c4: 04 ; SWAP
01c5: 03 ; STORE
01c6: 0c ; RET
;
01c7: 18 80 0a 00 00 ; DICTP BEGIN (0a80)
01cc: 0b 6d 00 00 00 ; CALL STATE (006d)
01d1: 02 ; FETCH
01d2: 09 dd 01 00 00 ; JMPZ 01dd
01d7: 0b 40 00 00 00 ; CALL (HERE) (0040)
01dc: 02 ; FETCH
01dd: 0c ; RET
;
01de: 18 70 0a 00 00 ; DICTP AGAIN (0a70)
01e3: 0b 6d 00 00 00 ; CALL STATE (006d)
01e8: 02 ; FETCH
01e9: 09 f8 01 00 00 ; JMPZ 01f8
01ee: 0b 4b 01 00 00 ; CALL JMP (014b)
01f3: 0b 15 01 00 00 ; CALL , (0115)
01f8: 0c ; RET
;
01f9: 18 60 0a 00 00 ; DICTP WHILE (0a60)
01fe: 0b 6d 00 00 00 ; CALL STATE (006d)
0203: 02 ; FETCH
0204: 09 13 02 00 00 ; JMPZ 0213
0209: 0b 65 01 00 00 ; CALL JMPNZ (0165)
020e: 0b 15 01 00 00 ; CALL , (0115)
0213: 0c ; RET
;
0214: 18 50 0a 00 00 ; DICTP UNTIL (0a50)
0219: 0b 6d 00 00 00 ; CALL STATE (006d)
021e: 02 ; FETCH
021f: 09 2e 02 00 00 ; JMPZ 022e
0224: 0b 58 01 00 00 ; CALL JMPZ (0158)
0229: 0b 15 01 00 00 ; CALL , (0115)
022e: 0c ; RET
;
022f: 18 40 0a 00 00 ; DICTP LEAVE (0a40)
0234: 0b 6d 00 00 00 ; CALL STATE (006d)
0239: 02 ; FETCH
023a: 09 44 02 00 00 ; JMPZ 0244
023f: 0b 72 01 00 00 ; CALL RET (0172)
0244: 0c ; RET
;
0245: 18 30 0a 00 00 ; DICTP COUNT (0a30)
024a: 06 ; DUP
024b: 2c ; INC
024c: 04 ; SWAP
024d: 0f ; CFETCH
024e: 0c ; RET
;
024f: 18 21 0a 00 00 ; DICTP TYPE (0a21)
0254: 06 ; DUP
0255: 0e 00 ; CLITERAL 0
0257: 16 ; EQ
0258: 09 60 02 00 00 ; JMPZ 0260
025d: 05 ; DROP
025e: 05 ; DROP
025f: 0c ; RET
0260: 04 ; SWAP
0261: 06 ; DUP
0262: 0f ; CFETCH
0263: 19 ; EMIT
0264: 2c ; INC
0265: 04 ; SWAP
0266: 2e ; DEC
0267: 08 54 02 00 00 ; JMP 0254
026c: 0c ; RET
;
026d: 18 14 0a 00 00 ; DICTP CT (0a14)
0272: 0b 45 02 00 00 ; CALL COUNT (0245)
0277: 0b 4f 02 00 00 ; CALL TYPE (024f)
027c: 0c ; RET
;
027d: 18 07 0a 00 00 ; DICTP CR (0a07)
0282: 0e 0d ; CLITERAL 13
0284: 19 ; EMIT
0285: 0e 0a ; CLITERAL 10
0287: 19 ; EMIT
0288: 0c ; RET
;
0289: 18 fa 09 00 00 ; DICTP BL (09fa)
028e: 0e 20 ; CLITERAL 32
0290: 19 ; EMIT
0291: 0c ; RET
;
0292: 18 eb 09 00 00 ; DICTP 2DUP (09eb)
0297: 1a ; OVER
0298: 1a ; OVER
0299: 0c ; RET
;
029a: 18 de 09 00 00 ; DICTP <# (09de)
029f: 0e 00 ; CLITERAL 0
02a1: 0b 9a 00 00 00 ; CALL #NEG (009a)
02a6: 03 ; STORE
02a7: 0e 00 ; CLITERAL 0
02a9: 0b a9 00 00 00 ; CALL #LEN (00a9)
02ae: 03 ; STORE
02af: 06 ; DUP
02b0: 0e 00 ; CLITERAL 0
02b2: 15 ; LT
02b3: 09 c4 02 00 00 ; JMPZ 02c4
02b8: 0e 01 ; CLITERAL 1
02ba: 0b 9a 00 00 00 ; CALL #NEG (009a)
02bf: 03 ; STORE
02c0: 0e 00 ; CLITERAL 0
02c2: 04 ; SWAP
02c3: 12 ; SUB
02c4: 0e 00 ; CLITERAL 0
02c6: 04 ; SWAP
02c7: 0c ; RET
;
02c8: 18 d2 09 00 00 ; DICTP # (09d2)
02cd: 0b 5e 00 00 00 ; CALL BASE (005e)
02d2: 02 ; FETCH
02d3: 29 ; SLASHMOD
02d4: 04 ; SWAP
02d5: 0e 30 ; CLITERAL 48
02d7: 11 ; ADD
02d8: 06 ; DUP
02d9: 0e 39 ; CLITERAL 57
02db: 17 ; GT
02dc: 09 e4 02 00 00 ; JMPZ 02e4
02e1: 0e 07 ; CLITERAL 7
02e3: 11 ; ADD
02e4: 04 ; SWAP
02e5: 0b a9 00 00 00 ; CALL #LEN (00a9)
02ea: 06 ; DUP
02eb: 02 ; FETCH
02ec: 2c ; INC
02ed: 04 ; SWAP
02ee: 03 ; STORE
02ef: 0c ; RET
;
02f0: 18 c5 09 00 00 ; DICTP #S (09c5)
02f5: 0b c8 02 00 00 ; CALL # (02c8)
02fa: 06 ; DUP
02fb: 0e 00 ; CLITERAL 0
02fd: 16 ; EQ
02fe: 09 f5 02 00 00 ; JMPZ 02f5
0303: 0c ; RET
;
0304: 18 b8 09 00 00 ; DICTP #> (09b8)
0309: 0c ; RET
;
030a: 18 aa 09 00 00 ; DICTP #P- (09aa)
030f: 05 ; DROP
0310: 0b 9a 00 00 00 ; CALL #NEG (009a)
0315: 02 ; FETCH
0316: 09 1e 03 00 00 ; JMPZ 031e
031b: 0e 2d ; CLITERAL 45
031d: 19 ; EMIT
031e: 0c ; RET
;
031f: 18 9d 09 00 00 ; DICTP #P (099d)
0324: 0b 0a 03 00 00 ; CALL #P- (030a)
0329: 19 ; EMIT
032a: 06 ; DUP
032b: 0e 00 ; CLITERAL 0
032d: 16 ; EQ
032e: 09 29 03 00 00 ; JMPZ 0329
0333: 05 ; DROP
0334: 0c ; RET
;
0335: 18 8f 09 00 00 ; DICTP (.) (098f)
033a: 0b 9a 02 00 00 ; CALL <# (029a)
033f: 0b f0 02 00 00 ; CALL #S (02f0)
0344: 0b 04 03 00 00 ; CALL #> (0304)
0349: 0b 1f 03 00 00 ; CALL #P (031f)
034e: 0c ; RET
;
034f: 18 83 09 00 00 ; DICTP . (0983)
0354: 0b 35 03 00 00 ; CALL (.) (0335)
0359: 0e 20 ; CLITERAL 32
035b: 19 ; EMIT
035c: 0c ; RET
;
035d: 18 76 09 00 00 ; DICTP .2 (0976)
0362: 0b 9a 02 00 00 ; CALL <# (029a)
0367: 0b c8 02 00 00 ; CALL # (02c8)
036c: 0b c8 02 00 00 ; CALL # (02c8)
0371: 0b 04 03 00 00 ; CALL #> (0304)
0376: 0b 1f 03 00 00 ; CALL #P (031f)
037b: 0c ; RET
;
037c: 18 69 09 00 00 ; DICTP .3 (0969)
0381: 0b 9a 02 00 00 ; CALL <# (029a)
0386: 0b c8 02 00 00 ; CALL # (02c8)
038b: 0b c8 02 00 00 ; CALL # (02c8)
0390: 0b c8 02 00 00 ; CALL # (02c8)
0395: 0b 04 03 00 00 ; CALL #> (0304)
039a: 0b 1f 03 00 00 ; CALL #P (031f)
039f: 0c ; RET
;
03a0: 18 5c 09 00 00 ; DICTP .4 (095c)
03a5: 0b 9a 02 00 00 ; CALL <# (029a)
03aa: 0b c8 02 00 00 ; CALL # (02c8)
03af: 0b c8 02 00 00 ; CALL # (02c8)
03b4: 0b c8 02 00 00 ; CALL # (02c8)
03b9: 0b c8 02 00 00 ; CALL # (02c8)
03be: 0b 04 03 00 00 ; CALL #> (0304)
03c3: 0b 1f 03 00 00 ; CALL #P (031f)
03c8: 0c ; RET
;
03c9: 18 4a 09 00 00 ; DICTP DECIMAL (094a)
03ce: 0e 0a ; CLITERAL 10
03d0: 0b 5e 00 00 00 ; CALL BASE (005e)
03d5: 03 ; STORE
03d6: 0c ; RET
;
03d7: 18 3c 09 00 00 ; DICTP HEX (093c)
03dc: 0e 10 ; CLITERAL 16
03de: 0b 5e 00 00 00 ; CALL BASE (005e)
03e3: 03 ; STORE
03e4: 0c ; RET
;
03e5: 18 2f 09 00 00 ; DICTP H. (092f)
03ea: 0b 5e 00 00 00 ; CALL BASE (005e)
03ef: 02 ; FETCH
03f0: 04 ; SWAP
03f1: 0b d7 03 00 00 ; CALL HEX (03d7)
03f6: 06 ; DUP
03f7: 0e 10 ; CLITERAL 16
03f9: 15 ; LT
03fa: 09 02 04 00 00 ; JMPZ 0402
03ff: 0e 30 ; CLITERAL 48
0401: 19 ; EMIT
0402: 0b 35 03 00 00 ; CALL (.) (0335)
0407: 0b 5e 00 00 00 ; CALL BASE (005e)
040c: 03 ; STORE
040d: 0c ; RET
;
040e: 18 22 09 00 00 ; DICTP D. (0922)
0413: 0b 5e 00 00 00 ; CALL BASE (005e)
0418: 02 ; FETCH
0419: 04 ; SWAP
041a: 0b c9 03 00 00 ; CALL DECIMAL (03c9)
041f: 0b 35 03 00 00 ; CALL (.) (0335)
0424: 0b 5e 00 00 00 ; CALL BASE (005e)
0429: 03 ; STORE
042a: 0c ; RET
;
042b: 18 12 09 00 00 ; DICTP ascii (0912)
0430: 1a ; OVER
0431: 12 ; SUB
0432: 2c ; INC
0433: 21 ; DTOR
0434: 06 ; DUP
0435: 0b e5 03 00 00 ; CALL H. (03e5)
043a: 0e 20 ; CLITERAL 32
043c: 19 ; EMIT
043d: 06 ; DUP
043e: 0b 0e 04 00 00 ; CALL D. (040e)
0443: 0e 20 ; CLITERAL 32
0445: 19 ; EMIT
0446: 06 ; DUP
0447: 19 ; EMIT
0448: 0e 0d ; CLITERAL 13
044a: 19 ; EMIT
044b: 0e 0a ; CLITERAL 10
044d: 19 ; EMIT
044e: 2c ; INC
044f: 22 ; RTOD
0450: 2e ; DEC
0451: 06 ; DUP
0452: 0a 33 04 00 00 ; JMPNZ 0433
0457: 05 ; DROP
0458: 05 ; DROP
0459: 0c ; RET
;
045a: 18 05 09 00 00 ; DICTP .w (0905)
045f: 06 ; DUP
0460: 0b 0e 04 00 00 ; CALL D. (040e)
0465: 0e 20 ; CLITERAL 32
0467: 19 ; EMIT
0468: 06 ; DUP
0469: 0e 02 ; CLITERAL 2
046b: 0e 04 ; CLITERAL 4
046d: 13 ; MUL
046e: 11 ; ADD
046f: 2c ; INC
0470: 0b 6d 02 00 00 ; CALL CT (026d)
0475: 0e 20 ; CLITERAL 32
0477: 19 ; EMIT
0478: 02 ; FETCH
0479: 0c ; RET
;
047a: 18 f5 08 00 00 ; DICTP WORDS (08f5)
047f: 0b 4f 00 00 00 ; CALL (LAST) (004f)
0484: 02 ; FETCH
0485: 06 ; DUP
0486: 02 ; FETCH
0487: 0e 00 ; CLITERAL 0
0489: 16 ; EQ
048a: 09 91 04 00 00 ; JMPZ 0491
048f: 05 ; DROP
0490: 0c ; RET
0491: 0b 5a 04 00 00 ; CALL .w (045a)
0496: 08 85 04 00 00 ; JMP 0485
049b: 0c ; RET
;
049c: 18 e2 08 00 00 ; DICTP count-to (08e2)
04a1: 07 0c 63 6f 75 6e 74 69 6e 67 20 74 6f 20 00 ; SLITERAL (04a2) [counting to ]
04b0: 0b 6d 02 00 00 ; CALL CT (026d)
04b5: 06 ; DUP
04b6: 0b 0e 04 00 00 ; CALL D. (040e)
04bb: 07 04 20 2e 2e 2e 00 ; SLITERAL (04bc) [ ...]
04c2: 0b 6d 02 00 00 ; CALL CT (026d)
04c7: 2e ; DEC
04c8: 06 ; DUP
04c9: 0a c7 04 00 00 ; JMPNZ 04c7
04ce: 05 ; DROP
04cf: 07 06 20 64 6f 6e 65 2e 00 ; SLITERAL (04d0) [ done.]
04d8: 0b 6d 02 00 00 ; CALL CT (026d)
04dd: 0c ; RET
;
04de: 18 d3 08 00 00 ; DICTP main (08d3)
04e3: 07 0d 48 65 6c 6c 6f 2c 20 77 6f 72 6c 64 21 00 ; SLITERAL (04e4) [Hello, world!]
04f3: 0b 45 02 00 00 ; CALL COUNT (0245)
04f8: 0b 4f 02 00 00 ; CALL TYPE (024f)
04fd: 0b 4f 00 00 00 ; CALL (LAST) (004f)
0502: 02 ; FETCH
0503: 0e 04 ; CLITERAL 4
0505: 11 ; ADD
0506: 02 ; FETCH
0507: 0e 01 ; CLITERAL 1
0509: 03 ; STORE
050a: 0e 0d ; CLITERAL 13
050c: 19 ; EMIT
050d: 0e 0a ; CLITERAL 10
050f: 19 ; EMIT
0510: 0e 21 ; CLITERAL 33
0512: 0e 37 ; CLITERAL 55
0514: 0b 2b 04 00 00 ; CALL ascii (042b)
0519: 0e 0d ; CLITERAL 13
051b: 19 ; EMIT
051c: 0e 0a ; CLITERAL 10
051e: 19 ; EMIT
051f: 0b 7a 04 00 00 ; CALL WORDS (047a)
0524: 0e 0d ; CLITERAL 13
0526: 19 ; EMIT
0527: 0e 0a ; CLITERAL 10
0529: 19 ; EMIT
052a: 01 e8 03 00 00 ; LITERAL 1000 (3e8)
052f: 01 e8 03 00 00 ; LITERAL 1000 (3e8)
0534: 13 ; MUL
0535: 0e fa ; CLITERAL 250
0537: 13 ; MUL
0538: 0b 9c 04 00 00 ; CALL count-to (049c)
053d: 0e 0d ; CLITERAL 13
053f: 19 ; EMIT
0540: 0e 0a ; CLITERAL 10
0542: 19 ; EMIT
0543: 07 0b 56 4d 20 73 69 7a 65 20 69 73 20 00 ; SLITERAL (0544) [VM size is ]
0551: 0b 6d 02 00 00 ; CALL CT (026d)
0556: 0b 7c 00 00 00 ; CALL (MEM_SZ) (007c)
055b: 02 ; FETCH
055c: 0b 0e 04 00 00 ; CALL D. (040e)
0561: 07 08 20 62 79 74 65 73 2c 20 00 ; SLITERAL (0562) [ bytes, ]
056c: 0b 6d 02 00 00 ; CALL CT (026d)
0571: 0b 40 00 00 00 ; CALL (HERE) (0040)
0576: 02 ; FETCH
0577: 0b 0e 04 00 00 ; CALL D. (040e)
057c: 07 0d 20 62 79 74 65 73 20 75 73 65 64 2c 20 00 ; SLITERAL (057d) [ bytes used, ]
058c: 0b 6d 02 00 00 ; CALL CT (026d)
0591: 0b 4f 00 00 00 ; CALL (LAST) (004f)
0596: 02 ; FETCH
0597: 0b 40 00 00 00 ; CALL (HERE) (0040)
059c: 02 ; FETCH
059d: 12 ; SUB
059e: 0b 0e 04 00 00 ; CALL D. (040e)
05a3: 07 0b 20 62 79 74 65 73 20 66 72 65 65 00 ; SLITERAL (05a4) [ bytes free]
05b1: 0b 6d 02 00 00 ; CALL CT (026d)
05b6: 07 01 2e 00 ; SLITERAL (05b7) [.]
05ba: 0b 6d 02 00 00 ; CALL CT (026d)
05bf: ff ; BYE
05c0: 0c ; RET
;
05c1: 18 bd 08 00 00 ; DICTP catch-error (08bd)
05c6: 07 1d 2a 2a 20 45 52 52 4f 52 20 6f 63 63 75 72 72 65 64 2c 20 65 78 69 74 69 6e 67 20 2a 2a 00 ; SLITERAL (05c7) [** ERROR occurred, exiting **]
05e6: 0b 6d 02 00 00 ; CALL CT (026d)
05eb: ff ; BYE
05ec: 0c ; RET
;
; End of code, Dictionary:
;
08bd: d3 08 00 00 ; catch-error - (next: 08d3 main)
08c1: c1 05 00 00 00 ; XT=05c1, flags=00
08c6: 0b 63 61 74 63 68 2d 65 72 72 6f 72 00 ; 11, catch-error
;
08d3: e2 08 00 00 ; main - (next: 08e2 count-to)
08d7: de 04 00 00 00 ; XT=04de, flags=00
08dc: 04 6d 61 69 6e 00 ; 4, main
;
08e2: f5 08 00 00 ; count-to - (next: 08f5 WORDS)
08e6: 9c 04 00 00 00 ; XT=049c, flags=00
08eb: 08 63 6f 75 6e 74 2d 74 6f 00 ; 8, count-to
;
08f5: 05 09 00 00 ; WORDS - (next: 0905 .w)
08f9: 7a 04 00 00 00 ; XT=047a, flags=00
08fe: 05 57 4f 52 44 53 00 ; 5, WORDS
;
0905: 12 09 00 00 ; .w - (next: 0912 ascii)
0909: 5a 04 00 00 00 ; XT=045a, flags=00
090e: 02 2e 77 00 ; 2, .w
;
0912: 22 09 00 00 ; ascii - (next: 0922 D.)
0916: 2b 04 00 00 00 ; XT=042b, flags=00
091b: 05 61 73 63 69 69 00 ; 5, ascii
;
0922: 2f 09 00 00 ; D. - (next: 092f H.)
0926: 0e 04 00 00 00 ; XT=040e, flags=00
092b: 02 44 2e 00 ; 2, D.
;
092f: 3c 09 00 00 ; H. - (next: 093c HEX)
0933: e5 03 00 00 00 ; XT=03e5, flags=00
0938: 02 48 2e 00 ; 2, H.
;
093c: 4a 09 00 00 ; HEX - (next: 094a DECIMAL)
0940: d7 03 00 00 00 ; XT=03d7, flags=00
0945: 03 48 45 58 00 ; 3, HEX
;
094a: 5c 09 00 00 ; DECIMAL - (next: 095c .4)
094e: c9 03 00 00 00 ; XT=03c9, flags=00
0953: 07 44 45 43 49 4d 41 4c 00 ; 7, DECIMAL
;
095c: 69 09 00 00 ; .4 - (next: 0969 .3)
0960: a0 03 00 00 00 ; XT=03a0, flags=00
0965: 02 2e 34 00 ; 2, .4
;
0969: 76 09 00 00 ; .3 - (next: 0976 .2)
096d: 7c 03 00 00 00 ; XT=037c, flags=00
0972: 02 2e 33 00 ; 2, .3
;
0976: 83 09 00 00 ; .2 - (next: 0983 .)
097a: 5d 03 00 00 00 ; XT=035d, flags=00
097f: 02 2e 32 00 ; 2, .2
;
0983: 8f 09 00 00 ; . - (next: 098f (.))
0987: 4f 03 00 00 00 ; XT=034f, flags=00
098c: 01 2e 00 ; 1, .
;
098f: 9d 09 00 00 ; (.) - (next: 099d #P)
0993: 35 03 00 00 00 ; XT=0335, flags=00
0998: 03 28 2e 29 00 ; 3, (.)
;
099d: aa 09 00 00 ; #P - (next: 09aa #P-)
09a1: 1f 03 00 00 00 ; XT=031f, flags=00
09a6: 02 23 50 00 ; 2, #P
;
09aa: b8 09 00 00 ; #P- - (next: 09b8 #>)
09ae: 0a 03 00 00 00 ; XT=030a, flags=00
09b3: 03 23 50 2d 00 ; 3, #P-
;
09b8: c5 09 00 00 ; #> - (next: 09c5 #S)
09bc: 04 03 00 00 00 ; XT=0304, flags=00
09c1: 02 23 3e 00 ; 2, #>
;
09c5: d2 09 00 00 ; #S - (next: 09d2 #)
09c9: f0 02 00 00 00 ; XT=02f0, flags=00
09ce: 02 23 53 00 ; 2, #S
;
09d2: de 09 00 00 ; # - (next: 09de <#)
09d6: c8 02 00 00 00 ; XT=02c8, flags=00
09db: 01 23 00 ; 1, #
;
09de: eb 09 00 00 ; <# - (next: 09eb 2DUP)
09e2: 9a 02 00 00 00 ; XT=029a, flags=00
09e7: 02 3c 23 00 ; 2, <#
;
09eb: fa 09 00 00 ; 2DUP - (next: 09fa BL)
09ef: 92 02 00 00 02 ; XT=0292, flags=02
09f4: 04 32 44 55 50 00 ; 4, 2DUP
;
09fa: 07 0a 00 00 ; BL - (next: 0a07 CR)
09fe: 89 02 00 00 02 ; XT=0289, flags=02
0a03: 02 42 4c 00 ; 2, BL
;
0a07: 14 0a 00 00 ; CR - (next: 0a14 CT)
0a0b: 7d 02 00 00 02 ; XT=027d, flags=02
0a10: 02 43 52 00 ; 2, CR
;
0a14: 21 0a 00 00 ; CT - (next: 0a21 TYPE)
0a18: 6d 02 00 00 00 ; XT=026d, flags=00
0a1d: 02 43 54 00 ; 2, CT
;
0a21: 30 0a 00 00 ; TYPE - (next: 0a30 COUNT)
0a25: 4f 02 00 00 00 ; XT=024f, flags=00
0a2a: 04 54 59 50 45 00 ; 4, TYPE
;
0a30: 40 0a 00 00 ; COUNT - (next: 0a40 LEAVE)
0a34: 45 02 00 00 00 ; XT=0245, flags=00
0a39: 05 43 4f 55 4e 54 00 ; 5, COUNT
;
0a40: 50 0a 00 00 ; LEAVE - (next: 0a50 UNTIL)
0a44: 2f 02 00 00 01 ; XT=022f, flags=01
0a49: 05 4c 45 41 56 45 00 ; 5, LEAVE
;
0a50: 60 0a 00 00 ; UNTIL - (next: 0a60 WHILE)
0a54: 14 02 00 00 01 ; XT=0214, flags=01
0a59: 05 55 4e 54 49 4c 00 ; 5, UNTIL
;
0a60: 70 0a 00 00 ; WHILE - (next: 0a70 AGAIN)
0a64: f9 01 00 00 01 ; XT=01f9, flags=01
0a69: 05 57 48 49 4c 45 00 ; 5, WHILE
;
0a70: 80 0a 00 00 ; AGAIN - (next: 0a80 BEGIN)
0a74: de 01 00 00 01 ; XT=01de, flags=01
0a79: 05 41 47 41 49 4e 00 ; 5, AGAIN
;
0a80: 90 0a 00 00 ; BEGIN - (next: 0a90 THEN)
0a84: c7 01 00 00 01 ; XT=01c7, flags=01
0a89: 05 42 45 47 49 4e 00 ; 5, BEGIN
;
0a90: 9f 0a 00 00 ; THEN - (next: 0a9f IF)
0a94: ae 01 00 00 01 ; XT=01ae, flags=01
0a99: 04 54 48 45 4e 00 ; 4, THEN
;
0a9f: ac 0a 00 00 ; IF - (next: 0aac ?COMPILING)
0aa3: 8b 01 00 00 01 ; XT=018b, flags=01
0aa8: 02 49 46 00 ; 2, IF
;
0aac: c1 0a 00 00 ; ?COMPILING - (next: 0ac1 RET)
0ab0: 7f 01 00 00 02 ; XT=017f, flags=02
0ab5: 0a 3f 43 4f 4d 50 49 4c 49 4e 47 00 ; 10, ?COMPILING
;
0ac1: cf 0a 00 00 ; RET - (next: 0acf JMPNZ)
0ac5: 72 01 00 00 00 ; XT=0172, flags=00
0aca: 03 52 45 54 00 ; 3, RET
;
0acf: df 0a 00 00 ; JMPNZ - (next: 0adf JMPZ)
0ad3: 65 01 00 00 00 ; XT=0165, flags=00
0ad8: 05 4a 4d 50 4e 5a 00 ; 5, JMPNZ
;
0adf: ee 0a 00 00 ; JMPZ - (next: 0aee JMP)
0ae3: 58 01 00 00 00 ; XT=0158, flags=00
0ae8: 04 4a 4d 50 5a 00 ; 4, JMPZ
;
0aee: fc 0a 00 00 ; JMP - (next: 0afc C,)
0af2: 4b 01 00 00 00 ; XT=014b, flags=00
0af7: 03 4a 4d 50 00 ; 3, JMP
;
0afc: 09 0b 00 00 ; C, - (next: 0b09 ,)
0b00: 31 01 00 00 00 ; XT=0131, flags=00
0b05: 02 43 2c 00 ; 2, C,
;
0b09: 15 0b 00 00 ; , - (next: 0b15 HERE)
0b0d: 15 01 00 00 00 ; XT=0115, flags=00
0b12: 01 2c 00 ; 1, ,
;
0b15: 24 0b 00 00 ; HERE - (next: 0b24 LAST)
0b19: 09 01 00 00 02 ; XT=0109, flags=02
0b1e: 04 48 45 52 45 00 ; 4, HERE
;
0b24: 33 0b 00 00 ; LAST - (next: 0b33 CELL)
0b28: fd 00 00 00 02 ; XT=00fd, flags=02
0b2d: 04 4c 41 53 54 00 ; 4, LAST
;
0b33: 42 0b 00 00 ; CELL - (next: 0b42 T3)
0b37: f5 00 00 00 02 ; XT=00f5, flags=02
0b3c: 04 43 45 4c 4c 00 ; 4, CELL
;
0b42: 4f 0b 00 00 ; T3 - (next: 0b4f T2)
0b46: e5 00 00 00 00 ; XT=00e5, flags=00
0b4b: 02 54 33 00 ; 2, T3
;
0b4f: 5c 0b 00 00 ; T2 - (next: 0b5c T1)
0b53: d6 00 00 00 00 ; XT=00d6, flags=00
0b58: 02 54 32 00 ; 2, T2
;
0b5c: 69 0b 00 00 ; T1 - (next: 0b69 INPUT-FP)
0b60: c7 00 00 00 00 ; XT=00c7, flags=00
0b65: 02 54 31 00 ; 2, T1
;
0b69: 7c 0b 00 00 ; INPUT-FP - (next: 0b7c #LEN)
0b6d: b8 00 00 00 00 ; XT=00b8, flags=00
0b72: 08 49 4e 50 55 54 2d 46 50 00 ; 8, INPUT-FP
;
0b7c: 8b 0b 00 00 ; #LEN - (next: 0b8b #NEG)
0b80: a9 00 00 00 00 ; XT=00a9, flags=00
0b85: 04 23 4c 45 4e 00 ; 4, #LEN
;
0b8b: 9a 0b 00 00 ; #NEG - (next: 0b9a >IN)
0b8f: 9a 00 00 00 00 ; XT=009a, flags=00
0b94: 04 23 4e 45 47 00 ; 4, #NEG
;
0b9a: a8 0b 00 00 ; >IN - (next: 0ba8 (MEM_SZ))
0b9e: 8b 00 00 00 00 ; XT=008b, flags=00
0ba3: 03 3e 49 4e 00 ; 3, >IN
;
0ba8: bb 0b 00 00 ; (MEM_SZ) - (next: 0bbb STATE)
0bac: 7c 00 00 00 00 ; XT=007c, flags=00
0bb1: 08 28 4d 45 4d 5f 53 5a 29 00 ; 8, (MEM_SZ)
;
0bbb: cb 0b 00 00 ; STATE - (next: 0bcb BASE)
0bbf: 6d 00 00 00 00 ; XT=006d, flags=00
0bc4: 05 53 54 41 54 45 00 ; 5, STATE
;
0bcb: da 0b 00 00 ; BASE - (next: 0bda (LAST))
0bcf: 5e 00 00 00 00 ; XT=005e, flags=00
0bd4: 04 42 41 53 45 00 ; 4, BASE
;
0bda: eb 0b 00 00 ; (LAST) - (next: 0beb (HERE))
0bde: 4f 00 00 00 00 ; XT=004f, flags=00
0be3: 06 28 4c 41 53 54 29 00 ; 6, (LAST)
;
0beb: fc 0b 00 00 ; (HERE) - (next: 0bfc <end>)
0bef: 40 00 00 00 00 ; XT=0040, flags=00
0bf4: 06 28 48 45 52 45 29 00 ; 6, (HERE)
;
0bfc: 00 00 00 00 ; End.