1 00020 * Direct Page definitions for BIF
2 00030 * BIF Copyright 1989 Joel Matthew Rees (see BIF/ASM)
3 00060 * This file is dependent on BIF/M definitions
5 00105 VDP EQU DPAGE/256
6 00110 * ORG needs to leave space for this code
8 00130 * COLD needs to load VDP into DP register
10 00510 * Direct Page variables
15 01010 * nest into icode list
17 01030 XCOL LDX ,S list ptr
19 01050 TFR X,Y interpret
24 01080 * PUSH FOLLOWING WORD
25 01090 * call by JSR for CONSTANT
30 01140 * push following address
31 01150 * call by JSR for VARIABLE address
35 01190 * (same code as R>, but in DP)
37 01210 * push address of USER variable
39 01220 XUSER LDB [,S++] one byte offset
45 01300 * push address of LINEAR array entry
65 01480 LEAX 5,X past header
69 01520 * LINEAR array header format:
70 01530 * FDB BASE (lowest index)
71 01540 * FDB WIDTH (# of elements)
72 01550 * FCB SIZE (< 256 bytes / element)
73 01560 * RMB SIZE*WIDTH (data)
75 01710 * push content of USER variable
78 01722 LDB [,S++] one byte offset
84 01802 * store VOCABULARY pointer in root
91 01860 * indirect into icode list following
92 01870 * DOES> in defining definition
94 01890 XDOES LDX ,S pfa
95 01900 LDD ,X++ list ptr
96 01920 PSHU X parameters
98 01940 TFR D,Y interpret
101 02000 * push double constant
110 40000 ORG DPAGE+256 if code fits
111 40010 SETDP 0 not yet valid