perm filename NN[CAR,BGB] blob
sn#016003 filedate 1972-12-20 generic text, type T, neo UTF8
00100 ;WORD +0.
00200 DEFINE TYPE (Q,E)<CAR Q, 0(E)>↔DEFINE SERIAL(Q,E)<CDR Q, 0(E)>
00300 DEFINE TYPE. (Q,E)<DIP Q, 0(E)>↔DEFINE SERIA.(Q,E)<DAP Q, 0(E)>
00400
00500 ;WORD +1.
00600 DEFINE NFACE (Q,E)<CAR Q, 1(E)>↔DEFINE PFACE (Q,E)<CDR Q, 1(E)>
00700 DEFINE NFACE.(Q,E)<DIP Q, 1(E)>↔DEFINE PFACE.(Q,E)<DAP Q, 1(E)>
00800
00900 ;WORD +2.
01000 DEFINE NED (Q,E)<CAR Q, 2(E)>↔DEFINE PED (Q,E)<CDR Q, 2(E)>
01100 DEFINE NED. (Q,E)<DIP Q, 2(E)>↔DEFINE PED. (Q,E)<DAP Q, 2(E)>
01200
01300 ;WORD +3.
01400 DEFINE NVT (Q,E)<CAR Q, 3(E)>↔DEFINE PVT (Q,E)<CDR Q, 3(E)>
01500 DEFINE NVT. (Q,E)<DIP Q, 3(E)>↔DEFINE PVT. (Q,E)<DAP Q, 3(E)>
01600
01700 ;WORD +4.
01800 DEFINE NCW (Q,E)<CAR Q, 4(E)>↔DEFINE PCW (Q,E)<CDR Q, 4(E)>
01900 DEFINE NCW.. (Q,E)<DIP Q, 4(E)>↔DEFINE PCW.. (Q,E)<DAP Q, 4(E)>
02000
02100 ;WORD +5.
02200 DEFINE NCCW (Q,E)<CAR Q, 5(E)>↔DEFINE PCCW (Q,E)<CDR Q, 5(E)>
02300 DEFINE NCCW..(Q,E)<DIP Q, 5(E)>↔DEFINE PCCW..(Q,E)<DAP Q, 5(E)>
02400
02500 ; NAMES OF NODE DATA WORDS.
02600
02700 ↓AA ←← ↓XWC ←← -3
02800 ↓BB ←← ↓YWC ←← -2
02900 ↓CC ←← ↓ZWC ←← -1
03000
03100 ↓QQ ←← 3
03200 ↓KK ←← 4
03300
03400 ↓XPP ←← 4↔ ↓YPP ←← 5↔ ↓ZPP ←← 6
03500 ↓IX←←0↔ ↓IY←←1↔ ↓IZ←←2
03600 ↓JX←←3↔ ↓JY←←4↔ ↓JZ←←5
03700 ↓KX←←6↔ ↓KY←←7↔ ↓KZ←←8
00100 ; FETCH LINK FROM NODE.
00200
00300 DEFINE PART (Q,E)<NIP Q,-3(E)>↔DEFINE COPART(Q,E)<NAP Q,-3(E)>
00400 DEFINE EXTENT(Q,E)<CAR Q,-2(E)>↔DEFINE LOCOR (Q,E)<CDR Q,-2(E)>
00500 DEFINE PNAME (Q,E)<CAR Q,-1(E)>↔DEFINE DISK (Q,E)<CDR Q,-1(E)>
00600 DEFINE FCNT (Q,E)<CAR Q, 4(E)>↔DEFINE VCNT (Q,E)<CDR Q, 4(E)>
00700 DEFINE ECNT (Q,E)<CAR Q, 5(E)>↔DEFINE PCNT (Q,E)<CDR Q, 5(E)>
00800 DEFINE NBODY (Q,E)<CAR Q, 6(E)>↔DEFINE PBODY (Q,E)<CDR Q, 6(E)>
00900 DEFINE NUF (Q,E)<CAR Q,-1(E)>↔DEFINE PUF (Q,E)<CDR Q,-1(E)>
01000 DEFINE NCNT (Q,E)<NIP Q, 2(E)>↔DEFINE TJOINT(Q,E)<CDR Q, 1(E)>
01100 DEFINE X1DC (Q,E)<NIP Q,-3(E)>↔DEFINE Y1DC (Q,E)<NAP Q,-3(E)>
01200 DEFINE X2DC (Q,E)<NIP Q,-2(E)>↔DEFINE Y2DC (Q,E)<NAP Q,-2(E)>
01300 DEFINE XDC (Q,E)<HLLE Q,1(E)>↔DEFINE YDC (Q,E)<HLLE Q,2(E)>
01400 DEFINE ALT(Q,E)<CAR Q,6(E)>↔DEFINE ALT.(Q,E)<DIP Q,6(E)>
01500
01600
01700 ; STORE LINK INTO NODE.
01800
01900 DEFINE PART. (Q,E)<DIP Q,-3(E)>↔DEFINE COPAR.(Q,E)<DAP Q,-3(E)>
02000 DEFINE EXTEN.(Q,E)<DIP Q,-2(E)>↔DEFINE LOCOR.(Q,E)<DAP Q,-2(E)>
02100 DEFINE PNAME.(Q,E)<DIP Q,-1(E)>↔DEFINE DISK. (Q,E)<DAP Q,-1(E)>
02200 DEFINE FCNT. (Q,E)<DIP Q, 4(E)>↔DEFINE VCNT. (Q,E)<DAP Q, 4(E)>
02300 DEFINE ECNT. (Q,E)<DIP Q, 5(E)>↔DEFINE PCNT. (Q,E)<DAP Q, 5(E)>
02400 DEFINE NBODY.(Q,E)<DIP Q, 6(E)>↔DEFINE PBODY.(Q,E)<DAP Q, 6(E)>
02500 DEFINE NUF. (Q,E)<DIP Q,-1(E)>↔DEFINE PUF. (Q,E)<DAP Q,-1(E)>
02600 DEFINE NCNT. (Q,E)<DIP Q, 2(E)>↔DEFINE TJOIN.(Q,E)<DAP Q, 1(E)>
02700 DEFINE X1DC. (Q,E)<DIP Q, 4(E)>↔DEFINE Y1DC. (Q,E)<DAP Q, 4(E)>
02800 DEFINE X2DC. (Q,E)<DIP Q, 5(E)>↔DEFINE Y2DC. (Q,E)<DAP Q, 5(E)>
02900 DEFINE XDC. (Q,E)<STIP Q,1(E)>↔DEFINE YDC. (Q,E)<STIP Q,2(E)>
00100 ; PROPERTY-TYPE MACROS.
00200
00300 DEFINE MARK(Q,BITS){
00400 SLACI(BITS) ↔ IORM (Q)}
00500
00600 DEFINE MARKZ(Q,BITS){
00700 SLACI(BITS) ↔ ANDCAM (Q)}
00800
00900 DEFINE TEST(Q,BITS){
01000 LAC(Q) ↔ TLNN(BITS)}
01100
01200 DEFINE TESTZ(Q,BITS){
01300 LAC(Q) ↔ TLNE(BITS)}
01400
01500 ; PROPERTY-TYPE BITS.
01600
01700 ↓BBIT ←← 1B17
01800 ↓FBIT ←← 1B16
01900 ↓EBIT ←← 1B15
02000 ↓VBIT ←← 1B14
02100
02200 ↓PZZ ←← 1B9
02300 ↓NZZ ←← 1B10
02400
02500 ↓FOLDED ←← 1B11
02600 ↓VISIBLE ←← 1B12
02700 ↓POTENT ←← 1B13
02800 ↓DARKEN ←← 1B3
02900
03000 ↓NORTH ←← 1B5
03100 ↓SOUTH ←← 1B6
03200 ↓EAST ←← 1B7
03300 ↓WEST ←← 1B8
03400 ↓NSEW ←← 17B8
03500
03600 DEFINE HIDE(Q){
03700 SLACI(3B13)↔ANDCAM(Q)}
03800
03900 ↓TEMPORARY ←← 1B2