Skip to main content

Full text of "national :: pace :: figFORTH PACE shrt1pg May79"

See other formats


fig-FORTH FOR PACE 
ASSEMBLY SOURCE LISTING 



RELEASE 1 
WITH COMPILER SECURITY 

AND 
VARIABLE LENGTH NAMES 



MAY 1979 



This public domain publication is provided through the courtesy of the 
Forth Interest Group, P.O. Box 1105, San Carlos, CA 94070. 

Further distribution must include this notice. 



FORTH INTEREST GROUP R0. Box 1105 San Carlos, Ca. 94070 



bPUB 
1 
2 
3 
4 
5 
6 

7 
8 

9 
10 
1 1 
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 



LISTING 79/05/05. TITLE: FORTH NUCLEUS FOR PACE 

.TITLE FORTH, 'NUCLEUS FOR PACE' 



0000 
0010 



PART 



.ASM 



.LIST 



TI 

1 

PART=1 



*************************************************** 



THIS IMPLEMENTATION OF THE FORTH LANGUAGE 
IS ONE OF A UNIFORM SERIES DEVELOPED BY THE 

FORTH INTEREST GROUP 

P.O. BOX 1105 
SAN CARLOS, CA 94070 

PACE IMPLEMENTATION BY DAVID KILBRIDGE 



*************************************************** 



.ASECT 



0010 



0001 


Z 


0002 
0003 
0005 


P 
BITO 

NZ 


0007 
0008 


CRY 
LINK 


OOOA 
OOOB 


CSET 
M 



*************************************************** 

* BOC AND FLAG ABBREVIATIONS * 

*************************************************** 



1 
2 
3 
5 

7 

8 

10 

11 



*************************************************** 

* MEMORY ASSIGNMENTS * 

*************************************************** 



3FC0 


HIBLK 


2000 


LOBLK 


0080 


BLKSIZ 


0008 


NBUF 


2000 


TOPMEM 


0210 


BUFMEM 


1DF0 


BUFFS 


1DD0 


UVARS 


0100 


DICT 



03FC0 

02000 

128 

8 

02000 

BLKSIZ/2+2*NBUF 

TOPMEM-BUFMEM 

BUFFS-32 

0100 



HIGHE 
LOWES 
BLOCK 
NO OF 
LWA+1 
LTH 
FWA 
START 
FWA 



ST BLOC 

T BLOCK 

SIZE I 

BLOCK 

OF DIS 

F BUFFE 

F DISK 

OF USE 
F DICTI 



K FWA 

FWA 
N BYTES 
BUFFERS 
K BUFFS 
R AREA 
BUFFERS 
R AREA 
ONARY 



*************************************************** 

* START-UP LITERALS * 

*************************************************** 



0010 9811 A ORIG: 



JMP 



@. + l 



COLD 



PACE ASSEMBLER REV-A 05/23/75 
FORTH NUCLEUS FOR PACE 



55 


0011 


08 8C 


A 




.WORD 


CENT 


56 


0012 


9813 


A 




JMP 


@. + l 


57 


0013 


0892 


A 




.WORD 


WENT 


58 


0014 


0000 


A 


CPU: 


.WORD 





59 


0015 


0000 


A 


REV: 


.WORD 





60 


0016 


0C65 


A 


FORTHO: 


.WORD 


TASK-4 


61 


0017 


005F 


A 


BACKSP: 


.WORD 


005F 


62 


0018 


1DD0 


A 


UO: 


.WORD 


UVARS 


63 


0019 


1D8F 


A 


SO: 


.WORD 


UVARS-65 


64 


001A 


1DD0 


A 


RO: 


.WORD 


UVARS 


65 


001B 


1D8F 


A 


TIBO: 


.WORD 


UVARS-65 


66 


001C 


001F 


A 


WIDTHO: 


.WORD 


31 


67 


001D 


0000 


A 


WARNO: 


.WORD 





68 


001E 


0C65 


A 


FENCEO: 


.WORD 


TASK-4 


69 


001F 


0C6B 


A 


DPO: 


.WORD 


FIN 


70 


0020 


0843 


A 


VOCLO: 


.WORD 


FORTH+4 


71 















ENTRY 
WARM 

ENTRY 
RESERVED 
RESERVED 

TOP WORD IN DICT 
BACKSPACE CHARACTER 
START OF USER AREA 
TOP OF EMPTY STACK 
TOP OF RETURN STACK 
SOURCE BUFFER ORIG 
INITIAL NAME LENGTH 
ERROR WARNING MODE 
BARRIER FOR FORGET 
FWA OF FREE STORAGE 
INITIAL VOC-LINK 



PACE ASSEMBLER REV-A 05/23/75 
FORTH NUCLEUS FOR PACE 



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 



0021 
0022 



0023 
0024 
0025 
0026 
0027 
0028 
0029 
002A 



0000 
0000 
0002 
000 3 
0001 
0002 
0003 



7E3B 
7E44 
7ECC 

5000 
0800 
6700 
5109 
6400 
79FF 
1827 
3100 



.PAGE 

*************************************************** 

* FORTH REGISTERS * 

*************************************************** 



RP: 

UP: 

X 

Y 

IP 

W 

SP 



.WORD 
.WORD 



RETURN STACK PTR 
USER POINTER 
INDEX 

REGISTERS 
INTERPRETIVE PTR 
FORTH CODE PTR 
FORTH STACK PTR 



*************************************************** 

INSTALLATION-DEPENDENT ROUTINES 
*************************************************** 



GETC 
PUTC 
INTEST 

INIT: 



LI 

CRF 

PULL 

LI 

PULL 

AISZ 

JMP 

PFLG 



07E3B 
07E44 
07ECC 

0,0 



Y 

1,9 



1,-1 

.-2 

1 



101 


002B 


6300 A 


102 


002C 


1B00 A 


103 






104 




0000 
00F6 


105 




002D 


106 






107 






108 






109 






1 10 






1 11 






112 




0000 


1 13 




0001 


114 




0001 


1 15 




0000 


116 




8000 


117 




0080 


118 







PUSH 
JMP 



(Y) 



.BSECT 

.=.+00F6 

.ASECT 



POINTER AREA 



*************************************************** 

* AIDS FOR NAME FIELD CONSTRUCTION * 

*************************************************** 



FORM 



ORD 

IMM 

SHORT 
LONG 
EVEN 
ODD 



HEAD, 1(1) ,1, 1(0) ,5,1,7 





1 

1 



08000 

00080 



ORDIN. WD PREC BIT 
IMMED. WD PREC BIT 
FOR 1-CHAR NAMES 
FOR LONGER NAMES 
EVEN-LTH STOP BIT 
ODD-LTH STOP BIT 



PACE ASSEMBLER REV-A 05/23/75 
FORTH NUCLEUS FOR PACE 
DICTIONARY 



1 19 

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 



0100 
0101 
0102 
0103 
0104 
0105 
0106 
0107 
0108 
0109 
010A 
010B 
010C 



002D 
0100 



834C 
49D4 
0000 
0104 
5E40 
C200 
7901 
7BFF 
D300 
5E40 
7901 
CAOO 
9AO0 



010D 8 7 45 A 
010E 5845 A 
010F 4355 A 

0110 54C5 A 

0111 0100 A 



.PAGE 'DICTIONARY' 

.ASECT 

DICT 

*************************************************** 
* LIT, PUSH, PUT, NEXT * 

*************************************************** 



HEAD ORD, 3, LONG, 'L'/256 
.WORD 'IT'+ODD,0000 



LIT: 



PUSH: 

PUT: 

NEXT: 



.WORD .+1 

RCPY IP,X 

LD 0,(X) 

AISZ IP,1 

AISZ SP,-1 

ST 0, (SP) 

RCPY IP,X 

AISZ IP,1 

LD W,(X) 

JMP @(W) 



PICK UP 

VALUE 
STEP IP OVER 
EXTEND STACK 
STORE VALUE 

INCREMENT IP 
ADDR OF NEXT WORD 
JUMP THRU CODE ADDR 



*************************************************** 
* EXECUTE * 

*************************************************** 

HEAD ORD, 7, LONG, 'E'/25 6 

.WORD 'XE' , 'CU' , 'TE'+0DD,LIT-3 



146 
147 
148 

149 
150 
151 
152 
153 
154 
155 
156 



157 
158 
159 
160 
161 
162 
163 



0112 
0113 
0114 
0115 



0116 
0117 
0118 
0119 
011A 
011B 
011C 
011D 

011E 

011F 
0120 
0121 
0122 



0113 A 
CBOO A 
7B01 A 
9A00 A 



EXEC: 



8642 
5241 
4E43 
C820 
010D 
011C 
5E40 
E600 
19EA 



8730 A 

4252 A 

414E A 

43C8 A 



.WORD 
LD 

AISZ 
JMP 



. + 1 

W,0(SP) 
SP, 1 
@(W) 



FETCH CODE ADDR 

POP STACK 

JUMP THRU CODE ADDR 



*************************************************** 

* BRANCH, OBRANCH * 

HEAD ORD, 6, LONG, 'B'/256 

.WORD 'RA' , 'NC' , 'H'+EVEN,EXEC-5 



BRAN 



.WORD 
RCPY 
ADD 
JMP 

HEAD 
. WO RD 



. + 1 
IP,X 
IP, (X) 

NEXT 



ADD OFFSET 
TO IP 



ORD, 7, LONG, '0'/256 

'BR' , 'AN' , 'CH'+0DD,BRAN-5 



PACE ASSEMBLER REV-A 05/23/75 
FORTH NUCLEUS FOR PACE 
DICTIONARY 



164 
165 
166 
167 
168 
169 
170 
171 
1 72 
173 
174 
175 
176 



177 
178 

179 
180 

181 
182 
183 
184 
185 
186 
187 
188 



0123 
0124 
0125 
0126 
0127 
0128 
0129 



012A 
012B 
012C 
01 2D 
012E 
012F 
0130 

0131 
0132 

0133 
0134 
0135 
0136 
0137 
0138 
0139 
013A 



0116 
0125 
C300 
7B01 
41F4 
7901 
19DF 



8628 
4C4F 
4F50 
A920 
011F 
0130 
5001 
C821 
E200 

D200 
3780 
9201 
4BE5 
7901 
7A02 
D821 
19CE 



A 
A 
A 
A 
A 
A 
A 
A 
A 

A 
A 
A 
A 
A 
A 
A 
A 



ZBRAN: .WORD 
LD 

AISZ 
BOC 
AISZ 
JMP 



. + 1 

0,0(SP) 
SP, 1 

Z,BRAN+1 
IP, 1 
NEXT 



GET BOOLEAN 

POP STACK 

IF BOOLEAN = 

STEP IP OVER OFFSET 



***************************** *.* ******************** 

* LOOP CONTROL * 

*************************************************** 

HEAD ORD, 6, LONG, ' ('/256 

.WORD 'LO' , 'OP' , ' ) '+EVEN,ZBRAN-5 



XLOOP: 



XLOOP1 



.WORD 
LI 
LD 
ADD 

ST 

SFLG 

SUBB 

BOC 

AISZ 

AISZ 

ST 

JMP 



. + 1 
0,1 
X,RP 
0,(X) 

0,(X) 
CRY 

0,1(X) 
M,BRAN+1 
IP, 1 
X, 2 
X,RP 
NEXT 



INCREMENT = 1 

GET RETURN POINTER 

UPDATE 

INDEX 
SUBTRACT 

LIMIT 
IF LIMIT > INDEX 
STEP IP OVER OFFSET 
POP INDEX AND LIMIT 

FROM RETURN STACK 



189 
190 
191 



192 
193 
194 
195 
196 
197 
198 
199 
200 
201 
202 
203 
204 
205 

206 
207 
208 

209 
210 

211 



013B 
013C 
1 3D 
013E 
013F 
0140 
0141 
0142 
0143 
0144 
0145 
0146 
0147 
0148 
0149 
014A 
014B 
014C 
014D 
014E 
014F 
0150 



8728 
2B4C 
4F4F 
50A9 
012A 
0141 
6100 
C700 
7B01 
C821 
C200 
6840 
D200 
3780 
9201 
4104 
5840 
6500 
4BCE 
19E8 
6500 
19E6 



A 
A 
A 
A 
A 
A 
A 
A 
A 
A 
A 
A 
A 
A 
A 
A 
A 
A 
A 
A 
A 
A 



XPLOOP 



PULL 



HEAD 
.WORD 



.WORD 

PUSH 

LD 

AISZ 

LD 

LD 

RADD 

ST 

SFLG 

SUBB 

BOC 

RXOR 

PULL 

BOC 

JMP 

PULL 

JMP 



ORD, 7, LONG, ' C/256 

'+L' , '00' , 'P) '+0DD,XL00P-5 



.4-1 

IP 

1,0(SP) 

SP, 1 

X,RP 

0,(X) 

1,0 

0, (X) 

CRY 

0,1(X) 

Z,PULL 

1,0 

IP 

M,BRAN+1 

XLOOPl 

IP 

XLOOPl 



SAVE IP 

GET INCREMENT 

POP STACK 

GET RETURN POINTER 

GET INDEX 

ADD INCREMENT 

UPDATE INDEX 

SUBTRACT 

LOOP LIMIT 
IF INDEX = LIMIT 
COMBINE SIGN BITS 
RESTORE IP 
IND<LIM XOR INC<0 

RESTORE IP 



*************************************************** 
* (DO) , POPTWO, POP, I * 



PACE ASSEMBLER REV-A 05/23/75 
FORTH NUCLEUS FOR PACE 
DICTIONARY 



212 
213 
214 
215 



216 
217 
218 
219 
220 
221 
222 
223 
224 
225 
226 
227 
228 
229 
230 



0151 
0152 
0153 
0154 
0155 
0156 
0157 
0158 
0159 
015A 
015B 
015C 
015D 
015E 

015F 
0160 
0161 



8428 
444F 
A920 
013B 
0156 
C301 
AC21 
B021 
C300 
AC 2 1 
B021 
7B01 
7B01 
19AA 



81C9 A 
0151 A 
028A A 



**************************************************** 



XDO 



POP2 
POP; 



HEAD 
.WORD 



.WORD 

LD 

DSZ 

ST 

LD 

DSZ 

ST 

AISZ 

AISZ 

JMP 

HEAD 

.WORD 

.WORD 



ORD, 4, LONG, ' ('/256 
'DO' , ' ) '+EVEN, XPLOOP- 5 



. + 1 

0,1(SP) 

RP 

0,@RP 

0,0(SP) 

RP 

0,@RP 

SP, 1 

SP, 1 

NEXT 



MOVE LIMIT 
TO RETURN 
STACK 
MOVE INITIAL 
INDEX TO RETURN 
STACK 
POP ONE ITEM 
POP ONE ITEM 



ORD, 1 , SHORT, 'I'/256 

XDO-4 

R+l : GET 



FROM RTN STACK 



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 



0162 
0163 
0164 
0165 
0166 
0167 
0168 
0169 
016A 
016B 
016C 
016D 
016E 

016F 
0170 
0171 
0172 
0173 
0174 
0175 
0176 
0177 



8544 
4947 
49D4 
015F 
0167 
C301 
78D0 
4B0B 
9D0C 
1903 
78F9 

9D09 
1906 

9F00 
F300 
1903 
D301 
5001 
1993 
5000 
98F6 
0009 



A 
A 
A 
A 
A 
A 
A 
A 
A 
A 
A 
A 
A 
A 
A 
A 
A 
A 
A 
A 
I 
A 



017 8 8628 A 
0179 4649 A 
017A 4E44 A 



*************************************************** 
* DIGIT ■ * 

*************************************************** 



HEAD ORD, 5, LONG, 'D'/256 
.WORD 'IG' , 'IT'+ODD,I-2 



DIGIT: .WORD 
LD 

AISZ 
BOC 
SKG 
JMP 
AISZ 
SKG 
JMP 

CKBASE: SKG 
SKNE 
JMP 
ST 
LI 
JMP 

BAD: LI 
JMP 

NINE: .WORD 



. + 1 

0, 1 (SP) 

0,-0030 

M,BAD 

0,NINE 

CKBASE 

0,-7 

0,NINE 

BAD 

0,0(SP) 

0,0(SP) 

BAD 

0,1(SP) 

0,1 

PUT 

0,0 

BIN 

9 



GET ASCII 

ASCII < 30 

30 <= ASCII <= 39 

; 39 < ASCII < 41 



ASCII >= BASE 
PUT DIGIT SECOND 

AND TRUE FLAG 
ON BOTTOM 
LEAVE FALSE FLAG 

ON BOTTOM 



*************************************************** 

* (FIND) * 

*************************************************** 



HEAD 
.WORD 



ORD, 6 ,L0NG, ' ('/256 

'FI' , 'ND' , ' ) '+EVEN,DIGIT-4 



PACE ASSEMBLER REV-A 05/23/75 
FORTH NUCLEUS FOR PACE 
DICTIONARY 





017B 


A920 


A 










017C 


0162 


A 








262 


017D 


017E 


A 


PFIND: 


.WORD 


. + 1 


263 


017E 


6100 


A 




PUSH 


IP 


264 


017F 


7BFF 


A 




AISZ 


SP,-1 


265 


0180 


CB01 


A 




LD 


X,1(SP) 


266 


0181 


A302 


A 


NEWNAM: 


LD 


0,@2(SP) 


267 


0182 


C600 


A 




LD 


1,(X) 


268 


0183 


5840 


A 




RXOR 


1,0 


269 


0184 


A923 


A 




AND 


0,X3FFF 


270 


0185 


B923 


A 




SKAZ 


0,X7F7F 


271 


0186 


1915 


A 




JMP 


MISS 


272 


0187 


450C 


A 




BOC 


NZ , FOUND 


273 


0188 


C702 


A 




LD 


1 ,2(SP) 


274 


0189 


D700 


A 




ST 


1,0(SP) 


275 


018A 


7A01 


A 


CYCLE: 


AISZ 


X, 1 


276 


018B 


8F00 


A 




ISZ 


0(SP) 



SAVE IP 

EXTEND STACK 

GET NFA 

FIRST WD OF STRING 

FIRST WD OF NAME 

CLEAR START & PREC 

CMP LTH, FIRST CHAR 

IF MISMATCH 

IF ONLY ONE CHAR 

INITIALIZE 

STRING POINTER 
BUMP NAME AND 

STRING POINTERS 



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 



018C 
018D 
018E 
018F 
0190 
0191 
0192 
0193 
0194 
0195 
0196 
0197 
0198 
0199 
019A 
019B 
019C 
019D 
019E 
019F 
01A0 
01A1 
01A2 
01A3 

01A4 
01A5 
01A6 
01A7 



A300 
C600 
5840 
4201 
A919 
B917 
1909 
41F6 
7A03 
DB02 
A301 
2C10 
D301 
5001 
6500 
98F7 
B90E 

1903 
7A01 
C200 
19FB 
CA01 
DB01 
7A00 

19DC 
DB02 
6500 
19B4 



A 
A 
A 
A 
A 
A 
A 
A 
A 
A 
A 
A 
A 
A 
A 
I 
A 
A 
A 
A 
A 
A 
A 
A 
A 
A 
A 
A 



01A8 3FFF A 

01A9 7F7F A 

01AA FFOO A 

01AB 8080 A 



FOUND 



MISS 



ENDNAM 



X3FFF 
X 7 F 7 F 
XFFOO 
X8080 



LD 

LD 

RXOR 

BOC 

AND 

SKAZ 

JMP 

BOC 

AISZ 

ST 

LD 

SHR 

ST 

LI 

PULL 

JMP 

SKAZ 

JMP 

AISZ 

LD 

JMP 

LD 

ST 

AISZ 

JMP 

ST 

PULL 

JMP 

.WORD 
.WORD 
.WORD 
.WORD 



Q,@0(SP) 

1,(X) 

1,0 

P, .+2 

0, XFFOO 

0,X7F7F 

MISS 

Z, CYCLE 

X,3 

X,2(SP) 

0,(ai(SP) 

0,8,0 

0,i(SP) 

0,1 

IP 

PUT 

0,X8080 

ENDNAM 

X, 1 

0,(X) 

MISS 

X,1(X) 

X,1(SP) 

X,0 

NEWNAM 

X,2(SP) 

IP 

P0P2 

03FFF 
07F7F 
OFFOO 
08080 



NEXT WD OF STRING 
NEXT WD OF NAME 

IF HI BYTE IS LAST, 

CLEAR LOW BYTE 
COMPARE CHARS 
IF MISMATCH 
IF NO STOP BIT 
FORM PFA 

PUT THIRD ON STACK 
FIRST WD OF NAME 
GET LENGTH BYTE 
PUT SECOND ON STACK 
BOOLEAN TRUE 
RESTORE IP 
BOOLEAN ON BOTTOM 
TEST FOR A STOP BIT 
IF PRESENT 
BUMP NAME POINTER 
GET NEXT WORD 
CONTINUE SCANNING 
FETCH LINK 
NEW NFA 

TEST FOR LINK = 
IF NOT DONE 
PUT BOOLEAN FALSE 
RESTORE IP 



*************************************************** 

* ENCLOSE * 

*************************************************** 



PACE ASSEMBLER REV-A 05/23/75 
FORTH NUCLEUS FOR PACE 
DICTIONARY 



315 
316 
317 
318 
319 



320 
321 
322 
323 
324 
325 



01AC 
01AD 
01AE 
01AF 
01B0 
01B1 
01B2 
01B3 
01B4 
01B5 
01B6 



8745 
4E43 
4C4F 
53C5 
0178 
01B2 
6100 
7BFE 
C302 
A932 
5D00 



SCAN 
FOR 



ENCL 



SOURCE STRING, PACKED TWO CHARACTERS /WORD , 
DELIMITER ON TOP OF STACK, OR ASCII NULL. 



HEAD ORD, 7, LONG, 'E'/256 
.WORD 'NC ,'LO' 'SE'+ODD 



PFIND-5 



.WORD 


. + 1 


PUSH 


IP 


AISZ 


SP,-2 


LD 


0,2(SP) 


AND 


0,RMASK 


RCPY 


0,1 



SAVE IP 
EXTEND STACK 
GET DELIMITER 
USE LOWER 
BYTE ONLY 



326 


01B7 


2910 


A 




SHL 


1,8,0 


327 


01B8 


6900 


A 




RADD 


0,1 


328 


01B9 


C303 


A 




LD 


0,3(SP) 


329 


01BA 


3800 


A 




PFLG 


LINK 


330 


01BB 


2403 


A 




ROR 


0,1,1 


331 


01BC 


D300 


A 




ST 


0,0(SP) 


332 


01BD 


5200 


A 




LI 


X,0 


333 


01BE 


A300 


A 


NEW1 : 


LD 


0,@0(SP) 


334 


01BF 


5840 


A 




RXOR 


1,0 


335 


01C0 


4803 


A 




BOC 


LINK, RTl 


336 


01C1 


B925 


A 




SKAZ 


0,LMASK 


337 


01C2 


1908 


A 




JMP 


LNDEL 


338 


01C3 


7A0 1 


A 




AISZ 


X,l 


339 


01C4 


B923 


A 


RTl : 


SKAZ 


0,RMASK 


340 


01C5 


1904 


A 




JMP 


RNDEL 


341 


01C6 


7A01 


A 




AISZ 


X,l 


342 


01C7 


3800 


A 




PFLG 


LINK 


343 


01C8 


8F00 


A 




ISZ 


O(SP) 


344 


01C9 


19F4 


A 




JMP 


NEW1 


345 


01CA 


3880 


A 


RNDEL: 


SFLG 


LINK 


346 


01CB 


DB02 


A 


LNDEL: 


ST 


X,2(SP) 


347 


01CC 


4810 


A 




BOC 


LINK,RT2 


348 


01CD 


A300 


A 


NEW2: 


LD 


0,@0(SP) 


349 


01CE 


DB01 


A 




ST 


X, 1 (SP) 


350 


01CF 


B917 


A 




SKAZ 


0,LMASK 


351 


01D0 


1905 


A 




JMP 


NONUL 


352 


01D1 


DBOO 


A 


NUL: 


ST 


X,0(SP) 


353 


01D2 


FB02 


A 




SKNE 


X,2(SP) 


354 


01D3 


8F01 


A 




ISZ 


KSP) 


355 


01D4 


6500 


A 




PULL 


IP 


356 


01D5 


98F8 


I 




JMP 


NEXT 


357 


01D6 


7A01 


A 


NONUL: 


AISZ 


X, 1 


358 


01D7 


5840 


A 




RXOR 


1,0 


359 


01D8 


B90E 


A 




SKAZ 


0,LMASK 


360 


01D9 


1903 


A 




JMP 


RT2 


361 


01DA 


DBOO 


A 


DELIM: 


ST 


X,0(SP) 


362 


01DB 


6500 


A 




PULL 


IP 


363 


01DC 


98F8 


I 




JMP 


NEXT 


364 


01DD 


5840 


A 


RT2 : 


RXOR 


1,0 


365 


01DE 


DB01 


A 




ST 


X, 1 (SP) 


366 


01DF 


A908 


A 




AND 


0,RMASK 



DOUBLE UP 

DELIMITER 
GET BYTE ADDRESS 

CONVERT ADDRESS 
SAVE WORD ADDRESS 
CLEAR COUNT 
GET NEXT 2 BYTES 
COMPARE WITH DELIMS 
IF START ADDR ODD 
TEST LEFT BYTE 
IF NOT DELIM 
BUMP COUNT 
TEST RIGHT BYTE 
IF NOT DELIM 
BUMP COUNT 
LEFT BYTE OF 
FOLLOWING WORD 
IS NEXT 
REMEMBER WHICH BYTE 
SET FC OFFSET 
RESUME AT SAME BYTE 
GET DATA 
MAYBE EW OFFSET 
TEST FOR NULL 

NC OFFSET 
IS NC = FC? 
YES, BUMP EW 
RESTORE IP 

BUMP COUNT 

TEST FOR DELIM 

NC OFFSET 
RESTORE IP 



MAYBE EW 



PACE ASSEMBLER REV-A 05/23/75 
FORTH NUCLEUS FOR PACE 
DICTIONARY 



367 01E0 41F0 A 



368 
369 
370 
371 
372 

373 
374 
375 
376 



01E1 
01E2 
01E3 
01E4 
01E5 
01E6 
01E7 
01E8 



7A0 1 
5840 
A904 
41F5 
8F00 
19E6 
FFOO 
OOFF 



A 
A 
A 
A 
A 
A 
A 
A 



LMASK 
RMASK 



BOC 

AISZ 

RXOR 

AND 

BOC 

ISZ 

JMP 

.WORD 

.WORD 



Z,NUL 

X,l 

