3 * CONVENTIONS USED IN THIS PROGRAM ARE AS FOLLOWS :
5 * IP (A5) points to the next instruction ( post-increment mode )
6 * RP (A7/hardware SP) points to last address stored on return stack
7 * PSP (A6) points to last item (byte) pushed on data/parameter stack
9 * when D0 and D1 hold one 32 bit FORTH data word (if ever),
10 * D0 contains the high word, D1, the low word.
14 * Registers used by the FORTH virtual machine:
17 *W (A3) the instruction register points to 68K code
18 *IP (A5) the instruction pointer points to pointer to 68K code
19 *RP (A7) the return stack pointer
20 *PSP (A6) the parameter/data stack pointer
21 *UP (A4) the pointer to base of current user's 'USER' table
23 ******************************
28 * PFNDBR has extra TST?
29 * PFNDLN seems to have an extraneous auto-inc?
30 * PQTER comment "should change to no stack effect" -> No stack effect
32 * U/ needs comments about the columnar division when the divisor fits in a single column.
34 * NOT comments not correct.
35 * R, I, +, @, !, :, ;, 0, 1, 2, 3, -, =, <, >, [, ], NULL don't have a comment-ifier on the name.
37 * Initializations need to be examined more carefully.
38 * Why do I use PCR for stacks, but absolute for direct page?
40 * In DOUSER, why do I cache the user variable address in X?
41 * I think it was for BIF-6809, and not relevant in fig.
43 * MIN and MAX are identical! I think MAX is the correct version. MIN should be BGE.
44 * This is a serious bug, and was possibly the reason memory emulation of disk didn't work.
46 * TRAVERSE comments on 6809 code need to mention that BSR just would not work.
47 * The experimental commented-out code is just wrong.
48 * Similar problems with LATEST.
49 * That shouldn't be PCR in LATEST, it should be XCURR-UORIG,X .
51 * Need to go back and check all allocating words for integer alignment issues.
53 * No description for ERROR for some reason.
55 * Need to figure out whether TYPE or PDOTQ will handle odd lenght strings.
57 * PDOTQ and DOTQ have alignment adjuctment stuff in the ALLOTment.
59 * PAD needs comment on buffer width
61 * ERROR gets alignment adjustment for the message string.
62 * Also needs comment delimiter for BEL.
64 * IDDOT needs to use the WIDTH user variable instead of hard-coded widths.
66 * Probably should comment WORD that it does not ALLOCate.
68 * CREATE gets alignment adjust for the message string.
69 * Also needs comment delimiter for BEL.
70 * Also has alignment stuff in the ALLOTment.
72 * Why did I move RFORTH (and effective RTASK)?
74 * More missing comment-ifiers in WENT.
75 * And in ' (immediate), # (DIG2), ., ?
77 * Should the RAM label have the buffer base address before RFORTH? Why?
79 * BUFFER has a place where I use UPDBIT instead of ~UPDBIT.
80 * That might be the bug. Wait. I did invert it.
81 * I need to study things out from USE and PREV, particularly KILBUF.
82 * I don't think my use of the constants agree from one place to the next.
84 * In NUMBER, $FFFF probably should be -1, unless the assembler doesn't handle that right.
86 * RBEG, FORTH, and TASK should be moved back?