Fig FORTH_PACE_missing_1_page_May79 FORTH PACE Missing 1 Page May79

User Manual: figFORTH_PACE_missing_1_page_May79

Open the PDF directly: View PDF PDF.
Page Count: 74

fig-FORTH
FOR
PACE
ASSEMBLY
SOURCE
LISTING
RELEASE
1
WITH
COMPILER
SECURITY
AND
VARIABLE
LENGTH
NAMES
MAY
1979
This
public domain publ ication
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
I'NTEREST
GROUP
00000
P.O.
Box
1105
00000
San
Carlos,
Ca.
94070
'.
,
bPUB.
1
LISTING
79/05/05.TITLE:
FORTH
NUCLEUS
FOR
PACE
.TITLE
FORTH,'NUCLEUS
FOR
PACE'
2
3
4
5
6
7
8
9
10
1 1
12
13
14
15
16
1 7
18
19
20
0000
21
0010
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
0001
0002
0003
0005
0007
0008
OOOA
OOOB
3FCO
2000
0080
0008
2000
0210
1DFO
1DDO
0100
54
0010
9811
A
.ASM
TI
,
PART 1
.L
1ST
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
·
,
;***************************************************
;*
BOC
AND
FLAG
ABBREVIATIONS *
.***************************************************
,
Z
P
BITO
NZ
CRY
LINK
CSET
M
1
= 2
= 3
= 5
7
8
=
10
11
;
;***************************************************
· *
,
MEMORY
ASSIGNMENTS *
;***************************************************
HIBLK
LOBLK
BLKSIZ =
NBUF
TO
PM
EM
BUFMEM
BUFFS
UVARS
DICT =
03FCO
02000
128
8
02000
BLKSIZ/2+2*NBUF
TOPMEM-BUFMEM
BUFFS-32
0100
, HIGHEST
BLOCK
FWA
LOWEST
BLOCK
FWA
BLOCK
SIZE
IN
BYTES
NO
OF
BLOCK
BUFFERS
LWA+1
OF
DISK
BUFFS
LTH
OF
BUFFER
AREA
FWA
OF
DISK
BUFFERS
START
OF
USER
AREA
FWA
OF
DICTIONARY
;
.****:k**********************************************
, .
;*
START-UP
LITERALS
*
;***************************************************
ORiG:
JMP
@.+1 ;
COLD
PACE ASSEMBLER REV-A
OS/23/75
FORTH NUCLEUS
FOR
PACE
55
0011
088C
A
WORD
CENT
ENTRY
56
0012
9813
A JMP @.+1
WARM
57
0013
0892
A
.WORD
WENT
ENTRY
58
0014 0000
A CPU:
.WORD
0 RESERVED
59
0015
0000
A REV:
WORD
0 RESERVED
60
0016
OC65 A FORTHO:
.WORD
TASK-4
TOP
WORD
IN
DICT
61
0017
005F
A BACKSP:
.WORD
005.F BACKSPACE CHARACTER
62
0018
IDDO
A UO:
.WORD
UVARS
START
OF
USER
AREA
63
0019
lD8F
A
SO:
.WORD
UVARS-65
TOP
OF
EMPTY
STACK
64
001A
1DDO
A RO:
WORD
UVARS
TOP
OF
RETURN STACK
65
OOlB
ID8F
A
TIBO:
WORD
UVARS-65
SOURCE BUFFER ORIG
66
001C
001F
A WIDTHO:
.WORD
31
INITIAL
NAME
LENGTH
67
001D
0000
A
WARNO:
.WORD
0
ERROR
WARNING
MODE
68
OOIE OC65 A FENCEO:
.WORD
TASK-4
BARRIER
FOR
FORGET
69
001F
OC6B A DPO:
WORD
FIN
FWA
OF
FREE STORAGE
70
0020 0843
A VOCLO:
WORD
FORTH+4
INITIAL
VOC-LINK
7 1
PACE ASSEMBLER REV-A
OS/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
9 1
92
93
94
95
96
97
98
99
100
0021
0022
0023
0024
0025
0026
0027
0028
0029
002A
0000
A
0000
A
0002
0003
0001
0002
0003
7E3B
7E44
7ECC
5000
A
0800
A
6700
A
5109
A
6400
A
79FF
A
1827
A
3100
A
.PAGE
;***************************************************
;* FORTH
REGISTERS
*
;***************************************************
.
,
RP:
.WORD
0
,RETURN
STACK PTR
UP:
.WORD
0 USER POINTER
X 2 INDEX
Y 3
REGISTERS
IP
1
INTERPRETIVE
PTR
W X FORTH
CODE
PTR
SP Y FORTH STACK PTR
;
;***************************************************
; INSTALLATION-DEPENDENT ROUTlliES
;*****~:*********************************************
;
GETC
07E3B
PUTC
07E44
INTEST
07ECC
INIT:
LI
0,0
CRF 0
PULL Y
LI
1 , 9
PULL 0
AISZ· 1
,-1
JMP
.-2
PFLG 1
101
002B
6300
A
102
002e
1BOO
A
103
104
0000
00F6
105
002D
106
107
108
109
110
1
11
112
0000
113
0001
114
0001
115
0000
116
8000
11
7
0080
118
PUSH Y
JMP
(Y)
.BSECT
.=.+00F6
; POINTER
AREA
.ASECT
.***************************************************
,
. *
, AIDS
FOR
NAME
FIELD
CONSTRUCTION *
.***************************************************
,
.FORM
HEAD,1(1),1,1(0),5,1,7
ORD
0
ORDIN.
WD
PREC
BIT
IMM
1 IMMED.
WD
PREC
BIT
SHORT
1
FOR
I-CHAR
NAMES
LONG
0
FOR
LONGER
NAMES
EVEN
08000
EVEN-LTH STOP
BIT
ODD
00080
ODD-LTH STOP
BIT
PACE ASSEMBLER REV-A
OS/23/75
FORTH NUCLEUS
FOR
PACE
DICTIONARY
119
120
1 21
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
0100
0101
0102
0103
0104
0105
0106
0107
0108
0109
aIDA
010B
010C
002D
0100
834C
49D4
0000
0104
5E40
C200
7901
7BFF
D300
5E40
7901
CAOO
9AOO
A
A
A
A
A
A
A
A
A
A
A
A
A
144
010D
8745
A
145
010E
5845
A
010F
4355
A
0110
54C5
A
0111 0100
A
.PAGE
'DICTIONARY'
.ASEeT
.=
DICT
,
.***************************************************
,
;*
LIT,
PUSH,
PUT,
NEXT
*
.***************************************************
,
HEAD
ORD,3,LONG,'L'/256
WORD
'IT'+ODD,OOOO
LIT:
.WORD
.+1
RCPY
IP,X
PICK
UP
LD
0,
(X)
VALUE
AISZ
IP,l
STEP
IP
OVER
PUSH:
AISZ
SP,-l
EXTEND
STACK
PUT:
ST
0,
(SP)
STORE
VALUE
NEXT:
RCPY
IP,X
AISZ
IP,l
INCREMENT
IP
LD
W,
(X)
ADDR
OF
NEXT
WORD
JMP
@(W)
JUMP
THRU
CODE
ADDR
.***************************************************
,
;*
EXEGUTE *
;***************************************************
HEAD
.WORD
ORD,7,LONG,'E'/256
'XE','CU','TE'+ODD,LIT-3
146
0112
0113
A EXEC:
147
0113
CBOO
A
.WORD
LD
AISZ
JMP
+1
W,O(SP)
SP , 1
@(W)
FETCH
CODE
ADDR
POP STACK
148
0114
7B01
A
149
0115
9AOO
A
150
1
51
152
153
154
155
0116
8642
A
156
0117
5241
A
0118
4E43
A
0119
C820
A
o
11A
01
OD
A
JUMP
THRU
CODE
ADDR
;***************************************************
;* BRANCH,
OBRANCH
*
.***************************************************
,
HEAD
WORD
ORD,6,LONG,'B'/256
'RA','NC','H'+EVEN,EXEC-5
157
011B 011C
A BRAN:
158
011e
5E40
A
.WORD
RCPY
ADD
.+1
IP,X
IP,
(X)
ADD
OFFSET
TO
IP
159
011D
E600
A
160
011E
19EA
A
161
162
011F
8730
A
163
0120
4252
A
0121
414E
A
0122
43C8
A
JMP
HEAD
WORD
NEXT
ORD,7,LONG,'0'/256
'BR','AN','CH'+ODD,BRAN-5
PACE ASSEMBLER REV-A
OS/23/75
FORTH NUCLEUS
FOR
PACE
DICTIONARY
0123
164
0124
165
0125
166
0126
0127
0128
0129
0116
A
0125
A
C300
A
7B01
A
41F4
A
7901
A
19DF
A
167
168
169
170
1 7 I
172
173
174
175
012A
8628
A
176
012B
4C4F
A
012e
4F50
A
012D
A920
A
012E
011F
A
177
012F
0130
A
178
0130
5001
A
179
0131
C821
A
180
0132
E200
A
181
0133
D200
A
182
0134
3780
A
183
0135
9201
A
184
0136
4BE5 A
185
0137
7901
A
186
0138
7A02
A
187
0139
D821
A
188
013A
19CE
A
ZBRAN:
.WORD
LD
AISZ
BOC
AISZ
JMP
.+1
O,O(SP)
SP,l
Z,BRAN+1
IP,l
NEXT
GET
BOOLEAN
POP STACK
IF
BOOLEAN
= 0
STEP
IP
OVER
OFFSET
,
;******************************~********************
;*
LOOP
CONTROL *
;***************************************************
XLOOP:
HEAD
WORD
.WORD
LI
LD
ADD
ST
SFLG
SUBB
BOC
XLOOPl:
AISZ
AISZ
ST
JMP
ORD,6,LONG,'('/256
'LO','OP",')'+EVEN,ZBRAN-5
.+1
0,
1
X,RP
0,
(X)
0,
(X)
CRY
O,l(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
013B
8728
A
HEAD
ORD,7,LONG,'('/256
191
013C
2B4C A
WORD
'+L','OO','P)'+ODD,XLOOP-5
o 13D
4F4F
A
013E
50A9
A
013F
012A
A
192
0140
0141
A XPLOOP:
.WORD
.+1
193
0141
6100
A PUSH
IP
SAVE
IP
194
0142
C700
A
LD
1,O(SP)
GET
INCREMENT
195
0143
7B01
A
AISZ
SP,l
POP STACK
196
0144
C821
A
LD
X,RP
GET
RETURN
POINTER
197
0145
C200
A
LD
0,
(X)
GET
INDEX
198
0146
6840
A
RADD
1,0
ADD
INCREMENT
199
0147
D200
A ST
0,
(X)
UPDATE INDEX
200
0148
3780
A SFLG
CRY
SUBTRACT
201
0149
9201
A
SUBB
O,l(X)
LOOP
LIMIT
202
014A
4104
A
BOC
Z,PULL
IF
INDEX =
LIMIT
203
014B
5840
A
RXOR
1,0
COJ.l1B
I
NE
SIGN
BITS
204
014C
6500
A PULL
IP
RESTORE
IP
205
o 14D 4BCE A
BOC
M,BRAN+1
IND<LIM
XOR
INC<O
206
014E
19E8
A JMP
XLOOP
1
207
014F
6500
A
PULL:
PULL
IP
RESTORE
IP
208
0150
19E6
A JMP XLOOP1
209
;
210
.***************************************************
,
211
. * (DO) , POPTWO,
POP,
I *
,
PACE ASSEMBLER REV-A
OS/23/75
FORTH NUCLEUS
FOR
PACE
DICTIONARY
212
;***~:***********************************************
213
214
0151
8428
A
HEAD
ORD,4,LONG,'('/256
215
0152
444F
A
.WORD
'DO',')'+EVEN,XPLOOP-5
0153
A920
A
0154
013B
A
216
0155 0156
A XDO:
WORD
.+1
217
0156
C301
A
LD
O,l(SP)
MOVE
LIMIT
218
0157
AC21 A DSZ
RP
TO
RETURN
219
0158
B021
A ST O,@RP STACK
220
0159
C300
A
LD
O,O(SP)
MOVE
INITIAL
221
015A
AC21 A DSZ
RP
INDEX
TO
RETURN
222
015B
B021
A ST O,@RP STACK
223
01SC
7B01
A POP
2:
AISZ
SP,l
POP
ONE
ITEM
224
015D
7B01
A
POP:
AISZ
SP , 1 POP
ONE
ITEM
225
01SE
19AA A JMP
NEXT
226
227
015F
81C9
A
HEAD
ORD,1,SHORT,'I'/256
228
0160
0151
A
WORD
XDO-4
229
0161
028A
A I :
WORD
R+1 .
GET
FROM
RTN
STACK ,
230
231
232
233
234
235
0162
8544
A
236
0163
4947
A
0164
49D4
A
0165
015F
A
237
0166
0167
A
238
0167
C301
A
239
0168
78DO A
240
0169
4BOB
A
241
016A
9DOC
A
242
016B
1903
A
243
016C
78F9
A
244
016D
9D09
A
245
016E
1906
A
246
016F
9FOO A
247
0170
F300
A
248
0171
1903
A
249
0172
D301
A
250
0173
5001
A
251
0174
1993
A
252
0175
5000
A
253
0176
98F6
I
254
0177
0009
A
255
256
257
258
259
260
0178
8628
A
261
0179
4649
A
017A
4E44
A
-***:k***********************************************
,
. *
,
DIGIT
*
.***************************************************
,
HEAD
.WORD
DIGIT:
.WORD
LD
AISZ
BOC
SKG
JMP
AISZ
SKG
JMP
CKBASE:
SKG
SKNE
JMP
ST
LI
JMP
BAD:
NINE:
LI
JMP
.WORD
ORD,5,LONG,'D'/256
'IG','IT'+ODD,I-2
.+1
O,l(SP)
0,-0030
M,BAD
O,NINE
CKBASE
0,-7
O,NINE
BAD
O,O(SP)
O,O(SP)
BAD
O,l(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
,
;***:k***********************************************
;*
(FIND)
*
;***************************************************
HEAD
WORD
ORD,6,LONG,'('/256
'FI','ND',')'+EVEN,DIGIT-4
PACE ASSEMBLER REV-A
OS/23/75
FORTH NUCLEUS FOR PACE
DICTIONARY
017B
A920
A
017C
0162
A
262
017D
017E
A
263
017E
6100
A
264
017F
7BFF
A
265
0180
CB01 A
266
0181
A302
A
267
0182
C600
A
268
0183
5840
A
269
0184
A923
A
270
0185
B923
A
271
0186
1915
A
272
0187
450C
A
273
0188
C702
A
274
0189
D700
A
275
018A
7A01
A
276
018B
8FOO A
PFINlD:
WORD
PUSH
AISZ
LD
NEWNAM:
LD
LD
RXOR
AND
SKAZ
JMP
BOC
LD
ST
CYCLE:
AISZ
ISZ
.+1
IP
SP,-1
X,l(SP)
0,@2(SP)
1 ,
(X)
1,0
0,X3FFF
0,X7F7F
MISS
NZ,FOUND
1,2(SP)
1,0(SP)
X,
1
O(SP)
SAVE
IP
EXTEND
S.TACK
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
B
Ur-iP
NAME
AND
STRING
POINTERS
277
018C
A300
A
LD
O,@O(SP)
NEXT
WD
OF
STRING
278
018D
C600
A
LD
1,(X)
NEXT
WD
OF
NAME
279
018E
5840
A
RXOR
1
,0
280
018F
4201
A
BOC
P,
+2
IF
HI
BYTE
IS
LAST,
281
0190
A919
A
AND
O,XFFOO CLEAR
LOW
BYTE
282
0191
B9l7
A
SKAZ
0,X7F7F
COMPARE
CHARS
283
0192
1909
A JMP
MISS
IF
MISMATCH
284
0193
4lF6
A
BOC
Z,CYCLE
IF
NO
STOP
BIT
285
0194
7A03
A FOUND:
AISZ
X,3
FORM
PFA
286
0195
DB02
A ST
X,2(SP)
PUT THIRD
ON
STACK
287
0196
A30l
A
LD
O,@l(SP)
FIRST
WD
OF
NAME
288
0197
2ClO
A
SHR
0,8,0
GET
LENGTH BYTE
289
0198
D301
A ST
O,l(SP)
PUT
SECOND
ON
STACK
290
0199
5001
A
LI
0,1
BOOLEAN
TRUE
291
019A
6500
A PULL
IP
RESTORE
IP
292
019B
98F7
I JMP PUT
BOOLEAN
ON
BOTTOM
293
019C
B90E
A
MISS
::
SKAZ
0,X8080
TEST
FOR
A STOP
BIT
294
o 19D
1903
A JMP
ENDNAM
IF
PRESENT
295
019E
7A01
A
AISZ
X,
1
BUMP
NAME
POINTER
296
019F
C200
A
LD
0,
(X)
GET
NEXT
WORD
297
OlAO
19FB
A JMP
MISS
CONTINUE SCANNING
298
01AI
CAOI A
ENDNAM:
LD
X,I(X)
FETCH
LINK
299
01A2
DBOI A ST
X,I(SP)
NEW
NFA
300
01A3
7AOO
A
AISZ
X,O
TEST
FOR
LINK
= 0
301
0lA4
19DC A JMP
NEWNAM
IF
NOT
DONE
302
0lA5
DB02 A ST
X,2(SP)
PUT -BOOLEAN FALSE
303
01A6
6500
A PULL
IP
RESTORE
IP
304
0lA7
19B4
A JMP POP2
305
306
01A8
3FFF
A
X3FFF:
WORD
03FFF
307
01A9
7F7F
A
X7F7F':
WORD
07F7F
308
OlAA FFOO A XFFOO:
WORD
OFFOO
309
OlAB
8080
A
X8080:
WORD
08080
310
;
311
.***~:***********************************************
,
312
. * ENCLOSE *
,
313
.***~:***********************************************
,
314
PACE ASSEMBLER REV-A
OS/23/75
FORTH NUCLEUS FOR PACE
DICTIONARY
315
SCAN
SOURCE
STRING,
PACKED
TWO
CHARACTERS/WORD,
316
FOR
DELIMITER
ON
Tdp
OF
STACK,
OR
ASCII
NULL.
317
318
OIAC
8745
A
HEAD
ORD,7,LONG,~E'/256
319
OlAD
4E43
A
.WORD
'NC','LO','SE'+ODD,PFIND-5
OlAE
4C4F
A
OlAF
53C5
A
OlBO
0178
A
320
OlBI
0lB2
A ENCL:
WORD
.+1
321
01B2
6100
A PUSH
IP
SAVE
IP
322
01B3
7BFE A
AISZ
SP,-2
EXTEND STACK
323
01B4
C302
A
LD
0,2(SP)
GET
DELIMITER
324
01B5
A932
A
AND
O,RMASK USE
LOWER
325
01B6
5DOO
A RCPY
0,
1 BYTE
ONLY
326
01B7
2910
A
SHL
1
,8
,0
DOUBLE
UP
327
01B8
6900
A
RADD
0,1
DELIMITER
328
0lB9
C303
A
LD
0,3(SP)
..
GET
BYTE
ADDRESS ,
329
OIBA
3800
A PFLG LINK
330
OIBB
2403
A
ROR
0,
1 , 1 CONVERT ADDRESS
331
OlBC
D300
A ST
O,O(SP)
SAVE
WORD
ADDRESS
332
OlBD
5200
A
LI
X,O
CLEAR
COUNT
333
OIBE
A300
A NEWI:
LD
O,@O(SP)
GET
NEXT
2 BYTES
334
OlBF
5840
A
RXOR
1,0
COMPARE
WITH DELIMS
335
Oleo
4803
A
BOC
LINK,RTI
IF
START
ADDR
ODD
336
OICI
B925
A SKAZ O,LMASK TEST LEFT BYTE
337
0lC2
1908
A JMP LNDEL
IF
NOT
DELIM
338
01C3
7AOl
A
AISZ
X,
1
BUMP
COUNT
339
0lC4
B923
A
RTI:
SKAZ
O,RMASK TEST RIGHT BYTE
340
0lC5
1904
A JMP
RNDEL
IF
NOT
DELIM
341
01C6
7AOl
A
AISZ
X,
1
BUMP
COUNT
342
0lC7
3800
A PFLG LINK LEFT BYTE
OF
343
01C8
8FOO A
ISZ
O(SP)
FOLLOWING
WORD
344
0lC9
19F4
A JMP
NEWI
IS
NEXT
345
OICA
3880
A RNDEL: SFLG
LINK
REMEMBER
WHICH
BYTE
346
OICB
DB02
A LNDEL: ST
X,2(SP)
SET
FC
OFFSET
347
OlCC
4810
A
BOC
LINK,RT2
RESUME
AT
SAME
BYTE
348
OICD
A300
A
NEW2
::
LD
O,@O(SP)
GET
DATA
349
OlCE
DBOI A ST
X,I(SP)
MAYBE
EW
OFFSET
350
OlCF
B917
A
SKAZ
O,LMASK ; TEST
FOR
NULL
351
DIDO
1905
A JMP
NONUL
352
OIDl
DBOO
A NUL: ST
X,O(SP)
NC
O:FFSET
353
01D2
FB02
A SKNE
X,2(SP)
IS
NC
=
FC?
354
0lD3
8FOI
A
ISZ
I(SP)
YES,
BUMP
EW
355
0lD4
6500
A PULL
IP
RESTORE
IP
356
0lD5
98F8
I JMP
NEXT
357
0lD6
7AOI A NONUL:
AISZ
X,
1
BUMP
COUNT
358
0lD7
5840
A
RXOR
1,0
359
0lD8
B90E
A
SKAZ
O,LMASK TEST
FOR
DELIM
360
0lD9
1903
A JMP RT2
361
OIDA
DBOO
A
DELI~[:
ST
X,O(SP)
NC
OFFSET
362
OIDB
6500
A PULL
IP
RESTORE
IP
363
OIDC
98F8
I JMP
NEXT
364
OIDn
5840
A
RT2:
RXOR
1
,0
365
OIDE DBOI A ST
X,l(SP)
MAYBE
EW
366
OIDF
A908
A
AND
O,RMASK
PACE ASSEMBLER REV-A
OS/23/75
FORTH NUCLEUS FOR PACE
DICTIONARY
367
OlEO
4lFO
A
BOC
Z,NUL
TEST
FOR
NULL
368
OIEl
7AOI A
AISZ
X,
1
BUMP
COUNT
369
0lE2
5840
A
RXOR
1,0
370
0lE3
A904
A
AND
O,RMASK
371
0lE4
41F5
A
BOC
Z,DELIM
TEST
FOR
DELIM
372
0lE5
8FOO A
ISZ
O(SP)
BACK
FOR
373
0lE6
19E6
A JMP
NEW2
NEXT
WORD
374
0lE7
FFOO A LMASK:
.WORD
OFFOO
375
0lE8
DOFF A RMASK:
WORD
OOOFF
376
377
378
379
380
381
382
383
01E9
8445
A
384
OlEA
4D49
A
OlEB
D420
A
OlEC
01AC A
385
OlED OA49 A
386
387
OlEE
834B
A
388
OlEF
45D9
A
01FO
01E9
A
389
01F1
OA4D
A
390
391
01F2
893F
A
392
01F3
5445
A
393
394
01F4
01F5
01F6
01F7
01F8
395
01F9
396
OlFA
01FB
397
01FC
398
399
400
401
402
403
404
524D
A
494E
A
41CC A
01EE
A
OA4F A
8243
A
D220
A
01F2
A
OA53 A
405
01FD
844D
A
406
OlFE
4F56
A
01FF
C520
A
0200
0lF9
A
;***************************************************
;* TERMINAL VECTORS *
;***********************~***************************
THESE
WORDS
VECTOR
TO
INSTALLATION-SPECIFIC
CODE
EMIT:
KEY:
QTERM:
CR:
.
,
HEAD
.WORD
.WORD
HEAD
WORD
WORD
HEAD
WORD
.WORD
HEAD
.WORD
WORD
ORD,4,LONG,'E'/256
'MI','T'+EVEN,ENCL-5
PEMIT
ORD,3,LONG,'K'/256
'EY'+ODD,EMIT-4
PKEY
ORD,9,LONG,'?'/256·
'TE','RM','IN','AL'+ODD,KEY-3
PQTERM
ORD,2,LONG~'Cr/256
'R'+EVEN,QTERM-6
PCR
;***************************************************
;*
MOVE
*
;***************************************************
NOTE
THAT
THIS
WORD
MOVES
DATA
IN
l6-BIT
UNITS.
HEAD
.WORD
ORD,4,LONG,'M'/256
'OV','E'+EVEN,CR-3
407
0201
0202
A
MOVE:
408
0202
C300
A
WORD
LD
BOC
.+1
O,O(SP)
Z,MOVE2
IP
GET
COUNT
IF
ZERO
SAVE
IP
409
0203
410A
A
410
0204
6100
A
411
0205
5DOO
A
PUSH
RCPY
PACE ASSEMBLER REV-A
OS/23/75
FORTH
NUCLEUS
FOR
PACE
DICTIONARY
412
0206
CB02 A
413
0207
C200
A MOVE1:
414
0208
B301
A
415
0209
7A01 A
416
020A
8FOl
A
417
020B
79FF
A
418
020C
19FA
A
LD
LD
ST
AISZ
ISZ
AISZ
JMP
0,
1
X,2(SP)
0,
(X)
O,@l(SP)
X,
1
l(SP)
1,-1
MOVE1
SOURCE
ADDRESS
GET
DATA
ITEM
STORE
AT
DEST
INCREMENT
ADDRESSES
DECREMENT
COUNT
UNTIL
DONE
419
0200
6500
A
420
020E
7B03
A
421
020F
98F8
I
422
423
424
425
426
427
0210
8255
A
428
0211
AA20 A
0212
01FD A
429
0213 0214
A
430
0214
6100
A
431
0215
C300
A
432
0216
5100
A
433
0217
5210
A
434
0218
7000
A
435
0219
6940
A
436
021A
7400
A
437
021B
4A02 A
438
021C
E701
A
439
0210
9105
A
440
021E
7AFF A
441
021F
19F9
A
442
0220
0701
A
443
0221
6500
A
444
0222
98F7
I
445
0223
FFFF
A
446
447
448
449
450
451
0224
8255
A
452
0225
AF20
A
0226
0210
A
453
0227
0228
A
454
0228
6100
A
455
0229
C701
A
456
022A
C302
A
457
022B
CBOO
A
458
022C
7201
A
459
0220
DB
01
A
460
022E
5210
A
461
022F
2803
A
462
0230
2103
A
463
0231
2003
A
464
0232
E701
A
PULL
MOVE2:
AISZ
JMP
IP
SP,3
NEXT
RESTORE
IP
POP
ARGUMENTS
.***************************************************
,
;*
U*,
FOR
16
BITS
*
.***************************************************
,
HEAD
WORD
USTAlR:
.WORD
PUSH
LD
LI
LI
CAl
LP:
RADD
TEST:
RADC
BOC
ADD
SUBB
AISZ
JMP
ST
PULL
JMP
MINUS1:
.WORD
.
,
ORD,2,LONG,'U'/256
'*'+EVEN,MOVE-4
.+1
IP
O,O(SP)
1,0
X,16
0,0
1 , 1
0,0
CSET,
TEST
1,1(SP)
0,
MINUS1
X,-l
LP
1,1(SP)
IP
PUT
-1
SAVE
IP
GET
MULTIPLIER
CLEAR
RESULT
LOOP
COUNT
COMPLEMENT
MPLR
SHIFT
LO
INTO
CRY
ROTATE
MPLR
LEFT
TEST
FOR
ADD
ADD
IF
MPLR
BIT=l
ADD
CARRY
TO
HI
DECR
LOOP
COUNT
REPEAT UNTIL
LIMIT
PUT
LO-ORDER
SECOND
RESTORE
IP
HI-ORDER
ON
BOTTOM
.***************************************************
,
;*
U/,
FOR
32
BITS
*
;***************************************************
HEAD
WORD
USLASH:
WORD
PUSH
LD
LD
LD
CAl
ST
LI
SHL
POOL:
ROL
ROL
ADD
ORD,2,LONG,'U'/256
'/'+EVEN,USTAR-3
.+1
SAVE
IP
HI-ORDER DIVIDEND
LO-ORDER DIVIDEND
IP
1,1(SP)
0,2(SP)
X,O(SP)
X,
1
X,l(SP)
X,16
;"
GET
DIVISOR
0,
1 , 1
1 , 1 , 1
0,
1 , 1
1,1(SP)
SAVE
-(DIVISOR)
FOR
CONVENIENCE
LOOP
COUNT
SHIFT
LO
INTO LINK
ROTATE
HI
WITH
LINK
ROTATE
HI
INTO
QUOT
SUBTR
DIVSR
FROM
HI
PACE ASSEMBLER REV-A
OS/23/75
FORTH
NUCLEUS
FOR
PACE
DICTIONARY
465
0233
9107
A
466
0234
4301
A
467
0235
E700
A
SUBB
BOC
ADD
0,MIN1
BITO,.+2
1,0(SP)
ADD
CARRY
TO
QUOT
IF
QUOT
BIT
=
0,
ADD
DIVISOR
BACK
468
0236
7AFF A
469
0237
19F8
A
470
0238
D702
A
471
0239
6500
A
4 72
02
3A
1
967
A
473
023B
FFFF
A
474
475
476
477
478
479
023C
8341
A
480
02
3D
4 E C 4 A
023E
0224
A
481
023F
0240
A
482
0240
C301
A
483
02
/j·1
AB
00
A
484
02/j·2
195F
A
485
486
0243
824F
A
487
0244
D220
A
0245
023C
A
488
0246 0247
A
489
0247
C301
A
490
0248
A700
A
491
0249
1958
A
492
493
024A
8358
A
494
024B
4FD2 A
024C
0243
A
495
024D
024E
A
496
024E
C301
A
497
024F
CBOO
A
498
0250
5880
A
499
0251
1950
A
500
501
502
503
504
505
0252
8353
A
506
0253
50CO A
0254
024A
A
507
0255
0256
A
508
0256
5CCO A
509
0257
98F9
I
510
511
0258
8353
A
512
0259
50A1
A
025A
0252
A
513
025B 025C
A
514
025C
C822
A
MIN
1:
.
,
AISZ
JMP
ST
PULL
JMP
.WORD
X,-l
POOL
1,2(SP)
IP
BIN
-1
DECREMENT
LOOP
CNT
REPEAT UNTIL
LIMIT
REMAINDER
SECOND
RESTORE
IP
QUOTIENT
ON
BOTTOM
.***~:***********************************************
,
;* LOGICALS *
;*********************************************~*****
AND:
OR:
XOR:
HEAD
WORD
WORD
LD
AND
JMP
HEAD
WORD
WORD
LD
OR
JMP
HEAD
WORD
WORD
LD
LD
RXOR
JMP
ORD,3,LONG,'A'/256
'ND'+ODD,USLASH-3
.+1
O,l(SP)
O,O(SP)
BIN
ORD,2,LONG,'O'/256
'R'+EVEN,AND-3
.+1
0,1(SP)
O,O(SP)
BIN
ORD,3,LONG,'X'/256
'OR'+ODD,OR-3
.+1
0,1(SP)
X,O(SP)
X,O
BIN
GET
SECOND
AND
WITH
BOTTOM
REMOVE
ARGS
GET
SECOND
OR
WITH
BOTTOM
REMOVE
ARGS
GET
SECOND
I
GET
:
BOTTOM
FORM
EXCLUSIVE
OR
REMOVE
ARGS
,
.***************************************************
,
;*
STACK
INITiALIZATION
*
.***************************************************
,
SPAT:
HEAD
WORD
.WORD
RCPY
JMP
HEAD
.WORD
SPSTOR:
WORD
LD
ORD,3,LONG,'S'/256
'P@'+ODD,XOR-3
.+1
SP,O
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
OS/23/75
FORTH NUCLEUS
FOR
PACE
DICTIONARY
515
025D
CE03
A
LD
SP,3(X)
FETCH SPO
516
025E
98F8
I JMP
NEXT
517
518
025F
8352
A
HEAD
ORD,3,LONG,'R'/256.
519
0260
50A1
A
WORD
'P!'+ODD,SPSTOR-3
0261
0258
A
520
0262
0263
A
RPSTOR:
.WORD
.+1
521
0263
C822
A
LD
X,UP
GET
USER
POINTER
522
0264
C204
A
LD
0,4(X)
FETCH
RO
523
026.5
D021
A ST
O,RP
SET RETURN
POINTER
524
0266
98F8
I JMP
NEXT
525
526
0267
823B
A
HEAD
ORD,2,LONG,';'/256
527
0268
D320
A
WORD
'S'+EVEN,RPSTOR-3
0269
025F
A
528
026A
026B
A
SEMIS:
WORD
.+1
529
026B
A021
A
LD
O,@RP RESTORE
530
026C
5DOO
A RCPY
O,IP
OLD
IP
531
026D
8C21
A
ISZ
RP
POP RETURN STACK
532
026E
98F8
I JMP
NEXT
533
;
534
.***************************************'************
,
535
. * RETURN STACK
WORDS
*
,
536
.***************************************************
,
537
538
026F
854C
A
HEAD
ORD,5,LONG,'L'/256
539
0270
4541
A
WORD
'EA','VE'+ODD,SEMIS-3
0271
56C5
A
0272
0267
A
540
0273 0274
A LEAVE:
.WORD
.+1
541
0274
C821
A
LD
X,RP
GET
RETURN
POINTER
542
0275
C200
A
LD
O,O(X)
GET
LOOP INDEX
543
0276
D201
A ST
O,I(X)
MAKE
LIMIT
EQUAL
544
0277
98F8
I JMP
NEXT
545
546
0278
823E
A
HEAD
ORD,2,LONG,'>'/256
547
0279
D220
A
WORD
'R'+EVEN,LEAVE-4
027A
026F
A
548
027B
027C
A TOR:
WORD
.+1
549
027C
AC21 A DSZ
RP
EXTEND RETURN STACK
550
027D
C300
A
LD
0,
(SP)
GET
DATA
ITEM
551
027E
B021
A ST O,@RP PUT
ON
RETURN STACK
552
027F
98FA
I JMP POP POP
FROM
DATA
STACK
553
554
0280
8252
A
HEAD
ORD,2,LONG,'R'/256
555
0281
BE20
A
.WORD
'>'+EVEN,TOR-3
0282
0278
A
556
0283
0284
A FRONR:
WORD
.+1
557
0284
A021
A
LD
O,@RP
GET
FROM
RETURN STK
558
028.5
8C21
A
ISZ
RP
POP RETURN STACK
559
0286
98F9
I JMP PUSH PUSH
ON
DATA
STACK
560
561
0287
81D2
A
HEAD
ORD,1,SHOR~,'R'/256
562
0288 0280
A
WORD
FROMR-3
563
0289
028A
A
R:
WORD
.+1
PACE ASSEMBLER REV-A
OS/23/75
FORTH
NUCLEUS
FOR
PACE
DICTIONARY
564
028A
A021
A
LD
O,@RP
GET
NONDESTRUCTIVE
565
028B
98F9
I
JMP
PUSH PUSH
ON
DATA
STACK
566
;
567
.***************************************************
,
568
. * TESTS
AND
LOGICALS *
,
569
.***~,***********************************************
,
570
571
028C
8230
A
HEAD
ORD,2,LONG,'0'/l56
572
028D
BD20 A
WORD
'='+EVEN,R-2
028E
0287
A
573
028F
0290
A ZEQU:
.WORD
.+1
574
0290
5000
A
LI
0,0
RETURN
ZERO
575
0291
F300
A
SKNE
O,O(SP)
IF
DATA
NONZERO
576
0292
5001
A
LI
0,1
OTHERWISE
RETURN
1
577
0293
98F7
I
JMP
PUT
578
579
0294
8230
A
HEAD
ORD,2,LONG,'0'/256
580
0295
BC20 A
WORD
'<'+EVEN,ZEQU-3
0296
028C
A
581
0297 0298
A
ZLESS:
WORD
.+1
582
0298
5000
A
LI
0,0
RETURN
ZERO
583
0299
9FOO A
SKG
O,O(SP)
IF
DATA
<=
ZERO
584
029A
98F7
I JMP
PUT
585
029B
5001
A
LI
0,
1 OTHERWISE
RETURN
1
586
029C
98F7
I
JMP
PUT
587
588
.***************************************************
,
589
. *
MATH,
BINARY *
,
590
.***************************************************
,
591
592
029D
81AB A
HEAD
ORD,1,SHORT,'+'/256
593
029E
0294
A
WORD
ZLESS-3
594
029F
02AO A
PLUS:
WORD
.+1
595
02AO
C300
A
LD
O,O(SP)
ADD
BOTTOM
TWO
596
02A1
E301
A
ADD
O,l(SP)
STACK
VALUES
597
02A2
7B01
A
BIN:
AISZ
SP,l
REMOVE
ONE
ARG
598
02A3
98F7
I
JMP
PUT
REPL
OTHER
W/RESULT
599
600
02A4
8244
A
HEAD
ORD,2,LONG,'D'/256
601
02A5
AB20 A
.WORD
'+'+EVEN,PLUS-2
02A6
029D
A
602
02A7 02A8
A DPLUS:
.WORD
.+1
603
02A8
C303
A
LD
0,3(SP)
AUGEND
LOW-ORDER
604
02A9
E301
A
ADD
O,l(SP)
ADDEND
LOW-ORDER
605
02AA
D303
A
ST
0,3(SP)
SUM
LOW-ORDER
606
02AB
C302
A
LD
0,2(SP)
AUGEND
HI-ORDER
607
02AC
CBOO
A
LD
X,O(SP)
ADDEND
HI-ORDER
608
02AD
7480
A
RADC
X,O
ADD
WITH
CARRY
609
02AE
D302
A
ST
0,2(SP)
SUM
HI-ORDER
610
02AF
98FB
I
JMP
POP2
611
612
02BO
854D
A
HEAD
ORD,5,LONG,'M'/256
613
02B1
494E
A
WORD
'IN','US'+ODD,DPLUS-3
02B2
55D3
A
02B3
02A4
A
PACE ASSEMBLER REV-A
OS/23/75
FORTH NUCLEUS
FOR
PACE
DICTIONARY
614
615
616
617
618
619
620
02B4
02B5
A
02B5
C300
A
02B6
7001
A
02B7
98F7
I
02B8
02B9
02BA
02BB
02BC
02BD
02BE
02BF
02CO
02C1
02C2
02C3
02C4
8644
A
4D49
A
4E55
A
D320
A
02BO A
02BE
A
3780
A
5000
A
9301
A
D301
A
5000
A
9300
A
98F7
I
MINUS:
WORD
LD
CAl
JMP
HEAD
WORD
DMINUS:
WORD
SFLG
LI
SUBB
ST
LI
SUBB
JMP
.+1
0,
(SP)
0,
1
PUT
GET
STACK
VALUE
AND
FORM
2'S
COMP
ORD,6,LONG,~D'/256
'MI','NU','S'+EVEN,MINUS-4
.+1
CRY
0,0
O,l(SP)
0,1(SP)
0,0
O,O(SP)
PUT
CLEAR
BORROW
SUBTRACT LO-ORDER
FROM
0
SUBTRACT
HI-ORDER
FROM
0 WITH
BORROW
621
622
623
624
625
626
627
628
629
630
631
632
633
634
,
.***************************************************
,
;*
STACK
MANIPULATION *
;***************************************************
635
636
637
638
639
640
641
02C5
02C6
o
2C
7
02C8
02C9
02CA
02CB
02CC
02CD
02CE
o 2CF
642
02DO
643
844F
A
5645
A
D220
A
02B8
A
02CA A
C301
A
98F9
I
8444
A
524F
A
D020
A
02C5
A
o 15D A
644
0
2D
1
8453
A
645
02D2
5741
A
02D3
D020
A
02D4
02CC A
OVER:
DROP:
646
02D5
02D6
A SWAP:
647
0
2D
6 C 3
01
A
648
02D7
CBOO
A
649
02D8
DB01 A
650
02D9
98F7
I
651
652
02DA
8344
A
653
02DB 55DO A
o
2DC
0
2D
1 A
654
02DD 02DE A DUP:
655
02DE
C300
A
656
02DF
98F9
I
657
HEAD
.WORD
WORD
LD
JMP
HEAD
.WORD
WORD
HEAD
WORD
WORD
LD
LD
ST
JMP
HEAD
WORD
WORD
LD
JMP
ORD,4,LONG,'O'/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
0,1(SP)
EXCHANGE
TOP
X,O(SP)
TWO
STACK
X,l(SP)
VALUES
PUT
ORD,3,LONG,'D'/256
'UP'+ODD,SWAP-4
.+1
O,O(SP)
GET
BOTTOM
VALUE
PUSH PUSH A
COPY
OF
IT
658
;***************************************************
PACE ASSEMBLER REV-A
OS/23/75
FORTH NUCLEUS
FOR
PACE
DICTIONARY
659
660
661
662
02EO
822B
A
663
02E1
A120
A
02E2
02DA A
664
02E3 02E4
A
665
02E4
A300
A
666
02E5
E301
A
667
02E6
B300
A
668
02E7
98FB
I
669
670
671
672
02E8
8654
A
673
674
675
02E9
02EA
02EB
o 2EC
02ED
02EE
676
02EF
677
02FO
678
02F1
4F47
A
474C
A
C520
A
02EO A
02EE
A
CB01 A
3800
A
2603
A
DBO
1 A
C200
A
CBOO
A
679
680
681
682
683
684
685
686
687
688
689
690
691
02F2
02F3
02F4
02F5
02F6
02F7
02F8
4801
A
2A10
A
5880
A
B301
A
98FB
I
02F9
8442
A
02FA
5954
A
02FB
C520
A
02FC
02ES
A
;*
MEMORY
INCREMENT, COMPLEMENT, ADDRESS CONVERT *
;***************************************************
HEAD
WORD
PSTORE:
.WORD
LD
ADD
ST
JMP
ORD,2,LONG,'+'/256
'!'+EVEN,DUP-3
.+1
O,@O(SP)
O,l(SP)
O,@O(SP)
POP2
GET
VALUE
ADD
INCREMENT
STORE
AT
ADDRESS
REMOVE
BOTH
THE
FOLLOWING
WORD
EXPECTS A BYTE PSEUDO-ADDRESS
HEAD
WORD
TOGGLE:
WO
RD
LD
PFLG
ROR
ST
LD
LD
BOC
SHL
RXOR
ST
JMP
ORD,6,LONG,'T'/256
'OG','GL','E'+EVEN,PSTORE-3
.+1
X,l(SP)
LINK
X,
1 , 1
X,l(SP)
0,
(X)
X,O(SP)
LINK,.+2
X,8,0
X,O
O,@l(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
tS-BIT
WORD:
ADDRESS
TO
A
t6-BIT
BYTE
PSEUDO-ADDRESS.
HEAD~
WO
RD:
ORD~4,LONG,'B'/256
'YT','E'+EVEN.rOGGLE-5
692
02FD'
02FE
A BYTE:
693
02FE
C300
A
WO
RD:
LD'
RADD
JMP
.+1
O,O(SP)
GET
WORD:
ADDRESS
MULTIPLY
BY
2
694
02FF
6800
A
695
0300
98F7
I
696
697
698
699
700
0301
8443
A
701
0302
454C
A
0303
CC20
A
0304
02F9
A
0,0
PUT
THE
FOLLOWING
WORD
CONVERTS A
16-BIT
BYTE
PSEUDO-ADDRESS
TO
A
I5-BIT
WORD
ADDRESS.
HEAD
.WORD
ORD,4,LONG,'C'/256
'EL','L'+EVEN,BYTE-4
702
0305 0306
A
CELL:
703
0306
C300
A
WORD
LD
.+1
O,O(SP)
0,
1
,0
PUT
GET
B'YTE
ADDRES S
DIVIDE
BY
2
704
0307
2C02
A
705
0308
98F7
I SHR
JMP
PACE ASSEMBLER
REV-A
OS/23/75
FORTH NUCLEUS FOR PACE
DICTIONARY
706
707
708
709
710
711
0309
81CO
A
712
030A
0301
A
713
030B 030C
A
714
030C
A300
A
715
030D
98F7
I
716
717
718
719
030E
8243
A
720
030F
C020
A
0310 0309
A
721
0311
0312
A
722
0312
CBOO
A
723
0313
3800
A
724
0314
2603
A
725
0315
C200
A
726
0316
4801
A
727
0317
2C10
A
728
0318
A901
A
729
0319
98F7
I
730
031A
OOFF A
731
732
031B
81A1
A
733
031C
030E
A
734
031D
031E
A
735
031E
C301
A
736
031F
B300
A
737
0320
98FB
I
738
739
740
741
0321
8243
A
742
0322
A120
A
0323
031B
A
743
0324
0325
A
744
0325
6100
A
745
0326
CBOO
A
746
0327
3800
A
747
0328
2603
A
748
0329
C10B
A
749
032A
C701
A
750
032B
5500
A
751
032C
7000
A
,
.****,t**********************************************
,
;*
MEMORY
FETCH
AND
STORE *
.****~~**********************************************
,
AT:
HEAD
WORD
WORD
LD
JMP
ORD,1,SHORT,"@'/256
CELL-4
.+1
O,@O(SP)
PUT GET VALUE
THE FOLLOWING
WORD
EXPECTS A BYTE
PSEUDO-ADDRESS
CAT:
XFF:
HEAD
WORD
WORD
LD
PFLG
ROR
LD
BOC
SHR
AND
JMP
WORD
HEAD
WORD
STORE:
.WORD
LD
ST
JMP
ORD,2,LONG,'C'/256
'@'+EVEN,AT-2
.+1
X,O(SP)
LINK
X,
1 , 1
0,
(X)
LINK,
.+2
0,8,0
O,XFF
PUT
OOFF
GET BYTE ADDRESS
CONVERT
TO
WORD
ADDRESS
GET DATA
WORD
LINK
= 0
MEANS
LEFT
BYTE
CLEAR
UNWANTED
BYTE
ORD,1,SHORT,'!'/256
CAT-3
.+1
O,l(SP)
O,@O(SP)
POP2
GET
VALUE
STORE
AT
ADDRESS
REMOVE
BOTH
THE FOLLOWING
WORD
EXPECTS A BYTE
PSEUDO-ADRESSS
HEAD
WORD
CSTORE:
WORD
PUSH
LD
PFLG
ROR
LD
LD
RAND
CAl
ORD,2,LONG,'C'/256
'!'+EVEN,STORE-2
.+1
IP
X,O(SP)
LINK
X,
1 , 1
O,XOOFF
1,1(SP)
0,
1
0,0
SAVE
IP
GET BYTE ADDRESS
CONVERT
TO
WORD
ADDRESS
BYTE
TO
BE
STORED
SET
UP
MASK
752
032D
4802
A
BOC
LINK,
.+3
AND
CLEAR
753
032E
7000
A CAl
0,0
AP,PROPR
lATE
754
032F
2910
A
SHL
1,8,0
HALF
OF
WORD
755
0330
AAOO
A
AND
0,
(X)
TO
STORE INTO
756
0331
6840
A
RADD
1
,0
ADD
IN
BYTE
757
0332
D200
A ST
0,
(X)
STORE ALTERED
WORD
758
0333
6500
A PULL
IP
RESTORE
IP
PACE ASSEMBLER REV-A
OS/23/75
FORTH NUCLEUS
FOR
PACE
DICTIONARY
759
0334
98FB
I
JMP
POP2
REMOVE
ARGUMENTS
760
0335
OOFF A XOOFF
::
.WORD
OOFF
761
;
762
;****~,**********************************************
763
. * . . *
, . , ,
764
;****~e**********************************************
765
766
0336
C1BA A
HEAD
tMM,1,SHORT,':'/256
767
0337
0321
A
WORD
CSTORE-3
768
0338
0342
A COLON:
WORD
DOCOL,QEXEC,SCSP,CURR,AT,CONT
0339
04EF
A
033A
04CC A
033B
0401
A
033C
030B
A
033D
03FA
A
769
033E
031D
A
WORD
STORE,CREATE,RBR~C,PSCODE
033F
0779
A
0340
0533
A
0341
055E
A
770
;
771
0342
AC21 A DOCOL:
DSZ
RP
EXTEND
RETURN
STK
772
0343
5C40
A RCPY
IP,O
SAVE
IP
ON
773
0344
B021
A ST O,@RP
RETURN
STACK
774
0345
5101
A L1
IP,l
POINT
IP
TO
WORD
775
0346
6980
A
RADD
W,IP
AFTER
DOCOL
776
0347
98F8
I JMP
NEXT
777
778
0348
CIBB A
HEAD
IMM,1,SHORT,';'/256
779
0349
0336
A
WORD
COLON-2
780
034A
0342
A
SEMI:
WORD
DOCOL,QCSP,COMPIL,SEMIS
034B
0505
A
o 34C
0521
A
034D
026A
A
781
034E 053E
A
.WORD
SMUDGE,LBRAC,SEMIS
034F
052C
A
0350
026A
A
782
;
783
.***************************************************
,
784
. * CONSTANT, VARIABLE, USER *
,
785
.***************************************************
,
786
787
0351
8843
A
HEAD
ORD,8,LONG,'C'/256
788
0352
4F4E
A
.WORD
'ON','ST',.'AN','T'+EVEN,SEMI-2
0353
5354
A
0354
414E
A
0355
D420
A
0356
0348
A
789
0357
0342
A CON:
.WORD
DOCOL,CREATE,SMUDGE,COMMA,PSCODE
0358
0779
A
0359
053E
A
035A
0448
A
035B
055E
A
790
791
035C
C201
A
DOCON:
LD
O,l(W)
GET
PARA~1ETER
792
035D
98F9
I
JMP
PUSH
PUSH
ON
STACK
PACE ASSEMBLER REV-A
OS/23/75
FORTH NUCLEUS
FOR
PACE
DICTIONARY
793
794
035E
8856
A
HEAD
ORD,8,LONG,'V'/256
795
035F
4152
A
.WORD
'AR','IA','BL','E'+EVEN,CON-6
0360
4941
A
0361
424C
A
0362
C520
A
0363
0351
A
796
0364
0342
A VAR:
WORD
DOCOL,CON,PSCODE
0365
0357
A
0366
055E
A
797
798
0367
5001
A
DOVAR:
LI
0,
1
FORM
ADDRESS
799
0368
6880
A
RADD
W,O
OF
PARAMETER
800
0369
98F9
I
JMP
PUSH PUSH
ON
STACK
801
802
036A
8455
A
HEAD
ORD,4,LONG,'U'/256
803
036B
5345
A
WORD
'SE','R'+EVEN,VAR-6
036C
D220
A
036D
035E
A
804
036E
0342
A USER:
WORD
DOCOL,CON,PSCODE
036F
0357
A
0370
055E
A
805
806
0371
C201
A DOUSER:
LD
0,1(W)
GET
OFFSET
807
0372
E022
A
ADD
O,UP
ADD
USER POINTER
808
0373
98F9
I JMP PUSH PUSH
ON
STACK
809
.
,
810
.***~:***********************************************
, \ .
811
. * DEFINED
CONSTANTS
*
,
812
.***~,***********************************************
,
813
814
0374
81BO A
HEAD
ORD,1,SHORT,'0'/256
815
0375
036A
A
WORD
USER-4
816
0376
035C
A
ZERO
::
.WORD
DOCON,O
0377 0000
A
817
818
0378
81B1
A
HEAD
ORD,1,SHORT,'1'/256
819
0379
0374
A
.WORD
ZERO-2
820
037A
035C
A ONE:
WORD
DOCON,l
037B
0001
A
821
822
037C
81B2
A
HEAD
ORD,1,SHORT,'2'/256
823
037D
0378
A
.WORD
ONE-2
824
037E
035C
A
TWO:
.WORD
DOCON,2
037F
0002
A
825
826
0380
81B3
A
HEAD
ORD,1,SHqRT,'3'/256
827
0381
037C
A "
WORD
TWO-2
828
0382
035C
A THREE:
.WORD
DOCON,3
0383 0003
A
829
830
0384
8242
A
HEAD
ORD,2,LONG,'B'/256
831
0385
CC20 A
WORD
'L'+EVEN,THREE-2
0386 0380
A
832
0387
035C
A BL: "
WORD
DOCON,
,
'/256
PACE ASSEMBLER REV-A
OS/23/75
FORTH
NUCLEUS
FOR
PACE
DICTIONARY
0388 0020
A
833
834
0389
8546
A
HEAD
ORD,5,LONG,'F'/256
835
038A
4952
A
.WORD
'IR','ST'+ODD,BL-3
038B
53D4 A
038C
0384
A
836
038D
035C
A
FIRST:
WORD
DOCON,BUFFS
038E
1DFO
A
837
838
038F
854C
A
HEAD
ORD,5,LONG,'L'/256
839
0390
494D A
.WORD
'IM','IT'+ODD,FIRST-4
0391
49D4 A
0392
0389
A
840
0393
035C
A
LIMIT:
WORD
DOCON,TOPMEM
0394
2000
A
841
842
0395
8542
A
HEAD
ORD,5,LONG,'B'/256
843
0396
2F42
A
.WORD
'/B','UF'+ODD,LIMIT-4
0397
55C6
A
0398
038F
A
844
0399
035C
A BBUF:
.WORD
DOCON,BLKSIZ
039A
0080
A
845
846
039B
8542
A
847
039C
2F53
A
039D
43D2 A
039E
0395
A
848
039F
035C
A BSCR:
03AO
0008
A
HEAD
.WORD
.WORD
ORD,5,LONG,'B'!256
'/S','CR'+ODD,BBUF-4
DOCON,1024/BLKSIZ
849
850
851
THE
FOLLOWING
WORD
EXPECTS A WORD-OFFSET
AND
RETURNS A WORD-ADDRESS.
852
853
03A1
872B
A
HEAD
854
03A2
4F52
A
~WORD
03A3
4947
A
03A4
49CE A
03A5
039B
A
855
03A6
0342
A
PORIG:
.WORD
03A7
0103
A
03A8
0010
A
03A9
029F
A
03AA
026A
A
ORD,7,LONG,'+'/256
'OR','IG','IN'+ODD,BSCR-4
DOCOL,LIT,ORIG,PLUS,SEMIS
856
85,7
858
859
860
,
;**********************************************~****
;*
USER VARIABLES *
;***************************************************
861
03AB
8253
A
862
03AC
B020
A
HEAD
WORD
03AD 03A1 A
863
03AE
0371
A SZERO:
WORD
03AF
0003
A
864
865
03BO
8252
A
HEAD
PACE ASSEMBLER REV-A
OS/23/75
FORTH
NUCLEUS
FOR
PACE
DICTIONARY
866
03B1
B020
A
03B2
03AB A
867
03B3
0371
A RZERO:
03B4
0004
A
868
869
03B5
8354
A
870
03B6
49C2
A
03B7
03BO A
871
03B8
0371
A
TIB:
03B9
0005
A
872
873
03BA
8557
A
874
875
03BB
4944
A
03BC
54C8
A
03BD
03B5
A
876
03BE
0371
A WIDTH:
03BF
0006
A
877
WORD
WORD
HEAD
WORD
WORD
HEAD
WORD
WORD
ORD,2,LONG,'S'/256
'0'+EVEN,PORIG-5
DOUSER,03
ORD,2,LONG,'R'/256
'0'+EVEN,SZERO~3
DOUSER,04
ORD,3,LONG,'T'/256
'IB'+ODD,RZERO-3
DOUSER,05
ORD,5,LONG,'W'/256
'ID','TH'+ODD,TIB-3
DOU~ER,06
878
03CO
8757
A
HEAD
ORD,7,LONG,'W'/256
879
03C1
4152
A
.WORD
'AR','NI'~'NG'+ODD,WIDTH-4
o 3C2
4E49
A
o 3C3 4EC7 A
o 3C4 03BA A
880
03C5
0371
A
WARN:
WORD
DOUSER,07
03C6
0007
A
881
882
03C7
8546
A
HEAD
ORD,5,LONG,'F'/256
883
03C8
454E
A
WORD
'EN','CE'+ODD,WARN-5
03C9
43C5
A
03CA
03CO A
884
03CB
0371
A FENCE:
.WORD
DOUSER,08
03CC
0008
A
885
886
03CD
8244
A
HEAD
ORD, 2,LONG"
'D'
/256
887
03CE
D020
A
WORD
'P'+EVEN,FENCE-4
03CF
03C
7 A
888
03DO
0371
A
DP:
WORD
DOUSER,09
o
3D
1
0009
A
889
890
03D2
8856
A
HEAD
ORD,8,LONG,'V'/256
891
03D3
4F43
A
WORD
'OC','-L','IN','K'+EVEN,DP-3
03D4
2D4C A
03D5
494E
A
o 3D6
CB20
A
o 3D7 03CD A
892
03D8
0371
A VOCL:
WORD
DOUSER,OA
o 3D9
OOOA
A
893
894
03DA
8342
A
HEAD
ORD,3,LONG,'B'/256
895
03DB 4CCB A
WORD
'LK'+ODD,VOCL-6
03DC
03D2
A
896
03DD
0371
A BLK:
WORD
DOUSER,OB
03DE
OOOB
A
897
PACE ASSEMBLER REV-A
OS/23/75
FORTH NUCLEUS
FOR
PACE
DICTIONARY
898
03DF
8249
A
HEAD
ORD,2,LONG,'I'/256
899
03EO
CE20
A
.WORD
'N'+EVEN,BLK-3
o 3E 1 03DA A
900
03E2
0371
A
IN:
WORD
DOUSER,OC
o
3E3
OOOC
A
901
902
03E4
834F
A
HEAD
ORD,3,LONG,'O'/256
903
03E5
55D4
A
WORD
'UT'+ODD,IN-3
03E6
03DF
A
904
o
3'E
7
0371
A OUT:
WORD
DOUSER,OD
o
3E8
OOOD
A
905
906
03E9
8353
A
HEAD
ORD,3,LONG,'S'/256
907
03EA
43D2
A
.WORD
'CR'+ODD,OUT-3'
03EB
03E4
A
908
03EC
0371
A
SCR:
WORD
DOUSER,OE
03ED
OOOE
A
909
910
03EE
864F
A
HEAD
ORD,6,LONG,'O'/256
9 11
03EF
4646
A
WORD
'FF','SE','T'+EVEN,SCR-3
03FO
5345
A
03F1
D420
A
03F2
03E9
A
912
03F3
0371
A
OFFSET:
WORD
DOUSER,OF
03F4
OOOF
A
913
914
03F5
8743
A
HEAD
ORD,7,LONG,'C'/256
915
03F6
4F4E
A
WORD
'ON','TE','XT'+ODD,OFFSET-5
03F7
5445
A
03F8
58D4
A
03F9
03EE
A
916
03FA
0371
A
CONT::
WORD
DOUSER,010
03FB
0010
A
917
918
03FC
8743
A
HEAD
ORD,7,LONG,'C'/256
919
03FD
5552
A
WORD
'UR','R~','NT'+ODD,CONT~5
03FE
5245
A
03FF
4ED4 A
0400
03F5
A
920
0401
0371
A CURR:
WO
RD
DOUSER,OII
0402
0011
A
921
922
0403
8553
A
HEAD
ORD,5,LONG,'S'/256
923
0404
5441
A
WORD
'TA','TE'+PDD,CURR-5
0405
54C5
A
0406
03FC
A
924
0407
0371
A STATE:
WORD
DOUSER,012
0408
0012
A
925
926
0409
8442
A
HEAD
ORD,4,LONG,'B'/256
927
040A
4153
A
WORD
'AS','E'+EVEN,STATE-4
040B
C520
A
040C
0403
A
928
040D
0371
A BASE:
WORD
DOUSER,013
040E
0013
A
PACE ASSEMBLER REV-A
OS/23/75
FORTH NUCLEUS
FOR
PACE
DICTIONARY
929
930
040F
8344
A
HEAD
ORD,3,LONG,'D'/256
931
0410
50CC A
WORD
' PL
'+ODD,
'BASE-4
0411
0409
A
932
0412
0371
A
DPL:
WORD
DOUSER,014
0413
0014
A
933
934
0414
8346
A
HEAD
ORD,3,LONG,'F'/256
\
935
0415
4CC4 A
.WORD
'LD'+ODD,DPL-3
0416
040F
A
936
0417
0371
A FLD:
WORD
DOUSER,015,
0418
0015
A
937
938
0419
8343
A
HEAD
o
RD
, 3 ,
LON
G , " C ' / 2 5 6
939
041A
53DO A
WORD
'SP'+ODD,FLD-3
041B
0414
A
940
041C
0371
A
CSP:
.WORD
DOUSER,016
041D
0016
A
941
942
041E
8252
A
HEAD
ORD',2,LONG,'R'/256
943
041F
A320
A
WORD
,
,'+EVEN,CSP-3
.
0420
0419
A
944
0421 0371
A
RNUM:
WORD
DOUSER,017
0422
0017
A
945
946
0423
8348'
A
HEAD
ORD,3,LONG,'H'/256
947
0424
4CC4 A
WORD
'
LD"
+ODD, RNUM-3
0425
041E
A
948
0426
0371
A HLD:
WORD
DOUSER,018
0427 0018
A
949
;
950
;***************************************************
951
. *
, MISCELLANEOUS *
952
.***************************************************
,
953
954
0428
8231
A
HEAD
ORD,2,LONG,'1'/256
955
0429
AB20 A
WORD
'+'+EVEN,HLD-3
042A
0423
A
956
042B
042C
A ONEP:
.WORD
.+1
957
042C
8FOO A
ISZ
O(SP)
ADD
ONE
958
042D
9.8F8 I
JMP
NEXT
TO
BOTTOM
959
042E
98F8
I
JMP
NEXT
OF
STACK
960
961
042F
8232
A
HEAD
ORD,2,LONG,'2'/256
962
0430
AB20 A
.WORD
'+'+EVEN,ONEP-3
0431
0428
A
963
0432
0342
A TWOP:
WORD
DOCOL,TWO,PLUS,SEMIS
0433
037E
A
0434
029F
A
0435
026A
A
964
965
0436
8448
A
HEAD
ORD,4,LONG,'H'/256
966
0437
4552
A
WORD
'ER','E'+EVEN,TWOP-3
0438
C520
A
0439
042F
A
PACE ASSEMBLER REV-A
OS/23/75
FORTH NUCLEUS
FOR
PACE
DICTIONARY
967
043A
0342
A HERE:
WORD
DOCOL,DP,AT,SEMIS
043B
03DO A
043C
030B
A
043D
026A
A
968
969
043E
8541
A
HEAD
ORD,5,LONG,'A'/256
970
043F
4C4C A
.WORD
'LL','OT'+ODD,HERE-4
0440
4FD4 A
0441 0436
A
971
0442 0342
A ALLOT:
.WORD
0443
03DO A
0444
02E3
A
0445
026A
A
972
DOCOL,DP,PSTORE,SEMIS'
973
:,
HERE
1
ALLOT
974
9750446
8lAC
A
HEAD
ORD,1,SHORT,','/256
976
0447
043E
A
.WORD
ALLOT-4
977
0448
0342
A
COMMA:
.WORD
DOCOL,HERE,STORE,ONE,ALLOT,SEMIS
0449
043A
A
044A
03lD
A
044B
037A
A
044C
0442
A
044D
026A
A
978
979
044E
8lAD
A
980
044F
0446
A
981
0450
0451
A SUB:
982
0451
C301
A
983
0452
3780
A
984
0453
9300
A
985
0454
98F6
I
986
987
0455
8lBD
A
988
0456
044E
A
989
0457
0342
A EQUAL:
0458
0450
A
0459
028F
A
045A
026A
A
990
991
045B
8lBC
A
992
045C
0455
A
993
045D
0342
A
LESS:
045E
0450
A
045F
0297
A
0460
026A
A
994
HEAD
.WORD
.WORD
LD
SFLG
SUBB
JMP
HEAD
WORD
.WORD
HEAD
.WORD
WORD
995
0461
8lBE
A
HEAD
996
0462
045B
A
.WORD
997
0463
0342
A GREAT:
.WORD
998
0464
02D5
A
0465
045D
A
0466
026A
A
999
0467
8352
A
HEAD
PACE ASSEMBLER REV-A
OS/23/75
FORTH NUCLEUS
FOR
PACE
DICTIONARY
1000
0468
4FD4 A
0469
0461
A
1001
046A
046B
A ROT:
1002
046B
C302
A
1003
046C
CBOI A
.WORD
WORD
LD
LD
ORD,I,SHORT,'-'/256
COMMA-2
.+1
O,I(SP)
GET
MINUEND
CRY
CLEAR
BORROW
O,O(SP)
SUBTRACT
SUBTRAHEND
BIN
ORD,1,SHORT,'='/256
SUB-2
DOCOL,SUB,ZEQU,SEMIS
ORD,1,SHORT,'<'/~56.
EQUAL-2
DOCOL,SUB,ZLESS,SEMIS
ORD,I,SHORT,'>'/256
LESS-2
DOCOL,SWAP,LESS,SEMIS
ORD,
3,LONG,"R'
/256
'OT'+ODD,GREAT-2
.+1
0,2(SP)
GET
THIRD
X,l(SP)
MOV~
SECOND
1004
046D
DB02 A
ST
X,2(SP)
TO
THIRD
1005
046E
CBOO
A
LD
X,O(SP)
MOVE
BOTTOM
1006
046F
DBOI A
ST
X,l(SP)
TO
SECOND
1007
0470
98F7
I
JMP
PUT
PUT
THIRD
ON
BOTTOM
1008
1009
0471
8553
A
HEAD
ORD,5,LONG,'S'/256
1010
0472
5041
A
.WORD
'PA','CE'+ODD,ROT-3
0473
43C5
A
0474
0467
A
1011
0475 0342
A SPACE:
.WORD
DOCOL,BL,EMIT,SEMIS
0476
0387
A
0477
01ED A
0478
026A
A
1012
1013
0479
842D A
HEAD
ORD,4,LONG,'-'/256
1014
047A
4455
A
WORD
'DU','P'+EVEN,SPACE-4
047B
D020
A
047C
0471
A
1015
047D
047E
A DDUP:
.WORD
.+1
1016
047E
C300
A
LD
O,O(SP)
GET
BOTTOM
OF
STACK
1017
047F
4101
A
BOC
Z,
+2
1018
0480
98F9
I
JMP
PUSH
DUP
IF
NOT
ZERO
1019
0481
98F8
I
JMP
NEXT
1020
.
,
1021
;***************************************************
1022
. * VARIABLE
LENGTH
NAME
SUPPORT *
,
1023
;***************************************************
1024
1025
0482
8854
A
HEAD
ORD,8,LONG,'T'/256
1026
0483
5241
A
.WORD
'RA','VE','RS','E'+EVEN,DDUP-4
0484
5645
A
0485
5253
A
0486
C520
A
0487
0479
A
1027
0488
0342
A TRAV:
WORD
DOCOL,SWAP
0489
02D5 A
1028
048A
02C9
A
TRAV
1:
WORD
OVER,PLUS,LIT,007F
048B
029F
A
048C
0103
A
048D
007F
A
1029
048E
02C9
A
WORD
OVER,CAT,LESS,ZBRAN
048F
0311
A
0490
045D
A
0491
0124
A
1030
0492
FFF8
A
WORD
TRAV1-.,SWAP,DROP,SEMIS
0493
02D5 A
0494
02DO A
0495
026A
A
1031
1032
0496
864C
A
HEAD
ORD,6,LONG,'L'/256
PACE ASSEMBLER REV-A
OS/23/75
FORTH
NUCLEUS
FOR
PACE
DICTIONARY
1033
0497
4154
A
.WORD
0498
4553
A
0499
D420
A
049A
0482
A
1
034
049
B
0342
A
LAT
EST:
WO
RD
049C
0401
A
1035
1036
1037
049D
030B
A
049E
030B
A
049F
026A
A
1038
04AO
834C
A
1039
04A1
46C1
A
04A2
0496
A
1040
04A3
0342
A
LFA:
04A4
037E
A
1041
1042
1043
04A5
0450
A
04A6
026A
A
1044
04A7
8343
A
1045
04A8
46C1
A
04A9
04AO A
1046
04AA
0342
A CFA:
04AB
037A
A
1047
1048
1049
1050
04AC
0450
A
04AD
026A
A
1051
04AE
834E
A
1052
04AF
46C1
A
04BO
04A7
A
1053
04B1
0342
A NFA:
04B2
037E
A
04B3
0450
A
04B4
02FD A
04B5
0103
A
04B6
FFFF
A
1054
04B7
0488
A
04B8
0103
A
04B9
FFFF
A
04BA
0488
A
04BB
0305
A
04BC
026A
A
LFA 2
HEAD
.WORD
WORD
CFA
1
HEAD
WORD
WORD
NFA
2
HEAD
.WORD
WORD
WORD
'AT','ES','T'+EVEN,TRAV-6
DOCOL,CURR,AT,AT,SEMTS
ORD,3,LONG,'L'/256
'FA'+ODD,LATEST-5
DOCOL,TWO,SUB~SE~IS
ORD,3,LONG,'C'/256
'FA'+ODD,LFA-3
DOCOL,ONE,SUB,SEMIS
BYTE
-1
TRAVERSE
-1
TRAVERSE CELL
ORD,3,LONG,'N'/256
'FA'+ODD,CFA-3
DOCOL,TWO,SUB,BYTE,LIT,-l
TRAV,LIT,-l,TRAV,CELL,SEMIS
1055
1056
1057
PFA
BYTE
1 TRAVERSE CELL 3 +
1058
04BD
8350
A
1059
04BE
46C1
A
04BF
04AE A
1060
04CO
0342
A
PFA:
HEAD
.WORD
.WORD
ORD,3,LONG,'P'/256
'FA'+ODD,NFA-3
DOCOL,BYTE,ONE,TRAV
PACE ASSEMBLER REV-A
OS/23/75
FORTH
NUCLEUS
FOR
PACE
DICTIONARY
04C1
02FD A
04C2
037A
A
04C3
0488
A
1061
04C4
0305
A
WORD
CELL,THREE,PLUS,SEMIS
04C5
0382
A
04C6
029F
A
04C7
026A
A
1062
;
1063
.***************************~***********************
, ,
1064
. *
,
ERROR
PROCEDURES, PER SHIRA *
1065
;***l~***********************************************
1066
1067
04C8
8421
A
HEAD
ORD,4,LONG,'!'/256
1068
04C9
4353
A
.WORD
'CS','P'+EVEN,PFA-3
04CA
D020
A
04CB 04BD A
1069
04CC
0342
A
SCSP:
.WORD
DOCOL,SPAT,CSP,STORE,SEMIS
04CD
0255
A
04CE
041C
A
04CF
031D
A
04DO
026A
A
1070
1071
04D 1
863F
A
HEAD
ORD,6,LONG,'?'/256
1072
04D2
4552
A
WORD
'ER','RO','R'+EVEN,SCSP-4
04D3
524F
A
04D4
D220
A
04D5
04C8
A
1073
04D6
0342
A QERROR:
WORD
DOCOL,SWAP,ZBRAN
o 4D7 02D5 A
04D8
0124
A
1074
04D9
0004
A
WORD
QERR1-.,ERROR,BRAN
04DA
0744
A
04DB
011B
A
1075
04DC
0002
A
WORD
QERR2 ....
1076
04DD 02DO A QERR1:
WORD
DROP
1077
04DE
026A
A QERR2:
WORD
SEMIS
1078
1079
04DF
853F
A
HEAD
ORD,5,LONG,'?'/256
1080
04EO
434F
A
.WORD
'CO','MP'+ODD,QERROR-5
04E1
4DDO
A
04E2
04D1 A
1081
04E3
0342
A
QCOMP:
WORD
DOCOL,STATE,AT,ZEQU
04E4
0407
A
04E5
030B
A
o 4E6
028F
A
1082
04E7
0103
A
WORD
LIT,OOll,QERROR,SEMIS
04E8
0011
A
04E9
04D6
A
04EA
026A
A
1083
1084
04EB
853F
A
HEAD
ORD,5,LONG,'?'/256
1085
04EC
4558
A
WORD
'EX','EC'+ODD,QCOMP-4
04ED
45C3
A
04EE
04DF A
1086
04EF
0342
A QEXEC:
WORD
DOCOL,STATE,AT
PACE ASSEMBLER REV-A
OS/23/75
FORTH
NUCLEUS
FOR
PACE
DICTIONARY
04FO
0407
A
04F1
030B
A
1087
04F2
0103A
04F3
0012
A
04F4
04D6
A
04F5
026A
A
1088
.WORD
1089
04F6
863F
A
HEAD
1090
04F7
5041
A
.WORD
04F8
4952
A
04F9
D320
A
04FA
04EB A
1091
04
F B
0342
A Q
PA
IRS:
WO
RD
04FC
0450
A
04FD
0103
A
04FE
0013
A
04FF
04D6
A
0500
026A
A
1092
1093
0501
843F
A
HEAD
1094
0502
4353
A
.WORD
0503
D020
A
0504
04F6
A
1095
0505
0342
A QCSP:
.WORD
0506
0255
A
0507
041C
A
0508
030B
A
0509
0450
A
1096
050A
0103
A
.WORD
050B
0014
A
050C
04D6
A
050D
026A
A
1097
1098
050E
883F
A
HEAD
1099
050F
4C4F
A
.WORD
0510
4144
A
0511
494E
A
0512
C720
A
0513
0501
A
1100
0514
0342
A
QLOAD:
.WORD
0515
03DD A
0516
030B
A
0517
028F
A
1101
0518
0103
A
WORD
0519 0016
A
051A
04D6
A
051B
026A
A
LIT,0012,QERROR,SEMIS
ORD,6,LONG,'?'/256
'PA','IR','S'+EVEN,QEXEC-4
DOCOL,SUB,LIT,0013,QERROR,SEMIS
ORD,4,LONG,'?'/256
'CS','P'+EVEN,QPAIRS-5
DOCOL,SPAT,CSP,AT,SUB
LIT,0014,QERROR,SEMIS
ORD,8,LONG,'?'/256
'LO','AD','lN','G'+EVEN,QCSP-4
DOCOL,BLK,AT,ZEQU
LIT,0016,QERROR,SEMIS
1102
1103
1104
1105
1106
1107
1108
;***************************************************
;* COMPILE,
SMUDGE,
HEX, DECIMAL *
;***************************************************
COMPILE
?COMP
R>
DUP
1+
>R
@
1109
051C
8743
A
HEAD
ORD,7,LONG,'C'/256
PACE ASSEMBLER REV-A
OS/23/75
FORTH NUCLEUS
FOR
PACE
DICTIONARY
1110
051D
4F4D A
.WORD
'OM','PI','LE'+ODD,QLOAD-6
051E
5049
A
051F
4CC5 A
0520
050E
A
1111
0521
0342
A COMPIL:
.WORD
DOCOL,QCOMR,FROMR,DUP
0522
04E3
A
0523
0283
A
0524
02DD A
1112
0525
042B
A
WORD
ONEP,TOR,AT,COMMA,SEMIS
0526
027B
A
0527
030B
A
0528
0448
A
0529
026A
A
1113
1114
052A
C1DB
A
HEAD
IMM, 1 , S H 0 R
T,
' [ ,
/256
,
1115
052B
05IC
A
WORD
COMPIL-5
1116
052C
0342
A LBRAC:
WORD
DOCOL,ZERO,STATE,STORE,SEMIS
052D
0376
A
052E
0407
A
052F
031D
A
0530
026A
A
1117
1118
0531
8IDD
A
HEAD
ORD,1,SHORT,']'/256
1119
0532
052A
A
.WORD
LBRAC-2
1120
0533
0342
A RBRAC:
.WORD
DOCOL,LIT,OOCO
0534 0103
A
0535
OOCO
A
1121
0536
0407
A
WORD..
STATE,STORE,SEMIS
0537
031D
A
0538
026A
A
1122
1123
SMUDGE
LATEST
BYTE
20
TOGGLE
1124
1125
0539
8653
A
HEAD
ORD,6,LPN~,'S'/256
1126
053A
4D55
A
.WORD
'MU',
'DG'
,"E'+EVEN,RBRAC-2
053B
4447
A
053C
C520
A
053D
0531
A
1
127
053E
0342
A SMUDGE:
WORD
DOCOL,LATEST,BYTE
053F
049B
A
0540
02FD
A
1128
0541
0103
A
.WORD
LIT,0020,TOGGLE,SEMIS
0542 0020
A
0543
02ED A
0544
026A
A
1129
1130
0545
8348
A
HEAD
ORD,3,LONG,'H'/256
1131
0546
45D8
A
WORD
'EX'+ODD,SMUDGE-5
0547
0539
A
1132
0548
0342
A HEX:
.WORD
DOCOL,LIT,0010,BASE,STORE,SEMIS
0549
0103
A
054A
0010
A
054B
040D
A
054C
031D
A
054D
026A
A
PACE ASSEMBLER REV-A
OS/23/75
FORTH
NUCLEUS
FOR
PACE
DICTIONARY
1133
1134
054E
8744
A
HEAD
ORD,7,LONG,'D'/256
1135
054F
4543
A
.WORD
'EC','IM','AL'+ODD,HEX-3
0550
494D A
0551
41CC A
0552
0545
A
1136
0553
0342
A DEC:
.WORD
DOCOL,LIT,OA,BASE,STORE,SEMIS
0554
0103
A
0555
OOOA
A
0556
040D
A
0557
031D
A
0558
026A
A
1137
.
,
1138
;***************************************************
1139
. * ;CODE *
,
1140
.***************************************************
,
1141
1142
0559
8728
A
HEAD
ORD, 7
,LONG,'
('
/256
1143
OSSA
3B43
A
WORD
';C','OD','E)'+ODD,DEC-5
055B
4F44
A
055C
45A9
A
055D
054E
A
1144
055E
0342
A PSCODE:
.WORD
DOCOL,FROMR,LATEST
055F
0283
A
0560
049B
A
1145
0561
04CO A
WORD
PFA,CFA,STORE,SEMIS
0562
04AA A
0563
031D A
0564
026A
A
1146
1147
1148
0565
C53B A
HEAD
IMM,5,LONG,';'/256
1149
0566
434F
A
WORD
'CO','DE'+ODD,PSCODE-5'
0567
44C5
A
0568
0559
A
1150
0569
0342
A
SEMIC:
WORD
DOCOL,QCSP,COMPIL,PSCODE
056A
0505
A
056B
0521
A
056C
055E
A
1151
056D
052C
A
WORD
LBRAC,SMUDGE,SEMIS'
056E
053E
A
056F
026A
A
1152
;
1153
;***************************************************
1154
. *
,
<BUILDS,
DOES> *
1155
;***************************************************
1156
1157
0570
873C
A
HEAD
ORD,7,LONG,'<'/256
1158
0571
4255
A
.WORD
'BU','IL','DS'+ODD,SEMIC-4
0572
494C
A
0573
44D3 A
0574
0565
A
1159
0575 0342
A
BUILDS:
WORD
DOCOL,ZERO,CON,SEMIS
0576
0376
A
0577
0357
A
PACE ASSEMBLER REV-A
OS/23/75
FORTH NUCLEUS
FOR
PACE
DICTIONARY
0578
026A
A
1160
1161
0579
8544
A
1162
057A
4F45
A
057B
53BE
A
057C
0570
A
HEAD
WORD
ORD,5,LONG,'D'/256
'OE','S>'+ODD,BUILDS-5
1163
057D
0342
A DOES:
057E
0283
A
WORD
DOCOL,FROMR,LATEST,PFA,STORE,PSCODE
057F
049B
A
0580
04CO A
0581
031D
A
0582
055E
A
1164
1165
0583
AC21 A
1166
0584
5C40
A
1167
0585
B021"
A
l168
0586
C601
A
1169
0587
5002
A
1170
0588
6880
A
1171
0589
98F9
I
1172
1173
1174
1175
1176
1177
1178
1179
058A
8543
A
1180
058B
4F55
A
058C
4ED4 A
058D
0579
A
1181
058E
0342
A
058F
02FD A
0590
02DD A
0591
042B
A
0592
02D5
A
0593
0311
A
0594
026A
A
1182
1183
0595
8454
A
1184
0596
5950
A
0597
C520
A
0598
058A
A
,
DODOES:
DSZ
RCPY
ST
LD~
LI
RADD
JMP
RP
I
po.
0
O.@RP·
1 , 1
(W)
0,2
W,O
PUSH
EXTEND
RETURN
STACK
PUSl:I
IP'
LOAD
IP
FROM
PARAM
POINT
BOTTOM
OF
STACK
TO
PFA+l
,
.**~~************************************************
,
;*
TEXT
OUTPUTS *
;***************************************************
COUNT
BYTE
DUP
1+
SWAP
C@
HEAD
ORD,5,LONG,'C'/256
.WORD
'OU','NT'+ODD,DOES-4
COUNT:
.WORD
DOCOL,BYTE,DUP,ONEP,SWAP,CAT,SEMIS
HEAD
.WORD
ORD,4,LONG,'T'/256
'YP','E'+EVEN,COUNT-4
1185
0599
0342
A
TYPE:
WORD
DOCOL,DDUP,ZBRAN
059A
047D
A
059B
0124
A
1186
059C
OOOC
A
WORD
059D
02C9
A
059E
029F
A
059F
02D5
A
05AO
0155
A
1187
05Al
0161
A
TYPEl:
.WORD
05A2
0311
A
05A3
OIED A
05A4
012F
A
TYPE2-.,OVER,PLUS,SWAP,XDO
I,CAT,EMIT,XLOOP
PACE ASSEMBLER REV-A
OS/23/75
FORTH NUCLEUS
FOR
PACE
DICTIONARY
1188
05A5
FFFC
A
WORD
TYPEl-.,BRAN
05A6
o
lIB
A
1189
05A7
0002
A
.WORD
TYPE3-.
1190
05A8
02DO A TYPE:2:
WORD
DROP
1191
05A9
026A
A TYPE:3:
.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
05BO
0342
A
DTRAIL:
WORD
DOCOL,DUP,ZERO,XDO
05Bl
02DD A
05B2
0376
A
05B3
0155
A
1196
05B4 02C9
A DTRAI :
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
OSBA
0387
A
OSBB
0450
A
05BC
0124
A
1198
05BD
0004
A
WORD
DTRA2-.,LEAVE,BRAN
05BE
0273
A
05BF
o
lIB
A
1199
05CO
0003
A
.WORD
DTRA3-.
1200
05Cl
037A
A DTRA2:
.WORD
ONE,
SUB
05C2
0450
A
1201
05C3
012F
A DTRA.3:
WORD
XLOOP
1202
05C4
FFFO A
.WORD
DTRA1-.,SEMIS
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
OSCB
0289
A
05CC
OS8E A
OSCD
02DD A
OSCE
0305
A
OSCF
042B
A
1210
05DO
0283
A
.WORD
FROMR,PLUS,TOR,TYPE,SEMTIF
0501:
029F
A
0502
02lB
A
0503
0599
A
050t.
026A
A
l2
LL:
. '
,
l2t2
. ' "
2.2
STATE @
IF
COMPILE ( . " )
WORD~
, .
PACE
ASSEMBLER
REV-A
OS/23/75
FORTH
NUCLEUS
FOR
PACE
DICTIONARY
l213
l21A
l2l5
HERE
BYTE
C@
CELL
l~
ALLOT
ELSE
1216
1217
1218
C22E
A
A220
A
05C6
A
WO
RD~
HE
RECOUNT
IMMEDIATE
TYPE
HEAD
WORD
IMM,2,LONG,'.'/256
''''+EVEN,PDOTQ-4
ENDIF
..
,
1
219
05D5
05D6
05D7
05D8
05D9
05DA
05DB
05DC
05DD
05DE
05DF
0342
A
0103
A
0022
A
DOTQ::
WORD
DOCOL,LIT,''''/256,STATE,AT,ZBRAN
1220
1221
1222
1223
05EO
05El
05E2
05E3
05E4
05E5
05E6
05E7
05E8
05E9
05EA
05EB
0407
A
030B
A
0124
A
OOOC
A
0521
A
05CA
A
06A8
A
043A
A
02FD
A
0311
A
0305
A
042B
A
0442
A
011B
A
WORD
WORD
0005
A
.WORD
06A8
A DOTQ1:
.WORD
043A
A
05EC
058E
A
05ED
0599
A
1224
05EE
026A
A DOTQ2:
.WORD
1225
1226
.LIST
05ED
0599
A
1224
OSEE
026A
A DOTQ2:
.WORD
1225
.
,
1
226
024
05EE
026A
A
1225
DOTQl-.,COMPIL,PDOTQ,WORD
HERE,BYTE,CAT,CELL,ONEP,ALLOT,BRAN
DOTQ2-.
WORD,HERE,COUNT,TYPE
SEMIS
PART=2
SEMIS
DOTQ2:
WORD
SEMIS
1226
PACE ASSEMBLER REV-A
OS/23/75
FORTH NUCLEUS
FOR
PACE
1227
1228
1229
1230
1231
1232
1233
,
;***************************************************
;*
TERMIN~L
INPUT *
.***************************************************
,
1234
1235
1236
1237
1238
1239
1240
05EF
8645
A
1241
05FO
5850
A
05Fl
4543
A
05F2
D420
A
05F3
05D5
A
: EXPECT
HEAD
.WORD
1242
05F4
0342
A EXPECT:
.l~ORD
05F5
02C9
A
05F6 029F
A
05F7
02C9
A
05F8
0155
A
1243
05F9
01F1
A EXPECll:
.WORD
05FA
02DD A
05FB
0103
A
05FC
0007
A
o 5FD
03A6
A
05FE
030B
A
05FF
0457
A
0600
0124
A
1244
0601
0010
A
.WORD
0602
02DO A
0603
0103
A
0604
0008
A
0605
02C9
A
0606
0161
A
0607
0457
A
1245
0608
02DD A
.WORD
0609
0283
A
060A
037E
A
060B
0450
A
060C
029F
A
060D
027B
A
060E
0450
A
OVER
+
OVER
DO
07
+ORIGIN
@
OVER
I
DUP
R>
ELSE
DUP
OD
IF
LEAVE
DROP
END
I F I C! °
ENDIF EMIT
LOOP
KEY
DUP
IF
DROP
08
2 +
>R
BL
0 ELSE
DUP
I
1+
C!
DROP
ORD,6,LONG,'E'/256
'XP','EC','T'+EVEN,DOTQ-3
DOCOL,OVER,PLUS,OVER,XDO
KEY,DUP,LIT,07,PORIG,AT,EQUAL,ZBRAN
EXPEC2-.,DROP,LIT,08,OVER,I,EQUAL
DUP,FROMR,TWO,SUB,PLUS,TOR,SUB,BRAN
PACE ASSEMBLER REV-A
OS/23/75
FORTH NUCLEUS
FOR
PACE
DICTIONARY
060F
011B
A
1246
0610
0014
A
1247
0611
02DD A
0612
0103
A
0613
OOOD
A
0614
0457
A
0615 0124
A
1248
0616 0007
A
0617
0273
A
0618
02DO A
0619
0387
A
061A
0376
A
061B
011B
A
1249
061C
0002
A
1250
061D
02DD A
1251
061E
0161
A
061F
0324
A
0620
0376
A
0621
0161
A
0622
042B
A
0623
0324
A
1252
0624
01ED A
0625
012F
A
1253
0626
FFD3 A
0627
0
2D
0 A
0628
026A
A
1254
1255
1256
WORD
EXPEC2:
WORD
WORD
WORD
EXPEC3:
WORD
EXPEC4:
WORD
EXPEC5:
WORD
WORD
QUERY
1257
0629
8551
A
HEAD
1258
062A
5545
A
.WORD
062B
52D9
A
062C
05EF
A
1259
062D
0342
A QUERY:
.WORD
062E
03B8
A
062F
030B
A
0630
02FD A
0631
0103
A
0632 0050
A
1260
0633
05F4
A
.WORD
0634
0376
A
0635
03E2
A
0636
031D
A
0637
026A
A
1261
1262
0638
C180
A
HEAD
1263
0639
0629
A
.WORD
1264
063A
0342
A NULL:
.WORD
063B
03DD A
063C
030B
A
063D
0124
A
1265
063E
0013
A
.WORD
1266
063F
037A
A
.WORD
0640
03DD A
0641
02E3
A
EXPEC5-.
DUP,LIT,OD,EQUAL,ZBRAN
EXPEC3-.,LEAVE,DROP,BL,ZERO,BRAN
EXPEC4-
DUP
I,CSTORE,ZERO,I,ONEP,CSTORE
EMIT,XLOOP
EXPEC1-~,DROP,SEMIS
TIB
@
BYTE
50
EXPECT 0 IN
ORD,5,LONG,'Q'/256
'UE','RY'+ODD,EXPECT-5
DOCOL,TIB,AT,BYTE,LIT,0050
EXPECT,ZERO,IN,STORE,SEMIS
IMM,l,SHORT,OO
NULL
QUERY-4
DOCOL,BLK,AT,ZBRAN
NULL2-.
ONE~BLK,PSTORE,ZERO,IN,STORE
PACE ASSEMBLER REV-A
OS/23/75
FORTH
NUCLEUS
FOR
PACE
DICTIONARY
0642
0376
A
0643
03E2
A
0644
031D
A
1267
0645
03DD A
0646
030B
A
0647
039F
A
0648
0919
A
0649
028F
A
064A
0124
A
1268
064B
0004
A
064C 04EF
A
064D
0283
A
064E
02DO A
1269
064F
011B
A
1270
0650
0003
A
1271
0651
0283
A
0652
02DO A
1272
0653
026A
A
1273
1274
1275
1276
1277
1278
1279
1280
1281
1282
1283
1284
1285
1286
1287
1288
1289
1290
1291
1292
0654
0655
0656
0657
0658
0659
065A
065B
065C
065D
065E
065F
0660
0661
0662
0663
0664
0665
0666
0667
0668
0669
066A
066B
8446
A
494C
A
CC20 A
0638
A
0342
A
02D5
A
027B
A
02C9
A
031D
A
02DD A
042B
A
0283
A
037A
A
0450
A
0201
A
026A
A
8545
A
5241
A
53C5
A
0654
A
0342
A
0376
A
6658
A
026A
A
WORD
WORD
NULLll:
.WORD
WORD
NULL2:
WORD
NULL3:
.WORD
BLK,AT,BSCR,MOD,ZEQU,ZBRAN
NULL1-.,QEXEC,FROMR,DROP
BRAN
NULL3-.
FROMR,DROP
SEMIS
,
.***,~***********************************************
,
;*
FILL,
ERASE, BLANKS, HOLD, PAD,
CMOVE
*
.***************************************************
,
FILL:
ERASE:
NOTE
THAT
THE
NEXT
THREE
WORDS
FILL
16-BIT
WORDS"
NOT
BYTES.
FILL
HEAD
.WORD
WORD
.WORD
HEAD
WORD
WORD
SWAP
>R
OVER
R>
1
MOVE
DUP
1+
ORD,4,LONG,'F'/256
'IL'
,'L'+EVEN,NULL-2
DOCOL,SWAP,TOR,OVER,STORE,DUP
ONEP,FROMR,ONE,SUB,MOVE,SEMIS
ORD,5,LONG,'E'/256
'RA','SE'+ODD,FILL-4
DOCOL,ZERO,FILL,SEMIS
PACE
ASSEMBLER REV-A
OS/23/75
FORTH
NUCLEUS
FOR
PACE
DICTIONARY
1293
BLANKS
2020
FILL
1294
1295
066C
8642
A
HEAD
ORD,6,LONG,'B'/256
1296
066D
4C41
A
.WORD
'LA','NK','S'+EVEN,ERASE-4
066E
4E4B A
066F
D320
A
0670
0664
A
1297
0671
0342
A BLANKS:
.WORD
DOCOL,LIT,02020,FILL,SEMIS
0672
0103
A
0673
2020
A
0674
0658
A
0675
026A
A
1298
1299
0676
8448
A
1300
0677
4F4C
A
0678
C420
A
0679
066C
A
1301
067A
0342
A HOLD:
067B
0103
A
067C
FFFF
A
067D
0426
A
067E
02E3
A
1302
067F
0426
A
0680
030B
A
0681
0324
A
0682
026A
A
HEAD
.WORD
WORD
WORD
ORD,4,LONG~'H'/256
'OL','D'+EVEN,BLANKS-5
DOCOL,LIT,-I,HLD,PSTORE
HLD,AT,CSTORE,SEMIS
1303
1304
1305
NOTE
THAT
PAD
IS
A
WORD
ADDRESS.
1306
1307
1308
1309
PAD
HERE
22 +
1310
1311
1312
1313
1314
1315
0683
0684
0685
0686
0687
0688
0689
068A
068B
8350
A
41C4
A
0676
A
0342
A
043A
A
0103
A
0022
A
029F
A
026A
A
PAD:
HEAD
.WORD
WORD
CMOVE
1316
068C
8543
A
HEAD
1317
068D
4D4F A
.WORD
068E
56C5
A
068F
0683
A
1318
0690
0342
A
CMOVE:
.WORD
0691
047D
A
0692 0124
A
1319
0693
OOOE
A
.WORD
0694
02C9
A
0695
029F
A
ORD,3,LONG,'P'/256
'AD'+ODD,HOLD-4
DOCOL,HERE,LIT,0022,PLUS,SEMIS
-DUP
IF
OVER
+
SWAP
DO
DUP
C@
I C! 1+
LOOP
ELSE
DROP
ENDIF
DROP
ORD,5,LONG,'C'/256
'MO','VE'+ODD,PAD-3
DOCOL, DDUP,
ZBRAN'
CMOVE2-.,OVER,PLUS,SWAP,XDO
PACE ASSEMBLER
REV-A
OS/23/75
FORTH NUCLEUS FOR PACE
DICTIONARY
0696
02D5
A
0697
0155
A
1320
0698
02DD A CMOVEl:
.WORD
0699
0311
A
069A
0161
A
069B
0324
A
069C
042B
A
069D
012F
A
1321
069E
FFFA A
.WORD
069F
OllB
A
1322
06AO
0002
A
.WORD
1 3 2 3 0 6
Al
0 2 D 0 A C
MO
V E
2:
WaR D
1324
06A2
02DO A CMOVE3:
.WORD
06A3
026A
A
DUP,CAT,I,CSTORE,ONEP,XLOOP
CMOVEl-.,BRAN
CMOVE3-.
DROP
DROP,SEMIS
1325
1326
1327
1328
1329
1330
1331
1332
1333
1334
1335
,
.***,~***********************************************
,
1336
06A4
8457
A
1337
06A5
4F52
A
06A6
C420
A
06A7
068C
A
1338
06A8
0342
A
06A9
03DD A
06AA
030B
A
06AB
0124
A
1339
06AC
0006
A
06AD 03DD A
06AE
030B
A
06AF
09B6
A
06BO
011B
A
1340
06B1
0003
A
1341
06B2
03B8
A
06B3
030B
A
1342
06B4
02FD
A
06B5
03E2
A
06B6
030B
A
06B7
029F
A
06B8
02D5
A
06B9
01Bl
A
1343
06BA
043A
A
06BB
0103
A
06BC
0011
A
06BD
0671
A
06BE
03E2
A
06BF
02E3
A
1344
06CO
02C9
A
06Cl
0450
A
;*
WORD
*
;***7~***********************************************
..
WORD
WORD::
HEAD
.WORD
WORD
WORD
WORD
WORD
1.
:
WORD
WORD2:
WORD
WORD
WORD
BLK
@
IF
BLK
ENDIF
BYTE
IN
HERE" 11
BLANKS
R
HERE
BYTE
C!
R>
CMOVE
@
BLOCK
ELSE
TIB
@ +
SWAP
ENCLOSE
IN
+1
OVER
>R
+
HERE
BYTE
1+
ORD,4,LONG,'W'/256
'OR','D'+EVEN,CMOVE-4
WORD1-.,BLK,AT,BLOCK,BRAN
WORD2-
TIB,AT
BYTE,IN,AT,PLUS,SWAP,ENCL
HERE,LIT,17,BLANKS,IN,PSTORE
OVER,SUB,TOR,R,HERE,BYTE,CSTORE
@
PACE ASSEMBLER REV-A
OS/23/75
FORTH
NUCLEUS
FOR
PACE
DICTIONARY
06C2
027B
A
o 6C3
0289
A
06C4
043A
A
06C5
02FD A
06C6
0324
A
1345
06C7
029F
A
WORD
PLUS,HERE,BYTE,ONEP
06C8
043A
A
06C9
02FD A
06CA
042B
A
1346
06CB
0283
A
WORD
FROMR,CMOVE,SEMIS
06CC
0690
A
06CD
026A
A
1347
;
1348
.***l~***********************************************
, .
1349
. * (NUMBER),
NUMBER,
-FIND
*
,
1350
.***l~***********************************************
,
1351
1352
06CE
8828
A
HEAD
ORD,8,LONG,'('/256
1353
06CF
4E55
A
WORD
'NU','MB','ER',')'+EVEN,WORD-4
06DO
4D42
A
06D 1
4552
A
06D2
A920
A
06D3
06A4
A
1354
06D4
0342
A
PNUMH:
WORD
DOCOL
1355
06D5
042B
A
PNUMH
1 :
WORD
ONEP,DUP,TOR,CAT,BASE,AT,DIGIT,ZBRAN
06D6
02DD A
06D7
027B
A
06D8
0311
A
06D9
040D
A
06DA
030B
A
06DB
0166
A
06DC
0124
A
1356
06DD
0016
A
WORD
PNUMB3-.,SWAP,BASE,AT,USTAR
06DE
02D5
A
06DF
040D
A
06EO
030B
A
06El
0213
A
1357
06E2
02DO A
WORD
DROP,ROT,BASE,AT,USTAR
06E3
046A
A
06E4
040D
A
06E5
030B
A
06E6
0213
A
1358
06E7
02A7
A
WORD
DPLUS,DPL,AT,ONEP,ZBRAN
06E8
0412
A
06E9
030B
A
06EA
042B
A
06EB
0124
A
1359
06EC
0004
.A
WORD
PNUMB2-.,ONE,DPL,PSTORE
06ED
037A
A
06EE
0412
.A
06EF
02E3
.A
1360
06FO
0283
A
PNUMEl2:
.WORD
FROMR,BRAN
06F1
o
lIB
A
1361
06F2
FFE3
A
.WORD
PNUMBl-.
1362
06F·3
0283
A PNUMB3:
.WORD
FROMR,SEMIS
PACE ASSEMBLER REV-A
OS/23/75
FORTH
NUCLEUS
FOR
PACE
DICTIONARY
06F4
026A
A
1363
1364
1365
1366
1367
1368
NUMBER
BYTE
0 0 ROr
DUP
1+
C@
2D
=
DUP
>R
+
-1
BEGIN DPL (NUMBER)
DUP
C@
BL
WHILE
DUP
C@
2E
0 ?ERROR 0 REPEAT
DROP
R>
IF
DMINUS
ENDIF
1369
1370
06F5
864E
A
HEAD
1371
06F6
554D
A
.WORD
06F7
4245
A
06F8
D220
A
06F9
06CE
A
1372
06FA
0342
A
NUMB:
.WORD
06FB
02FD A
06FC
0376
A
o 6FD
0376
A
1373
06FE
046A
A
.WORD
06FF
02DD A
0700
042B
A
0701
0311
A
0702 0103
A
1374
0703
002D
A
.WORD
0704
0457
A
0705
02DD A
0706
027B
A
0707
029F
A
0708
0103
A
0709
FFFF
A
1375
070A
0412
A NUMB1:
.WORD
070B
031D
A
070C
06D4
A
070D
02DD A
070E
0311
A
070F
0387
A
0710
0450
A
0711
0124
A
1376
0712
OOOB
A
.WORD
0713
02DD A
0714
0311
A
0715 0103
A
0716
002E
A
1377
0717
0450
A
.WORD
0718
0376
A
0719
04Do A
07lA
0376
A
071B
OllB
A
1378
071C
FFEE A
.WORD
1379
071D- 02DO A
NUMB2:
.WORD'
071E
0283
A
071
F
0124
A
1380
0720
0002
A
.WORD
0721
02BD A
1381
0722
026A
A NUMB3:
.WORD
1382
ORD,6,LONG,'N'/256
'UM','BE','R'+EVEN,PNUMB-6
DOCOL,BYTE,ZERO,'ZERO
ROT,DUP,ONEP,CAT,LIT
'-'/256,EQUAL,DUP,TOR,PLUS,LIT,-1
DPL,STORE,PNUMB,DUP,CAT,BL,SUB,ZBRAN
NUMB2-.,DUP,CAT,LIT,'.'/256
SUB,ZERO,QERROR,ZERO,B~N
NUMB1-. ,
DROP,FROMR,ZBRAN
NUMB3-.,DMINUS
SEMIS
PACE ASSEMBLER REV-A
OS/23/75
FORTH
NUCLEUS
FOR
PACE
DICTIONARY
1383
0723
852D
A
HEAD
ORD,5,LONG,'-'/256
1384
0724
4649
A
WORD
'FI','ND'+ODD,NUMB-5
0725
4EC4 A
0726
06F5
A
1385
0727
0342
A
DFIND:
.WORD
DOCOL,BL,WORD,HERE,CONT,AT
0728
0387
A
0729
06A8
A
072A
043A
A
072B
03FA
A
072C
030B
A
1386
072D
030B
A
.WORD
AT,PFIND,DUP,ZEQU,ZBRAN
o 72E OI7D A
072F
02DD A
0730
028F
A
0731
0124
A
1387
0732
0005
A
WORD
DFIND1-.,DROP,HERE,LATEST,PFIND
0733
02DO A
0734
043A
A
0735
049B
A
0736
o 17D A
1388
0737
026A
A
DFIND1:
.WORD
SEMIS
1389
1390
.***************************************************
,
1391
. *
ERROR
HANDLER
*
,
1392
;***************************************************
1393
1394
.FORM
STRING,8,8
1395
1396
0738
8728
A
HEAD
ORD,7,LONG,'('/256
1397
0739
4142
A
WORD
'AB','OR','~)'+ODD,D~IND-4
073A
4F52
A
073B
54A9
A
073C
0723
A
1398
073D
0342
A PABORT:
WORD
DOCOL,ABORT,SEMIS
073E
0874
A
073F
026A
A
1399
1400
0740
8545
A
HEAD
ORD,5,LONG,'E'/256
1401
0741
5252
A
WORD
'RR','OR'+ODD,PABORT-5
0742
4FD2 A
0743
0738
A
1402
0744 0342
A ERROR:
.WORD
DOCOL,WARN,AT,ZLESS,ZBRAN
0745
03C5
A
0746
030B
A
0747
0297
A
0748
0124
A
1403
0749
0002
A
.WORD
ERROR1-.,PABORT
074A
073D A
1404
074B
043A
A ERROR1:
WORD
HERE,COUNT,TYPE,PDOTQ
074C
058E
A
o
74D
0599
A
074E
05CA A
1405
074F
0420
A STRING
4,
,
'/256
1406
0750
203F
A
.ASCII
, ? ,
0751
2020
A
PACE ASSEMBLER REV-A
OS/23/75
FORTH NUCLEUS
FOR
PACE
DICTIONARY
1407
0752
OA05 A
0753
025B
A
0754
03E2
A
0755
030B
A
1408
0756
03DD A
0757
030B
A
0758
08SC
A
1409
1410
1411
1412
1413
1414
1415
1416
1417
1418
1419
1420
1421
1422
1423
1424
1425
1426
1427
1428
1429
1430
1431
1432
0759
026A
A
075A
075B
075C
075D
075E
075F
0760
0761
0762
0763
0764
0765
0766
0767
0768
0769
076A
076B
076C
076D
076E
8349
A
44AE A
0740
A
0342
A
0686
A
0103
A
0010
A
0103
A
5F5F
A
0658
A
02DD A
04CO A
04A3
A
02C9
A
0450
A
0686
A
02D5
A
0201
A
0686
A
058E
A
0103
A
076F
001F
A
0770
023F
A
0771 0599
A
0772
0475
A
0773
026A
A
1433
0774
8643
A
1434
0775
5245
A
0776
4154
A
IDDOT:
.WORD
.WORD
ID.
PAD
OVER
01F
HEAD
.WORD
.WORD
WORD
.WORD
WORD
MESS,SPSTOR,IN,AT
BLK,AT,QUIT,SEMIS
010
5F5F
FILL
DUP
PFA LFA
PAD
SWAP
MOVE
PAD
COUNT
AND
TYPE SPACE
ORD,3,LONG,'I'/256
'D.'+ODD,ERROR-4
DOCOL,PAD,LIT,0010,LIT,05F5F
FILL,DUP,PFA,LFA,OVER,SUB
PAD,SWAP,MOVE,PAD,COUNT
LIT,OOlF,AND,TYPE,SPACE,SEMIS
,
.***~:***********************************************
,
;*
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
TOG~LE
+
80
TOGGLE
LATEST , CURRENT @
HERE
1+
HEAD
ORD,6,LONG,'C'/256
.WORD
'RE','AT','E'+EVEN,IDDOT-3
PACE
ASSEMBLER REV-A
OS/23/75
ICTIONARY
0777
C520
A
0778
075A
A
1435
0779 0342
A CREATE:
.WORD
DOCOL,SPAT,HERE,LIT,0050,PLUS
077A
0255
A
077B
043A
A
077C
0103
A
077D
0050
A
077E
029F
A
1436
077F
045D
A
.WORD
LESS,TWO,QERROR,DFIND,ZBRAN
0780
037E
A
0781
04D6
A
0782
0727
A
0783
0124
A
1437
0784
0008
A
WORD
CREAT1-.,DROP,NFA,IDDOT
0785
02DO A
0786
04B1
A
0787
075D
A
1438
0788
0103
A
WORD
LIT,4,MESS,SPACE
.
0789
0004
A
078A
OA05 A
° 78B
0475
A
1439
078e
043A
A CREAT1:
.WORD
HERE,DUP,BYTE,DUP,CAT,WIDTH,AT
o 78D 02DD A
078E
02FD A
078F
02DD A
0790
0311
A
0791
03BE
A
0792
030B
A
1440
0793
08CF
A
WORD
MIN,DUP,CELL,ONEP,ALLOC.OVER
0794
02DD A
0795
0305
A
0796
042B
A
0797
0442
A
0798
02C9
A
1441
0799 0103
A
.WORD
LIT,00AO,TOGGLE,PLUS,LIT,0080
079A
OOAO
A
079B
02ED A
o 79C
029F
A
079D
0103
A
079E
0080
A
1442
079F
02ED A
.WORD
TOGGLE,LATEST,COMMA,CURR,AT
07AO
049B
A
07A1
0448
A
07A2
0401
A
07A3
030B
A
1443
07A4
031D
A
.WORD
STORE,HERE,ONEP,COMMA,SEMIS
07A5
043A
A
07A6
042B
A
07A7
0448
A
07A8
026A
A
1444
.
,
1445
.***************************************************
,
1446
. * [COMPILE] ,
LITERAL,
DLITERAL *
,
1447
;****************************************M*******k~
L448
PACE ASSEMBLER REV-A
65/23/75
FORTH NUCLEUS
FOR
PACE
DICTIONARY
1449
07A9
C95B A
HEAD
1450
07AA
434F
A
.WORD
07AB
4D50
A
07Ae
494C
A
07AD 45DD A
07AE
0774
A
1451
07AF
0342
A BCOMP:
.WORD
07BO
0727
A
07Bl
028F
A
07B2
0376
A
07B3
04D6
A
1452
07B4
02DO 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
V 0
7B
B
41
C C A
07BC
07A9
A
1456
07BD
0342
A
LITER:
.WORD
07BE
0
07
A
07BF
030B
A
07CO
0124
A
L457
07CL:
0004
A
.WORD
07C2
0521
A
07C3
0103
A
07C4
0448
A
1458
07C5
026A
A L
ITER
1 :
WORD
1459
1460
07C6
C844
A
HEAD
1461
07C7
4C49
A
.WORD
07C8
5445
A
07C9
5241
A
07CA
CC20
A
07CB
07B8
A
1
462
0 7 C C
0342
A D
LIT
E R :
WO
RD
07CD
0407
A
07CE
030B
A
07CF
0124
A
1463
07DO
0004
A
.WORD
o
7D
1 0
2D
5 A
07D2
07BD A
07D3
07BD A
1464
07D4
026A
A
DLITE1:
.WORD
LJ..65
L:466
l467
1468
1469
07D5
863F
A
1470
07D6
5354
A
07D7
4143
A
07D8
CB20
A
07D9
07C6
A
:
?STACK
HEAD
.WORD
IMM,9,LONG,'
['
/256
'CO','MP','IL','E]'+ODD,CREATE-5
DOCOL,DFIND,ZEQU,ZERO,QERROR
DROP,CFA,COMMA,SEMIS
IMM,7,LONG,'L'/256
'IT','ER','AL'+ODD,BCOMP-6
D
a::
0
L,
STAT
E,
AT,
ZB R
A.N
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
·4
2,
+ < 7 ?
ERR
0 R
ORD,6,LONG,'?'/256
'ST'
'AC'
'K'+EVEN
DLITER-6
, ,
'.
'
PACE ASSEMBLER REV-A
OS/23/75
FORTH NUCLEUS FOR PACE
DICTIONARY
1471
07DA
0342
A QSTACK:
WORD
DOCOL,SZERO,AT,SPAT,LESS
o
7DB
03AE
A
07DC
030B
A
o
7DD
0255
A
o
7DE
045D
A
1472
07DF
037A
A
WORD
ONE,QERROR,SPAT,HERE,LIT,0042
07EO
04D6
A
07E1
0255
A
07E2
043A
A
07E3
0103
A
07E4
0042
A
1473
07E5
029F
A
WORD
PLUS,LESS,LIT,7,QERROR,SEMIS
07E6
045D
A
07E7
0103
A
o 7E8
0007
A
07E9
04D6
A
07EA
026A
A
1474
;
1475
;***************************************************
1476
. * INTERPRET *
,
1477
;*********************************~**************
**
1478
1479
07EB
8949
A
HEAD
ORD,9,LONG,'I'/256
1480
07EC
4E54
A
WORD
'NT','ER','PR','ET'+ODD,QSTACK-5
07ED
4552
A
07EE
5052
A
07EF
45D4
A
07FO
07D5
A
1481
07F1
0342
A
INTER:
WORD
DOCOL
1482
07F2
0727
A
INTER1
:
.WORD
DFIND,ZBRAN
07F3
0124
A
1483
07F4
OOOF
A
WORD
INTER4-.,STATE,AT,LESS,ZBRAN
07F5
0407
A
07F6
030B
A
07F7
045D
A
07F8
0124
A
1484
07F9
0005
A
WQRD
INTER2-.,CFA,COMMA,BRAN
07FA
04AA A
07FB
0448
A
07FC
o
lIB
A
1485
07FD
0003
A
WORD
INTER3-.
l:486
07FE
04AA A INTER.2:
.WORD:·
CFA,EXEC
07FF
Oll2
A
l487
0800
07DA A
INTER3:
WO
RD:
QSTACK,BRAN \
0801
o
lIB
A
1488
0802
OOOE
A
WORD
INTER7-.
l:489
0803
043A
A
INTER4:
WO
RD~
HERE,NUMB,DPL,Ar,ONEP~ZBRAN
0804
06FA
A
0805
0412
A
0806
030B
A
0807
042B
A
0808
0124
A
1490
0809 0004
A
WORD
INTER5-.,DLITER,BRAN
080A
07CC A
080B
o
lIB
A
PACE ASSEMBLER REV-A
OS/23/75
FORTH NUCLEUS
FOR
PACE
DICTIONARY
1491
080C
0003
A
.WORD
1492
080D
02DO A
INTERS:
.WORD
080E
07BD A
1493
080F
07DA A
INTER6:
.WORD
1494
0810
OliB
A
INTER7:
.WORD
1495
0811
FFEI
A
.WORD
0812
026A
A
INTER6-.
DROP,LITER
QSTACK
BRAN
INTERI-.,SEMIS
1496
1497
1498
1499
1500
1501
1502
,
.***************************************************
,
1503
0813
8949
A
1504
0814
4D4D A
0815
4544
A
0816
4941
A
0817
54C5
A
0818
07EB
A
1505
0819 0342
A
08lA
049B
A
081B
02FD
A
1506
081C
0103
A
08ID
0040
A
081E
02ED A
081F
026A
A
1507
1508
1509
1510
1511
1512
0820
8A56
A
1513
0821
4F43
A
0822
4142
A
0823
554C
A
0824
4152
A
0825
D920
A
0826
0813
A
1514
0827
0342
A
0828
0575
A
0829
0103
A
082A
8LA.0 A
082B
04
48
A
1515
082C
0401
A
082D
030B
A
082E
04AA A
082F
0448
A
0830
043A
A
0831
03D8
A
1516
0832
030B
A
0833
0448
A
0834
03D8
A
0835
03ID
A
0836
OS7D A
; * I M
~1
ED
I
ATE,
V 0
CAB
U L A R
Y,
D E
FIN
I T ION
S,
FOR
T H , ( *
.***************************************************
,
IMMEDIATE
HEAD
WORD
IMMED
:
WO
RD
VOCAB:
.WORD
VOCABULARY
CFA
DOES>
HEAD
WORD
WORD
WORD
.WORD
LATEST
BYTE
40
TOGGLE
ORD,9,LONG,'I'/256
'MM','ED','IA','TE'+ODD,INTER-6
DOCOL,LATEST,BYTE
LIT,0040,TOGGLE,SEMIS
<BUILDS
8lAO
HERE
VOC-LINK
1+
CONTEXT
,
@
CURRENT @
VOC-LINK
ORD,10,LONG,'V'/256
'OC','AB','UL','AR','Y'+EVEN,IMMED-6
DOCOL,BUILDS,LIT,081AO,C0M1~
CURR,AT,CFA,COMMA,HERE,VOCL
AT,COMMA,VOCL,STORE,DOES
PACE ASSEMBLER REV-A
OS/23/75
FORTH
NUCLEUS
FOR
PACE
DICTIONARY
1517
0837
042B
A DOVOC:
.WORD
ONEP,CONT,STORE,SEMIS
0838
03FA
A
0839
031D
A
083A
026A
A
1518
1519
083B
C546
A
HEAD
IMM,5,LONG,'F'/256
1520
083C
4F52
A
WORD
'OR','TH'+ODD,VOCAB-7
083D
54C8
A
083E
0820
A
1521
083F
0583
A FORTH:
WORD
DODOES,DOVOC,081AO,TASK-4,O
0840
0837
A
0841
8lAO
A
0842
OC65 A
0843
0000
A
1522
1523
0844
8B44
A
HEAD
ORD,11,LONG,'D'/256
1524
0845
4546
A
WORD
'EF','IN','IT','IO','NS'+ODD,FORTH-4
0846
494E
A
0847
4954
A
0848
494F
A
0849
4ED3 A
084A
083B
A
1525
084B
0342
A
DEFIN
::
.WORD
DOCOL,CONT,AT,CURR,STOm.SEMIS
084C
03FA
A
084D
030B
A
084E
0401
A
084F
031D
A
0850
026A
A
1526
1527
0851
CIA8
A
HEAD
IMM,I,SHORT,'('/256
1528
0852
0844
A
.WORD
DEFIN-7
1529
0853 0342
A
PAREN
::
.WORD
DOCOL,LIT,')'/256,WORD,SEMIS
0854
0103
A
0855
0029
A
0856
06A8
A
0857
026A
A
1530
.
,
1531
;***************************************************
1532
. *
QUIT,
ABORT
*
,
1533
;***************************************************
1534
1535
0858
8451
A
HEAD
ORD,4,LONG,'Q'/256
1536
0859
5549
A
WORD
'UI','T'+EVEN,PAREN-2
08SA
D420
A
08SB
0851
A
1537
08SC
0342
A
QUIT:
WORD
DOCOL,ZERO,BLK,STORE,LBRAC
085n 0376
A
08SE
.03DD A
085F
031D
A
0860
052C
A
1538
0861
0262
A
QUITl:
WORD
RPSTOR,CR,QUERY,INTER
0862
OlFC
A
0863
062D
A
0864
07Fl
A
1539
0865 0407
A
.WORD
STATE,AT,ZEQU,ZBRAN
PACE ASSEMBLER
REV~A
OS/23/75
FORTH NUCLEUS
FOR
PACE
DICTIONARY
0866
030B
A
0867
028F
A
0868
0124
A
15400869
0004
A~
086A
05CA
A
1541
086B
0320
A
1542
086C
4F4B
A
.WORD
QUIT2-.,PDOTQ
3,'
'/256
'OK'
1543
086n
011B
A
QUIT2:
1544
086E
FFF3
A
STRING
.ASCII
.WORD
.WORD
BRAN
QUIT1-.,SEMIS
1545
1546
1547
1548
1549
1550
1551
1552
1553
1554
1555
1556
1557
1558
1559
1560
086F
026A
A
0870
8541
A
0871
424F
A
0872
52D4
A
0873
0858
A
0874
0342
A
0875,
025B
A
0876
0553
A
0877
097F
A
0878
01FC
A
0879
05CA A
087A
1150
A
087B
4143
A
087C
4520
A
087D
464F
A
087E
5254
A
087F
4820
A
0880
2056
A
0881
2034
A
0882
2E30
A
0883
083F
A
0884
084B
A
0885
08SC
A
0886
026A
A
1561
0887
8443
A
1562
0888
4F4C
A
0889
C420
A
088A
0870
A
1563
088B 088C
A
1564
088C
1423
A
1565
088D
C912
A
1566
088E
C206
A
1567
088F
DIB2
A
1568
0890
5108
A
1569
0891
1902
A
1570
0892
5105
A
ABORT:
ABORT
SP!
DECIMAL
DRO
CR
.It
PACE FORTH V
4.0"
[COMPILE]
FORTH
DEFINITIONS
QUIT
HEAD
ORD,5,LONG,'A'/256
.WORD
'BO','RT'+ODD,QUIT-4
.WORD
DOCOL,SPSTOR,DEC,DRONE,CR,PDOTQ
STRING
17,'P'/256
.ASCII
'ACE
FORTH V
4.0'
WORD
FORTH,DEFIN,QUIT,SEMIS
, \
.***************************************************
"
;*
COLD
START *
.****~:**********************************************
,
COLD:
CENT:
WENT:
HEAD
.WORD
WORD
JSR
LD
LD
ST
L1'
JMP
L1
ORD,4,LONG,'G'/256
'OL','D'+EVEN,ABORT-4
.+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
OS/23/75
FORTH NUCLEUS
FOR
PACE
DICTIONARY
1571
0893
C90C A
LD
X,ORGPTR PTR
TO
STARTUP
LITS
1572
0894
CE08
A LDUP:
LD
Y,08(X)
INITIALIZE
1573
0895
DC22 A ST
Y,UP
USER POINTER
1574
0896
C209
A LDUVS:
LD
0',09
(X)
MOVE
FROM
LITERAL
1575
0897
D303
A ST
0,03(Y)
AREA
TO
USER
AREA
1576
0898
7AOI A
AISZ
X,l
1577
0899
7BOI A
AISZ
Y , 1
1578
089A
79FF
A
AISZ
1,-1
1579
089B
19FA
A JMP
LDUVS
1580
089C
C502
A
LD
IP,IPO
POINT
IP
TO
ABORT
1581
089D
9900
A JMP
@START
START
AT
RP!
1582
089E
0263
A START:
.WORD
RPSTOR+1
1583
089F
0875
A
IPO:
.WORD
ABORT+l
1584
08AO
0010
A ORGPTR:
WORD
ORIG START
OF
LITERALS
1585
;
1586
.***************************************************
,
1587
. *
MATH
UTILITY
*
,
1588
.***************************************************
,
1589
.
, .
1590
08A1
8453
A
HEAD
o
RD
,4
,
LON
G , ' S ' / 2 5 6
1591
08A2
2D3E A
WORD
'->','D'+EVEN,COLD-4
08A3
C420
A
08A4
0887
A
1592
08A5
08A6
A STOD:
WORD
.+1
1593
08A6
5000
A
LI
0,0
1594
08A7
9FOO A
SKG
O,O(SP)
1595
08A8
9BF9 I JMP PUSH
1596
08A9
50FF
A
LI
0,-1
1597
OBAA
98F9
I JMP PUSH
1598
1599
OBAB
B22B A
HEAD
ORD,2,LONG,'+'/256
1600
08AC AD20 A
WORD
'-'+EVEN,STOD-4
08AD 08A1 A
1601
08AE
0342
A
PMI:
WORD
DOCOL,ZLESS,ZBRAN
08AF
0297
A
08BO
0124
A
1602
08B1
0002
A
WORD
PMIl-.,MINUS'
08B2
02B4
A
1603
08B3
026A
A
PMI1:
.WORD
SEMIS
1604
1.605
08B4
8344
A
HEAD
ORD,3,LONG,'D'/256
1606
08B5
2BAD
A
.WORD
'+-'+ODD,PMI-3
08B6
08AB A
1607
08B7
0342
A
DPMI:
WORD
DOCOL,ZLESS,ZBRAN
08BS
0297
A
08B9
0124
A
1608
08BA
0002
A
.WORD
D
PM
I 1
-.
,
D.M
IN
US
08BB
02BD A
1609
08Be
026A
A DPMI1
::
WORD
SEMIS
1610
1611
08BD'
8341
A
HEAD
ORD,3,LONG,'A'/256
1612
08BE
42D3
A
.WORD
'BS'+ODD,DPMI-3
08BF
08B4
A
1613
08CO
0342
A
ABS:
WORD
DOCOL,DUP,PMI,SEMIS
08C1
02DD A
PACE ASSEMBLER REV-A
OS/23/75
FORTH
NUCLEUS
FOR
PACE
DICTIONARY
08C2
08AE A
08C3
026A
A
1614
1615
08C4
8444
A
HEAD
ORD,4,LONG,'D'/256
1616
08CS
4142
A
.WORD
'AB','S'+EVEN,ABS-3
08C6
0320
A
08C
7 08BD A
161
7
08e8
0342
A DABS:
WORD
DOCOL,DUP,DPMI,SEMIS
08C9
0200
A
08CA
08B7
A
08CB
026A
A
1618
1619
08CC
8340
A
HEAD
ORD,3,LONG~'M~/256
1620
08CD 49CE A
WORn
'IN'+ODD,DABS-4
08CE
08C4
A
1621
08CF
0800
A MIN:
WORD
.+1
1622
0800
C300
A
LD
O,O(SP)
GET
BOTTO~f
1623
08D 1
9FOI
A
SKG
O,l(SP)
COMPARE
WITH
SECOND
1624
0802
98F6
I
JMP
BIN
IF
BOtTOM
<=
SECOND
1625
0803
98FA
I
JMP
POP
IF
BOTTOM
>
SECOND
1626
1627
0804
8340
A
HEAD
ORD,3,LONG,'M'/256
1628
0805
4108
A
.WORD
'AX'+ODD,MIN-3
0806
08CC A
1629
08D7
0808
A
MAX:
WORD
.+1
1630
0808
C300
A
LD
O,O(SP)
GET
BOTTOM
1631
0809
9FOI
A
SKG
O,l(SP)
COMPARE
WITH
SECOND
1632
08DA
98FA
I
JMP
POP
IF
BOTTOM
<=
SECOND
1633
08DB
98F6
I
JMP
BIN
IF
BOTTOM
>
SECOND
1634
;
1635
_**************************************M*k*********
,
1636
. SIGNED
MATH
,
1637
;*************************~*************************
1638
1639
08De
8240
A
HEAD
ORD,2,LONG,'M'/256
1640
08DD AA20 A
.WORD
'*'+EVEN,MAX-3
08DE
0804
A
1641
08DF
0342
A MSTAR:
WORD
DOCOL,OVER,OVER,XOR,TOR
08ED
02C9
A
o 8E1
02C9
A
08E2
0240
A
08E3
027B
A
1642
08E4
08CO A
WORD
ABS,SWAP,ABS,USTAR
08E5
0205
A
08E6
08CO A
08E7
0213
A
1643
08E8
0283
A
,.
WORD
FROMR,DPMI,SEMIS
08E9
08B7
A
08EA
026A
A
1644
1645
08EB
8240
A
HEAD
ORD,2,LONG,'M'/256
1646
08Ee
AF20
A
WORD
'/'+EVEN,MSTAR-3
08ED
D8DC
A
1647
08EE
0342
A MSLASH:
.WORD
DOCOL,OVER,TOR,TOR
08EF
02C9
A
PACE ASSEMBLER REV-A
OS/23175
FORTH
NUCLEUS
FOR
PACE
DICTIONARY
08FO
027B
A
08F1
027B
A
1648
08F2
08C8
A
WORD
DABS,R,ABS,USLASH
08F3
0289
A
08F4
08CO A
08F5
0227
A
1649
08F6
0283
A
WORD
FROMR,R,XOR,PMI,SWAP
08F7
0289
A
08F8
024D
A
08F9
08AE A
08FA
02D5
A
1650
08FB
0283
A
WORD
FROMR,PMI,SWAP,SEMIS
08FC
08AE A
08FD 02D5 A
08FE
026A
A
1651
1652
08FF
81AA A
HEAD
ORD,1,SHORT,'*'/256
1653
0900
08EB A
.lV
ORD
MSLASH-3
1654
0901
0342
A STAR:
.WORD
DOCOL,USTAR,DROP,SEMIS
0902
0213
A
0903
02DO A
0904
026A
A
1655
1656
0905
842F
A
HEAD
ORD,4,LONG,'/'/256
1657
0906
4D4F A
WORD
'MO','D'+EVEN,STAR-2
0907
C420
A
0908
08FF
A
1658
0909 0342
A
SLMOD:
WORD
DOCOL,TOR,STOD,FROMR,MSLASH,SEMIS
090A
027B
A
090B
08A5
A
090C
0283
A
090D
08EE
A
090E
026A
.A
1659
1660
090F
81AF
A
HEAD
ORD,1,SHORT,'/'/256
1661
0910
0905
A
WORD
SLMOD-4
1662
0911
0342
A SLASH:
WORD
DOCOL,SLMOD,SWAP,DROP,SEMIS
0912
0909
A
0913
02D5
A
0914
02DO A
0915
026A
A
1663
1664
0916
834D
A
HEAD
ORD,3,LONG,'M'/256
1665
0917
4FC4
A
.WORD
'OD'+ODD,SLASH-2
0918
090F
A
1666
0919 0342
A
MOD:
.WORD
DOCOL,SLMOD,DROP,SEMIS
091A
0909
A
o 91B 02DO A
091C
026A
A
1667
1668
091D
852A
A
HEAD
ORD,5,LONG,'*'/256.
1669
091E
2F4D A
WORD
'/M','OD'+ODD,MOD-3
091F
4FC4
A
0920
0916
A
1670
0921
0342
A SSMO]):
WORD
DOCOL,TOR,MSTAR,FROMR,MSLASH,SEMIS
PACE ASSEMBLER REV-A
OS/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
ORD,2,LONG,'*'/256
1673
0928
AF20
A
WORD
'/'+EVEN,SSMOD-4
0929
091D A
1674
092A
0342
A SSLASH:
.WORD
DOCOL,SSMOD,SWAP,DROP,SEMIS
092B
0921
A
092C
02D5 A
092D
02DO A
092E
026A
A
1675
1676
092F
854D
A
HEAD
ORD,5,LONG,'M'/256
1677
0930
2F4D A
WORD
'/M','OD'+ODD,SSLASH-3
0931
4FC4 A
0932
0927
A
1678
0933
0342
A
MSMOD:
WORD
DOCOL,TOR,ZERO,R,USLASH,FROMR
0934
027B
A
0935
0376
A
0936
0289
A
0937
0227
A
0938 0283
A
1679
0939
02D5 A
WORD
SWAP,TOR,USLASH,FROM~SEMIS
093A
027B
A
093B
0227
A
093C
0283
A
093D
026A
A
1680
;
1681
.***************************************************
,
L582
'Ie
DISC
UTILITY,
GENERAL
USE
*
t
l683
.***************************************************
,
1684
1685
093E
8355
A
HEAD
ORD,3,LONG,'U'/256
1686
093F
53C5
A
WORD
'SE'+ODD,MSt10D-4
0940
092F
A
1687
0941
0367
A USE:
WORD
DOVAR,BUFFS
0942
IDFO A
1688
1689
0943
8450
A
HEAD
ORD,4,LONG,'P'/256
1690
0944
5245
A
.WORD
'RE','V'+EVEN,USE-3
0945
D620
A
0946
093E
A
1691
0947
0367
A
PREY::
WORD
DOVAR,BUFFS
0948
IDFO A
1692
1693
0949
842B
A
HEAD
ORD,4,LONG,'+'/256
1694