1,0 

0, RMASK 

Z, DELIM 

O(SP) 

NEW2 

OFFOO 

OOOFF 



TEST FOR NULL 
BUMP COUNT 



TEST FOR DELIM 
BACK FOR 
NEXT WORD 



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 



01E9 8445 A 

01EA 4D49 A 

01EB D420 A 

01EC 01AC A 

01ED 0A49 A 

01EE 834B A 

01EF 45D9 A 

01F0 01E9 A 

01F1 0A4D A 



01F2 
01F3 
01F4 
01F5 
01F6 
01F7 
01F8 



893F 
5445 
5 2 4D 
494E 
41CC 
01EE 
0A4F 



01FD 
01FE 
01FF 
0200 
0201 
0202 
0203 
0204 
0205 



844D 
4F56 
C520 
01F9 
0202 
C300 
410A 
6100 
5D00 



A 
A 
A 
A 
A 
A 
A 



01F9 8243 A 
01FA D220 A 
01FB 01F2 A 
01FC 0A53 A 



A 
A 
A 
A 
A 
A 
A 
A 
A 



*************************************************** 
* TERMINAL VECTORS * 

***********************^c*************************** 

THESE WORDS VECTOR TO INSTALLATION-SPECIFIC CODE 

HEAD 0RD,4,L0NG, 'E'/256 
.WORD 'MI' , 'T'+EVEN,ENCL-5 



EMIT: .WORD PEMIT 

» 

HEAD ORD, 3, LONG, 'K'/256 

.WORD 'EY'+0DD,EMIT-4 

KEY: .WORD PKEY 

J 

HEAD ORD, 9, LONG, '?'/256 

.WORD 'TE' , 'RM' , 'IN' , ' AL '+ODD , KEY- 3 



QTERM: .WORD PQTERM 



CR: 



HEAD ORD, 2, LONG, 'C f /256 
.WORD 'R'+EVEN,QTERM-6 

.WORD PCR 



*************************************************** 

* MOVE * 

*************************************************** 

NOTE THAT THIS WORD MOVES DATA IN 16-BIT UNITS. 

HEAD ORD, 4, LONG, 'M'/256 
.WORD 'OV , 'E'+EVEN,CR-3 



MOVE: 



.WORD 


. + 1 


LD 


0,0(SP) 


BOC 


Z,MOVE2 


PUSH 


IP 


RCPY 


0,1 



GET COUNT 
IF ZERO 
SAVE IP 



PACE ASSEMBLER REV-A 05/23/75 
FORTH NUCLEUS FOR PACE 
DICTIONARY 



MOVE1 



412 


0206 


CB02 


A 


413 


0207 


C200 


A 


414 


0208 


B301 


A 


415 


0209 


7A01 


A 


416 


2 0A 


8F01 


A 


417 


020B 


79FF 


A 


418 


020C 


19FA 


A 



LD 


X,2(SP) 


LD 


0,(X) 


ST 


0,<ai(SP) 


AISZ 


X, 1 


ISZ 


KSP) 


AISZ 


1,-1 


JMP 


MOVEl 



SOURCE ADDRESS 
GET DATA ITEM 
STORE AT DEST 
INCREMENT 

ADDRESSES 
DECREMENT COUNT 
UNTIL DONE 



419 


2 0D 


6500 


A 




PULL 


IP 




; RESTORE IP 


420 


020E 


7B03 


A 


MOVE 2: 


AISZ 


SP,3 




; POP ARGUMENTS 


421 


020F 


98F8 


I 




JMP 


NEXT 






422 


















423 








**************************************************** 


424 








j * 




U*, FOR 


16 


BITS * 


425 








**************************************************** 


426 


















427 


0210 


8255 


A 




HEAD 


ORD, 2, LONG, 


'U' 


/256 


428 


0211 


AA2 


A 




.WORD 


'*'+EVEN,MOVE- 


■4 




0212 


01FD 


A 












429 


0213 


0214 


A 


US TAR: 


.WORD 


. + 1 






430 


0214 


6100 


A 




PUSH 


IP 




; SAVE IP 


431 


0215 


C300 


A 




LD 


0,0(SP) 




; GET MULTIPLIER 


432 


0216 


5100 


A 




LI 


1,0 




; CLEAR RESULT 


433 


0217 


5210 


A 




LI 


X, 16 




; LOOP COUNT 


434 


0218 


7000 


A 




CAI 


0,0 




; COMPLEMENT MPLR 


435 


0219 


6940 


A 


LP: 


RADD 


1,1 




; SHIFT LO INTO CRY 


436 


021A 


7400 


A 




RADC 


0,0 




; ROTATE MPLR LEFT 


437 


021B 


4A02 


A 




BOC 


CSET, TEST 




; TEST FOR ADD 


438 


021C 


E701 


A 




ADD 


1,KSP) 




; ADD IF MPLR BIT=1 


439 


021D 


9105 


A 




SUBB 


0, MINUS1 




; ADD CARRY TO HI 


440 


021E 


7AFF 


A 


TEST: 


AISZ 


X,-l 




; DECR LOOP COUNT 


441 


021F 


19F9 


A 




JMP 


LP 




; REPEAT UNTIL LIMIT 


442 


0220 


D701 


A 




ST 


1,KSP) 




; PUT LO-ORDER SECOND 


443 


0221 


6500 


A 




PULL 


IP 




; RESTORE IP 


444 


0222 


98F7 


I 




JMP 


PUT 




; HI-ORDER ON BOTTOM 


445 


0223 


FFFF 


A 


MINUS 1 : 


.WORD 


-1 






446 


















447 








**************************************************** 


448 








» * 




U/, FOR 


32 


BITS * 


449 








**************************************************** 


450 


















451 


0224 


8255 


A 




HEAD 


ORD, 2, LONG, 


'U' 


/256 


452 


0225 


AF20 


A 




.WORD 


'/'+EVEN,USTAR-3 




0226 


0210 


A 












453 


0227 


0228 


A 


USLASH: 


. WO RD 


. + 1 






454 


0228 


6100 


A 




PUSH 


IP 




; SAVE IP 


455 


0229 


C701 


A 




LD 


1,KSP) 




; HI-ORDER DIVIDEND 


456 


022A 


C302 


A 




LD 


0,2(SP) 




; LO-ORDER DIVIDEND 


457 


022B 


CBOO 


A 




LD 


X,0(SP) 




; GET DIVISOR 


458 


022C 


7201 


A 




CAI 


X,l 




; SAVE -(DIVISOR) FOR 


459 


2 2D 


DB01 


A 




ST 


X, 1(SP) 




; CONVENIENCE 


460 


022E 


5210 


A 




LI 


X,16 




; LOOP COUNT 


461 


022F 


2803 


A 




SHL 


0,1,1 




; SHIFT LO INTO LINK 


462 


0230 


2103 


A 


POOL: 


ROL 


1,1,1 




; ROTATE HI WITH LINK 


463 


0231 


2003 


A 




ROL 


0,1,1 




; ROTATE HI INTO QUOT 


464 


0232 


E701 


A 




ADD 


1,1(SP) 




; SUBTR DIVSR FROM HI 



PACE ASSEMBLER REV-A 05/23/75 
FORTH NUCLEUS FOR PACE 
DICTIONARY 



465 0233 9107 A 

466 0234 4301 A 

467 0235 E700 A 



SUBB 


0,MIN1 


BOC 


BITO, .+2 


ADD 


1,0(SP) 



ADD CARRY TO QUOT 
IF QUOT BIT - 0, 
ADD DIVISOR BACK 



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 



0236 
0237 
0238 
0239 
2 3A 
023B 



023C 
023D 
023E 
023F 
0240 
0241 
24 2 

0243 
0244 
0245 
0246 
0247 
0248 
0249 

024A 
024B 
024C 
024D 
024E 
024F 
0250 
0251 



0252 
0253 
0254 
0255 
0256 
0257 



7AFF 
19F8 
D702 
6500 
1967 
FFFF 



8341 
4EC4 
0224 
0240 
C301 
AB00 
195F 

824F 
D220 
023C 
0247 
C301 
A700 
1958 

8358 
4FD2 
0243 
024E 
C301 
CBOO 
5880 
1950 



8353 
50C0 
024A 
0256 
5CC0 
98F9 



A 
A 
A 
A 
A 
A 
A 

A 
A 
A 
A 
A 
A 
A 

A 
A 
A 
A 
A 
A 
A 
A 



0258 8353 A 

0259 50A1 A 
025A 0252 A 
025B 025C A 
025C C822 A 



MINI : 



AISZ 


x,-i 


JMP 


POOL 


ST 


1,2(SP) 


PULL 


IP 


JMP 


BIN 


.WORD 


-1 



DECREMENT LOOP CNT 
REPEAT UNTIL LIMIT 
REMAINDER SECOND 
RESTORE IP 
QUOTIENT ON BOTTOM 



*************************************************** 

* LOGICALS * 

*************************************************** 

HEAD ORD, 3, LONG, 'A'/256 
.WORD 'ND'+ODD,USLASH-3 



AND: .WORD .+1 

LD 0,1(SP) 

AND 0,0(SP) 

JMP BIN 



GET SECOND 

AND WITH BOTTOM 
REMOVE ARGS 



HEAD ORD, 2, LONG, '0'/256 
.WORD 'R'+EVEN,AND-3 



OR: .WORD .+1 

LD 0, 1(SP) 

OR 0,0(SP) 

JMP BIN 



GET SECOND 

OR WITH BOTTOM 
REMOVE ARGS 



HEAD ORD, 3, LONG, 'X'/256 
.WORD 'OR'+ODD,OR-3 



XOR: .WORD .+1 

LD 0,1(SP) 

LD X,0(SP) 

RXOR X,0 

JMP BIN 



GET SECOND 

GET BOTTOM 

FORM EXCLUSIVE OR 

REMOVE ARGS 



*************************************************** 

* STACK INITIALIZATION * 

*************************************************** 



HEAD 
.WORD 

SPAT: .WORD 
RCPY 
JMP 

» 

HEAD 
.WORD 

SPSTOR: .WORD 
LD 



ORD, 3, LONG, 'S'/256 
'P@'+ODD,XOR-3 



. + 1 

SP,0 

PUSH 



STACK POINTER 
PUSH ON STACK 



ORD, 3, LONG, 'S'/256 
'P! '+ODD,SPAT-3 



. + 1 
X,UP 



; GET USER POINTER 



PACE ASSEMBLER REV-A 05/23/75 
FORTH NUCLEUS FOR PACE 
DICTIONARY 



5 15 
516 
517 
518 
519 

520 
521 
522 
523 
524 
525 
526 
527 

528 
529 
530 
531 
5 32 

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 



025D 
025E 

025F 
0260 
0261 
0262 
0263 
0264 
0265 
0266 

0267 
0268 

0269 
026A 
026B 
026C 
026D 
026E 



CE03 A 
98F8 I 



026F 
0270 

0271 
0272 
0273 
0274 
0275 
0276 
0277 

0278 
0279 
027A 
027B 
027C 
027D 
027E 
027F 

0280 
281 
0282 
28 3 
0284 
285 
0286 



8352 
50A1 
0258 
0263 
C822 
C204 
D021 
98F8 

823B 
D320 

025F 
026B 
A021 
5D00 
8C21 
98F8 



854C 
4541 
56C5 
0267 
0274 
C821 
C200 
D201 
98F8 

823E 
D220 
026F 
027C 
AC21 
C300 
B021 
98FA 

8252 
BE20 
0278 
0284 
A021 
8C21 
98F9 



0287 81D2 A 

0288 0280 A 

0289 028A A 



RPSTOR 



SEMIS 



LD 
JMP 

HEAD 
.WORD 

.WORD 

LD 

LD 

ST 

JMP 

HEAD 
.WORD 

.WORD 

LD 

RCPY 

ISZ 

JMP 



SP,3(X) 

NEXT 



; FETCH SPO 



ORD, 3, LONG, 'R'/256 
'P! '+ODD,SPSTOR-3 



. + 1 
X,UP 
0,4(X) 
0,RP 

NEXT 



GET USER POINTER 

FETCH RO 

SET RETURN POINTER 



ORD, 2, LONG, ' ; '/256 
'S'+EVEN,RPSTOR-3 



. + 1 
0,@RP 
0,IP 
RP 

NEXT 



RESTORE 
OLD IP 
POP RETURN STACK 



*************************************************** 

* RETURN STACK WORDS * 

*************************************************** 



LEAVE : 



TOR: 



FROMR : 



R: 



HEAD 
.WORD 



.WORD 

LD 

LD 

ST 

JMP 

HEAD 
.WORD 

.WORD 

DSZ 

LD 

ST 

JMP 

HEAD 
.WORD 

.WORD 
LD 
ISZ 
JMP 

HEAD 

.WORD 

.WORD 



ORD, 5, LONG, 'L'/256 
'EA' , 'VE'+ODD,SEMIS-3 



. + 1 
X,RP 
0,0(X) 
0,1(X) 

NEXT 



GET RETURN POINTER 
GET LOOP INDEX 
MAKE LIMIT EQUAL 



ORD, 2, LONG, '>'/256 
'R'+EVEN,LEAVE-4 



. + 1 

RP 

0,(SP) 

0,@RP 

POP 



EXTEND RETURN STACK 
GET DATA ITEM 
PUT ON RETURN STACK 
POP FROM DATA STACK 



ORD, 2, LONG, 'R'/256 
'>'+EVEN,TOR-3 



. + 1 
0,@RP 
RP 
PUSH 



GET FROM RETURN STK 
POP RETURN STACK 
PUSH ON DATA STACK 



ORD, 1 , SHORT, 'R'/256 

FROMR-3 

. + 1 



PACE ASSEMBLER REV-A 05/23/75 
FORTH NUCLEUS FOR PACE 
DICTIONARY 



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 



028A A021 A 
028B 98F9 I 



LD 
JMP 



0,@RP 
PUSH 



; GET NONDESTRUCTIVE 
; PUSH ON DATA STACK 



028C 
028D 
028E 
028F 
0290 
0291 
0292 
0293 

0294 
0295 
0296 
0297 
0298 
0299 
2 9A 
029B 
029C 



029D 
029E 
029F 
02A0 
02A1 
02A2 
02A3 

02A4 
02A5 
02A6 
02A7 
02A8 
02A9 
02AA 
02AB 
02AC 
2AD 
02AE 

02AF 



8230 
BD2 
0287 
0290 
5000 
F300 
5001 
98F7 

8230 
BC20 
028C 
0298 
5000 
9F00 
98F7 
5001 
98F7 



81AB 
0294 
02A0 
C300 
E301 
7B01 
98F7 

8244 
AB20 
029D 
02A8 
C303 
E301 
D303 
C302 
CBOO 
7480 
D302 

98FB 



A 
A 
A 
A 
A 
A 
A 
I 

A 
A 
A 
A 
A 
A 
I 
A 
I 



A 
A 
A 
A 
A 
A 
I 

A 
A 
A 
A 
A 
A 
A 
A 
A 
A 
A 

I 



02B0 854D A 

02B1 494E A 

02B2 55D3 A 

02B3 02A4 A 



****************************** ********************* 

* TESTS AND LOGICALS * 

*************************************************** 



ZEQU: 



ZLESS: 



HEAD 
.WORD 

.WORD 

LI 

SKNE 

LI 

JMP 

HEAD 
.WORD 

.WORD 

LI 

SKG 

JMP 

LI 

JMP 



ORD,2,LONG, '0'/256 
'='+EVEN,R-2 



. + 1 

0,0 

0,0(SP) 

0,1 

PUT 



RETURN ZERO 

IF DATA NONZERO 
OTHERWISE RETURN 1 



ORD,2,LONG, '0'/256 
'<'+EVEN,ZEQU-3 



. + 1 
0,0 

0,0(SP) 
PUT 

0,1 

PUT 



; RETURN ZERO 

; IF DATA <= ZERO 

; OTHERWISE RETURN 1 



*************************************************** 

* MATH, BINARY * 

*************************************************** 



PLUS: 



BIN: 



DPLUS 



HEAD 

.WORD 

.WORD 

LD 

ADD 

AISZ 

JMP 

HEAD 
.WORD 

.WORD 

LD 

ADD 

ST 

LD 

LD 

RADC 

ST 

JMP 

HEAD 
.WORD 



ORD, 1, SHORT, '+'/256 

ZLESS-3 

. + 1 

0,0(SP) 

0,1 (SP) 

SP, 1 

PUT 



ADD BOTTOM TWO 

STACK VALUES, 
REMOVE ONE ARG 
REPL OTHER W/RESULT 



ORD, 2, LONG, 'D'/256 
'+'+EVEN,PLUS-2 



. + 1 

0,3(SP) 

O.KSP) 

0,3(SP) 

0,2(SP) 

X,0(SP) 

X,0 

0,2(SP) 

POP2 



AUGEND LOW-ORDER 
ADDEND LOW-ORDER 
SUM LOW-ORDER 
AUGEND HI-ORDER 
ADDEND HI-ORDER 
ADD WITH CARRY 
SUM HI-ORDER 



ORD, 5, LONG, 'M'/256 
'IN' , 'US'+ODD,DPLUS-3 



PACE ASSEMBLER REV-A 05/23/75 
FORTH NUCLEUS FOR PACE 
DICTIONARY 



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 
6 52 
653 

654 
655 

656 
657 



02B4 02B5 A 

02B5 C300 A 

02B6 7001 A 

02B7 98F7 I 



MINUS 



02B8 
02B9 
02BA 
02BB 
02BC 
02BD 
02BE 
02BF 
02C0 
02C1 
02C2 
02C3 
02C4 



02C5 
02C6 
02C7 
02C8 
02C9 
02CA 
02CB 

02CC 
02CD 
02CE 
02CF 
02D0 

02D1 
2D2 
02D3 

02D4 
02D5 
02D6 

02D7 
02D8 
02D9 

02DA 
02DB 
02DC 
2DD 
02DE 
02DF 



8644 
4D49 
4E55 
D320 
02B0 
02BE 
3780 
5000 
9301 
D301 
5000 
9300 
98F7 



844F 
5645 
D220 
02B8 
02CA 
C301 
98F9 

8444 
524F 
D020 
02C5 
015D 

8453 
5741 
D020 
02CC 
02D6 
C301 
CBOO 
DB01 
98F7 

8344 
55D0 
02D1 
02DE 
C300 
98F9 



A 
A 
A 
A 
A 
A 
A 
A 
A 
A 
A 
A 
I 



A 
A 
A 
A 
A 
A 
I 

A 
A 
A 
A 
A 

A 
A 
A 

A 
A 
A 
A 
A 
I 

A 
A 
A 
A 
A 
I 



DMINUS 



.WORD 
LD 
CAI 
JMP 

HEAD 
.WORD 



.WORD 

SFLG 

LI 

SUBB 

ST 

LI 

SUBB 

JMP 



. + 1 

0,(SP) 
0, 1 
PUT 



GET STACK VALUE 
AND FORM 2'S COMP 



0RD,6,L0NG, 'D'/256 

'MI' , 'NU' , 'S'+EVEN,MINUS-4 



. + 1 

CRY 

0,0 

0,1(SP) 

0, 1(SP) 

0,0 

0,0(SP) 

PUT 



CLEAR BORROW 
SUBTRACT LO-ORDER 
FROM 

SUBTRACT HI-ORDER 
FROM WITH BORROW 



*************************************************** 

* STACK MANIPULATION * 

*************************************************** 



OVER 



DROP 



SWAP 



DUP 



HEAD 
.WORD 



.WORD 

LD 

JMP 

HEAD 
.WORD 



.WORD 

HEAD 
.WORD 



.WORD 

LD 

LD 

ST 

JMP 

HEAD 
.WORD 

.WORD 

LD 

JMP 



ORD,4,LONG, '0'/256 
'VE' , 'R'+EVEN,DMINUS-5 



. + 1 

0,1(SP) 

PUSH 



GET SECOND VALUE 
PUSH ON STACK 



ORD,4,LONG, 'D'/256 
'RO' , 'P'+EVEN,OVER-4 



POP 



VECTOR DIRECTLY 



ORD,4,LONG, 'S'/256 
'WA' , 'P'+EVEN,DROP-4 



. + 1 

O.l(SP) 

X,0(SP) 

X,1(SP) 

PUT 



EXCHANGE TOP 
TWO STACK 
VALUES 



ORD,3,LONG, 'D'/256 
'UP'+ODD,SWAP-4 

. + 1 

0,0(SP) 

PUSH 



GET BOTTOM VALUE 
PUSH A COPY OF IT 



658 



;*************************************************** 



PACE ASSEMBLER REV-A 05/23/75 
FORTH NUCLEUS FOR PACE 
DICTIONARY 



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 



02E0 
02E1 
02E2 
02E3 
02E4 
02E5 
02E6 
02E7 



02E8 

02E9 

02EA 

02EB 

02EC 

02ED 

02EE 

02EF 

02F0 

02F1 

02F2 

02F3 

02F4 

02F5 

02F6 

02F7 

02F8 



822B 
A120 
02DA 
02E4 
A300 
E301 
B300 
98FB 



8654 
4F47 
474C 
C520 
02E0 
02EE 
CB01 
3800 
2603 
DB01 
C200 
CBOO 
4801 
2A10 
5880 
B301 
98FB 



A 
A 
A 
A 
A 
A 
A 
A 
A 
A 
A 
A 
A 
A 
A 
A 
I 



02F9 
02FA 
2FB 
02FC 
02F9 1 
02FE 
02FF 
0300 



8442 
5954 
C520 
02E8 
02FE 
C300 
6800 
98F7 



A 

A 

A 

k 

A 

A 
A 
I 



0301 
0302 
0303 
0304 



8443 A 
454C A 
CC20 A 
02F9 A 



* MEMORY INCREMENT, COMPLEMENT, ADDRESS CONVERT * 
*************************************************** 



HEAD ORD, 2, LONG, '+'/256 

.WORD ' ! '+EVEN,DUP-3 

PSTORE: .WORD .+1 

LD 0,@0(SP) 

ADD 0,1(SP) 

ST 0,@0(SP) 

JMP P0P2 



GET VALUE 
ADD INCREMENT 
STORE AT ADDRESS 
REMOVE BOTH 



THE FOLLOWING WORD EXPECTS A BYTE PSEUDO-ADDRESS 



TOGGLE 



HEAD 
.WORD 



.WORD 

LD 

PFLG 

ROR 

ST 

LD 

LD 

BOC 

SHL 

RXOR 

ST 

JMP 



ORD, 6, LONG, 'T'/256 

'OG' , 'GL' , 'E'+EVEN,PSTORE-3 



. + 1 

X,1(SP) 

LINK 

X,l,l 

X,1(SP) 

0,(X) 

X,0(SP) 

LINK, .+2 

X,8,0 

X,0 

0,@1(SP) 

POP2 



GET BYTE ADDRESS 
CONVERT TO 

WORD ADDRESS 
SAVE FOR LATER 
GET DATA WORD 
GET BIT PATTERN 
EVEN BYTE ADDRESS 

MEANS LEFT BYTE 
COMPL SELECTED BITS 
REPLACE DATA WORD 



THE FOLLOWING WORD CONVERTS A 15-BIT WORD! 
ADDRESS TO A 16-BIT BYTE PS EUDD- ADDRES S . 



BYTE: 



head: 
.word: 



.word: 

LD ? 
RADD 
JMP 



ORD; 4, LONG, '3' /256 

' YT' . ' E'+EVEN,TOGGLE-5 



. + 1 

0, 0(SP) 
0,0 

PUT 



GET WORD 1 A DDRESS 
MULTIPLY BY 2 



THE FOLLOWING WORD CONVERTS A 16-BIT BYTE 
PSEUDO-ADDRESS TO A 15-BIT WORD ADDRESS. 

HEAD ORD, 4, LONG, 'C/256 
.WORD 'EL' , 'L'+EVEN,BYTE-4 



702 


0305 


0306 


A 


703 


0306 


C300 


A 


704 


0307 


2C02 


A 


705 


0308 


98F7 


I 



CELL 



.WORD 
LD 
SHR 
JMP 



. + 1 

0,0(SP) 
0,1,0 
PUT 



GET BYTE ADDRESS 
DIVIDE BY 2 



PACE ASSEMBLER REV-A 05/23/75 
FORTH NUCLEUS FOR PACE 
DICTIONARY 



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 



0309 81C0 A 

030A 0301 A 

030B 030C A 

030C A300 A 

03 OD 98F7 I 



3-OE 
3 OF 
0310 
0311 
0312 
0313 
0314 
0315 
0316 
0317 
0318 
0319 
031A 

031B 
031C 
031D 
031E 
031F 
0320 



0321 
0322 
0323 
0324 
0325 
0326 
0327 
0328 

0329 
032A 
032B 
032C 



8243 
C020 
0309 
0312 
CBOO 
3800 
2603 
C200 
4801 
2C10 
A901 
98F7 
OOFF 

81A1 
030E 
031E 
C301 
B300 
98FB 



8243 
A120 
031B 
0325 
6100 
CBOO 
3800 
2603 
C10B 
C701 
5500 
7000 



A 
A 
A 
A 
A 
A 
A 
A 
A 
A 
A 
I 
A 

A 
A 
A 
A 
A 
I 



A 
A 
A 
A 
A 
A 
A 
A 
A 
A 
A 
A 



*************************************************** 

* MEMORY FETCH AND STORE * 

*************************************************** 



AT: 



CAT: 



XFF: 



STORE 



HEAD 


ORD, 1 , SHORT, 


'@'/256 


.WORD 


CELL-4 




.WORD 


. + 1 




LD 


0,<aO(SP) 


; G 


JMP 


PUT 





GET VALUE 



THE FOLLOWING WORD EXPECTS A BYTE PSEUDO-ADDRESS 



HEAD 
.WORD 

.WORD 

LD 

PFLG 

ROR 

LD 

BOC 

SHR 

AND 

JMP 

.WORD 

HEAD 

.WORD 

.WORD 

LD 

ST 

JMP 



ORD, 2, LONG, 'C/256 
'@'+EVEN,AT-2 



. + 1 

X,0(SP) 

LINK 

X,l,l 

0,(X) 

LINK, .+2 

0,8,0 

0,XFF 

PUT 

OOFF 



GET BYTE ADDRESS 
CONVERT TO 

WORD ADDRESS 
GET DATA WORD 
LINK = MEANS 

LEFT BYTE 
CLEAR UNWANTED BYTE 



ORD, 1 , SHORT, ' i '/256 

CAT-3 

. + 1 

0,1(SP) 

0,@0(SP) 

P0P2 



GET VALUE 

STORE AT ADDRESS 

REMOVE BOTH 



