OSDN Git Service

line endings will now work for diff, etc.
[bif-6809/bif-6809.git] / cross_v / BIF.M
1 00010 * EQUates and MACRO definitions for BIF
2 00020 * BIF Copyright 1989 Joel Matthew Rees (see BIF/ASM)
3 01000 *
4 {       bifc_vm.c:
5 01010 * JMP to next icode word
6 01020 NEXT      MACRO
7 01030   JMP [,Y++]
8 01040   ENDM
9 01050 *
10 }
11 {       symbol.h:
12 01053 * offset from name field to mode field
13 01056 MFAOFF    EQU 1
14 01057 * length of symbols, must be 2^n for mask
15 01058 NLMASK    EQU $1F
16 01060 * offset to previous allocation link
17 01070 LFAOFF    EQU MFAOFF+1
18 01080 * offset to owning VOCABULARY (genesis) link
19 01090 GFAOFF    EQU LFAOFF+2
20 01100 LFTOFF    EQU GFAOFF+2    left child link
21 01110 RTOFF     EQU GFAOFF+4    right child link
22 01120 * offset to code field
23 01130 CFAOFF    EQU GFAOFF+6
24 01140 * offset to parameter field (past Direct Page jump)
25 01150 PFAOFF    EQU CFAOFF+2
26 01160 * All links are relative to the name field (NFA)
27 01170 * Use PFAOFF (or PFA) with ;CODE!
28 01320 * usage and name length share a byte (name length < 32).
29 01330 * foreward blocks marked in the mode byte
30 01340 * usage and mode bits
31 01350 MFORE     EQU $80 part of FORWARD reference block (in mode byte -- MFA)
32 01360 MCOMP     EQU $80 compile only (in length byte -- NFA)
33 01370 MIMM      EQU $40 precedence is IMMEDIATE execution (in length byte -- NFA)
34 01380 MHID      EQU $20 SMUDGEd definition (in length byte -- NFA)
35 01390 *
36 }
37 {       bifc_vm.c
38 01400 * initiate an icode list
39 01410 DOCOL     MACRO
40 01420   JSR <XCOL
41 01430   ENDM
42 01440 *
43 }
44 {       symbol.c
45 01450 DOVAR     MACRO
46 01460   JSR <XVAR
47 01470   ENDM
48 01480 *
49 01490 DOCON     MACRO
50 01500   JSR <XCON
51 01510   ENDM
52 01520 *
53 01530 DOUSER    MACRO
54 01540   JSR <XUSER
55 01550   ENDM
56 01560 *
57 01570 DO1ARR    MACRO
58 01580   JSR <X1ARR
59 01590   ENDM
60 01600 *
61 01610 DOUCON    MACRO
62 01620   JSR <XUCON
63 01630   ENDM
64 01640 *
65 01650 DOVOC     MACRO
66 01660   JSR <XVOC
67 01670   ENDM
68 01680 *
69 }
70 {       unused
71 02000 * add D to top of stack
72 02010 ADDTOP    MACRO
73 02020   ADDD ,U
74 02030   STD ,U
75 02040   JMP [,Y++]
76 02050   ENDM
77 02060 *
78 }