THE FOLLOWING WORD EXPECTS A BYTE PS EUDO-ADRESSS 

HEAD ORD, 2, LONG, 'C/256 
.WORD ' ! '+EVEN,STORE-2 



CSTORE: .WORD .+1 

PUSH IP 

LD X,0(SP) 

PFLG LINK 

ROR X,l,l 

LD 0,X00FF 

LD 1,1(SP) 

RAND 0,1 

CAI 0,0 



SAVE IP 

GET BYTE ADDRESS 
CONVERT TO 
WORD ADDRESS 

BYTE TO BE 

STORED 
SET UP MASK 



752 


3 2D 


4802 


A 


753 


032E 


7000 


A 


754 


032F 


2910 


A 


755 


0330 


AA00 


A 


756 


0331 


6840 


A 


757 


0332 


D200 


A 


758 


0333 


6500 


A 



BOC 


LINK, .+3 


CAI 


0,0 


SHL 


1,8,0 


AND 


0,(X) 


RADD 


1.0 


ST 


0,(X) 


PULL 


IP 



AND CLEAR 
APPROPRIATE 
HALF OF WORD 
TO STORE INTO 
ADD IN BYTE 
STORE ALTERED WORD 
RESTORE IP 



PACE ASSEMBLER REV-A 05/23/75 
FORTH NUCLEUS FOR PACE 
DICTIONARY 



759 

760 
761 

762 

763 
764 

765 
766 
767 
768 



0334 
0335 



98FB I 
OOFF A 



JMP POP2 
XOOFF: .WORD OOFF 



; REMOVE ARGUMENTS 



769 



770 
771 
772 
773 
774 
775 
776 
777 
778 

779 
780 



781 



0336 
0337 
0338 
0339 
033A 
033B 
033C 
033D 
033E 
033F 
0340 
0341 

0342 
0343 
0344 
0345 
0346 
0347 

0348 

0349 
034A 
034B 
034C 
034D 
034E 
034F 
0350 



C1BA 
0321 
0342 
04EF 
04CC 
0401 
030B 
03FA 
031D 
0779 
0533 
055E 

AC21 
5C40 
B021 
5101 
6980 
98F8 

C1BB 

0336 
0342 
0505 
0521 
026A 
053E 
052C 
026A 



A 
A 
A 
A 
A 
A 
A 
A 
A 
A 
A 
A 

A 
A 
A 
A 
A 
I 

A 

A 
A 
A 
A 
A 
A 
A 
A 



*************************************************** 

* • • * 

*************************************************** 

HEAD IMM, 1, SHORT, ': '/256 
.WORD CSTORE-3 
COLON: .WORD DOCOL , QEXEC , SCSP , CURR , AT , CONT 



DOCOL 



SEMI : 



.WORD STORE, CREATE, RBRAC,PSCODE 



DSZ 

RCPY 

ST 

LI 

RADD 

JMP 

HEAD 

.WORD 
.WORD 



RP 

IP,0 

0,@RP 

IP, 1 

W,IP 

NEXT 



EXTEND RETURN STK 
SAVE IP ON 
RETURN STACK 
POINT IP TO WORD 
AFTER DOCOL 



IMM, 1, SHORT, ' ; '/256 

COLON-2 

DOCOL, QCSP,COMPIL, SEMIS 



.WORD SMUDGE, LBRAC, SEMIS 



782 
783 
784 
785 
786 
787 
788 



789 



790 
791 
792 



0351 
0352 
0353 
0354 
0355 
0356 
0357 
0358 
0359 
035A 
035B 



8843 
4F4E 
5354 
414E 
D420 
0348 
0342 
0779 
053E 
0448 
055E 



A 
A 
A 
A 
A 
A 
A 
A 
A 
A 
A 



**************** *********************************** 
* CONSTANT, VARIABLE, USER * 

*************************************************** 

HEAD 0RD,8,L0NG, 'C'/256 

.WORD 'ON' , 'ST' ,.'AN' , ' T '+EVEN , SEMI-2 



CON: 



.WORD DOCOL, CREATE, SMUDGE, COMMA, PS CODE 



035C C201 A DOCON 
035D 98F9 I 



LD 
JMP 



0,1(W) 
PUSH 



GET PARAMETER 
PUSH ON STACK 



PACE ASSEMBLER REV-A 05/23/75 
FORTH NUCLEUS FOR PACE 
DICTIONARY 



793 
794 
7 95 



796 



797 
798 

799 
800 
801 
802 
803 



804 



805 
806 
807 
808 



035E 
035F 
0360 
0361 
0362 
0363 
0364 
0365 
0366 



8856 
4152 
4941 
424C 
C520 
0351 
0342 
0357 
055E 



036A 
036B 
036C 
036D 
036E 
036F 
0370 



8455 
5345 
D220 
035E 
0342 
0357 
055E 



0367 5001 A 

0368 6880 A 

0369 98F9 I 



A 
A 
A 
A 
A 
A 
A 



0371 C201 A 

0372 E022 A 

0373 98F9 I 



VAR: 



DOVAR 



USER: 



DOUSER 



HEAD 0RD,8,L0NG, ' V/256 

.WORD 'AR' ,'IA' ,'BL' , ' E '+EVEN , C0N-6 



.WORD DOCOL, CON, PSCODE 



LI 

RADD 

JMP 

HEAD 
.WORD 



LD 

ADD 

JMP 



0,1 
W,0 
PUSH 



FORM ADDRESS 

OF PARAMETER 
PUSH ON STACK 



ORD,4,LONG, 'U'/256 
'SE' , 'R'+EVEN,VAR-6 



.WORD DOCOL, CON, PSCODE 



0,1(W) 

0,UP 

PUSH 



GET OFFSET 

ADD USER POINTER 

PUSH ON STACK 



809 








810 








811 








812 








813 








814 


0374 


81B0 


A 


815 


0375 


036A 


A 


816 


0376 


035C 


A 




0377 


0000 


A 


817 








818 


0378 


81B1 


A 


819 


03 7 9 


0374 


A 


820 


037A 


035C 


A 




037B 


0001 


A 


821 








822 


037C 


81B2 


A 


823 


3 7D 


0378 


A 


824 


037E 


035C 


A 




037F 


0002 


A 


825 








826 


0380 


81B3 


A 


827 


0381 


037C 


A 


828 


0382 


035C 


A 




0383 


0003 


A 


829 








830 


0384 


8242 


A 


831 


0385 


CC20 


A 




0386 


0380 


A 


832 


0387 


035C 


A 



*************************************************** 

* DEFINED CONSTANTS * 

*************************************************** 

HEAD ORD, 1, SHORT, '0'/25 6 
.WORD USER-4 
ZERO:; .WORD DOCON,0 



HEAD ORD, 1, SHORT, 'l'/256 
.WORD ZERO-2 
ONE: .WORD DOCON,l 



HEAD ORD, 1, SHORT, '2'/256 

.WORD ONE-2 

.WORD DOCON,2 

HEAD ORD, 1, SHORT, '3'/256 

.WORD TWO-2 

.WORD DOCON, 3 



TWO: 



THREE 



HEAD ORD, 2, LONG, 'B'/256 
.WORD 'L'+EVEN,THREE-2 



BL: 



WORD 



DOCON,' '/256 



PACE ASSEMBLER REV-A 05/23/75 
FORTH NUCLEUS FOR PACE 
DICTIONARY 



0388 0020 A 



833 








834 


0389 


8546 


A 


835 


038A 


4952 


A 




038B 


53D4 


A 




038C 


0384 


A 


836 


038D 


035C 


A 




038E 


1DF0 


A 


837 








838 


038F 


854C 


A 


839 


0390 


4 9 4D 


A 




0391 


49D4 


A 




0392 


0389 


A 


840 


0393 


035C 


A 




0394 


2000 


A 


841 








842 


0395 


8542 


A 


843 


0396 


2F42 


A 




0397 


55C6 


A 




0398 


038F 


A 


844 


0399 


035C 


A 




039A 


0080 


A 


845 









HEAD ORD, 5, LONG, 'F'/256 
.WORD 'IR' , 'ST'+ODD,BL-3 



FIRST: .WORD DOCON, BUFFS 



HEAD ORD, 5, LONG, 'L'/256 
•WORD 'IM' ,'IT'+ODD,FIRST-4 



LIMIT: .WORD DOCON, TOPMEM 



HEAD ORD, 5, LONG, 'B'/256 
.WORD '/B' ,'UF'+ODD,LIMIT-4 



BBUF 



.WORD DOCON, BLKSIZ 



846 
847 



848 

849 
850 
851 

852 
853 

854 



855 



039B 
039C 
039D 
039E 
039F 
03A0 



8542 
2F53 
4 3D 2 
0395 
035C 
0008 



03A1 
03A2 
03A3 
3A4 
03A5 
03A6 
03A7 
03A8 

03A9 
3AA 



872B 
4F52 
4947 
49CE 
039B 
0342 
0103 
0010 
029F 
026A 



856 
85,7 
858 
859 
860 
861 

862 
863 

864 
865 



03AB 8253 
03AC B020 



3AD 
03AE 



03A1 
0371 



03AF 0003 



HEAD 0RD,5,L0NG, 'B'/256 
.WORD '/S' , 'CR'+ODD,BBUF-4 



BSCR: .WORD DOCON, 10 24/BLKSIZ 



THE FOLLOWING WORD EXPECTS A WORD-OFFSET 
AND RETURNS A WORD-ADDRESS. 

HEAD ORD, 7, LONG, '+'/256 

,W0RD 'OR' , 'IG' , 'IN'+0DD,BSCR-4 



PORIG: .WORD DOCOL ,L IT, ORIG , PLUS , SEMIS 



*************************************************** 

* USER VARIABLES * 

*************************************************** 



03B0 8252 A 



HEAD ORD, 2, LONG, 'S'/256 
.WORD '0'+EVEN,PORIG-5 

SZERO: .WORD DOUSER,03 



HEAD ORD, 2, LONG, 'R'/256 



PACE ASSEMBLER REV-A 05/23/73 
FORTH NUCLEUS FOR PACE 
DICTIONARY 



866 


03B1 


B020 


A 




03B2 


03AB 


A 


867 


03B3 


0371 


A 




3B4 


0004 


A 


868 








869 


03B5 


8354 


A 


870 


03B6 


49C2 


A 




03B7 


03B0 


A 


871 


03B8 


0371 


A 




03B9 


0005 


A 


872 








873 


03BA 


8557 


A 


874 








875 


03BB 


4944 


A 




03BC 


54C8 


A 




03BD 


03B5 


A 


876 


03BE 


0371 


A 




03BF 


0006 


A 


877 









RZERO 



TIB: 



WIDTH 



.WORD 
.WORD 

HEAD 
• WORD 



HEAD 
.WORD 



'0'+EVEN,SZERO-3 
DOUSER,04 

ORD, 3, LONG, 'T'/256 
'IB'+0DD,RZER0-3 



.WORD DOUSER,05 



ORD, 5, LONG, 'W/256 
'ID' , 'TH'+0DD,TIB-3 



.WORD DOUSER,06 



878 


03C0 


8757 


A 


879 


03C1 


4152 


A 




03C2 


4E49 


A 




03C3 


4EC7 


A 




03C4 


03BA 


A 


880 


03C5 


0371 


A 




03C6 


0007 


A 


881 








882 


03C7 


8546 


A 


883 


03C8 


454E 


A 




03C9 


43C5 


A 




03CA 


03C0 


A 


884 


03CB 


0371 


A 




03CC 


0008 


A 


885 








886 


03CD 


8244 


A 


887 


03CE 


D020 


A 




03CF 


03C7 


A 


888 


03D0 


0371 


A 




3D1 


0009 


A 


889 








890 


03D2 


8856 


A 


891 


03D3 


4F43 


A 




03D4 


2D4C 


A 




03D5 


494E 


A 




3D6 


CB20 


A 




3D7 


03CD 


A 


892 


3D8 


0371 


A 




3D9 


000A 


A 


893 








894 


03DA 


8342 


A 


895 


03DB 


4CCB 


A 




3DC 


03D2 


A 


896 


03DD 


0371 


A 




3DE 


OOOB 


A 


897 









WARN 



FENCE 



DP 



VOCL 



BLK 



HEAD ORD, 7, LONG, 'W/256 

.WORD 'AR' , 'NI' ,/NG'+ODD,WIDTH-4 



.WORD DOUSER,07 



HEAD 
.WORD 



HEAD 
.WORD 



ORD, 5, LONG, 'F'/256 
'EN' , 'CE'+0DD,WARN-5 



.WORD DOUSER,08 



HEAD ORD, 2, LONG, 'D'/256 
.WORD 'P'+EVEN,FENCE-4 

.WORD DOUSER,09 



ORD, 8, LONG, 'V/256 

'OC' , '-L' , 'IN' , 'K'+EVEN,DP-3 



.WORD DOUSER,0A 



HEAD ORD, 3, LONG, 'B'/256 

.WORD 'LK'+ODD, V0CL-6 

.WORD DOUSER,0B 



PACE ASSEMBLER REV-A 05/23/75 
FORTH NUCLEUS FOR PACE 
DICTIONARY 



898 


03DF 


8249 


A 


899 


03E0 


CE20 


A 




3E1 


03DA 


A 


900 


03E2 


0371 


A 




03E3 


OOOC 


A 


901 








902 


03E4 


834F 


A 


903 


03E5 


55D4 


A 




03E6 


03DF 


A 


904 


3E7 


0371 


A 




03E8 


00D 


A 


905 








906 


03E9 


8353 


A 


907 


03EA 


43D2 


A 




03EB 


03E4 


A 


908 


03EC 


0371 


A 




3ED 


000E 


A 



IN 



OUT 



SCR 



HEAD ORD, 2, LONG, 'I'/256 

.WORD 'N'+EVEN,BLK-3 

.WORD DOUSER,0C 



HEAD ORD, 3, LONG, '0'/256 

.WORD 'UT'+0DD,IN-3 

.WORD DOUSER,0D 



HEAD ORD, 3, LONG, 'S'/256 

.WORD 'CR'+ODD,OUT-3 

.WORD DOUSER,0E 



909 
910 
911 



912 

913 
914 
915 



916 

917 
918 
919 



920 

921 
922 
923 



924 

925 
926 
927 



928 



3EE 
03EF 
03F0 
03F1 
03F2 
03F3 
03F4 

03F5 
03F6 
03F7 
03F8 

03F9 
03FA 

03FB 

03FC 
03FD 
03FE 
03FF 
0400 
0401 
0402 

0403 
0404 
0405 
0406 
0407 
0408 

0409 
040A 
040B 
040C 
4 0D 
040E 



864F 
4646 
5345 
D420 
03E9 
0371 
000F 

8743 
4F4E 
5445 
58D4 
03EE 
0371 
0010 

8743 
5552 
5245 
4ED4 
03F5 
0371 
0011 

8553 
5441 
54C5 

03FC 
0371 
0012 

8442 
4153 
C520 
0403 
0371 
0013 



A 
A 
A 
A 
A 
A 
A 

A 
A 
A 
A 
A 
A 

A 

A 
A 
A 
A 
A 
A 
A 

A 
A 
A 

A 
A 
A 

A 
A 
A 
A 
A 
A 



CONT 



CURR 



HEAD 
.WORD 



ORD,6,LONG, '0'/256 

'FF', 'SE' , 'T'+EVEN,SCR-3 



OFFSET: .WORD DOUSER,0F 



HEAD 0RD,7,L0NG, 'C/25 6 

.WORD 'ON' , 'TE','XT'+0DD,0FFSET-5 



.WORD DOUSER,010 



HEAD 0RD,7,L0NG, 'C/25 6 

.WORD 'UR' , 'RE' ,'NT'+ODD,CONT-5 



.WORD DOUSER,011 



HEAD 
.WORD 



0RD,5,L0NG, 'S'/256 
'TA' ,'TE'+pDD,CURR-5 



STATE: .WORD DOUSER,012 



HEAD 
.WORD 



ORD,4,LONG, 'B'/256 
'AS' ,'E'+EVEN,STATE-4 



BASE 



.WORD DOUSER,013 



PACE ASSEMBLER REV-A 05/23/75 
FORTH NUCLEUS FOR PACE 
DICTIONARY 



929 
930 
931 

932 

933 
934 
935 

936 

937 



040F 
0410 
0411 
0412 
0413 

0414 
0415 
0416 
0417 
0418 



8344 
50CC 
0409 
0371 
0014 

8346 
4CC4 
040F 
0371 
0015 



A 
A 
A 
A 
A 

A 
A 
A 
A 
A 



HEAD 0RD,3,L0NG,'D'/25 6 

.WORD 'PL'+0DD,BASE-4 

DPL: .WORD DOUSER,014 



HEAD 0RD,3,L0NG, 'F'/256 

.WORD 'LD'+0DD,DPL-3 

FLD: .WORD DOUSER,015 



938 
939 

940 

941 
942 
943 

944 

945 
946 
947 

948 

949 
950 
951 
952 
953 
954 
955 

956 
957 
958 
959 
960 
961 
962 

963 



964 
965 
966 



0419 
041A 
041B 
041C 
041D 

041E 
041F 
0420 
0421 
0422 

0423 
0424 
0425 
0426 
0427 



0428 
0429 
042A 
042B 
042C 
042D 
042E 

042F 
0430 
0431 
0432 
0433 
0434 
0435 

0436 
0437 
0438 
0439 



8343 A 
53D0 A 
0414 A 
0371 A 

0016 A 

8252 A 
A320 A 
0419 A 
0371 A 

0017 A 



8348 

4CC4 
041E 
0371 
0018 



8231 
AB20 
0423 
042C 
8F00 
98F8 
98F8 

8232 
AB20 
0428 
0342 
037E 
029F 
026A 



A 
A 
A 
A 
A 



A 
A 
A 
A 
A 
I 
I 

A 
A 
A 
A 
A 
A 
A 



8448 A 
4552 A 
C520 A 
042F A 



CSP: 



HEAD ORD,3,LONG, 'C/256 

.WORD 'SP'+ODD,FLD-3 

.WORD DOUSER,016 ' 



HEAD ORD, 2, LONG, 'R'/256 
.WORD ' , '+EVEN,CSP-3 



RNUM: 



HLD: 



WORD DOUSER,017 



HEAD ORD, 3, LONG, 'H'/256 
.WORD 'LD'+ODD,RNUM-3 

.WORD DOUSER,018 



********************************* ** ******* ** ******* 

* MISCELLANEOUS * 

*************************************************** 



HEAD ORD, 2, LONG, 'l'/256 

.WORD '+'+EVEN,HLD-3 



ONEP: 



.WORD .+1 

ISZ 0(SP) 

JMP NEXT 

JMP NEXT 



TWOP: 



ADD ONE 
TO BOTTOM 
OF STACK 



HEAD ORD, 2, LONG, '2'/256 
.WORD '+'+EVEN,ONEP-3 

.WORD DOCOL, TWO, PLUS, SEMIS 



HEAD ORD, 4, LONG, 'H'/256 
.WORD 'ER' , 'E'+EVEN,TWOP-3 



PACE ASSEMBLER REV-A 05/23/75 
FORTH NUCLEUS FOR PACE 
DICTIONARY 



967 043A 0342 A HERE 
043B 03D0 A 





043C 


030B 


A 




4 3D 


026A 


A 


968 








969 


4 3E 


8541 


A 


970 


043F 


4C4C 


A 




0440 


4FD4 


A 




0441 


0436 


A 



.WORD DOCOL, DP, AT, SEMIS 



HEAD ORD, 5, LONG, 'A'/256 
.WORD 'LL' , 'OT'+ODD,HERE-4 



971 



972 
973 
974 
975 
976 
977 



978 
979 
980 
981 

982 
983 
984 
985 
986 
987 
988 
989 



990 
991 
992 
993 



994 
995 
996 
997 



0442 0342 A 

0443 03D0 A 

0444 02E3 A 

0445 026A A 



ALLOT: .WORD DOCOL , DP , PSTORE , SEMI S 



0446 
0447 
0448 
0449 
044A 
044B 
044C 
44D 

044E 
044F 
0450 
0451 
0452 
0453 
0454 

0455 
0456 
0457 

0458 
0459 
045A 

045B 
045C 
045D 
045E 
045F 
0460 

0461 
0462 
0463 
0464 
0465 
0466 



81AC 
043E 
0342 
043A 
031D 
037A 
0442 
026A 

8 IAD 
0446 
0451 
C301 
3780 
9300 
98F6 

81BD 
044E 
0342 

0450 
028F 
026A 

81BC 
0455 
0342 
0450 
0297 
026A 

81BE 
045B 
0342 
2D5 
045D 
026A 



A 
A 
A 
A 
A 
A 
A 
A 

A 
A 
A 
A 
A 
A 
I 

A 
A 
A 
A 
A 
A 

A 
A 
A 
A 
A 
A 

A 
A 
A 
A 
A 
A 



l , HERE 

HEAD 
.WORD 
COMMA: .WORD 



SUB: 



EQUAL 



LESS: 



GREAT 



HEAD 

.WORD 

.WORD 

LD 

SFLG 

SUBB 

JMP 

HEAD 

.WORD 

.WORD 



HEAD 

.WORD 

.WORD 



HEAD 

.WORD 

.WORD 



! 1 ALLOT ; 

ORD, 1, SHORT, ' , '/256 
ALLOT-4 

DOCOL, HERE, STORE, ONE, ALLOT, SEMIS 



ORD, 1 , SHORT, '-' /256 

COMMA-2 

.+1 



O.KSP) 
CRY 

0,0(SP) 
BIN 



GET MINUEND 
CLEAR BORROW 
SUBTRACT SUBTRAHEND 



ORD, 1 , SHORT, '='/256 

SUB-2 

DOCOL, SUB ,ZEQU, SEMIS 



998 
999 



0467 8352 A 



HEAD 



ORD, 1 , SHORT, '<'/256 . 

EQUAL-2 

DOCOL, SUB ,ZL ESS, SEMIS 



ORD, 1 , SHORT, '>'/256 

LESS-2 

DOCOL, SWAP, LESS, SEMIS 



ORD, 3, LONG, 'R'/256 



PACE ASSEMBLER REV-A 05/23/75 
FORTH NUCLEUS FOR PACE 
DICTIONARY 



1000 

1001 
1002 
1003 



0468 
0469 
046A 
046B 
046C 



4FD4 
0461 
046B 
C302 
CB01 



A 
A 
A 
A 
A 



ROT 



.WORD '0T'+0DD,GREAT-2 



.WORD 

LD 

LD 



. + 1 

0,2(SP) 

X,1(SP) 



GET THIRD 
MOVE SECOND 



1004 
1005 
1006 
1007 
1008 
1009 
1010 



1011 



1012 
1013 
1014 



1015 
1016 
1017 
1018 
1019 
1020 
1021 
1022 
1023 
1024 
1025 
1026 



1027 
1028 

1029 
1030 



1031 
1032 



046D DB02 A 
046E CB00 A 
046F DB01 A 
0470 98F7 I 



0471 
0472 
0473 
0474 
0475 
0476 
0477 
0478 

0479 
047A 
047B 
047C 
047D 
047E 
047F 
0480 
0481 



0482 
0483 
0484 
0485 
0486 
0487 
0488 
0489 
048A 
048B 
048C 
048D 
048E 
048F 
0490 
0491 
0492 
0493 
0494 
0495 



8553 
5041 
43C5 
0467 
34 2 
0387 
01ED 
026A 

842D 
4455 
D020 
0471 
047E 
C300 
4101 
98F9 
98F8 



8854 
5241 
5645 
5253 
C520 
0479 
0342 
02D5 
02C9 
2 9F 
0103 
007F 
02C9 
0311 
045D 
0124 
FFF8 
02D5 
02D0 
026A 



A 
A 
A 
A 
A 
A 
A 
A 

A 
A 
A 
A 
A 
A 
A 
I 
I 



A 
A 
A 
A 
A 
A 
A 
A 

A 
A 
A 
A 
A 
A 
A 
A 
A 
A 
A 
A 



ST 
LD 
ST 
JMP 

HEAD 
.WORD 



X,2(SP) 
X,0(SP) 
X,1(SP) 
PUT 



TO THIRD 
MOVE BOTTOM 

TO SECOND 
PUT THIRD ON BOTTOM 



ORD, 5, LONG, 'S'/256 
'PA' , 'CE'+ODD,ROT-3 



SPACE: .WORD DOCOL , BL , EMIT, SEMI S 



HEAD ORD, 4, LONG, '-'/256 
.WORD 'DU' ,'P'+EVEN,SPACE-4 



DDUP: 



.WORD 


. + 1 


LD 


0,0(SP) 


BOC 


Z, .+2 


JMP 


PUSH 


JMP 


NEXT 



; GET BOTTOM OF STACK 
; DUP IF NOT ZERO 



* VARIABLE LENGTH NAME SUPPORT * 

*************************************************** 

HEAD ORD, 8, LONG, 'T'/256 

.WORD 'RA' ,'VE' ,'RS' , ' E '+EVEN , DDUP-4 



0496 864C A 



TRAV: .WORD DOCOL, SWAP 

TRAV1: .WORD OVER, PLUS , LIT , 007F 

.WORD OVER, CAT, LESS, ZBRAN 

.WORD TRAV1-. , SWAP, DROP, SEMIS 

» 

HEAD ORD, 6, LONG, 'L'/256 



PACE ASSEMBLER REV-A 05/23/75 
FORTH NUCLEUS FOR PACE 
DICTIONARY 



1033 



1034 



1035 
1036 
1037 
1038 
1039 

1040 



1041 
1042 
1043 
1044 
1045 

1046 



1047 
1048 

1049 
1050 
1051 
1052 

1053 



1054 



1055 
1056 
1057 
1058 
1059 

1060 



0497 
0498 
0499 
049A 
049B 
049C 
049D 
049E 
049F 



04A0 
04A1 
04A2 
04A3 
04A4 
04A5 
04A6 



04A7 
04A8 
04A9 
04AA 
4AB 
04AC 
4AD 



04AE 
04AF 
04B0 
04B1 
04B2 
04B3 
04B4 
04B5 
4B6 
04B7 
04B8 
4B9 
04BA 
04BB 
04BC 



04BD 
04BE 
04BF 
04C0 



4154 
4553 
D420 
0482 
0342 
0401 
030B 
030B 
026A 



834C 
46C1 
0496 
0342 
037E 
0450 
026A 



8343 
46C1 
04A0 
0342 
037A 
0450 
026A 



834E 
46C1 
04A7 
0342 
037E 
0450 
02FD 
0103 
FFFF 
0488 
0103 
FFFF 
0488 
0305 
026A 



A 
A 
A 
A 
A 
A 
A 
A 
A 



A 
A 
A 
A 
A 
A 
A 



A 
A 
A 
A 
A 
A 
A 



A 
A 
A 
A 
A 
A 
A 
A 
A 
A 
A 
A 
A 
A 
A 



8350 A 
46C1 A 
04AE A 
0342 A 



.WORD 'AT' , ES , T'+EVEN,TRAV-6 



LATEST: .WORD DOCOL , CURR, AT , AT , SEMI'S 



LFA 



2 - 



LFA: 



HEAD ORD,3,LONG, 'L'/256 
.WORD 'FA'+ODD,LATEST-5 

.WORD DOCOL, TWO, SUB , SEMIS 



CFA 



1 



HEAD 
.WORD 



CFA: 



NFA 



HEAD 
.WORD 



NFA: 



ORD,3,LONG,'C'/256 
'FA'+ODD,LFA-3 



.WORD DOCOL, ONE, SUB, SEMIS 



- BYTE -1 
-1 



TRAVERSE 
TRAVERSE CELL 



ORD,3,LONG, 'N'/256 
'FA'+ODD,CFA-3 



.WORD DOCOL, TWO, SUB, BYTE, LIT, -1 



.WORD TRAV, LIT,-! , TRAV , CELL , SEMI S 



: PFA 



BYTE 



TRAVERSE CELL 



PFA: 



HEAD ORD, 3, LONG, 'P'/256 
.WORD 'FA'+ODD,NFA-3 

.WORD DOCOL, BYTE, ONE, TRAV 



PACE ASSEMBLER REV-A 05/23/75 
FORTH NUCLEUS FOR PACE 
DICTIONARY 



1061 



1062 
1063 
1064 
1065 
1066 
1067 
1068 



1069 



1070 
1071 
1072 



1073 



1074 



1075 
1076 
1077 
1078 
1079 
1080 



1081 



1082 



1083 
1084 
1085 



1086 



04C1 
04C2 
04C3 
04C4 
04C5 
04C6 
04C7 



02FD 
037A 
0488 
0305 
0382 
029F 
026A 



A 
A 
A 
A 
A 
A 
A 



04C8 
04C9 
04CA 
04CB 
04CC 
04CD 
04CE 
04CF 
4D0 

4D1 
4D2 
4D3 
4D4 
04D5 
04D6 
4D7 
04D8 
4D9 
04DA 
04DB 
04DC 
04DD 
4DE 

04DF 
04E0 
04E1 
04E2 
04E3 
04E4 
04E5 
04E6 
04E7 
04E8 
04E9 
04EA 

04EB 
04EC 
04ED 
04EE 
04EF 



8421 
4353 
D020 
4BD 
0342 
0255 
041C 
031D 
026A 

863F 

4552 

524F 

D220 

04C8 

0342 

02D5 

0124 

0004 

0744 

011B 

0002 

02D0 

026A 

853F 

434F 

4DD0 

04D1 

0342 

0407 

030B 

028F 

0103 

0011 

04D6 

026A 

853F 
4558 

45C3 
04DF 
0342 



A 
A 
A 
A 
A 
A 
A 
A 
A 

A 
A 
A 
A 
A 
A 
A 
A 
A 
A 
A 
A 
A 
A 

A 
A 
A 
A 
A 
A 
A 
A 
A 
A 
A 
A 

A 
A 
A 
A 
A 



WORD CELL, THREE, PLUS, SEMIS 



* ERROR PROCEDURES, PER SHIRA * 

*************************************************** 

HEAD 0RD,4,L0NG, '» '/256 
.WORD 'CS','P'+EVEN,PFA-3 



SCSP: .WORD DOCOL, SPAT, CSP, STORE, SEMIS 



HEAD ORD,6,LONG, '?'/256 

.WORD 'ER','RO','R'+EVEN,SCSP-4 



QERROR: .WORD DOCOL , SWAP , ZBRAN 

.WORD QERR1-. , ERROR, BRAN 



.WORD QERR2-. 

QERR1: .WORD DROP 

QERR2: .WORD SEMIS 

» 

HEAD ORD,5,LONG, '?'/25 6 

.WORD 'CO' ,'MP'+ODD,QERROR-5 



QCOMP: .WORD DOCOL , STATE , AT , ZEQU 



WORD LIT, 00 11, QERROR, SEMIS 



HEAD ORD,5,LONG, '?'/256 
.WORD 'EX','EC'+ODD,QCOMP-4 



QEXEC: .WORD DOCOL , STATE , AT 



PACE ASSEMBLER REV-A 05/23/75 
FORTH NUCLEUS FOR PACE 
DICTIONARY 



1087 



1088 
1089 
1090 



1091 



1092 
1093 
1094 



1095 



1096 



1097 
1098 
1099 



1 100 



1 101 



1 102 
1103 
1104 
1105 
1106 
1107 
1108 
1 109 



04F0 
04F1 
04F2 
04F3 
04F4 
04F5 

04F6 
04F7 
04F8 
04F9 
04FA 
04FB 
04FC 
04FD 
04FE 
04FF 
0500 

0501 
0502 
0503 
0504 
0505 
0506 
0507 
0508 
0509 
5 0A 
050B 
5 0C 
5 0D 

050E 
050F 
0510 
0511 
0512 
0513 

0514 
0515 

0516 

0517 
0518 

0519 
051A 
051B 



0407 
030B 
0103 
0012 
04D6 
026A 

863F 
5041 
4952 
D320 
04EB 
0342 
0450 
0103 
0013 
4D6 
026A 

843F 
4353 
D020 
04F6 
0342 
0255 
041C 
030B 
0450 
0103 
0014 
04D6 
026A 

883F 
4C4F 
4144 
494E 
C720 
0501 
0342 
03DD 

030B 
028F 
0103 
0016 
04D6 
026A 



A 
A 
A 
A 
A 
A 

A 
A 
A 
A 
A 
A 
A 
A 
A 
A 
A 

A 
A 
A 
A 
A 
A 
A 
A 
A 
A 
A 
A 
A 

A 
A 
A 
A 
A 
A 
A 
A 
A 
A 
A 
A 
A 
A 



WORD LIT, 0012, QERROR, SEMIS 



HEAD ORD,6,LONG, '?'/256 

.WORD 'PA' , 'IR' , 'S'+EVEN,QEXEC-4 



QPAIRS: .WORD DOCOL , SUB , LIT, 00 1 3 , QERROR, SEMI S 



HEAD ORD,4,LONG, '?'/256 
.WORD 'CS' , 'P'+EVEN,QPAIRS-5 



QCSP: .WORD DOCOL , SPAT , CSP , AT, SUB 



.WORD LIT, 0014, QERROR, SEMIS 



051C 8743 A 



HEAD ORD,8,LONG, '?'/256 

.WORD 'LO','AD','IN','G'+EVEN,QCSP-4 



QLOAD: .WORD DOCOL , BLK, AT , ZEQU 



.WORD LIT, 0016, QERROR, SEMIS 



*************************************************** 
* COMPILE, SMUDGE, HEX, DECIMAL * 

*************************************************** 

: COMPILE ?COMP R> DUP 1+ >R @ , ; 

HEAD ORD, 7, LONG, 'C/256 



PACE ASSEMBLER REV-A 05/23/75 
FORTH NUCLEUS FOR PACE 
DICTIONARY 



1110 



1111 



1 112 



1 113 
1114 
1 115 
1 116 



1 117 
1 118 
1 119 
1120 



1 121 



1122 
1123 
1124 
1 125 
1126 



1 127 



1 128 



1 129 
1 130 
1 131 

1 132 



051D 
051E 

051F 
0520 
0521 
0522 
0523 
0524 
0525 
0526 
0527 
0528 
0529 

052A 
052B 
052C 
5 2D 
052E 
052F 
0530 

0531 
0532 
05 33 
0534 
0535 
0536 
0537 
0538 



0539 
053A 
053B 
053C 
053D 
053E 
053F 
0540 
0541 
0542 
0543 
0544 

0545 
0546 
0547 
0548 
0549 
054A 
054B 
054C 
5 4D 



4F4D 
5049 

4CC5 
050E 
0342 
04E3 
0283 
02DD 
042B 
027B 
030B 
0448 
026A 

C1DB 
051C 
0342 
0376 
0407 
031D 
026A 

81DD 
052A 
0342 
0103 
00C0 
0407 
031D 
026A 



8653 
4D5 5 
4447 
C520 
0531 
0342 
049B 
02FD 
0103 
0020 
02ED 
026A 

8348 
45D8 
0539 
0342 
0103 
0010 
040D 
031D 
026A 



A 
A 

A 
A 
A 
A 
A 
A 
A 
A 
A 
A 
A 

A 
A 
A 
A 
A 
A 
A 

A 
A 
A 
A 
A 
A 
A 
A 



.WORD 



OM , 'PI' , 'LE'+0DD,QL0AD-6 



A 
A 
A 
A 
A 
A 
A 

A 
A 
A 
A 
A 

A 
A 
A 
A 
A 
A 
A 
A 
A 



COMPIL: .WORD DOCOL , QCOMP, FROMR , DUP 



.WORD ONEP, TOR, AT, COMMA, SEMIS 



LBRAC: 



HEAD 

.WORD 

.WORD 



IMM,1, SHORT, ' ['/256 

COMPIL-5 

DOCOL, ZERO, STATE, STORE, SEMIS 



RBRAC: 



HEAD 

.WORD 

.WORD 



ORD, 1, SHORT,'] '/256 

LBRAC-2 

DOCOL, LIT, 00C0 



.WORD STATE, STORE, SEMIS 



: SMUDGE LATEST BYTE 20 TOGGLE ; 



HEAD 
.WORD 



ORD, 6, LONG, 'S'/256 

'MU' , 'DG' , 'E'+EVEN,RBRAC-2 



SMUDGE: .WORD DOCOL , LATEST , BYTE 



.WORD LIT, 0020, TOGGLE, SEMIS 



HEAD 
.WORD 



ORD, 3, LONG, 'H'/256 
'EX'+ODD,SMUDGE-5 



HEX: 



.WORD DOCOL, LIT, 00 10, BASE, STORE, SEMIS 



PACE ASSEMBLER REV-A 05/23/75 
FORTH NUCLEUS FOR PACE 
DICTIONARY 



1133 
1 134 
1 135 



1136 



1137 
1138 
1139 
1140 
1141 
1 142 
1143 



1144 



1145 



1146 
1147 
1148 
1149 



1150 



1 151 



1152 
1 153 
1 154 
1 155 
1 156 
1 157 
1158 



054E 
054F 
0550 
0551 
0552 
0553 
0554 
0555 
0556 
0557 
0558 



0559 
055A 
055B 
055C 
5 5D 
055E 
055F 
0560 
0561 
0562 
0563 
0564 



0565 
0566 
0567 
0568 
0569 
056A 
056B 
056C 
056D 
056E 
056F 



1 159 



0570 
0571 
0572 
0573 
0574 
0575 
0576 
0577 



8744 
4543 
494D 
41CC 
0545 
0342 
0103 
000A 
040D 
031D 
026A 



8728 
3B43 
4F44 
45A9 
054E 
0342 
0283 
049B 
04C0 
4AA 
031D 
026A 



C53B 
434F 
44C5 
0559 
0342 
0505 
0521 
055E 
052C 
053E 
026A 



873C 
4255 
494C 
44D3 
0565 
0342 
0376 
0357 



A 
A 
A 
A 
A 
A 
A 
A 
A 
A 
A 
A 



A 
A 
A 
A 
A 
A 
A 
A 
A 
A 
A 



DEC 



HEAD ORD,7,LONG, 'D'/256 

.WORD 'EC , 'IM' , 'AL'+ODD,HEX-3 



.WORD DOCOL, L IT, A, BASE, STORE, SEMIS 



*************************************************** 
* ;CODE * 

*************************************************** 

HEAD ORD,7,LONG, ' ('/256 

.WORD ' ;C ,'OD' ,'E) '+ODD.DEC-5 



PSCODE: .WORD DOCOL , FROMR, LATEST 



.WORD PFA,CFA, STORE, SEMIS 



HEAD IMM,5,LONG, ' ; '/256 
4 .WORD 'CO' , 'DE'+ODD,PSCODE-5 



SEMIC: .WORD DOCOL, QCSP,COMPIL, PSCODE 



.WORD LBRAC, SMUDGE, SEMIS 



*************************************************** 

* <BUILDS, DOES> * 

********************************** ***************** 

HEAD ORD,7,LONG, '<'/256 

.WORD 'BU' ,'IL', 'DS'+ODD,SEMIC-4 



BUILDS: .WORD DOCOL , ZERO , CON, SEMIS 



PACE ASSEMBLER REV-A 05/23/75 
FORTH NUCLEUS FOR PACE 
DICTIONARY 



1160 
1161 
1 162 



0578 026A A 



1163 



1164 
1165 
1166 
116 7 
1168 
1169 
1170 
1171 
1172 

1173 
1174 
1 175 
1 176 
1177 
1178 
1179 
1180 



0579 

5 7A 

057B 

057C 

057D 

057E 

057F 

0580 

0581 

0582 

0583 
0584 
0585 
0586 
0587 
0588 
0589 



8544 
4F45 
53BE 
0570 
0342 
0283 
049B 
04C0 
031D 
055E 

AC21 
5C40 
B021 
C601 
5002 
6880 
98F9 



A 
A 
A 
A 
A 
A 
A 
A 
A 
A 

A 
A 
A 
A 
A 
A 
I 



1181 



1182 
1183 
1 184 



1185 



1186 



1 187 



058A 

058B 

058C 

058D 

058E 

058F 

0590 

0591 

0592 

0593 

0594 

0595 

0596 

0597 

0598 

0599 

059A 

059B 

059C 

059D 

059E 

059F 

05A0 

05A1 

05A2 

05A3 

05A4 



8543 
4F55 
4ED4 
0579 
0342 
2FD 
02DD 
042B 
02D5 
0311 
026A 

8454 

5950 

C520 

058A 

0342 

047D 

0124 

000C 

02C9 

029F 

02D5 

0155 

0161 

0311 

01ED 

012F 



A 
A 
A 
A 
A 
A 
A 
A 
A 
A 
A 

A 

A 

A 

A 

A 

A 

A 

A 

A 

A 

A 

A 

A 

A 

A 

A 



HEAD ORD,5,LONG,'D'/256 
.WORD 'OE','S>'+ODD,BUILDS-5 



DOES: .WORD DOCOL , FROMR, LATEST, PFA , STORE , PS CODE 



DODOES: DSZ 

RCPY 
ST 

ld; 

LI 

RADD 

JMP 



RP 

IP-,0 
0,@RP' 
1,KW) 
0,2 
W,0 
PUSH 



; EXTEND RETURN STACK 

*, PUSH IP- 
LOAD IP FROM PARAM 
POINT BOTTOM 
OF STACK 
TO PFA+1 



*************************************************** 
* TEXT OUTPUTS * 

************************************* i(ic m ic i ( m i(it i tie 

: COUNT BYTE DUP 1+ SWAP C@ ; 

HEAD ORD,5,LONG, 'C/25 6 
.WORD 'OU','NT'+ODD,DOES-4 



COUNT: .WORD DOCOL , BYTE, DUP , ONEP , SWAP , CAT , SEMIS 



HEAD ORD,4,LONG, 'T'/256 
.WORD 'YP','E'+EVEN,COUNT-4 



TYPE: .WORD DOCOL , DDUP , ZBRAN 



WORD TYPE2-., OVER, PLUS, SWAP, XDO 



TYPE1: .WORD I , CAT , EMIT, XLOOP 



PACE ASSEMBLER REV-A 05/23/75 
FORTH NUCLEUS FOR PACE 
DICTIONARY 

1188 05A5 FFFC A .WORD TYPE1-.,BRAN 
05A6 011B A 

1189 05A7 0002 A .WORD TYPE3-. 

1190 05A8 02D0 A TYPE2: .WORD DROP 

1191 05A9 026A A TYPE3: .WORD SEMIS 

1192 ; 

1193 05AA 892D A HEAD ORD , 9 ,LONG , '- ' /256 

1194 05AB 5452 A .WORD 'TR' , ' AI ' , 'LI ' , 'NG '+ODD , TYPE-4 
05AC 4149 A 

05AD 4C49 A 

05AE 4EC7 A 

05AF 0595 A 

1195 05B0 0342 A DTRAIL: .WORD DOCOL ,DUP , ZERO , XDO 
05B1 02DD A 

05B2 0376 A 

05B3 0155 A 

1196 05B4 02C9 A DTRA1 : .WORD OVER, OVER , PLUS , ONE , SUB 
05B5 02C9 A 

05B6 029F A 

05B7 037A A 

05B8 0450 A 

1197 05B9 0311 A .WORD CAT , BL , SUB , ZBRAN 
05BA 0387 A 

05BB 0450 A 

05BC 0124 A 

1198 05BD 0004 A .WORD DTRA2- ., LEAVE , BRAN 
05BE 0273 A 

05BF 011B A 

1199 05C0 0003 A .WORD DTRA3-. 

1200 05C1 037A A DTRA2: .WORD ONE, SUB 
05C2 0450 A 

1201 05C3 012F A DTRA3: .WORD XLOOP 

1202 05C4 FFFO A .WORD DTRA1- . , SEMI S 
05C5 026A A 

1203 ; 

1204 ; : (.") R COUNT DUP CELL 1+ 

1205 ; R> + >R TYPE ; 

1206 ; 

1207 05C6 8428 A HEAD ORD , 4 ,LONG , ' ( ' / 256 

1208 05C7 2E22 A .WORD '."',') '+EVEN , DTRAIL-6 
05C8 A920 A 

05C9 05AA A 

1209 05CA 0342 A PDOTQ: .WORD DOCOL , R, COUNT , DUP , CELL , ONEP 
05CB 0289 A 

05CC 058E A 

05CD 02DD A 

05CE 0305 A 

05CF 042B A 

1210 05D0 0283 A .WORD FROMR , PLUS , TOR, TYPE , SEMEF 
05D1: 029F A 

05D2 027B A 

05D3 0599 A 

05D4 026A A 

L2l:l: ;' ■ 

1212 ;' : . " 2.2 STATE @ IF COMPILE ( • " ) WORD? 



PACE ASSEMBLER REV-A 05/23/75 
FORTH NUCLEUS FOR PACE 
DICTIONARY 



1213 








L2U 








L2L5 








1216 








1217 


05D5 


C22E 


A 


1218 


05D6 


A220 


A 




5D7 


05C6 


A 


1219 


05D8 


0342 


A 




05D9 


0103 


A 




05DA 


0022 


A 




05DB 


0407 


A 




05DC 


030B 


A 




05DD 


0124 


A 


1220 


05DE 


OOOC 


A 




05DF 


0521 


A 




05E0 


05CA 


A 




05E1 


06A8 


A 


1221 


05E2 


043A 


A 




05E3 


02FD 


A 




05E4 


0311 


A 




05E5 


0305 


A 




05E6 


04 2B 


A 




05E7 


0442 


A 




05E8 


011B 


A 


1222 


05E9 


0005 


A 


1223 


05EA 


06A8 


A 




05EB 


043A 


A 




05EC 


058E 


A 




05ED 


0599 


A 


1224 


05EE 


026A 


A 


1225 








1226 








05ED 0599 A 




1224 


5EE 


026A 


A 


1225 








1226 








1225 








1226 








ORTH 


NUCLEUS FOR 



DOTQ 



HERE 


BYTE C@ CELL 13- ALLOT 


word: 


HERE COUNT TYPE ENDTF 


IMMEDIATE 


HEAD 


IMM,2,L0NG, ' . '/256 


.WORD 


""+EVEN,PD0TQ-4 


.WORD 


DOCOL,LIT, "*'/25 6,STATE,AI 



ELSE 



WORD D0TQ1-. ,COMPIL,PDOTQ,WORD 



WORD HERE, BYTE, C AT, C ELL, ONEP, ALLOT, BRAN 



.WORD DOTQ2-. 
DOTQ1: .WORD WORD , HERE , COUNT , TYPE 



DOTQ2: .WORD SEMIS 

» 

.LIST PART=2 

DOTQ2: .WORD SEMIS 

024 05EE 026A A DOTQ2: .WORD SEMIS 

» 

PACE ASSEMBLER REV-A 05/23/75 
PACE 



1227 
1228 
1229 
1230 
1231 
1232 
1233 
1234 
1235 
1236 
1237 
1238 
1239 
1240 
1241 



1242 



1243 



1.244 



1245 



05EF 

05F0 

05F1 

05F2 

05F3 

05F4 

05F5 

05F6 

5F7 

05F8 

05F9 

05FA 

05FB 

05FC 

05FD 

05FE 

05FF 

0600 

0601 

0602 

0603 

0604 

6 05 

0606 

0607 

0608 

0609 

060A 

060B 

060C 

060D 

060E 



8645 
5850 

4543 

D420 

05D5 

0342 

02C9 

029F 

02C9 

0155 

01F1 

02DD 

0103 

0007 

03A6 

030B 

0457 

0124 

0010 

02D0 

010 3 

0008 

02C9 

0161 

0457 

02DD 

0283 

037E 

0450 

029F 

027B 

0450 



A 

A 

A 
A 
A 
A 
A 
A 
A 
A 
A 
A 
A 
A 
A 
A 
A 
A 
A 
A 
A 
A 
A 
A 
A 
A 
A 
A 
A 
A 
A 
A 



*************************************************** 
* TERMINAL INPUT * 

*************************************************** 

: EXPECT OVER + OVER DO KEY DUP 

07 +ORIGIN @ = IF DROP 08 
OVER I = DUP R> 2 - + >R - 
ELSE DUP OD = 

IF LEAVE DROP BL ELSE DUP 

ENDIF I C! I 1+ C! 

ENDIF EMIT LOOP DROP ; 

HEAD ORD,6,LONG, 'E'/256 

.WORD 'XP' , 'EC' , 'T'+EVEN,DOTQ-3 



EXPECT: .WORD DOCOL , OVER , PLUS , OVER , XDO 



EXPEC1: .WORD KEY ,DUP , LIT , 07 , PORIG , AT , EQUAL , ZBRAN 



WORD 



EXPEC2-. , DROP, LIT, 08, OVER, I, EQUAL 



WORD DUP, FROMR, TWO, SUB, PLUS, TOR, SUB, BRAN 



PACE ASSEMBLER REV-A 05/23/75 
FORTH NUCLEUS FOR PACE 
DICTIONARY 



1246 
1247 



1248 



1249 
1250 
1251 



1252 



1253 



1254 
1255 
1256 
1257 
1258 



1259 



1260 



1261 
1262 
1263 
1264 



1265 
1266 



06 OF 
0610 
0611 
0612 
0613 
0614 
0615 
0616 
0617 
0618 
0619 
061A 
061B 
061C 
061D 
061E 
061F 
0620 
0621 
0622 
0623 
0624 
0625 
0626 
0627 
0628 



6 29 
062A 
062B 
062C 
6 2D 
062E 
062F 
0630 
0631 
0632 
0633 
0634 
0635 
0636 
0637 

0638 
0639 
063A 
063B 
063C 
6 3D 
063E 
063F 
0640 
0641 



011B 
0014 
02DD 
0103 
OOOD 
0457 
0124 
0007 
0273 
02D0 
38 7 
0376 
011B 
0002 
02DD 
0161 
0324 
0376 
0161 
042B 
0324 
01ED 
012F 
FFD3 
02D0 
026A 



8551 
5545 
52D9 
05EF 
0342 
03B8 
030B 
02FD 
0103 
0050 
05F4 
0376 
03E2 
031D 
026A 

C180 
0629 
0342 
03DD 
030B 
0124 
0013 
037A 
03DD 
02E3 



A 
A 
A 
A 
A 
A 
A 
A 
A 
A 
A 
A 
A 
A 
A 
A 
A 
A 
A 
A 
A 
A 
A 
A 
A 
A 



A 
A 
A 
A 
A 
A 
A 
A 
A 
A 
A 
A 
A 
A 
A 

A 
A 
A 
A 
A 
A 
A 
A 
A 
A 



EXPEC2: 



.WORD EXPEC5-. 

.WORD DUP, LIT, OD, EQUAL, ZBRAN 



.WORD EXPEC3-. , LEAVE , DROP , BL , ZERO , BRAN 



.WORD EXPEC4-. 
EXPEC3: .WORD DUP 
EXPEC4: .WORD I , CSTORE , ZERO , I ,ONEP , CSTORE 



EXPEC5: .WORD EMIT,XLOOP 

.WORD EXPEC1-. , DROP, SEMIS 



QUERY TIB @ BYTE 50 EXPECT 

HEAD 0RD,5,L0NG, 'Q'/256 
.WORD 'UE' , 'RY'+ODD,EXPECT-5 



QUERY: .WORD DOCOL , TIB , AT , BYTE , LIT, 0050 



IN 



.WORD EXPECT, ZERO, IN, STORE, SEMIS 



NULL: 



HEAD 

.WORD 

.WORD 



.WORD 
.WORD 



IMM, 1 , SHORT, 00 

QUERY-4 

DOCOL, BLK, AT, ZBRAN 



NULL 



NULL2-. 

ONE, BLK, PS TORE, ZERO, IN, STORE 



PACE ASSEMBLER REV-A 05/23/75 
FORTH NUCLEUS FOR PACE 
DICTIONARY 



1267 



1268 



1269 
1270 
1271 

1272 
1273 
1274 
1275 
1276 
1277 
1278 
1279 
1280 
1281 
1282 
1283 
1284 
1285 



1286 



1287 



1288 
1289 
1290 



1291 



1292 



0642 
0643 
0644 
0645 
0646 
0647 
0648 
0649 
6 4A 

064B 
064C 

6 4D 
064E 
064F 
0650 
0651 
0652 
0653 



0654 
0655 
0656 
0657 
0658 
0659 
065A 
065B 
065C 
065D 
065E 
065F 
0660 
0661 
0662 
0663 

0664 
0665 
0666 
0667 
0668 

0669 
066A 
066B 



0376 
03E2 
031D 
03DD 
030B 
039F 
0919 
028F 
0124 

0004 
04EF 

0283 
02D0 
011B 
0003 
0283 
02D0 
026A 



8446 
494C 
CC20 
0638 
0342 
02D5 
027B 
02C9 
031D 
02DD 
042B 
0283 
037A 
0450 
0201 
026A 

8545 
5241 
53C5 
0654 
0342 
0376 
0658 
026A 



A 
A 
A 
A 
A 
A 
A 
A 
A 
A 
A 
A 
A 
A 
A 
A 

A 
A 
A 
A 
A 
A 
A 
A 



.WORD BLK,AT,BSCR,MOD,ZEQU,ZBRAN 



.WORD NULL1-. ,QEXEC,FROMR,DROP 



NULL1 : 



NULL2: 



.WORD 
.WORD 
.WORD 



NULL3: .WORD 



BRAN 

NULL3-. 

FROMR,DROP 

SEMIS 



*************************************************** 

* FILL, ERASE, BLANKS, HOLD, PAD, CMOVE * 

* * *■* *********************************************** 

NOTE THAT THE NEXT THREE WORDS FILL 
16-BIT WORDS, NOT BYTES. 



FILL SWAP >R OVER 
R> 1 - MOVE 



! DUP 1+ 



FILL: 



HEAD ORD,4,LONG, 'F'/256 
.WORD 'IL' , 'L'+EVEN,NULL-2 



.WORD DOCOL, SWAP, TOR, OVER, STORE, DUP 



.WORD ONEP,FROMR, ONE, SUB, MOVE, SEMIS 



HEAD ORD,5,LONG, 'E'/256 
.WORD 'RA' , 'SE'+ODD,FILL-4 



ERASE: .WORD DOCOL , ZERO , FILL , SEMI S 



PACE ASSEMBLER REV-A 05/23/75 
FORTH NUCLEUS FOR PACE 
DICTIONARY 



1293 
1294 
1295 
1296 



1297 



1298 
1299 
1300 



1301 



1302 



1303 
1304 
1305 
1306 
1307 
1308 
1309 

1310 



1311 

1312 
1313 
1314 
1315 
1316 
1317 



1318 



1319 



066C 
066D 
066E 
066F 
0670 
0671 
0672 
0673 
0674 
0675 

0676 
0677 
0678 
0679 
067A 
067B 
067C 

067D 
067E 
067F 

0680 
0681 
0682 



0683 
0684 
0685 
0686 
0687 
0688 
0689 
068A 
068B 



068C 
068D 
068E 
068F 
0690 
0691 
0692 
0693 
0694 
0695 



8642 
4C41 
4E4B 
D320 
0664 
0342 
0103 
2020 
0658 
026A 

8448 
4F4C 
C420 
066C 
0342 
0103 
FFFF 
0426 
2E3 
0426 
030B 
0324 
026A 



8350 
41C4 
0676 
0342 
043A 
0103 
0022 
029F 
026A 



8543 
4D4F 
56C5 
0683 
0342 
047D 
0124 
000E 
02C9 
029F 



A 
A 

A 
A 
A 
A 
A 
A 
A 
A 

A 
A 
A 
A 
A 
A 
A 
A 
A 
A 

A 
A 
A 



A 
A 
A 
A 
A 
A 
A 
A 
A 



A 
A 
A 
A 
A 
A 
A 
A 
A 
A 



BLANKS 2020 FILL ; 

HEAD ORD,6,LONG, 'B'/256 

.WORD 'LA' , 'NK' , ' S ' + EVEN , ERASE-4 



BLANKS: .WORD DOCOL , LIT , 02020 , FILL , SEMIS 



HEAD 0RD,4,L0NG, 'H'/256 
.WORD 'OL' , 'D'+EVEN,BLANKS-5 



HOLD: .WORD DOCOL ,L IT, -1 ,HLD , PSTORE 

.WORD HLD,AT,CSTORE, SEMIS 

NOTE THAT PAD IS A WORD ADDRESS. 

: PAD HERE 22 + ; 

HEAD ORD,3,LONG, 'P'/256 
.WORD 'AD'+ODD,HOLD-4 



PAD: 



.WORD DOCOL, HERE, LIT, 00 2 2, PLUS, SEMIS 



CMOVE -DUP IF OVER + SWAP DO 
DUP C@ I C! 1+ LOOP 
ELSE DROP ENDIF DROP ; 

HEAD ORD,5,LONG, 'C/256 
.WORD 'MO' , 'VE'+ODD,PAD-3 



CMOVE: .WORD DOCOL ,DDUP , ZBRAN 



.WORD CMOVE2-. , OVER , PLUS , SWAP , XDO 



PACE ASSEMBLER REV-A 05/23/75 
FORTH NUCLEUS FOR PACE 
DICTIONARY 



1320 



1321 

1322 
1323 
1324 

1325 
1326 
1327 
1328 
1329 
1330 
1331 
1332 
1333 
1334 
1335 
1336 
1337 



1338 



1339 



1340 
1341 

1342 



1343 



0696 
0697 
0698 
0699 
069A 
069B 
069C 
069D 
069E 
069F 
06A0 
6A1 
06A2 
06A3 



1344 



06A4 
06A5 
06A6 
06A7 
06A8 
06A9 
06AA 
06AB 
06AC 
6AD 
06AE 
06AF 
06B0 
06B1 
06B2 
06B3 
06B4 
06B5 
06B6 
06B7 
06B8 
06B9 
06BA 
06BB 
06BC 
06BD 
06BE 
06BF 
06C0 
06C1 



02D5 
0155 
02DD 
0311 
0161 
0324 
042B 
012F 
FFFA 
01 IB 
0002 
02D0 
02D0 
026A 



8457 
4F52 
C420 
068C 
0342 
03DD 
030B 
0124 
0006 
03DD 
030B 
09B6 
011B 
0003 
03B8 
030B 
02FD 
03E2 
030B 
029F 
02D5 
01B1 
043A 
0103 
0011 
0671 
03E2 
02E3 
02C9 
0450 



A 
A 
A 
A 
A 
A 
A 
A 
A 
A 
A 
A 
A 
A 
A 
A 
A 
A 
A 
A 
A 
A 
A 
A 
A 
A 
A 
A 
A 
A 



CMOVE1: .WORD DUP , CAT , I , CSTORE , ONEP , XLOOP 



.WORD CMOVE1-. ,BRAN 



CMOVE2: 
CMOVE3 : 



.WORD 
.WORD 
.WORD 



CMOVE3-. 

DROP 

DROP, SEMIS 



*************************************************** 

* WORD * 

*************************************************** 

:: WORD BLK @ IF BLK @ BLOCK ELSE TIB @ 
ENDIF BYTE IN @ + SWAP ENCLOSE 
HERE 11 BLANKS IN + ! OVER - >R 
R HERE BYTE C! 4- HERE BYTE 1 + 
R> CMOVE ; 

HEAD ORD,4,LONG, 'W/256 
.WORD 'OR' , 'D'+EVEN,CMOVE-4 



WORD: .WORD DOCOL , BLK , AT , ZBRAN 



WORD WORD1-. , BLK, AT, BLOCK, BRAN 



.WORD WORD2-. 
WORD1: .WORD TIB, AT 

WORD2: .WORD BYTE , IN, AT , PLUS , SWAP , ENCL 



.WORD HERE, LIT, 1 7 , BLANKS , IN , PSTORE 



.WORD OVE R, SUB, TOR, R, HERE, BYTE, CSTORE 



PACE ASSEMBLER REV-A 05/23/75 
FORTH NUCLEUS FOR PACE 
DICTIONARY 



1345 



1346 



1347 
1348 
1349 
1350 
1351 
1352 
1353 



1354 
1355 



1356 



1357 



1358 



1359 



1360 

1361 
1362 



06C2 
06C3 
06C4 
06C5 
06C6 
06C7 
06C8 
06C9 
06CA 
06CB 
06CC 
06CD 



06CE 
06CF 
06D0 
6D1 
06D2 
06D3 
06D4 
06D5 
06D6 
06D7 
06D8 
06D9 
6DA 
06DB 
06DC 
06DD 
06DE 
06DF 
06E0 
06E1 
06E2 
06E3 
6E4 
06E5 
06E6 
06E7 
06E8 
06E9 
06EA 
06EB 
6EC 
06ED 
06EE 

06EF 
06F0 

06F1 
06F2 
6F3 



027B 
0289 
043A 
02FD 
0324 
029F 
043A 
02FD 
042B 
0283 
0690 
026A 



8828 
4E55 
4D42 
4552 
A920 
06A4 
0342 
042B 
02DD 
027B 
0311 
040D 
030B 
0166 
0124 
0016 
02D5 
040D 
030B 
0213 
2D0 
046A 
4 0D 
030B 
0213 
02A7 
0412 
030B 
042B 
0124 
0004 
037A 
0412 

02E3 
0283 

011B 

FFE3 
0283 



A 
A 
A 
A 
A 
A 
A 
A 
A 
A 
A 
A 
A 
A 
A 
A 
A 
A 
A 
A 
A 
A 
A 
A 
A 
A 
A 
A 
A 
A 
A 
A 
A 
A 
A 
A 

A 
A 



.WORD PLUS, HERE, BYTE, ONEP 



.WORD FR0MR,CM0VE, SEMIS 



*************************************************** 

* (NUMBER), NUMBER, -FIND * 

*************************************************** 

HEAD 0RD,8,L0NG, ' C/256 

.WORD 'NU' , 'MB' , 'ER' , ') '+EVEN , WORD- 4 



PNUMB: .WORD DOCOL 

PNUMB1: .WORD ONEP , DUP , TOR, CAT , BASE , AT , DIGIT , ZBRAN 



.WORD PNUMB3-. , SWAP , BASE , AT , USTAR 



.WORD DROP, ROT, BASE, AT, USTAR 



.WORD DPLUS,DPL, AT, ONEP, ZBRAN 



WORD PNUMB2-. , ONE , DPL , PSTORE 



PNUMB2: .WORD FROMR,BRAN 

.WORD PNUMB1-. 
PNUMB3: .WORD FROMR, SEMIS 



PACE ASSEMBLER REV-A 05 /2 3 / 75 
FORTH NUCLEUS FOR PACE 
DICTIONARY 



06F4 026A A 



1363 
1364 
1365 
1366 
1367 
1368 

1369 
1370 
1371 



1372 



1373 



1374 



1375 



1376 



1377 



1378 
1379 



1380 

1381 
1382 



06F5 
06F6 
06F7 
06F8 
06F9 
06FA 
06FB 

06FC 
6FD 
06FE 
06FF 
0700 
0701 
0702 
0703 
0704 
0705 
0706 
0707 
0708 
0709 
070A 
070B 
070C 
070D 
070E 
070F 
0710 
0711 
0712 
0713 
0714 
0715 
0716 
0717 
0718 
0719 
071A 
071B 
071C 
071D" 
071E 
071 F 
0720 
0721 
0722 



864E 
554D 
4245 
D220 
06CE 
0342 
02FD 
0376 
0376 
046A 
02DD 
042B 
0311 
0103 
002D 
0457 
02DD 
027B 
029F 
0103 
FFFF 
0412 
031D 
06D4 
02DD 
0311 
0387 
0450 
0124 
000B 
02DD 
0311 
0103 
002E 
0450 
0376 
04D6 
0376 
011B 
FFEE 
02DD 
0283 
0124 
0002 
02BD 
026A 



A 
A 
A 
A 
A 
A 
A 

A 
A 
A 
A 
A 
A 
A 
A 
A 
A 
A 
A 
A 
A 
A 
A 
A 
A 
A 
A 
A 
A 
A 
A 
A 
A 
A 
A 
A 
A 
A 
A 
A 
A 
A 
A 
A 
A 
A 



NUMBER BYTE ROT PUP 1+ C@ 
2D = DUP >R + -1 

BEGIN DPL i (NUMBER) DUP C@ BL - 
WHILE DUP C@ 2E - ?ERR0R REPEAT 
DROP R> IF DMINUS ENDIF ; 

HEAD ORD,6,LONG,'N'/25 6 

.WORD 'UM','BE','R'+EVEN,PNUMB-6 



NUMB: .WORD DOCOL , BYTE , ZERO , ZERO 



NUMB 2: 



•WORD ROT, DUP, ONEP, CAT, LIT 



WORD '-'/256,EQUAL,DUP,TOR,PLUS,LIT,-l 



NUMB1: .WORD DPL , STORE , PNUMB , DUP , CAT , BL , SUB ,ZBRAN 



.WORD NUMB 2-. ,DUP , CAT ,LIT, ' .'/256 



.WORD SUB , ZERO, QERROR, ZERO, BR\N 



.WORD NUMB1-. v 

.WORD 1 DROP.FROMR, ZBR.AN 



.WORD NUMB 3-. , DMINUS 

NUMB3: .WORD SEMIS 



PACE ASSEMBLER REV-A 05/23/75 
FORTH NUCLEUS FOR PACE 
DICTIONARY 



1383 
1384 

1385 



1386 



1387 



1388 
1389 
1390 
1391 
1392 
1393 
1394 
1395 
1396 
1397 



1398 



1399 
1400 
1401 



1402 



1403 
1404 



1405 
1406 



0723 
0724 
0725 
0726 
0727 
0728 
0729 
072A 
072B 
072C 
7 2D 
072E 
072F 
0730 
7 31 
0732 
0733 
0734 
0735 
0736 
0737 



0738 
0739 
7 3A 
073B 
073C 
7 3D 
073E 
073F 

0740 
0741 
0742 
0743 
0744 
0745 

0746 
0747 
0748 
0749 
074A 
074B 
074C 
074D 
074E 
074F 

0750 
0751 



852D 
4649 
4EC4 
06F5 
0342 
0387 
06A8 
043A 
03FA 
030B 
030B 
017D 
02DD 
028F 
0124 
0005 
02D0 
043A 
049B 
017D 
026A 



8728 
4142 
4F52 
54A9 
0723 
0342 

0874 
026A 

8545 
5252 
4FD2 
0738 
0342 
03C5 
030B 
0297 
0124 
0002 
7 3D 
043A 
058E 
0599 
05CA 
0420 
203F 
2020 



A 
A 
A 
A 
A 
A 
A 
A 

A 
A 
A 
A 
A 
A 

A 
A 
A 
A 
A 
A 
A 
A 
A 
A 
A 
A 



HEAD ORD,5,LONG, '-'/256 
.WORD 'FI' , 'ND'+ODD,NUMB-5 

DFIND: .WORD DOCOL , BL , WORD , HERE , CONT , AT 



WORD AT,PFIND,DUP,ZEQU,ZBRAN 



WORD DFIND1-. , DROP , HERE , LATEST , PFIND 



DFIND1: .WORD SEMIS 

*************************************************** 

* ERROR HANDLER * 

*************************************************** 

.FORM STRING, 8, 8 

HEAD ORD, 7, LONG, ' ('/256 

.WORD 'AB' ,'OR','I) '+ODD ,DFIND-4 



PABORT: .WORD DOCOL , ABORT , SEMI S 



HEAD ORD, 5, LONG, 'E'/256 

.WORD 'RR' , 'OR'+ODD,PABORT-5 



ERROR: .WORD DOCOL , WARN , AT , ZLESS , ZBRAN 

.WORD ERROR1-. , PABORT 
ERROR1 : .WORD HERE , COUNT , TYPE , PDOTQ 



STRING 4,' '/256 
.ASCII ' ? ' 



PACE ASSEMBLER REV-A 05/23/75 
FORTH NUCLEUS FOR PACE 
DICTIONARY 



1407 



1408 



1409 
1410 
1411 
1412 
1413 
1414 
1415 

1416 



1417 



1418 



1419 



1420 
1421 
1422 
1423 
1424 
1425 
1426 
1427 
1428 
1429 
1430 
1431 
1432 
1433 
1434 



0752 
0753 
0754 
0755 
0756 

0757 
0758 
0759 



075A 
075B 
075C 
075D 
7 5E 
075F 
0760 
0761 
0762 
0763 
0764 
0765 
0766 
0767 
0768 
0769 
076A 
076B 
076C 
076D 
076E 
076F 
0770 
0771 
0772 
0773 



0A05 
025B 
03E2 
030B 
03DD 
030B 
085C 
026A 



8349 
44AE 
0740 
0342 
0686 
0103 
0010 
0103 
5F5F 
0658 
02DD 
04C0 
04A3 
02C9 
0450 
0686 
02D5 
0201 
0686 
058E 
0103 
001F 
023F 
0599 
0475 
026A 



A 
A 
A 
A 
A 
A 
A 
A 
A 
A 
A 
A 
A 
A 
A 
A 
A 
A 
A 
A 
A 
A 
A 
A 
A 
A 



.WORD MESS,SPSTOR,IN,AT 



.WORD BLK, AT, QUIT, SEMIS 



: ID. PAD 010 5F5F FILL DUP PFA LFA 
OVER - PAD SWAP MOVE PAD COUNT 
OIF AND TYPE SPACE ; 

HEAD ORD,3,LONG, 'I'/256 
.WORD 'D. '+ODD,ERROR-4 

IDDOT: .WORD DOCOL, PAD, LIT, 0010, LIT, 05F5F 



.WORD FILL, DUP, PFA, LFA,0VER, SUB 



.WORD PAD, SWAP, MOVE, PAD, COUNT 



.WORD LIT, 00 IF, AND, TYPE, SPACE, SEMIS 



0774 8643 A 

0775 5245 A 

0776 4154 A 



*************************************************** 

* CREATE * 

*************************************************** 

: CREATE SP@ HERE 50 + < 2 ?ERROR -FIND 

IF DROP NFA ID. 4 MESSAGE SPACE 
ENDIF HERE DUP BYTE DUP C@ 

WIDTH @ MIN DUP CELL 1+ ALLOT 

OVER AO TOGGLE + 80 TOGGLE 

LATEST , CURRENT @ ! 

HERE 1+ , ; 

HEAD 0RD,6,L0NG, 'C/256 

.WORD 'RE' , 'AT' , ' E ' + EVEN , IDDOT- 3 



PACE ASSEMBLER REV-A 05/23/75 
ICTIONARY 



1435 



1436 



1437 



1438 



1439 



1440 



1441 



1442 



1443 



0777 
0778 
0779 
077A 
077B 
077C 
7 7D 
077E 
077F 
0780 
0781 
0782 
0783 
0784 
0785 
0786 
0787 
0788 
0789 
078A 
078B 
078C 
078D 
078E 
078F 
0790 
0791 
0792 
0793 
0794 
0795 
0796 
0797 
0798 
0799 
079A 
079B 
079C 
079D 

079E 
079F 

07A0 
07A1 
07A2 
07A3 
07A4 
7A5 
7A6 
07A7 
7A8 



C520 
075A 
0342 
0255 
043A 
0103 
0050 
029F 
045D 
037E 
4D6 
0727 
0124 
0008 
02D0 
04B1 
075D 
0103 
0004 
0A05 
0475 
043A 
02DD 
02FD 
02DD 
0311 
03BE 
030B 
08CF 
02DD 
0305 
042B 
0442 
02C9 
0103 
00A0 
2 ED 
029F 
0103 

0080 
02ED 

049B 
0448 
0401 
030B 
031D 
043A 
042B 
0448 
026A 



1444 
1445 
1446 
1447 
L:448 



A 
A 
A 
A 
A 
A 
A 
A 
A 
A 
A 
A 
A 
A 
A 
A 
A 
A 
A 
A 
A 
A 
A 
A 
A 
A 
A 
A 
A 
A 
A 
A 
A 
A 
A 
A 
A 
A 
A 
A 
A 
A 
A 
A 
A 
A 
A 
A 
A 
A 



CREATE: .WORD DOCOL , SPAT , HERE , LIT , 0050 , PLUS 



.WORD LESS, TWO, QERROR , DFIND , Z BRAN 



.WORD CREAT1-. ,DR0P , NFA , IDDOT 



.WORD LIT, 4, MESS, SPACE. 



CREAT1: .WORD HERE , DUP , BYTE , DUP , CAT , WIDTH , AT 



.WORD MI N, DUP, CELL, ONEP, ALLOT, OVER 



.WORD LIT, 00A0, TOGGLE, PLUS, LIT, 008 



.WORD TOGGLE, LATEST, COMMA, CURR, AT 



.WORD STORE, HERE, ONEP, COMMA, SEMIS 



*************************************************** 
* [COMPILE], LITERAL, DLITERAL * 

*************************************************** 



PACE ASSEMBLER REV-A 05/23/75 
FORTH NUCLEUS FOR PACE 
DICTIONARY 



1449 


07A9 


C95B 


A 




HEAD 


1450 


7AA 


434F 


A 




.WORD 




07AB 


4D50 


A 








07AC 


494C 


A 








7AD 


45DD 


A 








7AE 


0774 


A 






1451 


07AF 


0342 


A 


BCOMP: 


.WORD 




07B0 


0727 


A 








07B1 


028F 


A 








07B2 


0376 


A 








07B3 


04D6 


A 






1452 


07B4 


02D0 


A 




.WORD 




07B5 


04AA 


A 








07B6 


0448 


A 








07B7 


026A 


A 






1453 








» 




1454 


07B8 


C74C 


A 




HEAD 


1455 


07B9 


4954 


A 




.WORD 




07BA 


4552 


A 






U 


07BB 


41CC 


A 








07BC 


07A9 


A 






1456 


07BD 


0342 


A 


LITER: 


.WORD 




07BE 


07 


A 








7BF 


030B 


A 








07C0 


0124 


A 






L457 


07CL: 


0004 


A 




.WORD 




07C2 


0521 


A 








07C3 


0103 


A 








07C4 


0448 


A 






1458 


7C5 


026A 


A 


LITER1 : 


.WORD 


1459 








» 




1460 


07C6 


C844 


A 




HEAD 


1461 


7C7 


4C49 


A 




.WORD 




07C8 


5445 


A 








07C9 


5241 


A 








07CA 


CC20 


A 








07CB 


07B8 


A 






1462 


07CC 


0342 


A 


DLITER: 


.WORD 




7CD 


0407 


A 








07CE 


030B 


A 








07CF 


0124 


A 






1463 


07D0 


0004 


A 




.WORD 




7D1 


02D5 


A 








07D2 


07BD 


A 








07D3 


07BD 


A 






1464 


07D4 


026A 


A 


DLITE1 : 


.WORD 


l£65 








• ' 




U66 








: ? STACK. 


1467 












1468 








» 




1469 


07D5 


863F 


A 




HEAD 


1470 


07D6 


5354 


A 




.WORD 




7D7 


4143 


A 








07D8 


CB20 


A 








07D9 


07C6 


A 







IMM,9,LONG, ' ['/256 

'CO' , 'MP' , 'IL' , 'E] '+ODD, CREATE- 5 



DOCOL,DFIND,ZEQU,ZERO, QERROR 



DROP , C FA , COMMA , S EMI S 



IMM,7,LONG, 'L'/256 

'IT' , 'ER' ,'AL'+ODD,BCOMP-6 



DOCOL, STATE, AT, ZB RAN 



LITER1-. ,COMPIL, LIT, COMMA 



SEMIS 

IMM,8,LONG, 'D'/256 

'LI' ,'TE' ,'RA' ,'L'+EVEN,LITER-5 



DOCOL,STATE,AT,ZBRAN 



DLITE1-. , SWAP, LITER, LITER 



SEMIS 

so @ sp@ < l: ?error 

S P@ HERE 42 , + < 7 TERROR ; 

ORD,6,LONG, '?'/256 
'ST' , 'AC ,'K'+EVEN, DLITER- 6 



PACE ASSEMBLER REV-A 05/23/75 
FORTH NUCLEUS FOR PACE 
DICTIONARY 



1471 



1472 



1473 



1474 
1475 
1476 
1477 
1478 
1479 
1480 



1481 
1482 

1483 



1484 



1485 
1:486 

1487 

1488 
IJ489 



07DA 
7DB 
7DC 
07DD 
07DE 
7DF 
07E0 

07E1 
07E2 
07E3 
07E4 
07E5 
07E6 

07E7 
07E8 
07E9 
07EA 



0342 
03AE 
030B 
0255 
045D 
037A 
04D6 
0255 
4 3A 
0103 
0042 
029F 
045D 
0103 
0007 
4D6 
026A 



1490 



07EB 
07EC 
07ED 
07EE 
07EF 
07F0 
07F1 
07F2 
07F3 
07F4 
07F5 
07F6 
07F7 
07F8 
07F9 
07FA 
07FB 
07FC 
7FD 
7FE 
07FF 
0800 
0801 
0802 
0803 
0804 
0805 
0806 
0807 
0808 

0809 
080A 

080B 



A 
A 
A 
A 
A 
A 
A 
A 
A 
A 
A 
A 
A 
A 
A 
A 
A 



8949 
4E54 
4552 
5052 
45D4 
07D5 
0342 
0727 
0124 
000F 
0407 
030B 
045D 
0124 
0005 

04AA 
0448 
011B 
0003 
04AA 

01 12 
07DA 
011B 
OOOE 
4 3A 
06FA 
0412 
030B 
042B 
0124 
0004 
07CC 

011B 



A 
A 
A 
A 
A 
A 
A 
A 
A 
A 
A 
A 
A 
A 
A 

A 
A 
A 
A 
A 
A 
A 
A 
A 
A 
A 
A 
A 
A 
A 
A 
A 

A 



QSTACK: .WORD DOCOL , S ZERO , AT , SPAT ,LESS 



.WORD ONE, QERROR, SPAT, HERE, LIT, 00 4 2 



.WORD PLUS, LESS, LIT, 7 , QERROR , SEMI S 



*************************************************** 
* INTERPRET * 

*************************************************** 

HEAD ORD,9,LONG, 'I'/25 6 

.WORD 'NT' , 'ER','PR' , ' ET '+ODD , QSTACK-5 



INTER: 
INTER1 : 



.WORD DOCOL 

.WORD DFIND,ZBRAN 

.WORD INTER4-. , STATE , AT , LES S, ZBRAN 



.WQRD INTER2-. , CFA , COMMA , BRAN 



INTER2: 
INTER3: 

INTER4: 



.WORD 

.WORD: 



INTER3-. 
CFA, EXEC 



.WORDj QSTACK, BRAN v 

.WORD INTER7-. > > 

.WORD] HERE.NUMB.DPL, AT, ONEP', ZBRAN 



.WORD INTER5-. ,DLITER,BRAN 



PACE ASSEMBLER REV-A 05/23/75 
FORTH NUCLEUS FOR PACE 
DICTIONARY 



1491 
1492 

1493 
1494 
1495 

1496 
1497 
1498 
1499 
1500 
1501 
1502 
1503 
1504 



1505 



1506 



1507 
1508 
1509 
1510 
1511 
1512 
1513 



1514 



1515 



1516 



080C 
8 0D 
080E 
080F 
0810 
081 1 
0812 



0813 
0814 
0815 
0816 
0817 
0818 
0819 
081A 
081B 
081C 
081D 
081E 
081F 



0820 
0821 
0822 
0823 
0824 
0825 
0826 
0827 
0828 
0829 
082A 
082B 
082C 
082D 
082E 
082F 
0830 
0831 
0832 

0833 
0834 
0835 
0836 



0003 
02D0 
07BD 
07DA 
011B 
FFE1 
026A 



8949 
4D4D 
4544 
4941 
54C5 
07EB 
0342 
049B 
02FD 
0103 
0040 
02ED 
026A 



8A5 6 
4F43 
4142 
554C 
4152 
D920 
0813 
0342 
0575 
0103 
8LA0 
04 48 
0401 
030B 
04AA 
0448 
043A 
03D8 
030B 
0448 
03D8 
031D 
057D 



A 
A 
A 
A 
A 
A 
A 
A 
A 
A 
A 
A 
A 



A 
A 
A 
A 
A 
A 
A 
A 
A 
A 
A 
A 
A 
A 
A 
A 
A 
A 
A 
A 
A 
A 
A 



.WORD INTER6-. 

INTER5: .WORD DROP, LITER 

INTER6: .WORD QSTACK 

INTER7: .WORD BRAN 

.WORD INTER1-. , SEMIS 



*************************************************** 

* IMMEDIATE, VOCABULARY, DEFINITIONS, FORTH, ( * 
*************************************************** 



IMMEDIATE 



LATEST BYTE 40 TOGGLE 



HEAD ORD,9 ,LONG, 'I'/256 

.WORD 'MM' , 'ED' , 'IA' , ' TE '+ODD , INTER- 6 



IMMED: .WORD DOCOL , LATEST , BYTE 



.WORD LIT, 0040, TOGGLE, SEMIS 



VOCABULARY <BUILDS 81A0 , CURRENT @ 

CFA , HERE VOC-LINK @ , VOC-LINK I 
DOES> 1+ CONTEXT ! ; 

HEAD ORD, 10, LONG, 'V/256 

.WORD 'OC , 'AB' , 'UL' , 'AR' , 'Y'+EVEN, IMMED-6 



VOCAB: .WORD DOCOL , BUILDS , LIT, 08 1A0 ,C0M1A 



.WORD CURR, AT, CFA, COMMA, HERE, VOCL 



.WORD AT, COMMA, VOCL, STORE, DOES 



PACE ASSEMBLER REV-A 05/23/75 
FORTH NUCLEUS FOR PACE 
DICTIONARY 



1517 



1518 
1519 
1520 



1521 



1522 
1523 
1524 



1525 



1526 
1527 
1528 
1529 



1530 
1531 
1532 
1533 
1534 
1535 
1536 



1537 



1538 



1539 



0837 042B A 

0838 03FA A 

0839 031D A 
083A 026A A 



083B 
083C 
083D 
083E 
083F 
0840 
0841 
0842 
0843 

0844 
0845 
0846 
0847 
0848 
0849 
084A 
084B 
084C 
084D 
084E 
084F 
0850 

0851 
0852 
0853 
0854 
0855 
0856 
0857 



0858 
0859 
085A 
085B 
085C 
085D 
085E 
085F 
0860 
0861 
0862 
0863 
0864 
0865 



C546 
4F52 
54C8 
0820 
0583 
0837 
81A0 
0C65 
0000 

8B44 
4546 
494E 
4954 
494F 
4ED3 
083B 
0342 
03FA 
030B 
0401 
031D 
026A 

C1A8 
0844 
0342 
0103 
0029 
06A8 
026A 



8451 
5549 
D420 
0851 
0342 
0376 
03DD 
031D 
052C 
0262 
01FC 
062D 
07F1 
0407 



A 
A 
A 
A 
A 
A 
A 
A 
A 

A 
A 
A 
A 
A 
A 
A 
A 
A 
A 
A 
A 
A 

A 
A 
A 
A 
A 
A 
A 



A 
A 
A 
A 
A 
A 
A 
A 
A 
A 
A 
A 
A 
A 



DOVOC: .WORD ONEP , CONT , STORE , SEMIS 



HEAD IMM,5,LONG, 'F'/256 
.WORD 'OR' , 'TH'+ODD,VOCAB-7 



FORTH: .WORD DODOES , DOVOC , 08 1A0 ,TASK-4 , 



HEAD ORD, 11 ,LONG, 'D'/256 

.WORD 'EF',' IN', 'IT', '10', 'NS '+ODD , FORTH- 4 



DEFIN:: .WORD DOCOL , CONT , AT , CURR , STOFE , S EMIS 



PAREN:; 



HEAD IMM, 1 , SHORT, ' C/256 

.WORD DEFIN-7 

.WORD DOCOL, LIT, ') ' / 2 5 6 , WORD , SEMI S 



*************************************************** 

* QUIT, ABORT * 

*************************************************** 

HEAD ORD, 4, LONG, 'Q'/256 
.WORD 'UI' , 'T'+EVEN,PAREN-2 



QUIT: .WORD DOCOL , ZERO , BLK, STORE ,LBRAC 



QUIT1 : .WORD RPSTOR , CR , QUERY , INTER 



.WORD STATE, AT, ZEQU,ZBRAN 



PACE ASSEMBLER REV-A 05/23/75 
FORTH NUCLEUS FOR PACE 
DICTIONARY 



1540 

1541 
1542 
1543 
1544 

1545 
1546 
1547 
1548 
1549 
1550 
1551 



1552 



1553 
1554 



1555 



1556 
1557 
1558 
1559 
1560 
1561 
1562 



1563 
1564 
1565 
1566 
1567 
1568 

1569 
1570 



0866 
0867 
0868 

0869 
086A 
086B 
086C 
086B 
086E 
086F 



0870 
0871 
0872 
0873 
0874 
0875 

0876 

0877 

0878 

0879 

087A 

087B 

087C 

087D 

087E 

087F 

0880 

0881 

0882 

0883 

0884 

0885 

0886 



0887 
0888 
0889 
088A 
088B 
088C 
08 8D 
088E 
088F 
0890 

0891 
0892 



030B 
028F 
0124 
0004 
05CA 
0320 
4F4B 
011B 
FFF3 
026A 



8541 
424F 
52D4 
0858 
0342 
025B 

055 3 

097F 

01FC 

05CA 

1150 

4143 

4520 

464F 

5254 

4820 

2056 

2034 

2E30 

083F 

084B 

085C 

026A 



8443 
4F4C 
C420 
0870 
088C 
1423 
C912 
C206 
D1B2 
5108 
1902 
5105 



A 
A 
A 
A 
A 
A 
A 
A 
A 
A 



A 
A 
A 
A 
A 
A 

A 

A 

A 

A 

A 

A 

A 

A 

A 

A 

A 

A 

A 

A 

A 

A 

A 



A 
A 
A 
A 
A 
A 
A 
A 
A 
A 
A 
A 



QUIT2: 



.WORD QUIT2-. ,PDOTQ 

STRING 3,' '/256 

.ASCII 'OK' 

.WORD BRAN 

.WORD QUIT1-. , SEMIS 



ABORT SP! DECIMAL DRO CR 

." PACE FORTH V 4.0" [COMPILE] 
FORTH DEFINITIONS QUIT ; 

HEAD ORD,5,LONG,'A'/256 
.WORD 'BO' ,'RT'+ODD,QUIT-4 



ABORT: .WORD DOCOL , SPSTOR , DEC , DRONE , CR , PDOTQ 



STRING 17,'P'/256 

.ASCII 'ACE FORTH V 4.0' 



WORD FORTH, DEFIN, QUIT, SEMIS 



*************************************************** 

* COLD START * 

*************************************************** 



HEAD 0RD,4,L0NG, 'C//256 
.WORD 'OL' , 'D'+EVEN,AB0RT-4 



COLD 
CENT 



WENT 



.WORD 

JSR 

LD 

LD 

ST 

LI 

JMP 

LI 



. + 1 

INIT 

X,ORGPTR 

0,06(X) 

0,FORTH+3 

1 ,08 

LDUP 

1 ,05 



(INSTALL. DEPEND.) 
PTR TO STARTUP LITS 
INITIALIZE 

FORTH VOCABULARY 
INIT 8 USER VARS 

INIT 5 USER VARS 



PACE ASSEMBLER REV-A 05/23/75 
FORTH NUCLEUS FOR PACE 
DICTIONARY 



1571 
1572 
1573 
1574 
1575 
1576 
1577 
1578 
1579 
1580 
1581 
1582 
1583 
1584 
1585 
1586 
1587 
1588 
1589 
1590 
1591 



1592 
1593 
1594 
1595 
1596 
1597 
1598 
1599 
1600 

1601 



1602 

1603 
1604 
16 05 
1606 

1607 



1608 

1609 
1610 
1611 
1612 

1613 



0893 
0894 
0895 
0896 
0897 
0898 
0899 
089A 
089B 
089C 
089D 
089E 
089F 
08A0 



08A1 
08A2 
08A3 
08A4 
08A5 
08A6 
08A7 
08A8 
08A9 
08AA 

08AB 
08AC 
8AD 

08AE 
08AF 
08B0 
08B1 
08B2 
08B3 

08B4 
08B5 
08B6 
08B7 
08B8 
08B9 
08BA 
08BB 
08BC 



C90C 
CE08 
DC22 
C209 
D303 
7A01 
7B01 
79FF 
19FA 
C502 
9900 
0263 
0875 
0010 



8453 
2D3E 
C420 
0887 
08A6 
5000 
9F00 
98F9 
50FF 
98F9 

822B 
AD 2 
08A1 
0342 
0297 
0124 
0002 
02B4 
026A 

8344 
2BAD 
08AB 
0342 
0297 
0124 
0002 
02BD 
026A 



A 
A 
A 
A 
A 
A 
A 
A 
A 
A 
A 
A 
A 
A 



A 
A 
A 
A 
A 
A 
A 
I 
A 
I 

A 
A 
A 

A 
A 
A 
A 
A 
A 

A 
A 
A 
A 
A 
A 
A 
A 
A 



08BD 8341 A 

08BE 42D3 A 

08BF 08B4 A 

08C0 0342 A 

08C1 02DD A 



LDUP: 



LDUVS 



START: 

IPO: 

ORGPTR: 



LD 

LD 

ST 

LD 

ST 

AISZ 

AISZ 

AISZ 

JMP 

LD 

JMP 

.WORD 

.WORD 

.WORD 



X, ORGPTR 

Y,08(X) 

Y,UP 

0,09(X) 

0,03(Y) 

X, 1 

Y,l 

1,-1 

LDUVS 

IP, IPO 

@START 

RPSTOR+1 

ABORT+1 

ORIG 



PTR TO STARTUP LITS 
INITIALIZE 

USER POINTER 
MOVE FROM LITERAL 

AREA TO USER AREA 



POINT IP TO ABORT 
START AT RP! 



START OF LITERALS 



*************************************************** 

* MATH UTILITY * 

*************************************************** 

HEAD ORD,4,LONG, 'S'/256 
.WORD '->' , 'D'+EVEN,COLD-4 



STOD: 



PMI : 



.WORD .+1 

LI 0,0 

SKG 0,0(SP) 

JMP PUSH 

LI 0,-1 

JMP PUSH 

HEAD ORD,2,LONG, '+'/256 

.WORD '-'+EVEN,STOD-4 

.WORD DOCOL, ZLESS,ZBRAN 



PMI1 : 



.WORD PMI1-., MINUS 

.WORD SEMIS 
» 

HEAD ORD,3,LONG,'D'/256 

.WORD '+-'+ODD,PMI-3 

DPMI: .WORD DOCOL , ZLESS , ZBRAN 



DPMI1 



ABS: 



.WORD DPMI1-. ,DMINUS 

.WORD SEMIS 

HEAD ORD, 3, LONG, "A'/256 

.WORD 'BS'+ODD,DPMI-3 

.WORD DOCOL, DUP, PMI, SEMIS 



PACE ASSEMBLER REV-A 05/23/75 
FORTH NUCLEUS FOR PACE 
DICTIONARY 



1614 
1615 
1616 



1617 



1618 
1619 
1620 

1621 
1622 

1623 
1624 
1625 
1626 
1627 
1628 

1629 
1630 

1631 
1632 

1633 
1634 
1635 
1636 
1637 
1638 
1639 
1640 

1641 



1642 



1643 



1644 
1645 
1646 

1647 



08C2 
08C3 

08C4 
08C5 
08C6 
08C7 
08C8 
08C9 
08CA 
08CB 

08CC 
08CD 
8CE 
08CF 
08D0 
08D1 
8D2 

8D3 

08D4 
08D5 
08D6 
08D7 
08D8 

08D9 
08DA 

08DB 



08AE A 
2 6A A 



08DC 
08DD 
8DE 
08DF 
08E0 
08E1 
08E2 
08E3 
08E4 
08E5 
08E6 
08E7 
08E8 
08E9 
08EA 



8444 
4142 
D320 
08BD 
0342 
02DD 
08B7 
026A 

834D 
49CE 
08C4 
8D0 
C300 
9F01 
98F6 

98FA 

834D 
41D8 
Q8CC 
08D8 
C300 
9F01 
98FA 

98F6 



824D 
AA2 
08D4 
0342 
02C9 
02C9 
024D 
027B 
08C0 
02D5 
08C0 
0213 
0283 
08B7 
026A 



A 
A 
A 
A 
A 
A 
A 
A 

A 
A 
A 
A 
A 
A 
I 
I 

A 
A 
A 
A 
A 
A 
I 

I 



08EB 824D A 

08EC AF20 A 

08ED 08DC A 

08EE 0342 A 

08EF 02C9 A 



HEAD ORD,4,LONG, 'D'/256 
.WORD 'AB' , 'S'+EVEN,ABS-3 



DABS: .WORD DOCOL , DUP , DPMI , SEMIS 



HEAD ORD, 3, LONG* 'M'/256 
.WORD 'IN'+ODD,DABS-4 



MIN: .WORD .+1 

LD 0,0(SP) 

SKG 0,1(SP) 

JMP BIN 

JMP POP 



GET BOTTOM 
COMPARE WITH SECOND 
IF BOTTOM <= SECOND 
IF BOTTOM > SECOND 



HEAD ORD, 3, LONG, 'M'/256 
.WORD 'AX'+ODD,MIN-3 



MAX: .WORD .+1 

LD 0,0(SP) 

SKG 0,1(SP) 

JMP POP 

JMP BIN 



GET BOTTOM 
COMPARE WITH SECOND 
IF BOTTOM <= SECOND 
IF BOTTOM > SECOND 



*************************************************** 

SIGNED MATH 
*************************************************** 

HEAD ORD, 2, LONG, 'M'/256 
.WORD '*'+EVEN,MAX-3 



MSTAR: .WORD DOCOL , OVER, OVER, XOR, TOR 



.WORD ABS,SWAP,ABS,USTAR 



.WORD FROMR, DPMI, SEMIS 



HEAD ORD, 2, LONG, 'M'/256 
.WORD '/'+EVEN,MSTAR-3 

MSLASH: .WORD DOCOL , OVER, TOR, TOR 



PACE ASSEMBLER REV-A 05/23/75 
FORTH NUCLEUS FOR PACE 
DICTIONARY 



1648 



1649 



1650 



1651 
1652 
1653 
1654 



1655 
1656 
1657 



1658 



1659 
1660 
1661 
1662 



1663 
1664 
1665 

1666 



1667 
1668 
1669 



1670 



08F0 
08F1 
08F2 
08F3 
08F4 
08F5 
08F6 
08F7 
08F8 
08F9 
08FA 
08FB 
08FC 
08FD 
08FE 

08FF 
0900 
0901 
0902 
0903 
0904 

0905 
0906 
0907 
0908 
0909 
090A 
090B 
090C 
090D 
090E 

090F 
0910 
0911 
0912 
0913 
0914 
0915 

0916 
0917 
0918 
0919 
091A 
091B 
091C 

09 ID 
091E 
091F 
0920 
0921 



027B 
027B 
08C8 
0289 
08C0 
0227 
0283 
0289 
024D 
08AE 
02D5 
0283 
08AE 
02D5 
026A 

81AA 
08EB 
0342 
0213 
02D0 
026A 

842F 
4D4F 
C420 
08FF 
0342 
027B 
08A5 
0283 
08EE 
026A 

81AF 
0905 
0342 
0909 
02D5 
02D0 
026A 

8 34D 
4FC4 
090F 
0342 
0909 
02D0 
026A 

852A 
2F4D 
4FC4 
0916 
0342 



A 
A 
A 
A 
A 
A 
A 
A 
A 
A 
A 
A 
A 
A 
A 

A 
A 
A 
A 
A 
A 

A 
A 
A 
A 
A 
A 
A 
A 
A 
A 

A 
A 
A 
A 
A 
A 
A 

A 
A 
A 
A 
A 
A 
A 

A 
A 
A 
A 
A 



STAR: 



SLMOD 



SLASH 



MOD: 



.WORD DABS,R,ABS,USLASH 



.WORD FROMR,R,XOR,PMI,SWAP 



.WORD FROMR,PMI, SWAP, SEMIS 



HEAD ORD, 1, SHORT, '*'/256 

.WORD MSLASH-3 

.WORD DOCOL,USTAR, DROP, SEMIS 



HEAD ORD, 4, LONG, '/'/256 
.WORD 'MO' , 'D'+EVEN,STAR-2 



.WORD DOCOL,TOR,STOD,FROMR,MSLASH, SEMIS 



HEAD 

.WORD 

.WORD 



HEAD 
.WORD 



HEAD 
.WORD 



ORD, 1, SHORT, '/'/256 

SLMOD-4 

DOCOL , SLMOD , SWAP , DROP , SEMI S 



ORD, 3, LONG, 'M'/256 
'OD'+ODD,SLASH-2 



.WORD DOCOL, SLMOD, DROP, SEMIS 



ORD,5,LONG,'*'/256 
'/M' , 'OD'+ODD,MOD-3 



SSMOD: .WORD DOCOL, TOR, MSTAR, FROMR ,MSLASH, SEMIS 



PACE ASSEMBLER REV-A 05/23/75 
FORTH NUCLEUS FOR PACE 
DICTIONARY 





0922 027B A 








0923 08DF A 








0924 0283 A 








0925 08EE A 








0926 026A A 






1671 




» 




1672 


0927 822A A 




HEAD 


1673 


0928 AF20 A 

0929 091D A 




.WORD 


1674 


092A 0342 A 
092B 0921 A 
092C 02D5 A 
092D 02D0 A 
092E 026A A 


SSLASH: 


.WORD 


1675 




» 




1676 


092F 85 4D A 




HEAD 


1677 


0930 2F4D A 

0931 4FC4 A 

0932 0927 A 




.WORD 


1678 


0933 0342 A 

0934 027B A 

0935 0376 A 

0936 0289 A 

0937 0227 A 

0938 0283 A 


MSMOD: 


.WORD 


1679 


0939 02D5 A 
093A 027B A 
093B 0227 A 
093C 0283 A 
093D 026A A 




.WORD 


1680 




» 




1681 




J ************s 


1582 




» 




1683 




j ************; 


1684 




» 




1685 


093E 8355 A 




HEAD 


1686 


093F 53C5 A 
0940 092F A 




.WORD 


1687 


0941 0367 A 

0942 1DF0 A 


USE: 


.WORD 


1688 




» 




1689 


0943 8450 A 




HEAD 


1690 


0944 5245 A 

0945 D620 A 

0946 093E A 




.WORD 


1691 


0947 0367 A 

0948 1DF0 A 


PREV: 


.WORD 


1692 




» 




1693 


0949 842B A 




HEAD 


1694 


094A 4255 A 
094B C620 A 
094C 0943 A 




.WORD 


1695 


094D 0342 A 
094E 0103 A 
094F 0042 A 


PBUF:: 


.WORD 



ORD,2,LONG,'*'/256 
'/'+EVEN,SSMOD-4 

DOCOL,SSMOD, SWAP, DRQP, SEMIS 



ORD,5,LONG, 'M'/256 
'/M','OD'+ODD, SSLASH- 3 



DOCOL, TOR, ZERO, R , USLASH , FROMR 



SWAP, TOR, USLASH,FROMR, SEMIS 



DISC UTILITY, GENERAL USE * 

ORD,3,LONG, 'U'/256 
'SE'+ODD,MSMOD-4 

DOVAR, BUFFS 



ORD,4,LONG, 'P'/256 
'RE' , 'V'+EVEN,USE-3 



DOVAR, BUFFS 



ORD,4,LONG, '+'/256 
'BU' , 'F' + EVEN,PREV-4 



DOCOL, L IT, BLKSIZ/ 2+2, PLUS 



PACE ASSEMBLER REV-A 05/23/75 
FORTH NUCLEUS FOR PACE 
DICTIONARY 



9 50 2 9F A 



1696 



1697 



1698 



1699 
1700 
1701 



1702 



1 703 



1 704 
1705 
1706 



1707 



1708 



1 709 



1710 
1711 
1712 

1713 



0951 
0952 
0953 
0954 
0955 
0956 
95 7 
0958 
0959 
095A 
095B 
095C 

095D 
095E 
095F 
0960 
0961 
0962 
0963 
0964 
0965 
0966 
0967 
0968 
0969 
096A 
096B 
096C 

096D 
096E 
096F 
0970 
0971 
0972 

0973 
0974 
0975 
0976 
0977 
0978 
0979 
9 7A 
097B 

097C 
097D 
097E 
097F 
0980 
0981 
0982 
0983 



02DD 
0393 
0457 
0124 
0003 
02D0 
038D 
02DD 
0947 
030B 
0450 
026A 

8655 
5044 
4154 
C5 2 
0949 
0342 
0947 
030B 
030B 
0103 
8000 
0246 
0947 
030B 
031D 
026A 

8D45 
4D50 
5459 
2D42 
5546 
4645 

52D3 
095D 
0342 
038D 
0393 
02C9 
0450 
0668 
026A 

8344 
52B1 
096D 
0342 
0376 
03F3 
031D 
026A 



A 
A 
A 
A 
A 
A 
A 
A 
A 
A 
A 
A 

A 
A 
A 
A 
A 
A 
A 
A 
A 
A 
A 
A 
A 
A 
A 
A 

A 
A 
A 
A 
A 
A 

A 
A 
A 
A 
A 
A 
A 
A 
A 

A 
A 
A 
A 
A 
A 
A 
A 



.WORD DUP, LIMIT, EQUAL, ZBRAN 



.WORD PBUF1-. , DROP, FIRST 



PBUF1: .WORD DUP , PREV , AT,, SUB , SEMIS 



HEAD ORD,6,LONG, 'U'/256 

.WORD 'PD' , 'AT' , 'E'+EVEN,PBUF-4 



UPDATE: .WORD DOCOL , PREV , AT , AT , LIT, 08000 



WORD OR, PREV, AT, STORE, SEMIS 



HEAD 
.WORD 



.WORD 



ORD, 13,LONG,'E'/256 
'MP' , 'TY' , '-B' , 'UF' 



'TIT?' ' T> O ' 



FE' , 'RS'+ODD,UPDATE-5 



MTBUF 



.WORD DOCOL, FIRST, LIMIT 



WORD OVER, SUB , ERASE, SEMIS 



HEAD 
.WORD 



ORD, 3, LONG, 'D'/256 
'Rl'+ODD,MTBUF-8 



DRONE: .WORD DOCOL , ZERO , OFFSET, STORE , SEMIS 



PACE ASSEMBLER REV-A 05/23/75 
FORTH NUCLEUS FOR PACE 
DICTIONARY 

1714 ; 

1715 0984 8344 A HEAD ORD , 3 ,LONG , ' D ' /256 

1716 0985 52B2 A .WORD 'R2 '+ODD , DRONE-3 
9 86 9 7C A 

1717 0987 0342 A DRTWO : .WORD DOCOL , LIT, 2000 

0988 0103 A 

0989 07D0 A 

1718 098A 03F3 A .WORD OFFSET, STORE , SEMIS 
098B 031D A 

9 8C 2 6A A 

1719 ; 

1720 ;*************************************************** 

1721 ;* BUFFER * 

1722 I*************************************************** 
L 7 2 3 j 

\ llh ;' •• BUFFER USE @ DUP >R BEGIN fBUF UNTIL 

V" 5 USE ! R @ 0< IF R 1+ R @ 7FFF 

i/Zb ' AND R/W ENDIF 



1727 ; R ! R PREV ! R> 1+ 

1728 ; 

1729 098D 8642 A HEAD ORD , 6 ,LONG , ' B ' /256 

1730 098E 5546 A .WORD 'UF ' , ' FE' , 'R'+EVEN, DRTWO-3 
098F 4645 A 

0990 D220 A 

0991 0984 A 

1731 0992 0342 A BUFFER: .WORD DOCOL , USE , AT , DUP , TOR 

0994 030B A 

0995 02DD A 

0996 027B A 

1732 0997 094D A BUFFI: .WORD PBUF.ZBRAN 
0998 0124 A 

1733 0999 FFFE A .WORD BUFFI- ., USE , STORE 
099A 0941 A 

099B 031D A 

1734 099C 0289 A .WORD R, AT , ZLESS , ZBRAN 
099D 030B A 

099E 0297 A v ■ ■ 

099F 0124 A 

1735 09A0 000A A .WORD BUFF2- . , R , ONEP , R , AT 
09A1 0289 A 

09A2 042B A 
09A3 0289 A 
09A4 030B A 

1736 09A5 0103 A .WORD LIT, 07FFF , AND , ZERO , RW 
09A6 7FFF A 

09A7 023F A 

09A8 0376 A 

09A9 0A63 A 

1737 09AA 0289 A BUFF2: .WORD R, STORE , R , PREV , STORE 

09AC 0289 A 

09AD 0947 A 

09AE 031D A 

1738 09AF 0283 A .WORD FROMR , ONEP , SEMI S 



PACE ASSEMBLER REV-A 05/23/75 
FORTH NUCLEUS FOR PACE 
DICTIONARY 



09B0 042B A 
09B1 026A A 



1 739 
1740 
L74L 
1742 
1743 
1744 
1745 
1746 
1747 
1748 
1749 
1750 
1751 
1752 
1753 



1 754 



1755 



1756 



1757 
1758 



1 759 



1760 



1761 



1 762 



09B2 
09B3 
09B4 
09B5 
09B6 
09B7 
09B8 
09B9 
09BA 
09BB 
9BC 
09BD 
09BE 
09BF 
09C0 
09C1 
09C2 
09C3 
09C4 
09C5 
09C6 

09C7 
09C8 

09C9 
09CA 
09CB 
09CC 
9CD 
09CE 
09CF 
09D0 
9D1 
09D2 
09D3 
09D4 
09D5 
09D6 
09D7 
9D8 
9D9 



8542 
4C4F 
43CB 
098D 
0342 
03F3 
030B 
029F 
027B 
0947 
030B 
02DD 
030B 
0289 
0450 
02DD 
029F 
0124 
001A 
094D 
028F 

0124 
000A 

02D0 
0289 
0992 
02DD 
0289 
037A 
0A63 
037A 
0450 
02DD 
030B 
0289 
0450 
02DD 
029F 
028F 
0124 



*************************************************** 

* BLOCK * 

*************************************************** 

: BLOCK OFFSET @ + >R 

PREV @ DUP @ R - DUP + 

IF BEGIN +BUF 0= 

IF DROP R BUFFER 

DUP R 1 R/W 1 - ENDIF 

DUP @ R - DUP + 0= UNTIL 

DUP PREV ! ENDIF R> DROP 1+ ; 

HEAD ORD,5,LONG, .'B'/256 
.WORD 'LO' ,'CK'+ODD,BUFFER-5 



BLOCK: .WORD DOCOL , OFFSET, AT , PLUS , TOR 



.WORD PREV, AT, DUP, AT, R 



.WORD SUB, DUP, PLUS, ZBRAN 



.WORD BLOCK3-. 
BLOCK!: .WORD PBUF , ZEQU , ZBRAN 



.WORD BLOCK2-. , DROP, R, BUFFER 



.WORD DUP, R, ONE, RW, ONE, SUB 



BLOCK2: .WORD DUP , AT , R , SUB ,DUP 



WORD PLUS, ZEQU, ZBRAN 



PACE ASSEMBLER REV-A 05/23/75 
FORTH NUCLEUS FOR PACE 
DICTIONARY 



1763 



1764 



1765 
1766 
1767 
1768 
1769 
1770 
1771 
1772 
1773 
1774 



1775 



1 776 



1 777 



1 778 

1779 
1780 



1 781 



1782 
1783 
1784 



1785 



09DA 
09DB 
09DC 
9DD 
09DE 
09DF 
09E0 
09E1 



09E2 
09E3 
09E4 
09E5 
09E6 
09E7 
09E8 
09E9 
09EA 
09EB 
09EC 
09ED 
09EE 
09EF 
9F0 
09F1 
09F2 
09F3 
09F4 
09F5 
09F6 

09F7 
09F8 

09F9 
09FA 
09FB 
09FC 
9FD 
09FE 
09FF 

0A00 
0A01 
0A02 
0A03 
0A04 
0A05 
0A06 



FFEB 
02DD 
0947 
031D 
0283 
02D0 
042B 
026A 



8628 
4C49 
4E45 
A920 
09B2 
0342 
027B 
0103 
0040 
0399 
0921 
0283 
039F 
0901 
029F 
09B6 
02FD 
029F 
0103 
0040 
026A 

852E 
4C49 
4EC5 
09E2 
0342 
09E7 
05B0 
0599 
026A 

874D 

4553 

5 3 41: 

47C5 
09F 7 
0342 
03C5 



A 
A 
A 
A 
A 
A 
A 
A 



A 
A 
A 
A 
A 
A 
A 
A 
A 
A 
A 
A 
A 
A 
A 
A 
A 
A 
A 
A 
A 

A 
A 
A 
A 
A 
A 
A 
A 
A 

A 

A 
A 
A 

A 

A 

A 



.WORD BL0CK1-. ,DUP , PREV , ST0RE 



BL0CK3: .WORD FROMR , DROP ,ONEP , SEMI S 



*************************************************** 

* TEXT OUTPUT FORMATTING * 

*************************************************** 

: (LINE) >R 40 B/BUF */MOD R> B/SCR * 
+ BLOCK BYTE + 40 ; 

HEAD ORD,6,LONG, ' C/256 

.WORD 'LI' , 'NE' ,') '+EVEN,BLOCK-4 



PLINE: .WORD DOCOL , TOR, LIT, 64 , BBUF , S SMOD 



.WORD FROMR, B SCR, STAR, PLUS, BLOCK 



.WORD BYTE, PLUS,LIT, 64, SEMIS 



HEAD ORD,5,LONG, ' . '/256 
.WORD 'LI' , 'NE'+ODD,PLINE-5 



DLINE: .WORD DOCOL , PLINE , DTRAIL , TYPE , SEMI S 



HEAD ORD, 7, LONG, 'M'/256 

.WORD 'ES','SA' ,'GE'+ODD,DLlNE-4 



MESS: .WORD DOCOL , WARN , AT , ZBRAN 



PACE ASSEMBLER REV-A 05/23/75 
FORTH NUCLEUS FOR PACE 
DICTIONARY 



1 786 



1787 



1 788 



1789 
1790 
1791 
1792 
1793 



1794 
1795 
1796 
1797 
1798 
1799 
1800 
1801 
1802 



1803 



1804 



1805 



1806 



1807 



0A07 
0A08 
0A09 
OAOA 
OAOB 
OAOC 
OAOD 
OAOE 
OAOF 
0A10 
0A11 
0A12 
0A13 
0A14 
0A15 
0A16 
0A17 
0A18 
0A19 
0A1A 
0A1B 
0A1C 
0A1D 



0A1E 
0A1F 
0A20 
0A21 
0A22 
0A23 
0A24 
0A25 
0A26 
0A27 
0A28 
0A29 
0A2A 
0A2B 
0A2C 
0A2D 
0A2E 
0A2F 
0A30 
0A31 
0A32 
0A33 
0A34 
0A35 
0A36 
0A37 



030B 

0124 
OOOE 
4 7D 
0124 
0009 
0103 
0004 
03F3 
030B 
039F 
0911 
0450 
09FB 
011B 
0007 
05CA 
064D 
5347 
2023 
2020 
0BD5 
026A 



844C 
4F41 
C420 
OAOO 
0342 
03DD 
030B 
027B 
03E2 
030B 
027B 
0376 
03E2 
031D 
039F 
0901 
03DD 
031D 
07F1 
0283 
03E2 
031D 
0283 
03DD 
031D 
026A 



A 
A 
A 
A 
A 
A 
A 
A 
A 
A 
A 
A 
A 
A 
A 
A 
A 
A 
A 
A 
A 
A 
A 



A 
A 
A 
A 
A 
A 
A 
A 
A 
A 
A 
A 
A 
A 
A 
A 
A 
A 
A 
A 
A 
A 
A 
A 
A 
A 



MESS1 : 
MESS2: 



.WORD MESS2-. ,DDUP,ZBRAN 



.WORD MESS1-. , LIT, 4, OFFSET, AT 



.WORD BSCR, SLASH, SUB, DLINE 



.WORD BRAN 

.WORD MESS3-. 

.WORD PDOTQ 

STRING 6,'M'/256 

.ASCII 'SG , ' 



.WORD DOT 
MESS3: .WORD SEMIS 

*************************************************** 

* LOAD, — > * 

*************************************************** 

HEAD ORD,4,LONG,'L'/256 
.WORD 'OA' ,'D'+EVEN,MESS-5 



LOAD: .WORD DOCOL , BLK, AT , TOR, IN, AT , TOR 



.WORD ZERO, IN, STORE, BSCR, STAR, BLK, STORE 



WORD INTER, FROMR, IN, STORE 



WORD FROMR, BLK, STORE, SEMIS 



0A38 - 0A58 



ARROW 0A3B A 

PEMIT 0A49 A 

PKEY 0A4D A 

PQTERM 0A4F A 

PCR OA53 A 



PACE ASSEMBLER REV-A 05/23/75 
FORTH NUCLEUS FOR PACE 
DICTIONARY 



1850 

1851 
1852 
1853 

1854 

1855 
1856 
1857 
1858 
1859 
1860 
1861 
1862 
1863 

1864 



0A59 
0A5A 

0A5B 
0A5C 
0A5D 
0A5E 
0A5F 



035C A 
3FC0 A 

824C A 
CF20 A 
0A56 A 
035C A 
2000 A 



1865 



1866 



1867 



1868 
1869 



1870 
1871 
1872 
1873 
1874 
1875 
1876 
1877 



0A60 

0A61 

0A62 

0A6 3 

0A64 

0A65 

0A66 

0A6 7 

0A68 

0A69 

0A6A 

0A6B 

0A6C 

0A6D 

0A6E 

0A6F 

0A70 

0A71 

0A72 

0A73 

0A74 

0A7 5 

OA76 

0A77 

0A78 

0A79 

0A7A 

0A7B 

0A7C 



8352 

2FD7 

0A5B 

0342 

027B 

02DD 

0297 

0103 

0006 

04D6 

0399 

0305 

0901 

0A5E 

2 9F 

02DD 

0A5 9 

0463 

0103 

0006 

04D6 

0283 

0124 

0002 

02D5 A 

0399 A 

0305 A 

0201 A 

026A A 



A 

A 

A 

A 

A 

A 

A 

A 

A 

A 

A 

A 

A 

A 

A 

A 

A 

A 

A 

A 

A 

A 

A 

A 



0A7D 
0A7E 
0A7F 
0A80 
0A81 
0A82 



C1A7 
0A60 
0342 

0727 
028F 
0376 



A 
A 
A 

A 
A 
A 



HI 



LO 



RW 



.WORD DOCON,HIBLK 



HEAD ORD,2,LONG,'L'/25 6 

.WORD '0'+EVEN,HI-3 

.WORD DOCON,LOBLK 



R/W >R DUP 0< 6 ?ERROR 
B/BUF CELL * LO + 
DUP HI > 6 TERROR 
R> IF SWAP ENDIF 
B/BUF CELL MOVE ; 

HEAD ORD,3,LONG,'R'/256 
.WORD '/W'+ODD,LO-3 

.WORD DOCOL,TOR,DUP,ZLESS 



.WORD LIT,6,QERROR,BBUF,CELL 



.WORD STAR, LO, PLUS, DUP, HI, GREAT 



( BLOCK, < ? ) 

( FWA OF BLOCK ) 

( TOO HIGH ? ) 

( TO OR FROM ? ) 

( TRANSFER DATA ) 



.WORD LIT,6,QERROR,FROMR,ZBRAN 

.WORD RW1-.,SWAP 
RW1: .WORD BBUF , CELL , MOVE , SEMI S 



**************** *********************************** 

* ', FORGET * 

*********************** **************************** 



HEAD IMM, 1, SHORT, ""/256 
.WORD RW-3 
TICK: .WORD DOCOL ,DFIND , ZEQU , ZERO 



PACE ASSEMBLER REV-A 05/23/75 
FORTH NUCLEUS FOR PACE 
DICTIONARY 



1878 



1879 
1880 
1881 
1882 
1883 
1884 
1885 
1886 
1887 
1888 
1889 
1890 
1891 
1892 
1893 
1894 
1895 
1896 
1897 
1898 
1899 
1900 



1901 



1902 



1903 



1904 



1905 



1906 



0A8 3 
0A84 
0A85 
0A86 



0A87 
0A88 
0A89 
0A8A 
0A8B 
0A8C 
0A8D 
0A8E 
0A8F 
0A90 
0A91 
0A92 
0A93 
0A94 
0A95 
0A96 
0A9 7 
0A98 
0A99 
0A9A 
0A9B 
0A9C 
0A9D 
0A9E 
0A9F 
OAAO 
0AA1 
0AA2 
0AA3 
0AA4 
0AA5 



4D6 A 

02D0 A 

07BD A 

026A A 



8646 
4F52 
4745 
D420 
0A7D 
0342 
0401 
030B 
03FA 
030B 
0450 
0103 
0018 
4D6 
0A7F 
04B1 
02DD 
03CB 
030B 
045D 
0103 
0015 
04D6 
027B 
03D8 
030B 
0289 
02C9 
045D 
0124 
0009 



A 
A 
A 
A 
A 
A 
A 
A 
A 
A 
A 
A 
A 
A 
A 
A 
A 
A 
A 
A 
A 
A 
A 
A 
A 
A 
A 
A 
A 
A 
A 



WORD QERROR, DROP, LITER, SEMIS 



************************************* (((((((((***** 

: FORGET CURRENT @ CONTEXT @ ( IS VOCAB ) 

18 ?ERROR ( NON-AMBIGUOUS ? ) 

[COMPILE] ' NFA (. HD OF WORD TO FORGET ) 

DUP FENCE @ < 15 ?ERROR ( CMP FENCE ) 
>R VOC-LINK @ ( START WITH LATEST VOCAB) 

BEGIN R OVER < ( FORGET ENTIRE VOCAB? ) 
WHILE [COMPILE] FORTH DEFINITIONS 

@ DUP VOC-LINK ! ( UNLINK VOCAB ) 
REPEAT 

BEGIN DUP 2 - ( START AT PHANTOM NAME ) 

BEGIN PFA LFA @ ( HEAD OF WORD ) 

DUP R < ( FORGETTING IT ? ) 
UNTIL 

! ( NEW HEAD OF VOCAB ) 



OVER 1 

@ -DUP 0= ( END OF VOCAB LIST ? ) 



UNTIL 
R> DP 



( NEW DICTIONARY POINTER ) 



HEAD ORD, 6, LONG, 'F'/256 

.WORD 'OR' , 'GE' ,'T'+EVEN,TICK-2 



FORGET: .WORD DOCOL , CURR, AT , CONT , AT 



WORD SUB , LIT, 0018, QERROR 



.WORD TICK, NFA, DUP, FENCE, AT, LESS 



WORD LIT, 0015, QERROR, TOR, VOCL, AT 



FORGl:: .WORD R, OVER, LESS , ZBRAN 



WORD FORG2-. , FORTH, DEFIN 



PACE ASSEMBLER REV-A 05/23/75 
FORTH NUCLEUS FOR PACE 
DICTIONARY 





0AA6 


083F A 




0AA7 


084B A 


1907 


0AA8 


030B A 




0AA9 


02DD A 




OAAA 


03D8 A 




OAAB 


031D A 




OAAC 


011B A 


1908 


OAAD 


FFF4 A 


1909 


OAAE 


02DD A 




OAAF 


037E A 




OABO 


0450 A 


1910 


0AB1 


04C0 A 




0AB2 


04A3 A 




0AB3 


030B A 




0AB4 


02DD A 




0AB5 


0289 A 




0AB6 


045D A 




0AB7 


0124 A 


1911 


0AB8 


FFF9 A 




0AB9 


02C9 A 




OABA 


037A A 




OABB 


0450 A 




OABC 


031D A 


1912 


OABD 


030B A 




OABE 


047D A 




OABF 


028F A 




OACO 


0124 A 


1913 


0AC1 


FFED A 




0AC2 


0283 A 




0AC3 


03D0 A 




0AC4 


031D A 




0AC5 


026A A 


1914 






1915 






1916 






1917 






L918 






1919 


0AC6 


8442 A 


1920 


0AC7 


4143 A 




0AC8 


CB20 A 




0AC9 


0A87 A 


1921 


OACA 


0342 A 




OACB 


043A A 




OACC 


0450 A 




OACD 


0448 A 




OACE 


026A A 


1922 






1923 


OACF 


C542 A 


1924 


OADO 


4547 A 




0AD1 


49CE A 




0AD2 


0AC6 A 


1925 


0AD3 


0342 A 




0AD4 


04E3 A 




0AD5 


043A A 




0AD6 


037A A 



.WORD AT, DUP,VOCL, STORE, BRAN 



.WORD F0RG1-. 
F0RG2: .WORD DUP,TWO,SUB 



F0RG3: .WORD PFA,LFA , AT , DUP , R, LESS , ZBRAN 



.WORD F0RG3-. , OVER, ONE, SUB, STORE 



.WORD AT,DDUP,ZEQU, ZBRAN 



.WORD F0RG2-. , FROMR , DP , STORE , SEMI S 



I******************************************* *** ***** 
I* CO NDITIONAL COMPILER, PER SHIRA * 

;*************************************************** 

» 

HEAD 0RD,4,L0NG, 'B'/256 
.WORD 'AC , 'K'+EVEN,F0RGET-5 



BACK: .WORD DOCOL , HERE , SUB , COMMA , SEMI S 



HEAD IMM,5,L0NG, 'B'/256 
.WORD 'EG' , 'IN'+0DD,BACK-4 



BEGIN: .WORD DOCOL , QCOMP , HERE , ONE , SEMIS 



PACE ASSEMBLER REV-A 05/23/75 
FORTH NUCLEUS FOR PACE 
DICTIONARY 



0AD7 026A A 



1926 
1927 
1928 



1929 



1930 



1931 
1932 
1933 



1934 



1935 
1936 
1937 

1938 



1939 



1940 
1941 
1942 



1943 



1944 



1945 
1946 
1947 



1948 



0AD8 
0AD9 
OADA 
OADB 
OADC 
OADD 
OADE 
OADF 
OAEO 
0AE1 
0AE2 
0AE3 
0AE4 
0AE5 

0AE6 
0AE7 
0AE8 
0AE9 
OAEA 
OAEB 
OAEC 

OAED 
OAEE 
OAEF 
OAFO 
0AF1 
0AF2 
0AF3 
0AF4 
OAFS 

0AF6 
0AF7 
0AF8 
0AF9 
OAFA 
OAFB 
OAFC 
OAFD 
OAFE 
OAFF 
OBOO 

0B01 
0B02 
0B03 
0B04 
0B05 
0B06 
0B07 
0B08 



C545 
4E44 
49C6 
OACF 
0342 
04E3 
037E 
04FB 
043A 
02C9 
0450 
02D5 
031D 
026A 

C454 
4845 
CE20 
0AD8 
0342 
OADC 
026A 

C244 
CF2 
0AE6 
0342 
0521 
0155 
043A 
0382 
026A 

C44C 
4F4F 
D020 
OAED 
0342 
0382 
04FB 
0521 
012F 
OACA 
026A 

C52B 
4C4F 
4FD0 
0AF6 
0342 
0382 
04FB 
0521 



A 
A 
A 
A 
A 
A 
A 
A 
A 
A 
A 
A 
A 
A 

A 
A 
A 
A 
A 
A 
A 

A 
A 
A 
A 
A 
A 
A 
A 
A 

A 
A 
A 
A 
A 
A 
A 
A 
A 
A 
A 

A 
A 
A 
A 
A 
A 
A 
A 



ENDIF 



THEN 



DO 



LOOP: 



PLOOP 



HEAD 
.WORD 



HEAD 
.WORD 



.WORD 



HEAD 
.WORD 



HEAD 
.WORD 



IMM,5,L0NG, 'E'/256 
'ND' , 'IF'+0DD,BEGIN-4 



.WORD DOCOL,QCOMP, TWO, QPAIRS, HERE 



.WORD OVER, SUB, SWAP, STORE, SEMIS 



IMM,4,L0NG, 'T'/256 
'HE' ,'N'+EVEN,ENDIF-4 



.WORD DOCOL, ENDIF, SEMIS 



HEAD IMM,2,L0NG, 'D'/256 
.WORD '0'+EVEN,THEN-4 

.WORD DOCOL, COMPIL,XDO 



HERE, THREE, SEMIS 



IMM,4,L0NG, 'L'/256 
'00' , 'P'+EVEN,D0-3 



.WORD DOCOL, THREE, QPAIRS, COMPIL 



.WORD XLOOP, BACK, SEMIS 



IMM,5,L0NG, '+'/256 
'LO' , '0P'+0DD,L00P-4 



.WORD DOCOL, THREE, QPAIRS, COMPIL 



PACE ASSEMBLER REV-A 05/23/75 
FORTH NUCLEUS FOR PACE 
DICTIONARY 



1949 



1950 
1951 
1952 



1953 



1954 



1955 
1956 
1957 

1958 



1959 
1960 
1961 



1962 



1963 



1964 
1965 
1966 



1967 



1968 



1969 
1970 
1971 

1972 



0B09 
OBOA 
OBOB 

OBOC 
OBOD 
OBOE 
OBOF 
0B10 
0B11 
0B12 
0B13 
0B14 
0B15 
0B16 

0B17 
0B18 
0B19 
0B1A 
0B1B 
0B1C 

0B1D 
0B1E 
0B1F 
0B20 
0B21 
0B22 
0B23 
0B24 
0B25 
0B26 
0B27 

0B28 
0B29 
0B2A 
0B2B 
0B2C 
0B2D 
0B2E 
0B2F 
0B30 
0B31 
0B32 
OB 3 3 
0B34 
0B35 
0B36 

0B37 
0B38 
0B39 

0B3A 



0140 
OACA 
026A 

C555 
4E54 
49CC 
0B01 
0342 
037A 
04FB 
0521 
0124 
OACA 
026A 

C345 
4EC4 
OBOC 
0342 
0B10 
026A 

C541 
4741 
49CE 
0B17 
0342 
037A 
04FB 
0521 
011B 
OACA 
026A 

C652 
4550 
4541 
D420 
0B1D 
0342 
027B 
027B 
0B21 
0283 
0283 
037E 
0450 
OADC 
026A 

C249 
C620 
0B28 

0342 



A 
A 
A 

A 
A 
A 
A 
A 
A 
A 
A 
A 
A 
A 

A 
A 
A 
A 
A 
A 

A 
A 
A 
A 
A 
A 
A 
A 
A 
A 
A 

A 
A 
A 
A 
A 
A 
A 
A 
A 
A 
A 
A 
A 
A 
A 

A 
A 
A 

A 



.WORD XPLOOP, BACK, SEMIS 



END 



HEAD 
.WORD 



IMM,5,L0NG, 'U'/256 
'NT' , ' IL'+0DD,PL00P-4 



UNTIL: .WORD DOCOL , ONE , QPAIRS , COMPIL 



.WORD ZBRAN, BACK, SEMIS 



HEAD 
.WORD 



IMM,3,L0NG, 'E'/256 
'ND'+0DD,UNTIL-4 



.WORD DOCOL, UNTIL, SEMIS 



HEAD 
.WORD 



IMM,5,L0NG, 'A'/256 
'GA' , 'IN'+0DD,END-3 



AGAIN: .WORD DOCOL , ONE , QPAIRS , COMPIL 



WORD BRAN, BACK, SEMIS 



HEAD IMi,6,L ONG, 'R'/256 

.WORD 'EP' ,'EA' ,'T'+EVEN,AGAIN-4 



REPEAT: .WORD DOCOL , TOR, TOR, AGAIN, FROMR 



.WORD FROMR, TWO, SUB, ENDIF, SEMIS 



IF 



HEAD IMM,2,L0NG, M'/256 

.WORD 'F'+EVEN,REPEAT-5 

.WORD DOCOL, COMPIL, ZBRAN, HERE 



PACE ASSEMBLER REV-A 05/23/75 
FORTH NUCLEUS FOR PACE 
DICTIONARY 



1973 



1974 
1975 
1976 



1977 



1978 



1979 



1980 
1981 
1982 



1983 



1984 
1985 
1986 
1987 
1,9 88 
1989 
1990 



1991 



1992 

1993 
1994 



0B3B 
0B3C 
0B3D 
0B3E 
0B3F 
0B40 
0B41 

0B42 
0B43 
0B44 
0B45 
0B46 
0B47 
0B48 
0B49 
0B4A 
0B4B 
0B4C 
0B4D 
0B4E 
0B4F 
0B50 
0B51 
0B52 

0B5 3 
0B54 
0B55 
0B56 
0B57 
0B58 
0B59 
0B5A 



0B5B 
0B5C 
0B5D 
0B5E 
0B5F 
0B60 
0B61 
0B62 
0B63 

0B64 
0B65 
0B66 

0B67 
0B68 
0B69 
0B6A 



0521 
0124 
043A 
0376 
0448 
037E 
026A 

C445 
4C53 
C520 
0B37 
0342 
037E 
04FB 
0521 
011B 
043A 
0376 
0448 
02D5 
037E 
OADC 
037E 
026A 

C557 
4849 
4CC5 
0B42 
0342 
0B3A 
0432 
026A 



A 
A 
A 
A 
A 
A 
A 

A 
A 
A 
A 
A 
A 
A 
A 
A 
A 
A 
A 
A 
A 
A 
A 
A 

A 
A 
A 
A 
A 
A 
A 
A 



8653 A 
5041 A 
4345 A 
D320 A 
0B53 A 
0342 
0376 
08D7 
047D 
0124 
0006 
0376 
0155 
0475 A 
012F A 
FFFE A 



.WORD ZERO, COMMA, TWO, SEMIS 



HEAD IMM,4,LONG, 'E'/256 
.WORD 'LS' , 'E'+EVEN,IF-3 



ELSE: .WORD DOCOL , TWO , QPAIRS , COMPIL 



.WORD BRAN, HERE, ZERO, COMMA 



.WORD SWAP, TWO, ENDIF, TWO, SEMIS 



HEAD IMM,5,LONG,'W'/256 
.WORD 'HI' ,'LE'+ODD,ELSE-4 



WHILE: .WORD DOCOL , IF ,TWOP , SEMI S 



*************************************************** 

* NUMERIC PRIMITIVES * 

*************************************************** 



head: ord:, 6 .long; 's' /256 

.WORD 'PA' ,'CE' ,'S'+EVEN,WHILE-4 



SPACES: .WORD DOCOL , ZERO , MAX ,DDUP , ZBRAN 

.WORD SPACE2-. ,ZERO,XDO 

SPACE1: .WORD SPACE, XLOOP 

.WORD SPACE1-. 



PACE ASSEMBLER REV-A 05/23/75 
FORTH NUCLEUS FOR PACE 
DICTIONARY 



1995 
1996 
1997 
1998 
1999 
2000 

2001 



2002 
2003 
2004 
2005 

2006 
2007 

2008 



2009 



2010 
2011 
2012 



2013 



2014 



2015 
2016 
2017 
2018 
2019 



0B6B 026A A SPACE2 : .WORD SEMIS 

: <, PAD BYTE HLD ! 



0B6C 
0B6D 
0B6E 
0B6F 
0B70 
0B71 
0B72 
0B73 
0B74 



2020 



0B75 
0B76 
OB77 
0B78 
0B79 
0B7A 
0B7B 
0B7C 
0B7D 
0B7E 
0B7F 
0B80 
0B81 

0B82 
0B83 
0B84 
0B85 
0B86 
0B87 
0B88 
0B89 
0B8A 
0B8B 
0B8C 
0B8D 
0B8E 

0B8F 
0B90 
0B91 
0B92 
0B93 
0B94 
0B95 
0B96 
0B97 
0B98 



823C 
A320 
0B5B 
0342 
0686 
02FD 
0426 
031D 
026A 



8223 
BE20 
0B6C 
0342 
02D0 
02D0 
0426 
030B 
0686 
2FD 
02C9 
0450 
026A 

8453 
4947 
CE20 
0B75 
0342 
046A 
0297 
0124 
0004 
0103 
002D 
067A 
026A 



A 
A 
A 
A 
A 
A 
A 
A 
A 
A 
A 
A 
A 

A 
A 
A 
A 
A 
A 
A 
A 
A 
A 
A 
A 
A 



81A3 A 
0B82 A 
0342 A 
4 0D A 
030B A 
0933 A 
046A A 
0103 A 
0009 A 
02C9 A 



HEAD ORD,2,LONG, '<'/256 
.WORD ' , '+EVEN,SPACES-5 

BDIGS: .WORD DOCOL , PAD , BYTE , HLD , STORE , SEMI S 



:; , > DROP DROP HLD @ 

PAD BYTE OVER + ; 

HEAD ORD,2,LONG, * ,'/256 
.WORD '>'+EVEN,BDIGS-3 

EDIGS: .WORD DOCOL , DROP , DROP , HLD , AT 



WORD PAD, BYTE, OVER, SUB, SEMIS 



HEAD ORD,4,LONG, 'S'/256 , 
.WORD 'IG' , 'N'+EVEN,EDIGS-3 



SIGN: .WORD DOCOL , ROT , ZLESS , ZBRAN 



WORD SIGN1-. , LIT, '-'/256, HOLD 



SIGN1: .WORD 



DIG: 



HEAD 

.WORD 

.WORD 



SEMIS 

ORD, 1 , SHORT, ' , '/256 

SIGN-4 

DOCOL, BASE, AT, MSMOD, ROT 



.WORD LIT, 9, OVER, LESS, ZBRAN 



PACE ASSEMBLER REV-A 05/23/75 
FORTH NUCLEUS FOR PACE 
DICTIONARY 



2021 



2022 



2023 
2024 
2025 

2026 
2027 



2028 

2029 
2030 
2031 
2032 
2033 
2034 
2035 

2036 



2037 



2038 



2039 
2 040 
2041 

2042 



0B99 
0B9A 
0B9B 
0B9C 
0B9D 
0B9E 
0B9F 
OBAO 
0BA1 
0BA2 
0BA3 

0BA4 
0BA5 
0BA6 

0BA7 
0BA8 
0BA9 
OBAA 
OBAB 
OBAC 
OBAD 
OBAE 
OBAF 



045D 
0124 
0004 
0103 
0007 
029F 
0103 
0030 
029F 
067A 
026A 

8223 
D320 
0B8F 

0342 

0B91 
02C9 

02C9 
0246 
028F 
0124 
FFFA 
026A 



OBBO 
0BB1 
0BB2 
0BB3 
0BB4 
0BB5 
0BB6 
0BB7 
0BB8 
0BB9 
OBBA 
OBBB 
OBBC 
OBBD 
OBBE 
OBBF 
OBCO 
0BC1 

0BC2 
0BC3 
0BC4 
0BC5 

0BC6 
0BC7 
0BC8 



8344 
2ED2 
0BA4 
0342 
027B 
02D5 
02C9 
08C8 
0B6F 
0BA7 
0B86 
0B78 
0283 
02C9 
0450 
0B60 
0599 
026A 

822E 
D220 
OBBO 
0342 

027B 
08A5 
0283 



A 
A 
A 
A 
A 
A 
A 
A 
A 
A 
A 

A 
A 
A 

A 
A 
A 
A 
A 
A 
A 
A 
A 



A 
A 
A 
A 
A 
A 
A 
A 
A 
A 
A 
A 
A 
A 
A 
A 
A 
A 

A 
A 
A 
A 

A 
A 

A 



.WORD DIG1-. ,LIT, 7, PLUS 



DIG1: .WORD LIT, 0030 , PLUS , HOLD , SEMI S 



DIGS: 
DIGS1 



HEAD 0RD,2,L0NG, ' , '/256 

.WORD 'S'+EVEN,DIG-2 

.WORD DOCOL 

.WORD DIG, OVER, OVER, OR, ZEQU,ZBRAN 



.WORD DIGS1-. , SEMIS 



*************************************************** 
* OUTPUT OPERATORS * 

*************************************************** 

HEAD ORD, 3, LONG, 'D'/256 
.WORD ' .R'+0DD,DIGS-3 



DDOTR: .WORD DOCOL , TOR, SWAP , OVER , DABS 



.WORD BDIGS, DIGS, SIGN, ED IGS,FROMR 



.WORD OVER, SUB , SPACES, TYPE, SEMIS 



DOTR: 



HEAD ORD, 2, LONG, ' . '/256 
.WORD 'R'+EVEN,DD0TR-3 

.WORD DOCOL, TO R,S TOD, FROMR, DDOTR, SEMIS 



PACE ASSEMBLER REV-A 05/23/75 
FORTH NUCLEUS FOR PACE 
DICTIONARY 



0BC9 0BB3 A 
OBCA 026A A 



2043 
2044 
2045 

2046 



2047 
2048 
2049 
2050 



2051 
2052 
2053 
2054 



2055 
2056 
2057 

2058 



2059 
2060 
2061 
2062 
2063 
2064 
2065 



2066 



2067 
2068 



2069 



OBCB 
OBCC 
OBCD 
OBCE 
OBCF 
OBDO 
0BD1 
0BD2 

0BD3 
0BD4 
0BD5 
0BD6 
0BD7 
0BD8 

0BD9 
OBDA 
OBDB 
OBDC 
OBDD 
OBDE 

OBDF 
OBEO 
0BE1 

0BE2 
0BE3 
0BE4 
0BE5 



0BE6 
0BE7 
0BE8 
0BE9 
OBEA 
OBEB 

OBEC 
OBED 
OBEE 
OBEF 
OBFO 
0BF1 
0BF2 

0BF3 
0BF4 
0BF5 
0BF6 



8244 
AE20 
0BC2 
0342 
0376 
0BB3 
0475 
026A 

81AE 
OBCB 
0342 
08A5 
OBCE 
026A 

81BF 
0BD3 
0342 
030B 
0BD5 
026A 

8255 
AE20 
0BD9 
0342 
0376 
OBCE 
026A 



844C 
4953 
D420 
OBDF 
0342 
01FC 
02DD 
03EC 
031D 
05CA 
0653 
4352 
2023 
2020 
0BD5 
0103 
0010 



A 
A 
A 
A 
A 
A 
A 
A 

A 
A 
A 
A 
A 
A 

A 
A 
A 
A 
A 
A 

A 
A 
A 

A 
A 
A 
A 



A 
A 
A 
A 
A 
A 

A 
A 
A 
A 
A 
A 
A 
A 
A 
A 
A 



HEAD 0RD,2,L0NG, 'D'/256 
.WORD ' . '+EVEN,D0TR-3 

DDOT: .WORD DOCOL , ZERO ,DDOTR, SPACE , SEMI S 



DOT: 



QUES: 



HEAD ORD, 1 , SHORT, ' .'/256 
.WORD DDOT-3 

.WORD DOCOL, STOD, DDOT, SEMIS 



HEAD ORD, 1 , SHORT, '?'/256 

.WORD DOT-2 

.WORD DOCOL, AT, DOT, SEMIS 



HEAD ORD, 2, LONG, 'U'/256 
.WORD ' . '+EVEN,QUES-2 

UDOT: .WORD DOCOL , ZERO , DDOT, SEMI S 



*************************************************** 
* PROGRAM DOCUMENTATION * 

*************************************************** 

HEAD ORD, 4, LONG, 'L'/256 
.WORD 'IS' , 'T'+EVEN,UD0T-3 



LIST: .WORD DOCOL , CR , DUP , SCR, STORE , PDOTQ 



STRING 6,'S'/256 
.ASCII 'CR , ' 



.WORD DOT, LIT, 16, ZERO, XDO 



PACE ASSEMBLER REV-A 05/23/75 
FORTH NUCLEUS FOR PACE 
DICTIONARY 





0BF7 


0376 


A 






0BF8 


0155 


A 




2070 


0BF9 


01FC 


A 


LIST1 : .WORD 




OBFA 


0161 


A 






OBFB 


0376 


A 






OBFC 


0382 


A 






OBFD 


0BB3 


A 






OBFE 


0475 


A 




2071 


OBFF 


0161 


A 


.WORD 




OCOO 


03EC 


A 






0C01 


030B 


A 






0C02 


09FB 


A 






0C03 


012F 


A 




2072 


0C04 


FFF5 


A 


.WORD 




0C05 


01FC 


A 






0C06 


026A 


A 




2073 








» 


2074 


0C07 


8549 


A 


HEAD 


2075 


0C08 


4E44 


A 


.WORD 




0C09 


45D8 


A 






OCOA 


0BE6 


A 




2076 


OCOB 


0342 


A 


INDEX: .WORD 




OCOC 


0103 


A 






OCOD 


OOOC 


A 






OCOE 


01ED 


A 




2077 


OCOF 


01FC 


A 


.WORD 




0C10 


042B 


A 






0C11 


02D5 


A 






0C12 


0155 


A 




2078 


0C13 


01FC 


A 


INDEX 1: .WORD 




0C14 


0161 


A 






0C15 


0376 


A 






0C16 


0382 


A 






0C17 


0BB3 


A 






0C18 


0475 


A 




2079 


0C19 


0376 


A 


.WORD 




0C1A 


0161 


A 






0C1B 


09FB 


A 






0C1C 


01F8 


A 






0C1D 


0124 


A 




2080 


0C1E 


0002 


A 


.WORD 




0C1F 


0273 


A 




2081 


0C20 


012F 


A 


INDEX2: .WORD 


2082 


0C21 


FFF2 


A 


.WORD 




0C22 


026A 


A 




2083 








» 


2084 


0C23 


8554 


A 


HEAD 


2085 


0C24 


5249 


A 


.WORD 




0C25 


41C4 


A 






0C26 


0C07 


A 




2086 


0C27 


0342 


A 


TRIAD: .WORD 




0C28 


0103 


A 






0C29 


OOOC 


A 






0C2A 


01ED 


A 






0C2B 


0382 


A 





CR, I, ZERO, THREE, DDOTR, SPACE 



I,SCR,AT,DLINE,XLOOP 



LIST1-. ,CR, SEMIS 



0RD,5,L0NG, 'I'/256 
'ND' , 'EX'+0DD,LTST-4 



DOCOL, LIT, OOOC, EMIT 



CR,ONEP,SWAP,XDO 



CR, I, ZERO, THREE, DDOTR, SPACE 



ZERO,I,DLINE,QTERM,ZBRAN 



INDEX2-. , LEAVE 

XLOOP 

INDEX1-. , SEMIS 



0RD,5,L0NG, 'T'/256 
'RI' , 'AD'+QDD*INDEX-4 



DOCOL, LIT, OOOC, EMIT, THREE 



PACE ASSEMBLER REV-A 05/23/75 
FORTH NUCLEUS FOR PACE 
DICTIONARY 

2087 0C2C 0911 A .WORD SLASH , THREE , STAR, THREE 
0C2D 0382 A 

0C2E 0901 A 

0C2F 0382 A 

2088 0C30 02C9 A .WORD OVER , PLUS , SWAP , XDO 
0C31 029F A 

0C32 02D5 A 

0C33 0155 A 

2089 0C34 01FC A TRIAD1: .WORD CR, I , L 1ST , XLOOP 
0C35 0161 A 

0C36 OBEA A 

0C37 012F A 

2090 0C38 FFFC A .WORD TRIAD 1 -., CR , L IT, 000F 
0C39 01FC A 

0C3A 0103 A 

0C3B 000F A 

2091 0C3C 0A05 A .WORD MESS , CR , SEMI S 
0C3D 01FC A 

0C3E 026A A 

2092 ; 

2093 ;****************************************** *** ****** 

2094 ;* TOOLS ■ * 

2095 ;*************************************************** 

2096 ; 

2097 0C3F 8556 A HEAD ORD , 5 ,LONG , ' V /256 

2098 0C40 4C49 A .WORD 'LI ' , ' ST '+ODD , TRIAD-4 
0C41 53D4 A 

0C42 0C23 A 

2099 0C43 0342 A VLIST: .WORD DOCOL , LIT, 0080 , OUT , STORE 
0C44 0103 A 

0C45 0080 A 
0C46 03E7 A 
0C47 031D A 
2 100 0C48 3FA A .WORD CONT,AT,AT 

0C49 030B A 
0C4A 030B A 

2101 0C4B 03E7 A VLIST1: .WORD OUT , AT , L IT, 0040 , GREAT , ZBRAN 
0C4C 030B A 

0C4D 0103 A 
0C4E 0040 A 
0C4F 0463 A 
0C50 0124 A 

2102 0C51 0005 A .WORD VL IST2- ., CR, ZERO , OUT , STORE 
0C52 01FC A 

0C53 0376 A 
0C54 03E7 A 
0C55 031D A 

2103 0C56 02DD A VLIST2: .WORD DUP , IDDOT, SPACE , SPACE 
0C57 075D A 

0C58 0475 A 

0C59 0475 A 

2104 0C5A 04C0 A .WORD PFA,LFA , AT , DUP , ZEQU 
0C5B 04A3 A 

0C5C 030B A 
0C5D 02DD A 



PACE ASSEMBLER REV-A 05/23/75 
FORTH NUCLEUS FOR PACE 
DICTIONARY 



0C5E 028F A 

2105 0C5F 01F8 A .WORD QTERM, OR, ZBRAN 
0C60 0246 A 

0C61 0124 A 

2106 0C62 FFE9 A .WORD VLIST1 - . ,DROP , SEMI S 

0C63 02D0 A 

0C64 026A A 

2107 ; 

2108 0C65 8454 A HEAD ORD , 4 ,LONG , ' T ' / 256 

2109 0C66 4153 A .WORD ' AS ' , ' K'+EVEN , VLIST-4 
0C67 CB20 A 

0C68 0C3F A 

2110 0C69 0342 A TASK: .WORD DOCOL, SEMIS 



0C6A 026A A 



2111 



PACE ASSEMBLER REV-A 05/23/75 
FORTH NUCLEUS FOR PACE 
DICTIONARY 

.PAGE 

2112 ; 

2113 088C FIN: .END CENT 



PACE ASSEMBLER REV-A 05/23/75 
FORTH NUCLEUS FOR PACE 



00F6 


02A2 


A 


00F7 


0108 


A 


00F8 


0109 


A 


00F9 


0107 


A 


OOFA 


015D 


A 


OOFB 


015C 


A 


OOFC 


7E44 


A 


OOFD 


7E3B 


A 


OOFE 


7ECC 


A 



ABORT 

ALLOT 

AT 

BAD 

BCOMP 

BIN 

BLANKS 

BLOCK 

BLOCK3 

BUFFI 

BUFFS 

BYTE 

CENT 

CMOVE 

CMOVE3 

COMMA 

CONT 

CR 

CRY 

CSTORE 

DABS 

DDUP 

DELIM 

DICT 

DIGIT 

DLINE 

DMINUS 

DOCON 

DOT 

DOTQ2 

DOVAR 

DPO 

DPMI 

DROP 

DTRA2 

DUP 

EMIT 

ENDIF 

ERASE 



0874 

0442 

030B 

0175 

07AF 

02A2 

0671 

09B6 

09DE 

0997 

1DF0 

02FD 

088C 

0690 

06A2 

0448 

03FA 

01FC 

0007 

0324 

08C8 

047D 

01DA 

0100 

0166 

09FB 

02BD 

035C 

0BD5 

05EE 

0367 

001F 

08B7 

02D0 

05C1 

02DD 

01ED 

OADC 

0668 



A 

A 

A 

A 

A 

A 

A 

A 

A 

A 

A 

A 

A 

A 

A 

A 

A 

A 

A 

A 

A 

A 

A 

A 

A 

A 

A 

A 

A 

A 

A 

A* 

A 

A 

A 

A 

A 

A 

A 



ABS 

AND 

BACK 

BASE 

BDIGS 

BITO 

BLK 

BLOCK1 

BRAN 

BUFF2 

BUFMEM 

CAT 

CFA 

CMOVE 1 

COLD 

COMPIL 

COUNT 

CREAT1 

CSET 

CURR 

DDOT 

DEC 

DFIND 

DIG 

DIGS 

DLITE1 

DO 

DODOES 

DOTQ 

DOTR 

DOVOC 

DPL 

DPMI1 

DRTWO 

DTRA3 

EDIGS 

ENCL 

ENDNAM 

ERROR 



08C0 

023F 

OACA 

4 0D 

0B6F 

0003 

03DD 

09C5 

011B 

09AA 

0210 

0311 

04AA 

0698 

088B 

0521 

058E 

078C 

000A 

0401 

OBCE 

0553 

0727 

0B91 

0BA7 

07D4 

OAFO 

0583 

05D8 

0BC5 

0837 

0412 

08BC 

0987 

05C3 

0B78 

01B1 

01A1 

0744 



A 

A 

A 

A 

A 

A 

A 

A 

A 

A 

A 

A 

A 

A 

A 

A 

A 

A 

A 

A 

A 

A 

A 

A 

A 

A 

A 

A 

A 

A 

A 

A 

A 

A 

A 

A 

A 

A 

A 



AGAIN 


0B21 


A 


ARROW 


0A3B 


A 


BACKSP 


0017 


A* 


BBUF 


0399 


A 


BEGIN 


0AD3 


A 


BL 


0387 


A 


BLKSIZ 


0080 


A 


BLOCK2 


09D2 


A 


BSCR 


039F 


A 


BUFFER 


0992 


A 


BUILDS 


0575 


A 


CELL 


0305 


A 


CKBASE 


016F 


A 


CMOVE2 


06A1 


A 


COLON 


0338 


A 


CON 


0357 


A 


CPU 


0014 


A* 


CREATE 


0779 


A 


CSP 


041C 


A 


CYCLE 


018A 


A 


DDOTR 


0BB3 


A 


DEFIN 


084B 


A 


DFIND1 


0737 


A 


DIG1 


0B9F 


A 


DIGS1 


0BA8 


A 


DLITER 


07CC 


A 


DOCOL 


0342 


A 


DOES 


057D 


A 


DOTQ1 


05EA 


A 


DOUSER 


0371 


A 


DP 


03D0 


A 


DPLUS 


02A7 


A 


DRONE 


097F 


A 


DTRA1 


05B4 


A 


DTRAIL 


05B0 


A 


ELSE 


0B46 


A 


END 


0B1A 


A 


EQUAL 


0457 


A 


ERRORl 


074B 


A 



PACE ASSEMBLER REV-A 05/23/75 
FORTH NUCLEUS FOR PACE 



EVEN 


8000 


A 


EXEC 


0112 


A 


EXPEC1 


05F9 


A 


EXPEC2 


0611 


A 


EXPEC3 


061D 


A 


EXPEC4 


061E 


A 


EXPEC5 


0624 


A 


EXPECT 


05F4 


A 


FENCE 


03CB 


A 


FENCEO 


001E 


A* 


FILL 


0658 


A 


FIN 


0C6B 


A 


FIRST 


038D 


A 


FLD 


0417 


A 


FORG1 


0AA1 


A 


FORG2 


OAAE 


A 


FORG3 


0AB1 


A 


FORGET 


0A8C 


A 


FORTH 


083F 


A 


FORTHO 


0016 


A* 


FOUND 


0194 


A 


FROMR 


0283 


A 


GETC 


7E3B 


A 


GREAT 


0463 


A 


HEAD 


FORM 




HERE 


4 3A 


A 


HEX 


0548 


A 


HI 


0A59 


A 


HIBLK 


3FC0 


A 


HLD 


0426 


A 


HOLD 


067A 


A 


I 


0161 


A 


IDDOT 


075D 


A 


IF 


0B3A 


A 


IMM 


0001 


A 


IMMED 


0819 


A 


IN 


03E2 


A 


INDEX 


OCOB 


A 


INDEX1 


0C13 


A 


INDEX2 


0C20 


A 


INIT 


0023 


A 


INTER 


07F1 


A 


INTER1 


07F2 


A 


INTER2 


07FE 


A 


INTER3 


0800 


A 


INTER4 


0803 


A 


INTER5 


080D 


A 


INTER6 


080F 


A 


INTER7 


0810 


A 


INTEST 


7ECC 


A 


IP 


0001 


A 


IPO 


089F 


A 


KEY 


01F1 


A 


LATEST 


049B 


A 


LBRAC 


052C 


A 


LDUP 


0894 


A 


LDUVS 


0896 


A 


LEAVE 


0273 


A 


LESS 


045D 


A 


LFA 


04A3 


A 


LIMIT 


0393 


A 


LINK 


0008 


A 


LIST 


OBEA 


A 


LIST1 


0BF9 


A 


LIT 


0103 


A 


LITER 


07BD 


A 


LITER1 


07C5 


A 


LMASK 


01E7 


A 


LNDEL 


01CB 


A 


LO 


0A5E 


A 


LOAD 


0A22 


A 


LOBLK 


2000 


A 


LONG 


0000 


A 


LOOP 


OAFA 


A 


LP 


0219 


A 


M 


000B 


A 


MAX 


08D7 


A 


MESS 


0A05 


A 


MES.S1 


0A15 


A 


MESS2 


0A17 


A 


MESS3 


0A1D 


A 


MIN 


08CF 


A 


MINI 


023B 


A 


MINUS 


02B4 


A 


MINUS1 


0223 


A 


MISS 


019C 


A 


MOD 


0919 


A 


MOVE 


0201 


A 


MOVE1 


0207 


A 


MOVE2 


020E 


A 


MSLASH 


08EE 


A 


MSMOD 


0933 


A 


MSTAR 


08DF 


A 


MTBUF 


0975 


A 


NBUF 


0008 


A 


NEW1 


01BE 


A 


NEW 2 


01CD 


A 


NEWNAM 


0181 


A 


NEXT 


0109 


A 


NFA 


04B1 


A 


NINE 


0177 


A 


NONUL 


01D6 


A 


NUL 


01D1 


A 


NULL 


063A 


A 


NULL1 


064F 


A 


NULL2 


0651 


A 


NULL3 


0653 


A 


NUMB 


06FA 


A 


NUMB1 


070A 


A 


NUMB2 


071D 


A 


NUMB3 


0722 


A 


NZ 


0005 


A 


ODD 


0080 


A 


OFFSET 


03F3 


A 


ONE 


037A 


A 


ONEP 


042B 


A 


OR 


0246 


A 


ORD 


0000 


A 


ORGPTR 


08A0 


A 


ORIG 


0010 


A 


OUT 


03E7 


A 


OVER 


02C9 


A 


P 


0002 


A 


PABORT 


7 3D 


A 


PAD 


0686 


A 


PAREN 


0853 


A 


PART 


0002 


A 


PBUF 


094D 


A 


PBUF1 ' 


0958 


A 


PCR 


0A53 


A 


PDOTQ 


05CA 


A 


PEMIT 


0A49 


A 


PFA 


04C0 


A 


PFIND 


017D 


A 


PKEY 


0A4D 


A 


PLINE 


09E7 


A 


PLOOP 


0B05 


A 


PLUS 


029F 


A 


PMI 


08AE 


A 


PMI1 


08B3 


A 


PNUMB 


06D4 


A 


PNUMB1 


6D5 


A 


PNUMB2 


06F0 


A 


PNUMB3 


06F3 


A 


POOL 


0230 


A 


POP 


015D 


A 


POP2 


015C 


A 


PORIG 


03A6 


A 


PQTERM 


0A4F 


A 


PREV 


0947 


A 


PSCODE 


055E 


A 


PSTORE 


02E3 


A 


PULL 


014F 


A 


PUSH 


0107 


A 


PUT 


0108 


A 


PUTC 


7E44 


A 


QCOMP 


04E3 


A 


QCSP 


0505 


A 


QERR1 


04DD 


A 


QERR2 


04DE 


A 


QERROR 


04D6 


A 


QEXEC 


04EF 


A 


QLOAD 


0514 


A 


QPAIRS 


04FB 


A 


QSTACK 


07DA 


A 



PACE ASSEMBLER REV-A 05/23/75 
FORTH NUCLEUS FOR PACE 



QTERM 01F8 A QUAD 0000 A QUERY 062D A 

QUES OBDB A QUIT 085C A QUIT1 0861 A 

QUIT2 086D A R 0289 A RO 001A A* 

RBRAC 0533 A REPEAT 0B2D A REV 0015 A* 

RMASK 01E8 A RNDEL 01CA A RNUM 0421 A 

ROT 046A A RP 0021 A RPSTOR 0262 A 

RT1 01C4 A RT2 OlDD A RW 0A63 A 

RW1 0A79 A RZERO 03B3 A SO 0019 A* 

SCR 03EC A SCSP 04CC A SEMI 034A A 

SEMIC 0569 A SEMIS 026A A SHORT 0001 A 

SIGN 0B86 A SIGN1 0B8E A SLASH 0911 A 

SLMOD 0909 A SMUDGE 053E A SP 0003 A 

SPACE 0475 A SPACE1 0B68 A SPACE2 0B6B A 

SPACES 0B60 A SPAT 0255 A SPSTOR 025B A 

SSLASH 092A A SSMOD 0921 A STAR 0901 A 

START 089E A STATE 0407 A STOD 08A5 A 

STORE 031D A STRING FORM SUB 0450 A 

SWAP 02D5 A SZERO 03AE A TASK 0C69 A 

TEST 021E A THEN OAEA A THREE 0382 A 

TIB 03B8 A TIBO 001B A* TICK 0A7F A 

TOGGLE 02ED A TOPMEM 2000 A TOR 027B A 

TRAV 0488 A TRAV1 048A A TRIAD 0C27 A 

TRIAD1 0C34 A TWO 037E A TWOP 0432 A 

TYPE 0599 A TYPE1 05A1 A TYPE2 05A8 A 

TYPE3 05A9 A UO 0018 A* UDOT 0BE2 A 

UNTIL 0B10 A UP 0022 A UPDATE 0962 A 

USE 0941 A USER 036E A USLASH 0227 A 

USTAR 0213 A UVARS 1DD0 A VAR 0364 A 

VLIST 0C43 A VLIST1 0C4B A VLIST2 0C56 A 

VOCAB 0827 A VOCL 03D8 A VOCLO 0020 A* 

W 0002 A WARN 03C5 A WARNO 001D A* 

WENT 0892 A WHILE 0B57 A WIDTH 03BE A 

WIDTHO 001C A* WORD 06A8 A WORDl 06B2 A 

WORD 2 06B4 A X 0002 A XOOFF 0335 A 

X3FFF 01A8 A X7F7F 01A9 A X8080 01AB A 

XDO 0155 A XFF 031A A XFFOO 01AA A 

XLOOP 012F A XL00P1 0137 A XOR 024D A 

XPLOOP 0140 A Y 0003 A Z 0001 A 

ZBRAN 0124 A ZEQU 028F A ZERO 0376 A 

ZLESS 0297 A 



NO ERROR LINES 

SOURCE CHECKSUM : E77A 

A ZEQU 028F A ZERO 0376