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 .
Page Count: 74
Download | |
Open PDF In Browser | View PDF |
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. LISTING 79/05/05.TITLE: FORTH NUCLEUS FOR PACE .TITLE FORTH,'NUCLEUS FOR PACE' 1 2 3 4 , 5 PART .ASM TI 1 6 .L 1ST 7 8 9 ;* ;* 10 11 ,.* , ,·· ** ,· * ,· * 12 13 14 15 16 17 18 19 20 21 22 23 24 25 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 ,.*************************************************** 0000 0010 .ASECT .= 0010 ·,;*************************************************** ;* BOC AND FLAG ABBREVIATIONS * ,.*************************************************** 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 0001 0002 0003 0005 0007 0008 OOOA OOOB Z P BITO NZ CRY LINK CSET M = = = = 1 2 3 5 7 8 10 11 ; ;*************************************************** MEMORY ASSIGNMENTS * ;*************************************************** ,· * 3FCO 2000 0080 0008 2000 0210 1DFO 1DDO 0100 47 48 49 50 51 52 53 54 0010 9811 A HIBLK LOBLK BLKSIZ NBUF TO PM EM BUFMEM BUFFS UVARS DICT = = , HIGHEST BLOCK FWA LOWEST BLOCK FWA BLOCK SIZE IN BYTES NO OF BLOCK BUFFERS 8 LWA+1 OF DISK BUFFS 02000 LTH OF BUFFER AREA BLKSIZ/2+2*NBUF FWA OF DISK BUFFERS TOPMEM-BUFMEM START OF USER AREA BUFFS-32 FWA OF DICTIONARY 0100 03FCO 02000 128 ; ,.****:k********************************************** . ;* START-UP LITERALS * ;*************************************************** ORiG: JMP @.+1 ; COLD PACE ASSEMBLER REV-A OS/23/75 FORTH NUCLEUS FOR PACE 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 0011 0012 0013 0014 0015 0016 0017 0018 0019 001A OOlB 001C 001D OOIE 001F 0020 088C 9813 0892 0000 0000 OC65 005F IDDO lD8F 1DDO ID8F 001F 0000 OC65 OC6B 0843 A A A A A A A A A A A A A A A A CPU: REV: FORTHO: BACKSP: UO: SO: RO: TIBO: WIDTHO: WARNO: FENCEO: DPO: VOCLO: • WORD JMP .WORD .WORD • WORD .WORD .WORD .WORD .WORD • WORD • WORD .WORD .WORD .WORD • WORD • WORD CENT @.+1 WENT 0 0 TASK-4 005.F UVARS UVARS-65 UVARS UVARS-65 31 0 TASK-4 FIN FORTH+4 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 OS/23/75 FORTH NUCLEUS FOR PACE .PAGE 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 ;*************************************************** ;* FORTH REGISTERS * ;*************************************************** ., 0021 0000 A 0022 0000 A 0002 0003 0001 0002 0003 RP: UP: X Y IP W SP .WORD .WORD 0 0 2 3 1 X Y ,RETURN STACK PTR USER POINTER INDEX REGISTERS INTERPRETIVE PTR FORTH CODE PTR FORTH STACK PTR ; ;*************************************************** ; INSTALLATION-DEPENDENT ROUTlliES ;*****~:********************************************* ; GETC PUTC INTEST 7E3B 7E44 7ECC 0023 0024 0025 0026 0027 0028 0029 002A 5000 0800 6700 5109 6400 79FF 1827 3100 A A A A A A A A INIT: 07E3B 07E44 07ECC LI CRF PULL LI PULL AISZ· JMP PFLG 0,0 0 Y 1, 9 0 1 ,-1 .-2 1 101 002B 6300 A 102 002e 1BOO A 103 0000 104 00F6 002D 105 106 107 108 109 110 1 11 0000 112 113 0001 0001 114 115 0000 116 8000 11 7 0080 118 PUSH JMP Y (Y) .BSECT .=.+00F6 .ASECT ; POINTER AREA ,.*************************************************** AIDS FOR NAME FIELD CONSTRUCTION ,. * * ,.*************************************************** .FORM HEAD,1(1),1,1(0),5,1,7 ORDIN. WD PREC BIT IMMED. WD PREC BIT FOR I-CHAR NAMES FOR LONGER NAMES EVEN-LTH STOP BIT ODD-LTH STOP BIT 0 1 1 0 08000 00080 ORD IMM SHORT LONG EVEN ODD PACE ASSEMBLER REV-A OS/23/75 FORTH NUCLEUS FOR PACE DICTIONARY .PAGE 119 120 002D 1 21 0100 122 123 124 125 126 127 0100 834C 128 0101 49D4 0102 0000 129 0103 0104 130 0104 5E40 131 0105 C200 132 0106 7901 133 0107 7BFF 134 0108 D300 135 0109 5E40 136 aIDA 7901 137 010B CAOO 138 010C 9AOO 139 140 141 142 143 144 010D 8745 145 010E 5845 010F 4355 0110 54C5 0111 0100 'DICTIONARY' .ASEeT .= DICT HEAD • WORD ORD,3,LONG,'L'/256 'IT'+ODD,OOOO .WORD RCPY LD AISZ AISZ ST RCPY AISZ LD JMP .+1 IP,X 0, (X) IP,l SP,-l 0, (SP) IP,X IP,l W, (X) @(W) , ,.*************************************************** ;* LIT, PUSH, PUT, NEXT * ,.*************************************************** A A A A A A A A A A A A A LIT: PUSH: PUT: NEXT: PICK UP VALUE STEP IP OVER EXTEND STACK STORE VALUE INCREMENT IP ADDR OF NEXT WORD JUMP THRU CODE ADDR ,.*************************************************** ;* EXEGUTE * ;*************************************************** A A A A A HEAD .WORD ORD,7,LONG,'E'/256 'XE','CU','TE'+ODD,LIT-3 146 147 148 149 150 1 51 152 153 154 155 156 0112 0113 0114 0115 0113 CBOO 7B01 9AOO A A A A EXEC: .WORD LD AISZ JMP • +1 W,O(SP) SP , 1 @(W) FETCH CODE ADDR POP STACK JUMP THRU CODE ADDR ;*************************************************** ;* BRANCH, OBRANCH * ,.*************************************************** 0116 0117 0118 0119 o 11A 011B 011e 011D 011E 8642 5241 4E43 C820 01 OD 011C 5E40 E600 19EA 157 158 159 160 161 162 011F 8730 163 0120 4252 0121 414E 0122 43C8 A A A A A A A A A BRAN: A A A A HEAD • WORD ORD,6,LONG,'B'/256 'RA','NC','H'+EVEN,EXEC-5 .WORD RCPY ADD JMP .+1 IP,X IP, (X) NEXT HEAD • WORD ORD,7,LONG,'0'/256 'BR','AN','CH'+ODD,BRAN-5 ADD OFFSET TO IP PACE ASSEMBLER REV-A OS/23/75 FORTH NUCLEUS FOR PACE DICTIONARY 164 165 166 167 168 169 170 17I 172 173 174 175 176 177 178 179 180 181 182 183 184 185 186 187 188 0123 0124 0125 0126 0127 0128 0129 0116 0125 C300 7B01 41F4 7901 19DF A A A A A A 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 ;*************************************************** 012A 012B 012e 012D 012E 012F 0130 0131 0132 0133 0134 0135 0136 0137 0138 0139 013A 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 HEAD • WORD XLOOP: .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 191 013C 2B4C o 13D 4F4F 013E 50A9 013F 012A 192 0140 0141 193 0141 6100 194 0142 C700 195 0143 7B01 196 0144 C821 197 0145 C200 198 0146 6840 199 0147 D200 200 0148 3780 201 0149 9201 202 014A 4104 203 014B 5840 204 014C 6500 205 o 14D 4BCE 206 014E 19E8 207 014F 6500 208 0150 19E6 209 210 211 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 ORD,7,LONG,'('/256 '+L','OO','P)'+ODD,XLOOP-5 .WORD PUSH LD AISZ LD LD RADD ST SFLG SUBB BOC RXOR PULL BOC JMP PULL JMP .+1 IP 1,O(SP) SP,l X,RP 0, (X) 1,0 0, (X) CRY O,l(X) Z,PULL 1,0 IP M,BRAN+1 XLOOP 1 IP XLOOP1 SAVE IP GET INCREMENT POP STACK GET RETURN POINTER GET INDEX ADD INCREMENT UPDATE INDEX SUBTRACT LOOP LIMIT IF INDEX = LIMIT COJ.l1B I NE SIGN BITS RESTORE IP IND= BASE PUT DIGIT SECOND AND TRUE FLAG ON BOTTOM LEAVE FALSE FLAG ON BOTTOM 0, 1 PUT 0,0 BIN 9 , ;***:k*********************************************** ;* * (FIND) ;*************************************************** A A A HEAD • WORD ORD,6,LONG,'('/256 'FI','ND',')'+EVEN,DIGIT-4 PACE ASSEMBLER REV-A OS/23/75 FORTH NUCLEUS FOR PACE DICTIONARY 262 263 264 265 266 267 268 269 270 271 272 273 274 275 276 017B 017C 017D 017E 017F 0180 0181 0182 0183 0184 0185 0186 0187 0188 0189 018A 018B A920 0162 017E 6100 7BFF CB01 A302 C600 5840 A923 B923 1915 450C C702 D700 7A01 8FOO A A A A A A A A A A A A A A A A A • WORD PUSH AISZ LD NEWNAM: LD LD RXOR AND SKAZ JMP BOC LD ST AISZ CYCLE: ISZ PFINlD: .+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 BUr-iP 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 o 19D 019E 019F OlAO 01AI 01A2 01A3 0lA4 0lA5 01A6 0lA7 A300 C600 5840 4201 A919 B9l7 1909 4lF6 7A03 DB02 A30l 2ClO D301 5001 6500 98F7 B90E 1903 7A01 C200 19FB CAOI DBOI 7AOO 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 LD LD RXOR BOC AND SKAZ JMP BOC FOUND: AISZ ST LD SHR ST LI PULL JMP MISS :: SKAZ JMP AISZ LD JMP ENDNAM: LD ST AISZ JMP ST PULL JMP O,@O(SP) 1,(X) 1 ,0 P, • +2 O,XFFOO 0,X7F7F MISS Z,CYCLE X,3 X,2(SP) O,@l(SP) 0,8,0 O,l(SP) 0,1 IP PUT 0,X8080 ENDNAM X, 1 0, (X) MISS X,I(X) X,I(SP) X,O NEWNAM X,2(SP) IP POP2 01A8 01A9 OlAA OlAB 3FFF 7F7F FFOO 8080 A A A A X3FFF: X7F7F': XFFOO: X8080: 03FFF 07F7F OFFOO 08080 • WORD • WORD • WORD • WORD 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 = 0 IF NOT DONE PUT -BOOLEAN FALSE RESTORE IP ; ,.***~:*********************************************** ,. * ENCLOSE * ,.***~:*********************************************** PACE ASSEMBLER REV-A OS/23/75 FORTH NUCLEUS FOR PACE DICTIONARY 315 316 317 318 OIAC 8745 319 OlAD 4E43 OlAE 4C4F OlAF 53C5 OlBO 0178 320 OlBI 0lB2 321 01B2 6100 322 01B3 7BFE 323 01B4 C302 324 01B5 A932 325 01B6 5DOO SCAN SOURCE STRING, PACKED TWO CHARACTERS/WORD, FOR DELIMITER ON Tdp OF STACK, OR ASCII NULL. A A A A A A A A A A A HEAD .WORD ENCL: • WORD PUSH AISZ LD AND RCPY ORD,7,LONG,~E'/256 'NC','LO','SE'+ODD,PFIND-5 .+1 IP SP,-2 0,2(SP) O,RMASK 0, 1 SAVE IP EXTEND STACK GET DELIMITER USE LOWER BYTE ONLY 326 327 328 329 330 331 332 333 334 335 336 337 338 339 340 341 342 343 344 345 346 347 348 349 350 351 352 353 354 355 356 357 358 359 360 361 362 363 364 365 366 01B7 01B8 0lB9 OIBA OIBB OlBC OlBD OIBE OlBF Oleo OICI 0lC2 01C3 0lC4 0lC5 01C6 0lC7 01C8 0lC9 OICA OICB OlCC OICD OlCE OlCF DIDO OIDl 01D2 0lD3 0lD4 0lD5 0lD6 0lD7 0lD8 0lD9 OIDA OIDB OIDC OIDn OIDE OIDF 2910 6900 C303 3800 2403 D300 5200 A300 5840 4803 B925 1908 7AOl B923 1904 7AOl 3800 8FOO 19F4 3880 DB02 4810 A300 DBOI B917 1905 DBOO FB02 8FOI 6500 98F8 7AOI 5840 B90E 1903 DBOO 6500 98F8 5840 DBOI A908 A A A A A A A A A A A A A A A A A A A A A A A A A A A A A A I A A A A A A I A A A NEWI: RTI: RNDEL: LNDEL: NEW2 :: NUL: NONUL: DELI~[: RT2: SHL RADD LD PFLG ROR ST LI LD RXOR BOC SKAZ JMP AISZ SKAZ JMP AISZ PFLG ISZ JMP SFLG ST BOC LD ST SKAZ JMP ST SKNE ISZ PULL JMP AISZ RXOR SKAZ JMP ST PULL JMP RXOR ST AND 1 ,8 ,0 0,1 0,3(SP) LINK 0, 1 , 1 O,O(SP) X,O O,@O(SP) 1,0 LINK,RTI O,LMASK LNDEL X, 1 O,RMASK RNDEL X, 1 LINK O(SP) NEWI LINK X,2(SP) LINK,RT2 O,@O(SP) X,I(SP) O,LMASK NONUL X,O(SP) X,2(SP) I(SP) IP NEXT X, 1 1,0 O,LMASK RT2 X,O(SP) IP NEXT 1 ,0 X,l(SP) O,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 O:FFSET IS NC = FC? YES, BUMP EW RESTORE IP BUMP COUNT TEST FOR DELIM NC OFFSET RESTORE IP MAYBE EW PACE ASSEMBLER REV-A OS/23/75 FORTH NUCLEUS FOR PACE DICTIONARY 367 368 369 370 371 372 373 374 375 376 OlEO OIEl 0lE2 0lE3 0lE4 0lE5 0lE6 0lE7 0lE8 4lFO 7AOI 5840 A904 41F5 8FOO 19E6 FFOO DOFF A A A A A A A A A LMASK: RMASK: BOC AISZ RXOR AND BOC ISZ JMP .WORD • WORD Z,NUL X, 1 1,0 O,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 01E9 8445 384 OlEA 4D49 OlEB D420 OlEC 01AC 385 OlED OA49 386 387 OlEE 834B 388 OlEF 45D9 01FO 01E9 389 01F1 OA4D 390 391 01F2 893F 392 01F3 5445 01F4 524D 01F5 494E 01F6 41CC 01F7 01EE 393 01F8 OA4F 394 395 01F9 8243 396 OlFA D220 01FB 01F2 397 01FC OA53 398 399 400 401 402 403 404 405 01FD 844D 406 OlFE 4F56 01FF C520 0200 0lF9 407 0201 0202 408 0202 C300 409 0203 410A 410 0204 6100 411 0205 5DOO ;*************************************************** ;* TERMINAL VECTORS * ;***********************~*************************** THESE WORDS VECTOR TO INSTALLATION-SPECIFIC CODE A A A A A A A A A A A A A A A A A A A A EMIT: KEY: QTERM: CR: ., HEAD .WORD ORD,4,LONG,'E'/256 'MI','T'+EVEN,ENCL-5 .WORD PEMIT HEAD • WORD ORD,3,LONG,'K'/256 'EY'+ODD,EMIT-4 • WORD PKEY HEAD • WORD ORD,9,LONG,'?'/256· 'TE','RM','IN','AL'+ODD,KEY-3 .WORD PQTERM HEAD .WORD ORD,2,LONG~'Cr/256 • WORD PCR 'R'+EVEN,QTERM-6 ;*************************************************** ;* * MOVE ;*************************************************** NOTE THAT THIS WORD MOVES DATA IN l6-BIT UNITS. A A A A A A A A A MOVE: HEAD .WORD ORD,4,LONG,'M'/256 'OV','E'+EVEN,CR-3 • WORD LD BOC PUSH RCPY .+1 O,O(SP) Z,MOVE2 IP 0, 1 GET COUNT IF ZERO SAVE IP PACE ASSEMBLER REV-A OS/23/75 FORTH NUCLEUS FOR PACE DICTIONARY 412 413 414 415 416 417 418 0206 0207 0208 0209 020A 020B 020C CB02 C200 B301 7A01 8FOl 79FF 19FA A A A A A A A MOVE1: LD LD ST AISZ ISZ AISZ JMP 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 420 421 422 423 424 425 426 427 428 0200 6500 A 020E 7B03 A 020F 98F8 I MOVE2: PULL AISZ JMP RESTORE IP POP ARGUMENTS IP SP,3 NEXT ,.*************************************************** ;* U*, FOR 16 BITS * ,.*************************************************** 0210 0211 0212 0213 0214 0215 0216 0217 0218 0219 021A 021B 021C 0210 021E 021F 0220 0221 0222 0223 8255 AA20 01FD 0214 6100 C300 5100 5210 7000 6940 7400 4A02 E701 9105 7AFF 19F9 0701 6500 98F7 FFFF 429 430 431 432 433 434 435 436 437 438 439 440 441 442 443 444 445 446 447 448 449 450 451 0224 8255 452 0225 AF20 0226 0210 453 0227 0228 454 0228 6100 455 0229 C701 456 022A C302 457 022B CBOO 458 022C 7201 459 0220 DB 01 460 022E 5210 461 022F 2803 462 0230 2103 463 0231 2003 464 0232 E701 A A A A A A A A A A A A A A A A A A I A USTAlR: HEAD • WORD ORD,2,LONG,'U'/256 '*'+EVEN,MOVE-4 .WORD PUSH LD LI LI .+1 IP O,O(SP) 1,0 X,16 0,0 CAl LP: RADD RADC BOC ADD SUBB TEST: AISZ JMP ST PULL JMP MINUS1: .WORD ., 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 1, 1 0,0 CSET, TEST 1,1(SP) 0, MINUS1 X,-l LP 1,1(SP) IP PUT -1 ,.*************************************************** ;* U/, FOR 32 BITS * ;*************************************************** A A A A A A A A A A A A A A A USLASH: POOL: HEAD • WORD ORD,2,LONG,'U'/256 '/'+EVEN,USTAR-3 • WORD PUSH LD LD LD .+1 IP 1,1(SP) 0,2(SP) X,O(SP) CAl X, 1 ST LI SHL ROL ROL ADD X,l(SP) X,16 0, 1 , 1 1, 1, 1 0, 1 , 1 1,1(SP) SAVE IP HI-ORDER DIVIDEND LO-ORDER DIVIDEND ;" GET DIVISOR 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 469 470 471 4 72 473 474 475 476 477 478 479 480 0236 0237 0238 0239 02 3A 023B 7AFF 19F8 D702 6500 1 967 FFFF A A A A A A MIN 1: ., AISZ JMP ST PULL JMP .WORD DECREMENT LOOP CNT REPEAT UNTIL LIMIT REMAINDER SECOND RESTORE IP QUOTIENT ON BOTTOM X,-l POOL 1,2(SP) IP BIN -1 ,.***~:*********************************************** ;* LOGICALS * ;*********************************************~***** 023C 02 3D 023E 023F 0240 02 /j·1 02/j·2 8341 4 E C4 0224 0240 C301 AB 00 195F 481 482 483 484 485 486 0243 824F 487 0244 D220 0245 023C 488 0246 0247 489 0247 C301 490 0248 A700 491 0249 1958 492 493 024A 8358 494 024B 4FD2 024C 0243 495 024D 024E 496 024E C301 497 024F CBOO 498 0250 5880 499 0251 1950 500 501 502 503 504 505 0252 8353 506 0253 50CO 0254 024A 507 0255 0256 508 0256 5CCO 509 0257 98F9 510 511 0258 8353 512 0259 50A1 025A 0252 513 025B 025C 514 025C C822 A A A A A AND: A A A A A A A A A A A A A A A A A A A A A A I A A A A A OR: XOR: HEAD • WORD ORD,3,LONG,'A'/256 'ND'+ODD,USLASH-3 • WORD LD AND JMP .+1 O,l(SP) O,O(SP) BIN HEAD • WORD ORD,2,LONG,'O'/256 'R'+EVEN,AND-3 • WORD LD OR JMP .+1 0,1(SP) O,O(SP) BIN HEAD • WORD ORD,3,LONG,'X'/256 'OR'+ODD,OR-3 • WORD LD LD RXOR JMP .+1 0,1(SP) X,O(SP) X,O BIN HEAD • WORD ORD,3,LONG,'S'/256 'P@'+ODD,XOR-3 .WORD RCPY JMP .+1 SP,O PUSH HEAD .WORD ORD,3,LONG,'S'/256 'P!'+ODD,SPAT-3 • WORD LD .+1 X,UP GET SECOND AND WITH BOTTOM REMOVE ARGS GET SECOND OR WITH BOTTOM REMOVE ARGS GET SECOND GET: BOTTOM FORM EXCLUSIVE OR REMOVE ARGS I , ,.*************************************************** ;* STACK INITiALIZATION * ,.*************************************************** SPAT: SPSTOR: PACE ASSEMBLER REV-A OS/23/75 FORTH NUCLEUS FOR PACE DICTIONARY STACK POINTER PUSH ON STACK GET USER POINTER 515 516 517 518 519 FETCH SPO 025D CE03 A 025E 98F8 I LD JMP SP,3(X) NEXT 025F 0260 0261 0262 0263 0264 026.5 0266 A HEAD A A A • WORD ORD,3,LONG,'R'/256. 'P!'+ODD,SPSTOR-3 .WORD LD LD ST JMP .+1 X,UP 0,4(X) O,RP NEXT HEAD • WORD ORD,2,LONG,';'/256 'S'+EVEN,RPSTOR-3 • WORD LD RCPY ISZ JMP .+1 O,@RP O,IP RP NEXT 8352 50A1 0258 0263 C822 C204 D021 98F8 520 521 522 523 524 525 526 0267 823B 527 0268 D320 0269 025F 528 026A 026B 529 026B A021 530 026C 5DOO 531 026D 8C21 532 026E 98F8 533 534 535 536 537 538 026F 854C 539 0270 4541 0271 56C5 0272 0267 540 0273 0274 541 0274 C821 542 0275 C200 543 0276 D201 544 0277 98F8 545 546 0278 823E 547 0279 D220 027A 026F 548 027B 027C 549 027C AC21 550 027D C300 551 027E B021 552 027F 98FA 553 554 0280 8252 555 0281 BE20 0282 0278 556 0283 0284 557 0284 A021 558 028.5 8C21 559 0286 98F9 560 561 0287 81D2 562 0288 0280 563 0289 028A RPSTOR: A A A I A A A A A A A I SEMIS: GET USER POINTER FETCH RO SET RETURN POINTER RESTORE OLD IP POP RETURN STACK ; ,.***************************************'************ RETURN STACK WORDS ,. * * ,.*************************************************** HEAD • WORD ORD,5,LONG,'L'/256 'EA','VE'+ODD,SEMIS-3 .WORD LD LD ST JMP .+1 X,RP O,O(X) O,I(X) NEXT HEAD • WORD ORD,2,LONG,'>'/256 'R'+EVEN,LEAVE-4 • WORD DSZ LD ST JMP .+1 RP 0, (SP) O,@RP POP HEAD .WORD ORD,2,LONG,'R'/256 '>'+EVEN,TOR-3 I • WORD LD ISZ JMP .+1 O,@RP RP PUSH A A A HEAD • WORD • WORD ORD,1,SHOR~,'R'/256 A A A A A A A A I A A A A A A A I A A A A A A LEAVE: TOR: FRONR: R: FROMR-3 .+1 GET RETURN POINTER GET LOOP INDEX MAKE LIMIT EQUAL EXTEND RETURN STACK GET DATA ITEM PUT ON RETURN STACK POP FROM DATA STACK GET FROM RETURN STK POP RETURN STACK PUSH ON DATA STACK PACE ASSEMBLER REV-A OS/23/75 FORTH NUCLEUS FOR PACE DICTIONARY 564 565 566 567 568 569 570 571 572 LD JMP 028A A021 A 028B 98F9 I O,@RP PUSH GET NONDESTRUCTIVE PUSH ON DATA STACK ; ,.*************************************************** TESTS AND LOGICALS ,. * * ,.***~,*********************************************** 028C 028D 028E 028F 0290 0291 0292 0293 8230 BD20 0287 0290 5000 F300 5001 98F7 A A A A A A A I 573 574 575 576 577 578 579 0294 8230 A 580 0295 BC20 A 0296 028C A 581 0297 0298 A 582 0298 5000 A 583 0299 9FOO A 584 029A 98F7 I 585 029B 5001 A 586 029C 98F7 I 587 588 589 590 591 592 029D 81AB A 593 029E 0294 A 594 029F 02AO A 595 02AO C300 A 596 02A1 E301 A 597 02A2 7B01 A 598 02A3 98F7 I 599 600 02A4 8244 A 601 02A5 AB20 A 02A6 029D A 602 02A7 02A8 A 603 02A8 C303 A 604 02A9 E301 A 605 02AA D303 A 606 02AB C302 A 607 02AC CBOO A 608 02AD 7480 A 609 02AE D302 A 610 02AF 98FB I 611 612 02BO 854D A 613 02B1 494E A 02B2 55D3 A 02B3 02A4 A ZEQU: ZLESS: HEAD • WORD ORD,2,LONG,'0'/l56 '='+EVEN,R-2 .WORD LI SKNE LI JMP .+1 0,0 O,O(SP) 0,1 PUT HEAD • WORD ORD,2,LONG,'0'/256 '<'+EVEN,ZEQU-3 • WORD LI SKG JMP LI JMP .+1 0,0 O,O(SP) PUT 0, 1 PUT RETURN ZERO IF DATA NONZERO OTHERWISE RETURN 1 RETURN ZERO IF DATA <= ZERO OTHERWISE RETURN 1 ,.*************************************************** ,. * MATH, BINARY * ,.*************************************************** PLUS: BIN: DPLUS: HEAD • WORD • WORD LD ADD AISZ JMP ORD,1,SHORT,'+'/256 ZLESS-3 .+1 ADD BOTTOM TWO O,O(SP) O,l(SP) STACK VALUES REMOVE ONE ARG SP,l REPL OTHER W/RESULT PUT HEAD .WORD ORD,2,LONG,'D'/256 '+'+EVEN,PLUS-2 .WORD LD ADD ST LD LD RADC ST JMP .+1 0,3(SP) O,l(SP) 0,3(SP) 0,2(SP) X,O(SP) X,O 0,2(SP) POP2 HEAD • WORD ORD,5,LONG,'M'/256 'IN','US'+ODD,DPLUS-3 AUGEND LOW-ORDER ADDEND LOW-ORDER SUM LOW-ORDER AUGEND HI-ORDER ADDEND HI-ORDER ADD WITH CARRY SUM HI-ORDER PACE ASSEMBLER REV-A OS/23/75 FORTH NUCLEUS FOR PACE DICTIONARY 614 615 616 617 618 619 620 02B4 02B5 02B6 02B7 02B5 C300 7001 98F7 A A A I 02B8 02B9 02BA 02BB 02BC 02BD 02BE 02BF 02CO 02C1 02C2 02C3 02C4 8644 4D49 4E55 D320 02BO 02BE 3780 5000 9301 D301 5000 9300 98F7 A A A A A A A A A A A A I 621 622 623 624 625 626 627 628 629 630 631 632 633 634 02C5 844F A 635 02C6 5645 A o 2C 7 D220 A 02C8 02B8 A 636 02C9 02CA A 637 02CA C301 A 638 02CB 98F9 I 639 640 02CC 8444 A 641 02CD 524F A 02CE D020 A o 2CF 02C5 A 642 02DO o 15D A 643 644 0 2D 1 8453 A 645 02D2 5741 A 02D3 D020 A 02D4 02CC A 646 02D5 02D6 A 647 0 2D 6 C3 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 655 02DE C300 A 656 02DF 98F9 I 657 MINUS: • WORD LD CAl JMP DMINUS: .+1 0, (SP) 0, 1 PUT GET STACK VALUE AND FORM 2'S COMP HEAD • WORD ORD,6,LONG,~D'/256 • WORD SFLG LI SUBB ST LI SUBB JMP .+1 CRY 0,0 O,l(SP) 0,1(SP) 0,0 O,O(SP) PUT HEAD .WORD ORD,4,LONG,'O'/256 'VE','R'+EVEN,DMINUS-5 • WORD LD JMP .+1 0,1(SP) PUSH HEAD .WORD ORD,4,LONG,'D'/256 'RO','P'+EVEN,OVER-4 • WORD POP HEAD • WORD ORD,4,LONG,'S'/256 'WA','P'+EVEN,DROP-4 • WORD LD LD ST JMP .+1 0,1(SP) X,O(SP) X,l(SP) PUT HEAD • WORD ORD,3,LONG,'D'/256 'UP'+ODD,SWAP-4 • WORD LD JMP .+1 O,O(SP) PUSH 'MI','NU','S'+EVEN,MINUS-4 CLEAR BORROW SUBTRACT LO-ORDER FROM 0 SUBTRACT HI-ORDER FROM 0 WITH BORROW , ,.*************************************************** ;* STACK MANIPULATION * ;*************************************************** OVER: DROP: SWAP: DUP: GET SECOND VALUE PUSH ON STACK ; VECTOR DIRECTLY EXCHANGE TOP TWO STACK VALUES GET BOTTOM VALUE PUSH A COPY OF IT ;*************************************************** 658 PACE ASSEMBLER REV-A OS/23/75 FORTH NUCLEUS FOR PACE DICTIONARY 659 660 661 662 02EO 822B 663 02E1 A120 02E2 02DA 664 02E3 02E4 665 02E4 A300 666 02E5 E301 667 02E6 B300 668 02E7 98FB 669 670 671 672 02E8 8654 673 02E9 4F47 02EA 474C 02EB C520 o 2EC 02EO 674 02ED 02EE 675 02EE CB01 676 02EF 3800 677 02FO 2603 678 02F1 DBO 1 679 02F2 C200 680 02F3 CBOO 681 02F4 4801 682 02F5 2A10 683 02F6 5880 684 02F7 B301 685 02F8 98FB 686 687 688 689 690 02F9 8442 691 02FA 5954 02FB C520 02FC 02ES 692 02FD' 02FE 693 02FE C300 694 02FF 6800 695 0300 98F7 696 697 698 699 700 0301 8443 701 0302 454C 0303 CC20 0304 02F9 ;* MEMORY INCREMENT, COMPLEMENT, ADDRESS CONVERT * ;*************************************************** A A A A A A A I PSTORE: HEAD • WORD ORD,2,LONG,'+'/256 '!'+EVEN,DUP-3 .WORD LD ADD ST JMP .+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 A A A A A A A A A A A A A A A A I TOGGLE: HEAD • WORD ORD,6,LONG,'T'/256 'OG','GL','E'+EVEN,PSTORE-3 • WO RD LD PFLG ROR ST LD LD BOC SHL RXOR ST JMP .+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. A A A A A A A I BYTE: HEAD~ ORD~4,LONG,'B'/256 • WO RD: 'YT','E'+EVEN.rOGGLE-5 • WO RD: LD' RADD JMP .+1 O,O(SP) 0,0 PUT GET WORD: ADDRESS MULTIPLY BY 2 THE FOLLOWING WORD CONVERTS A 16-BIT BYTE PSEUDO-ADDRESS TO A I5-BIT WORD ADDRESS. A A A A HEAD .WORD ORD,4,LONG,'C'/256 'EL','L'+EVEN,BYTE-4 702 703 704 705 0305 0306 0307 0308 0306 C300 2C02 98F7 A A A I CELL: • WORD LD SHR JMP .+1 O,O(SP) 0, 1 ,0 PUT GET B'YTE ADDRES S DIVIDE BY 2 PACE ASSEMBLER REV-A OS/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 , ,.****,t********************************************** ;* MEMORY FETCH AND STORE * ,.****~~********************************************** 0309 030A 030B 030C 030D 81CO 0301 030C A300 98F7 A A A A I HEAD • WORD • WORD LD JMP AT: ORD,1,SHORT,"@'/256 CELL-4 .+1 GET VALUE O,@O(SP) PUT THE FOLLOWING WORD EXPECTS A BYTE PSEUDO-ADDRESS 030E 030F 0310 0311 0312 0313 0314 0315 0316 0317 0318 0319 031A 8243 C020 0309 0312 CBOO 3800 2603 C200 4801 2C10 A901 98F7 OOFF 031B 031C 031D 031E 031F 0320 81A1 030E 031E C301 B300 98FB A A A A A A A A A A A I A A A A CAT: XFF: STORE: A A I HEAD • WORD ORD,2,LONG,'C'/256 '@'+EVEN,AT-2 • WORD LD PFLG ROR LD BOC SHR AND JMP • WORD .+1 X,O(SP) LINK X, 1 , 1 0, (X) LINK, .+2 0,8,0 O,XFF PUT OOFF HEAD • WORD .WORD LD ST JMP ORD,1,SHORT,'!'/256 CAT-3 .+1 GET VALUE O,l(SP) STORE AT ADDRESS O,@O(SP) REMOVE BOTH POP2 GET BYTE ADDRESS CONVERT TO WORD ADDRESS GET DATA WORD LINK = 0 MEANS LEFT BYTE CLEAR UNWANTED BYTE THE FOLLOWING WORD EXPECTS A BYTE PSEUDO-ADRESSS 0321 0322 0323 0324 0325 0326 0327 0328 0329 032A 032B 032C 8243 A120 031B 0325 6100 CBOO 3800 2603 C10B C701 5500 7000 A A A A A A A A A A A A CSTORE: HEAD • WORD ORD,2,LONG,'C'/256 '!'+EVEN,STORE-2 • WORD PUSH LD PFLG ROR LD LD RAND CAl .+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 753 754 755 756 757 758 032D 032E 032F 0330 0331 0332 0333 4802 7000 2910 AAOO 6840 D200 6500 BOC CAl SHL AND RADD ST PULL A A A A A A A LINK, .+3 0,0 1,8,0 0, (X) 1 ,0 0, (X) IP AND CLEAR AP,PROPR lATE HALF OF WORD TO STORE INTO ADD IN BYTE STORE ALTERED WORD RESTORE IP POP2 OOFF REMOVE ARGUMENTS PACE ASSEMBLER REV-A OS/23/75 FORTH NUCLEUS FOR PACE DICTIONARY 759 760 761 762 763 764 765 766 767 768 0334 98FB I 0335 OOFF A 0336 0337 0338 0339 033A 033B 033C 033D 769 033E 033F 0340 0341 770 771 0342 772 0343 773 0344 774 0345 775 0346 776 0347 777 778 0348 779 0349 780 034A 034B o 34C 034D 781 034E 034F 0350 XOOFF :: JMP .WORD ; ;****~,********************************************** . , ., ,. * * ;****~e********************************************** C1BA 0321 0342 04EF 04CC 0401 030B 03FA 031D 0779 0533 055E A A A A A A A A A A A A AC21 5C40 B021 5101 6980 98F8 A A A A A I CIBB 0336 0342 0505 0521 026A 053E 052C 026A A A A A A A A A A COLON: HEAD • WORD • WORD tMM,1,SHORT,':'/256 CSTORE-3 DOCOL,QEXEC,SCSP,CURR,AT,CONT • WORD STORE,CREATE,RBR~C,PSCODE DSZ RCPY ST L1 RADD JMP RP IP,O O,@RP IP,l W,IP NEXT HEAD • WORD • WORD IMM,1,SHORT,';'/256 COLON-2 DOCOL,QCSP,COMPIL,SEMIS .WORD SMUDGE,LBRAC,SEMIS ; DOCOL: SEMI: EXTEND RETURN STK SAVE IP ON RETURN STACK POINT IP TO WORD AFTER DOCOL 782 783 784 785 786 787 0351 8843 788 0352 4F4E 0353 5354 0354 414E 0355 D420 0356 0348 789 0357 0342 0358 0779 0359 053E 035A 0448 035B 055E 790 791 035C C201 792 035D 98F9 ; ,.*************************************************** ,. * CONSTANT, VARIABLE, USER * ,.*************************************************** A A A A A A A A A A A A I HEAD .WORD ORD,8,LONG,'C'/256 'ON','ST',.'AN','T'+EVEN,SEMI-2 CON: .WORD DOCOL,CREATE,SMUDGE,COMMA,PSCODE DOCON: LD JMP O,l(W) PUSH GET PARA~1ETER PUSH ON STACK PACE ASSEMBLER REV-A OS/23/75 FORTH NUCLEUS FOR PACE DICTIONARY 793 794 035E 8856 795 035F 4152 0360 4941 0361 424C 0362 C520 0363 0351 796 0364 0342 0365 0357 0366 055E 797 798 0367 5001 799 0368 6880 800 0369 98F9 801 802 036A 8455 803 036B 5345 036C D220 036D 035E 804 036E 0342 036F 0357 0370 055E 805 806 0371 C201 807 0372 E022 808 0373 98F9 A HEAD .WORD ORD,8,LONG,'V'/256 'AR','IA','BL','E'+EVEN,CON-6 VAR: • WORD DOCOL,CON,PSCODE DOVAR: LI RADD JMP 0, 1 W,O PUSH HEAD • WORD ORD,4,LONG,'U'/256 'SE','R'+EVEN,VAR-6 • WORD DOCOL,CON,PSCODE A A A A A A A A A A I A A A A A A A A A I USER: DOUSER: LD ADD JMP 0,1(W) O,UP PUSH FORM ADDRESS OF PARAMETER PUSH ON STACK GET OFFSET ADD USER POINTER PUSH ON STACK 809 810 811 812 813 814 0374 81BO A 815 0375 036A A 816 0376 035C A 0377 0000 A 817 818 0378 81B1 A 819 0379 0374 A 820 037A 035C A 037B 0001 A 821 822 037C 81B2 A 823 037D 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 ,. * * ,.***~,*********************************************** \ ZERO :: HEAD • WORD .WORD ORD,1,SHORT,'0'/256 USER-4 DOCON,O ONE: HEAD .WORD • WORD ORD,1,SHORT,'1'/256 ZERO-2 DOCON,l TWO: HEAD .WORD .WORD ORD,1,SHORT,'2'/256 ONE-2 DOCON,2 THREE: HEAD " WORD .WORD ORD,1,SHqRT,'3'/256 TWO-2 DOCON,3 HEAD • WORD ORD,2,LONG,'B'/256 'L'+EVEN,THREE-2 " WORD DOCON, BL: , '/256 PACE ASSEMBLER REV-A OS/23/75 FORTH NUCLEUS FOR PACE DICTIONARY 0388 0020 833 834 0389 8546 835 038A 4952 038B 53D4 038C 0384 836 038D 035C 038E 1DFO 837 838 038F 854C 839 0390 494D 0391 49D4 0392 0389 840 0393 035C 0394 2000 841 842 0395 8542 843 0396 2F42 0397 55C6 0398 038F 844 0399 035C 039A 0080 845 A A A A A A A A A A A A A A A A A A A FIRST: LIMIT: BBUF: HEAD .WORD ORD,5,LONG,'F'/256 'IR','ST'+ODD,BL-3 • WORD DOCON,BUFFS HEAD .WORD ORD,5,LONG,'L'/256 'IM','IT'+ODD,FIRST-4 • WORD DOCON,TOPMEM HEAD .WORD ORD,5,LONG,'B'/256 '/B','UF'+ODD,LIMIT-4 .WORD DOCON,BLKSIZ . 846 039B 8542 847 039C 2F53 039D 43D2 039E 0395 848 039F 035C 03AO 0008 849 850 851 852 853 03A1 872B 854 03A2 4F52 03A3 4947 03A4 49CE 03A5 039B 855 03A6 0342 03A7 0103 03A8 0010 03A9 029F 03AA 026A 856 85,7 858 859 860 861 03AB 8253 862 03AC B020 03AD 03A1 863 03AE 0371 03AF 0003 864 865 03BO 8252 A A A A A A BSCR: HEAD .WORD ORD,5,LONG,'B'!256 '/S','CR'+ODD,BBUF-4 .WORD DOCON,1024/BLKSIZ THE FOLLOWING WORD EXPECTS A WORD-OFFSET AND RETURNS A WORD-ADDRESS. A A A A A A A A A A ~WORD ORD,7,LONG,'+'/256 'OR','IG','IN'+ODD,BSCR-4 .WORD DOCOL,LIT,ORIG,PLUS,SEMIS HEAD PORIG: , ;**********************************************~**** ;* USER VARIABLES * ;*************************************************** A A A A A SZERO: A HEAD • WORD ORD,2,LONG,'S'/256 '0'+EVEN,PORIG-5 • WORD DOUSER,03 HEAD ORD,2,LONG,'R'/256 PACE ASSEMBLER REV-A OS/23/75 FORTH NUCLEUS FOR PACE DICTIONARY 866 03B1 03B2 867 03B3 03B4 868 869 03B5 870 03B6 03B7 871 03B8 03B9 872 873 03BA 874 875 03BB 03BC 03BD 876 03BE 03BF 877 B020 03AB 0371 0004 A A A A 8354 49C2 03BO 0371 0005 A A A A A • WORD '0'+EVEN,SZERO~3 • WORD DOUSER,04 HEAD • WORD ORD,3,LONG,'T'/256 'IB'+ODD,RZERO-3 • WORD DOUSER,05 8557 A HEAD ORD,5,LONG,'W'/256 4944 54C8 03B5 0371 0006 • WORD 'ID','TH'+ODD,TIB-3 • WORD DOU~ER,06 A A A A A RZERO: TIB: WIDTH: 878 03CO 8757 879 03C1 4152 o 3C2 4E49 o 3C3 4EC7 o 3C4 03BA 880 03C5 0371 03C6 0007 881 882 03C7 8546 883 03C8 454E 03C9 43C5 03CA 03CO 884 03CB 0371 03CC 0008 885 886 03CD 8244 887 03CE D020 03CF 03C 7 888 03DO 0371 o3D 1 0009 889 890 03D2 8856 891 03D3 4F43 03D4 2D4C 03D5 494E o 3D6 CB20 o 3D7 03CD 892 03D8 0371 o 3D9 OOOA 893 894 03DA 8342 895 03DB 4CCB 03DC 03D2 896 03DD 0371 03DE OOOB 897 A A A A A A A A A A A A A A A A A A A A A A A A A A A A A A A WARN: FENCE: DP: VOCL: BLK: HEAD .WORD ORD,7,LONG,'W'/256 • WORD DOUSER,07 HEAD • WORD ORD,5,LONG,'F'/256 'EN','CE'+ODD,WARN-5 .WORD DOUSER,08 HEAD • WORD ORD, 2,LONG" 'D' /256 'P'+EVEN,FENCE-4 • WORD DOUSER,09 HEAD • WORD ORD,8,LONG,'V'/256 'OC','-L','IN','K'+EVEN,DP-3 • WORD DOUSER,OA HEAD • WORD ORD,3,LONG,'B'/256 'LK'+ODD,VOCL-6 • WORD DOUSER,OB 'AR','NI'~'NG'+ODD,WIDTH-4 PACE ASSEMBLER REV-A OS/23/75 FORTH NUCLEUS FOR PACE DICTIONARY 898 03DF 8249 899 03EO CE20 o 3E 1 03DA 900 03E2 0371 o 3E3 OOOC 901 902 03E4 834F 903 03E5 55D4 03E6 03DF 904 o 3'E 7 0371 o 3E8 OOOD 905 906 03E9 8353 907 03EA 43D2 03EB 03E4 908 03EC 0371 03ED OOOE A A A A A A A A A A A A A A A IN: OUT: SCR: HEAD .WORD ORD,2,LONG,'I'/256 'N'+EVEN,BLK-3 • WORD DOUSER,OC HEAD • WORD ORD,3,LONG,'O'/256 'UT'+ODD,IN-3 • WORD DOUSER,OD HEAD .WORD ORD,3,LONG,'S'/256 'CR'+ODD,OUT-3' • WORD DOUSER,OE 909 910 03EE 864F 9 11 03EF 4646 03FO 5345 03F1 D420 03F2 03E9 912 03F3 0371 03F4 OOOF 913 914 03F5 8743 915 03F6 4F4E 03F7 5445 03F8 58D4 03F9 03EE 916 03FA 0371 03FB 0010 917 918 03FC 8743 919 03FD 5552 03FE 5245 03FF 4ED4 0400 03F5 920 0401 0371 0402 0011 921 922 0403 8553 923 0404 5441 0405 54C5 0406 03FC 924 0407 0371 0408 0012 925 926 0409 8442 927 040A 4153 040B C520 040C 0403 928 040D 0371 040E 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 OFFSET: CONT:: CURR: STATE: BASE: HEAD • WORD ORD,6,LONG,'O'/256 'FF','SE','T'+EVEN,SCR-3 • WORD DOUSER,OF HEAD • WORD ORD,7,LONG,'C'/256 'ON','TE','XT'+ODD,OFFSET-5 • WORD DOUSER,010 HEAD • WORD ORD,7,LONG,'C'/256 • WO RD DOUSER,OII HEAD • WORD ORD,5,LONG,'S'/256 'TA','TE'+PDD,CURR-5 • WORD DOUSER,012 HEAD • WORD ORD,4,LONG,'B'/256 'AS','E'+EVEN,STATE-4 • WORD DOUSER,013 'UR','R~','NT'+ODD,CONT~5 PACE ASSEMBLER REV-A OS/23/75 FORTH NUCLEUS FOR PACE DICTIONARY 929 930 040F 8344 931 0410 50CC 0411 0409 932 0412 0371 0413 0014 933 934 0414 8346 935 0415 4CC4 0416 040F 936 0417 0371 0418 0015 937 A A A A A A A A A A DPL: FLD: HEAD • WORD ORD,3,LONG,'D'/256 ' PL '+ODD, 'BASE-4 • WORD DOUSER,014 HEAD .WORD ORD,3,LONG,'F'/256 'LD'+ODD,DPL-3 • WORD DOUSER,015, \ 938 0419 8343 939 041A 53DO 041B 0414 940 041C 0371 041D 0016 941 942 041E 8252 943 041F A320 . 0420 0419 944 0421 0371 0422 0017 945 946 0423 8348' 947 0424 4CC4 0425 041E 948 0426 0371 0427 0018 949 950 951 952 953 954 0428 8231 955 0429 AB20 042A 0423 956 042B 042C 957 042C 8FOO 958 042D 9.8F8 959 042E 98F8 960 961 042F 8232 962 0430 AB20 0431 0428 963 0432 0342 0433 037E 0434 029F 0435 026A 964 965 0436 8448 966 0437 4552 0438 C520 0439 042F A A A A A A A A A A A A A A A CSP: RNUM: HLD: HEAD • WORD o RD , 3 , LON G , " C ' / 2 5 6 .WORD DOUSER,016 HEAD • WORD ORD',2,LONG,'R'/256 , ,'+EVEN,CSP-3 • WORD DOUSER,017 HEAD • WORD ORD,3,LONG,'H'/256 ' LD" +ODD, RNUM-3 • WORD DOUSER,018 'SP'+ODD,FLD-3 ; ;*************************************************** MISCELLANEOUS * ,.*************************************************** ,. * A A A A A I I A A A A A A A ONEP: TWOP: A A A A HEAD • WORD ORD,2,LONG,'1'/256 '+'+EVEN,HLD-3 .WORD ISZ JMP JMP .+1 O(SP) NEXT NEXT HEAD .WORD ORD,2,LONG,'2'/256 '+'+EVEN,ONEP-3 • WORD DOCOL,TWO,PLUS,SEMIS HEAD • WORD ORD,4,LONG,'H'/256 'ER','E'+EVEN,TWOP-3 ADD ONE TO BOTTOM OF STACK PACE ASSEMBLER REV-A OS/23/75 FORTH NUCLEUS FOR PACE DICTIONARY 967 043A 043B 043C 043D 968 969 043E 970 043F 0440 0441 0342 03DO 030B 026A A A A A 8541 4C4C 4FD4 0436 A A A A HERE: • WORD DOCOL,DP,AT,SEMIS HEAD .WORD ORD,5,LONG,'A'/256 'LL','OT'+ODD,HERE-4 971 0442 0443 0444 0445 972 973 974 9750446 976 0447 977 0448 0449 044A 044B 044C 044D 978 979 044E 980 044F 981 0450 982 0451 983 0452 984 0453 985 0454 986 987 0455 988 0456 989 0457 0458 0459 045A 990 991 045B 992 045C 993 045D 045E 045F 0342 03DO 02E3 026A A A A A ALLOT: .WORD :, 8lAC 043E 0342 043A 03lD 037A 0442 026A A A A A A A A A 8lAD 0446 0451 C301 3780 9300 98F6 A A A A A A I 8lBD 044E 0342 0450 028F 026A A A A A A A 8lBC 0455 0342 0450 0297 A A A A A 0460 026A A 994 995 0461 8lBE A 996 0462 045B A 997 0463 0342 A 0464 02D5 A 0465 045D A 0466 026A A 998 999 0467 8352 A HERE DOCOL,DP,PSTORE,SEMIS' 1 ALLOT HEAD .WORD .WORD ORD,1,SHORT,','/256 ALLOT-4 DOCOL,HERE,STORE,ONE,ALLOT,SEMIS HEAD .WORD .WORD LD SFLG SUBB JMP ORD,I,SHORT,'-'/256 COMMA-2 .+1 O,I(SP) GET MINUEND CRY CLEAR BORROW O,O(SP) SUBTRACT SUBTRAHEND BIN EQUAL: HEAD • WORD .WORD ORD,1,SHORT,'='/256 SUB-2 DOCOL,SUB,ZEQU,SEMIS ORD,1,SHORT,'<'/~56. LESS: HEAD .WORD • WORD EQUAL-2 DOCOL,SUB,ZLESS,SEMIS GREAT: HEAD .WORD .WORD ORD,I,SHORT,'>'/256 LESS-2 DOCOL,SWAP,LESS,SEMIS HEAD ORD, 3,LONG,"R' /256 COMMA: SUB: PACE ASSEMBLER REV-A OS/23/75 FORTH NUCLEUS FOR PACE DICTIONARY 1000 0468 0469 1001 046A 1002 046B 1003 046C 4FD4 0461 046B C302 CBOI A A A A A ROT: .WORD 'OT'+ODD,GREAT-2 • WORD LD LD .+1 0,2(SP) X,l(SP) GET THIRD SECOND MOV~ 046D 046E 046F 0470 DB02 CBOO DBOI 98F7 A A A I ST LD ST JMP X,2(SP) X,O(SP) X,l(SP) PUT 0471 0472 0473 0474 1011 0475 0476 0477 0478 1012 1013 0479 1014 047A 047B 047C 1015 047D 1016 047E 1017 047F 1018 0480 1019 0481 1020 1021 1022 1023 1024 1025 0482 1026 0483 0484 0485 0486 0487 1027 0488 0489 1028 048A 048B 048C 048D 1029 048E 048F 0490 0491 1030 0492 0493 0494 0495 1031 1032 0496 8553 5041 43C5 0467 0342 0387 01ED 026A A A A A A A A A HEAD .WORD ORD,5,LONG,'S'/256 'PA','CE'+ODD,ROT-3 .WORD DOCOL,BL,EMIT,SEMIS 842D 4455 D020 0471 047E C300 4101 98F9 98F8 A A A A A A A I I HEAD • WORD ORD,4,LONG,'-'/256 'DU','P'+EVEN,SPACE-4 .WORD LD BOC JMP JMP .+1 O,O(SP) Z, • +2 PUSH NEXT 1004 1005 1006 1007 1008 1009 1010 SPACE: DDUP: ., TO THIRD MOVE BOTTOM TO SECOND PUT THIRD ON BOTTOM GET BOTTOM OF STACK DUP IF NOT ZERO ;*************************************************** ,. * VARIABLE LENGTH NAME SUPPORT * ;*************************************************** 8854 5241 5645 5253 C520 0479 0342 02D5 02C9 029F 0103 007F 02C9 0311 045D 0124 FFF8 02D5 02DO 026A A A A A A A A A A A A A A A A A A A HEAD .WORD ORD,8,LONG,'T'/256 'RA','VE','RS','E'+EVEN,DDUP-4 TRAV: • WORD DOCOL,SWAP TRAV 1: • WORD OVER,PLUS,LIT,007F • WORD OVER,CAT,LESS,ZBRAN • WORD TRAV1-.,SWAP,DROP,SEMIS HEAD ORD,6,LONG,'L'/256 A A 864C A PACE ASSEMBLER REV-A OS/23/75 FORTH NUCLEUS FOR PACE DICTIONARY 1033 0497 0498 0499 049A 1 034 049 B 049C 049D 049E 049F 1035 1036 1037 1038 04AO 1039 04A1 04A2 1040 04A3 04A4 04A5 04A6 1041 1042 1043 1044 04A7 1045 04A8 04A9 1046 04AA 04AB 04AC 04AD 1047 1048 1049 1050 1051 04AE 1052 04AF 04BO 1053 04B1 04B2 04B3 04B4 04B5 04B6 1054 04B7 04B8 04B9 04BA 04BB 04BC 1055 1056 1057 1058 04BD 1059 04BE 04BF 1060 04CO 4154 4553 D420 0482 0342 0401 030B 030B 026A A A A A A A A A A LAT EST: .WORD 'AT','ES','T'+EVEN,TRAV-6 • WO RD DOCOL,CURR,AT,AT,SEMTS LFA 834C 46C1 0496 0342 037E 0450 026A A A A A A A A LFA: HEAD .WORD ORD,3,LONG,'L'/256 'FA'+ODD,LATEST-5 • WORD DOCOL,TWO,SUB~SE~IS CFA 8343 46C1 04AO 0342 037A 0450 026A A A A A A A A CFA: A A A A A A A A A A A A A A A NFA: ORD,3,LONG,'C'/256 'FA'+ODD,LFA-3 • WORD DOCOL,ONE,SUB,SEMIS A A A A PFA: 2 BYTE -1 -1 TRAVERSE TRAVERSE CELL HEAD .WORD ORD,3,LONG,'N'/256 'FA'+ODD,CFA-3 • WORD DOCOL,TWO,SUB,BYTE,LIT,-l • WORD TRAV,LIT,-l,TRAV,CELL,SEMIS PFA 8350 46C1 04AE 0342 1 HEAD • WORD NFA 834E 46C1 04A7 0342 037E 0450 02FD 0103 FFFF 0488 0103 FFFF 0488 0305 026A 2 BYTE 1 TRAVERSE CELL HEAD .WORD ORD,3,LONG,'P'/256 'FA'+ODD,NFA-3 .WORD DOCOL,BYTE,ONE,TRAV 3 + PACE ASSEMBLER REV-A OS/23/75 FORTH NUCLEUS FOR PACE DICTIONARY 04C1 04C2 04C3 1061 04C4 04C5 04C6 04C7 1062 1063 1064 1065 1066 1067 04C8 1068 04C9 04CA 04CB 1069 04CC 04CD 04CE 04CF 04DO 1070 1071 04D 1 1072 04D2 04D3 04D4 04D5 1073 04D6 o 4D7 04D8 1074 04D9 04DA 04DB 1075 04DC 1076 04DD 1077 04DE 1078 1079 04DF 1080 04EO 04E1 04E2 1081 04E3 04E4 04E5 o 4E6 1082 04E7 04E8 04E9 04EA 1083 1084 04EB 1085 04EC 04ED 04EE 1086 04EF 02FD A A 0488 A 0305 A 0382 A 029F A 026A A 037A • WORD CELL,THREE,PLUS,SEMIS • ; ,.***************************~*********************** ,. * ERROR PROCEDURES, PER SHIRA * , ;***l~*********************************************** 8421 4353 D020 04BD 0342 0255 041C 031D 026A A A A A A A A A A 863F 4552 524F D220 04C8 0342 02D5 0124 0004 0744 011B 0002 02DO 026A A A A A A A A A A A A A A A 853F 434F 4DDO 04D1 0342 0407 030B 028F 0103 0011 04D6 026A A A A A A A A A A A A A 853F 4558 45C3 04DF 0342 A A A A A SCSP: QERROR: QERR1: QERR2: QCOMP: QEXEC: HEAD .WORD ORD,4,LONG,'!'/256 'CS','P'+EVEN,PFA-3 .WORD DOCOL,SPAT,CSP,STORE,SEMIS HEAD • WORD ORD,6,LONG,'?'/256 'ER','RO','R'+EVEN,SCSP-4 • WORD DOCOL,SWAP,ZBRAN • WORD QERR1-.,ERROR,BRAN • WORD • WORD • WORD QERR2 .... DROP SEMIS HEAD .WORD ORD,5,LONG,'?'/256 'CO','MP'+ODD,QERROR-5 • WORD DOCOL,STATE,AT,ZEQU • WORD LIT,OOll,QERROR,SEMIS HEAD • WORD ORD,5,LONG,'?'/256 'EX','EC'+ODD,QCOMP-4 • WORD DOCOL,STATE,AT PACE ASSEMBLER REV-A OS/23/75 FORTH NUCLEUS FOR PACE DICTIONARY 04FO 04F1 1087 04F2 04F3 04F4 04F5 1088 1089 04F6 1090 04F7 04F8 04F9 04FA 1091 04 F B 04FC 04FD 04FE 04FF 0500 1092 1093 0501 1094 0502 0503 0504 1095 0505 0506 0507 0508 0509 1096 050A 050B 050C 050D 1097 1098 050E 1099 050F 0510 0511 0512 0513 1100 0514 0515 0516 0517 1101 0518 0519 051A 051B 1102 1103 1104 1105 1106 1107 1108 1109 051C 0407 A 030B A 0103A 0012 A 04D6 A 026A A 863F 5041 4952 D320 04EB 0342 0450 0103 0013 04D6 026A A A A A A A A A A A A 843F 4353 D020 04F6 0342 0255 041C 030B 0450 0103 0014 04D6 026A A A A A A A A A A A A A A 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 QPA IRS: QCSP: QLOAD: .WORD LIT,0012,QERROR,SEMIS HEAD .WORD ORD,6,LONG,'?'/256 'PA','IR','S'+EVEN,QEXEC-4 • WO RD DOCOL,SUB,LIT,0013,QERROR,SEMIS HEAD .WORD ORD,4,LONG,'?'/256 'CS','P'+EVEN,QPAIRS-5 .WORD DOCOL,SPAT,CSP,AT,SUB .WORD LIT,0014,QERROR,SEMIS HEAD .WORD ORD,8,LONG,'?'/256 'LO','AD','lN','G'+EVEN,QCSP-4 .WORD DOCOL,BLK,AT,ZEQU • WORD LIT,0016,QERROR,SEMIS ;*************************************************** ;* COMPILE, SMUDGE, HEX, DECIMAL * ;*************************************************** COMPILE 8743 A HEAD ?COMP R> DUP 1+ ORD,7,LONG,'C'/256 >R @ PACE ASSEMBLER REV-A OS/23/75 FORTH NUCLEUS FOR PACE DICTIONARY 1110 051D 051E 051F 0520 1111 0521 0522 0523 0524 1112 0525 0526 0527 0528 0529 1113 1114 052A 1115 052B 1116 052C 052D 052E 052F 0530 1117 1118 0531 1119 0532 1120 0533 0534 0535 1121 0536 0537 0538 1122 1123 1124 1125 0539 1126 053A 053B 053C 053D 1 127 053E 053F 0540 1128 0541 0542 0543 0544 1129 1130 0545 1131 0546 0547 1132 0548 0549 054A 054B 054C 054D 4F4D 5049 4CC5 050E 0342 04E3 0283 02DD 042B 027B 030B 0448 026A A A A A C1DB 05IC 0342 0376 0407 031D 026A A A A A A A A 8IDD 052A 0342 0103 OOCO 0407 031D 026A A A A A A A A A A .WORD 'OM','PI','LE'+ODD,QLOAD-6 .WORD DOCOL,QCOMR,FROMR,DUP • WORD ONEP,TOR,AT,COMMA,SEMIS LBRAC: HEAD • WORD • WORD IMM, 1 , S H0 RT, ' [ , /256 , COMPIL-5 DOCOL,ZERO,STATE,STORE,SEMIS RBRAC: HEAD .WORD .WORD ORD,1,SHORT,']'/256 LBRAC-2 DOCOL,LIT,OOCO • WORD.. STATE,STORE,SEMIS COMPIL: A A A A A A A A SMUDGE 8653 4D55 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 SMUDGE: LATEST BYTE 20 TOGGLE HEAD .WORD ORD,6,LPN~,'S'/256 • WORD DOCOL,LATEST,BYTE .WORD LIT,0020,TOGGLE,SEMIS HEAD • WORD ORD,3,LONG,'H'/256 'EX'+ODD,SMUDGE-5 .WORD DOCOL,LIT,0010,BASE,STORE,SEMIS 'MU', 'DG' ,"E'+EVEN,RBRAC-2 A A A A A A A A A A A A HEX: PACE ASSEMBLER REV-A OS/23/75 FORTH NUCLEUS FOR PACE DICTIONARY 1133 1134 054E 8744 1135 054F 4543 0550 494D 0551 41CC 0552 0545 1136 0553 0342 0554 0103 0555 OOOA 0556 040D 0557 031D 0558 026A 1137 1138 1139 1140 1141 1142 0559 8728 1143 OSSA 3B43 055B 4F44 055C 45A9 055D 054E 1144 055E 0342 055F 0283 0560 049B 1145 0561 04CO 0562 04AA 0563 031D 0564 026A 1146 1147 1148 0565 C53B 1149 0566 434F 0567 44C5 0568 0559 1150 0569 0342 056A 0505 056B 0521 056C 055E 1151 056D 052C 056E 053E 056F 026A 1152 1153 1154 1155 1156 1157 0570 873C 1158 0571 4255 0572 494C 0573 44D3 0574 0565 1159 0575 0342 0576 0376 0577 0357 A A A A A A A A A A A DEC: HEAD .WORD ORD,7,LONG,'D'/256 'EC','IM','AL'+ODD,HEX-3 .WORD DOCOL,LIT,OA,BASE,STORE,SEMIS ., ;*************************************************** ;CODE ,. * * ,.*************************************************** A A A A A A A A A A A A A A A A A A A PSCODE: SEMIC: HEAD • WORD ORD, 7 ,LONG,' (' /256 ';C','OD','E)'+ODD,DEC-5 .WORD DOCOL,FROMR,LATEST • WORD PFA,CFA,STORE,SEMIS HEAD • WORD IMM,5,LONG,';'/256 'CO','DE'+ODD,PSCODE-5' • WORD DOCOL,QCSP,COMPIL,PSCODE • WORD LBRAC,SMUDGE,SEMIS' A A A A ; ;*************************************************** * ;*************************************************** ,. * A A A A A A A A BUILDS: HEAD .WORD ORD,7,LONG,'<'/256 'BU','IL','DS'+ODD,SEMIC-4 • WORD DOCOL,ZERO,CON,SEMIS PACE ASSEMBLER REV-A OS/23/75 FORTH NUCLEUS FOR PACE DICTIONARY 0578 026A 1160 1161 0579 8544 1162 057A 4F45 057B 53BE 057C 0570 1163 057D 0342 057E 0283 057F 049B 0580 04CO 0581 031D 0582 055E 1164 1165 0583 AC21 1166 0584 5C40 1167 0585 B021" l168 0586 C601 1169 0587 5002 1170 0588 6880 1171 0589 98F9 1172 1173 1174 1175 1176 1177 1178 1179 058A 8543 1180 058B 4F55 058C 4ED4 058D 0579 1181 058E 0342 058F 02FD 0590 02DD 0591 042B 0592 02D5 0593 0311 0594 026A 1182 1183 0595 8454 1184 0596 5950 0597 C520 0598 058A 1185 0599 0342 059A 047D 059B 0124 1186 059C OOOC 059D 02C9 059E 029F 059F 02D5 05AO 0155 1187 05Al 0161 05A2 0311 05A3 OIED 05A4 012F A A A A A A A A A A A A A A A A A I DOES: HEAD • WORD ORD,5,LONG,'D'/256 'OE','S>'+ODD,BUILDS-5 • WORD DOCOL,FROMR,LATEST,PFA,STORE,PSCODE , DODOES: DSZ RCPY ST LD~ , LI RADD JMP EXTEND RETURN STACK RP I po. 0 PUSl:I IP' LOAD IP FROM PARAM POINT BOTTOM OF STACK TO PFA+l O.@RP· 1 , 1 (W) 0,2 W,O PUSH ,.**~~************************************************ ;* TEXT OUTPUTS * ;*************************************************** COUNT A A A A A A A A A A A A A A A A A A A A A A A A A A A COUNT: TYPE: TYPEl: BYTE DUP 1+ SWAP C@ HEAD .WORD ORD,5,LONG,'C'/256 'OU','NT'+ODD,DOES-4 .WORD DOCOL,BYTE,DUP,ONEP,SWAP,CAT,SEMIS HEAD .WORD ORD,4,LONG,'T'/256 'YP','E'+EVEN,COUNT-4 • WORD DOCOL,DDUP,ZBRAN • WORD TYPE2-.,OVER,PLUS,SWAP,XDO .WORD I,CAT,EMIT,XLOOP PACE ASSEMBLER REV-A OS/23/75 FORTH NUCLEUS FOR PACE DICTIONARY 1188 05A5 FFFC 05A6 o lIB 1189 05A7 0002 1190 05A8 02DO 1191 05A9 026A 1192 1193 05AA 892D 1194 05AB 5452 05AC 4149 05AD 4C49 05AE 4EC7 05AF 0595 1195 05BO 0342 05Bl 02DD 05B2 0376 05B3 0155 1196 05B4 02C9 05B5 02C9 05B6 029F 05B7 037A 05B8 0450 1197 05B9 0311 OSBA 0387 OSBB 0450 05BC 0124 1198 05BD 0004 05BE 0273 05BF o lIB 1199 05CO 0003 1200 05Cl 037A 05C2 0450 1201 05C3 012F 1202 05C4 FFFO 05C5 026A 1203 1204 1205 1206 1207 05C6 8428 1208 05C7 2E22 05C8 A920 05C9 05AA 1209 05CA 0342 OSCB 0289 05CC OS8E OSCD 02DD OSCE 0305 OSCF 042B 1210 05DO 0283 0501: 029F 0502 02lB 0503 0599 050t. 026A l2 LL: l2t2 A A A A A A A A A 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 TYPEl-.,BRAN .WORD • WORD .WORD TYPE3-. DROP SEMIS HEAD • WORD ORD,9,LONG,'-'/256 'TR','AI','LI','NG'+ODD,TYPE-4 DTRAIL: • WORD DOCOL,DUP,ZERO,XDO DTRAI : • WORD OVER,OVER,PLUS,ONE,SUB • WORD CAT,BL,SUB,ZBRAN • WORD DTRA2-.,LEAVE,BRAN .WORD .WORD DTRA3-. ONE, SUB • WORD .WORD XLOOP DTRA1-.,SEMIS TYPE:2: TYPE:3: DTRA2: DTRA.3: ( A A A A A A A A A A A ." PDOTQ: R COUNT DUP CELL R> + >R TYPE ) 1+ HEAD • WORD ORD,4,LONG,'('/256 '."',')'+EVEN,DTRAIL-6 • WORD DOCOL,R,COUNT,DUP,CELL,ONEP .WORD FROMR,PLUS,TOR,TYPE,SEMTIF A A A A ., ., ' ' ." 2.2 STATE @ IF COMPILE ( ." ) WORD~ PACE ASSEMBLER REV-A OS/23/75 FORTH NUCLEUS FOR PACE DICTIONARY HERE l213 l21A l2l5 BYTE C@ CELL l~ ALLOT ELSE .., TYPE ENDIF WO RD~ HE RECOUNT IMMEDIATE 1216 IMM,2,LONG,'.'/256 HEAD 1217 05D5 C22E A ''''+EVEN,PDOTQ-4 1218 05D6 A220 A • WORD 05D7 05C6 A DOCOL,LIT,''''/256,STATE,AT,ZBRAN 1 219 05D8 0342 A DOTQ:: • WORD 05D9 0103 A 05DA 0022 A 05DB 0407 A 05DC 030B A 05DD 0124 A 1220 05DE OOOC A DOTQl-.,COMPIL,PDOTQ,WORD • WORD 05DF 0521 A 05EO 05CA A 05El 06A8 A 1221 05E2 043A A HERE,BYTE,CAT,CELL,ONEP,ALLOT,BRAN • WORD 05E3 02FD A 05E4 0311 A 05E5 0305 A 05E6 042B A 05E7 0442 A 05E8 011B A DOTQ2-. .WORD 1222 05E9 0005 A WORD,HERE,COUNT,TYPE .WORD 1223 05EA 06A8 A DOTQ1: 05EB 043A A 05EC 058E A 05ED 0599 A SEMIS 1224 05EE 026A A DOTQ2: .WORD 1225 PART=2 .LIST 1226 05ED 0599 A SEMIS 1224 OSEE 026A A DOTQ2: .WORD , 1225 SEMIS • WORD 024 05EE 026A A DOTQ2: 1 226 1225 1226 PACE ASSEMBLER REV-A OS/23/75 FORTH NUCLEUS FOR PACE . 1227 1228 1229 1230 1231 1232 1233 1234 1235 1236 1237 1238 1239 1240 05EF 8645 1241 05FO 5850 05Fl 4543 05F2 D420 05F3 05D5 1242 05F4 0342 05F5 02C9 05F6 029F 05F7 02C9 05F8 0155 1243 05F9 01F1 05FA 02DD 05FB 0103 05FC 0007 o 5FD 03A6 05FE 030B 05FF 0457 0600 0124 1244 0601 0010 0602 02DO 0603 0103 0604 0008 0605 02C9 0606 0161 0607 0457 1245 0608 02DD 0609 0283 060A 037E 060B 0450 060C 029F 060D 027B 060E 0450 , ;*************************************************** ;* TERMIN~L INPUT * ,.*************************************************** : EXPECT OVER + OVER DO KEY DUP IF DROP 08 07 +ORIGIN @ OVER I DUP R> 2 + >R ELSE DUP OD IF LEAVE DROP BL 0 ELSE DUP I 1+ C! END I F I C! ENDIF EMIT LOOP DROP ° A A A A A A A A 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 .WORD ORD,6,LONG,'E'/256 'XP','EC','T'+EVEN,DOTQ-3 EXPECT: .l~ORD DOCOL,OVER,PLUS,OVER,XDO EXPECll: .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 OS/23/75 FORTH NUCLEUS FOR PACE DICTIONARY 060F 011B 1246 0610 0014 1247 0611 02DD 0612 0103 0613 OOOD 0614 0457 0615 0124 1248 0616 0007 0617 0273 0618 02DO 0619 0387 061A 0376 061B 011B 1249 061C 0002 1250 061D 02DD 1251 061E 0161 061F 0324 0620 0376 0621 0161 0622 042B 0623 0324 1252 0624 01ED 0625 012F 1253 0626 FFD3 0627 0 2D 0 0628 026A 1254 1255 1256 1257 0629 8551 1258 062A 5545 062B 52D9 062C 05EF 1259 062D 0342 062E 03B8 062F 030B 0630 02FD 0631 0103 0632 0050 1260 0633 05F4 0634 0376 0635 03E2 0636 031D 0637 026A 1261 1262 0638 C180 1263 0639 0629 1264 063A 0342 063B 03DD 063C 030B 063D 0124 1265 063E 0013 1266 063F 037A 0640 03DD 0641 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 • WORD • WORD EXPEC5-. DUP,LIT,OD,EQUAL,ZBRAN • WORD EXPEC3-.,LEAVE,DROP,BL,ZERO,BRAN EXPEC3: EXPEC4: • WORD • WORD • WORD EXPEC4- • DUP I,CSTORE,ZERO,I,ONEP,CSTORE EXPEC5: • WORD EMIT,XLOOP • WORD EXPEC1-~,DROP,SEMIS EXPEC2: QUERY A A A A A A A A A A A A A A A A A A A A A A A A A QUERY: NULL: TIB @ BYTE 50 EXPECT 0 HEAD .WORD ORD,5,LONG,'Q'/256 'UE','RY'+ODD,EXPECT-5 .WORD DOCOL,TIB,AT,BYTE,LIT,0050 .WORD EXPECT,ZERO,IN,STORE,SEMIS HEAD .WORD .WORD IMM,l,SHORT,OO QUERY-4 DOCOL,BLK,AT,ZBRAN .WORD .WORD NULL2-. IN NULL ONE~BLK,PSTORE,ZERO,IN,STORE PACE ASSEMBLER REV-A OS/23/75 FORTH NUCLEUS FOR PACE DICTIONARY 1267 1268 1269 1270 1271 0642 0643 0644 0645 0646 0647 0648 0649 064A 064B 064C 064D 064E 064F 0650 0651 0652 0653 0376 03E2 031D 03DD 030B 039F 0919 028F 0124 0004 04EF 0283 02DO 011B 0003 0283 02DO 026A 1272 1273 1274 1275 1276 1277 1278 1279 1280 1281 1282 1283 1284 0654 8446 1285 0655 494C 0656 CC20 0657 0638 1286 0658 0342 0659 02D5 065A 027B 065B 02C9 065C 031D 065D 02DD 1287 065E 042B 065F 0283 0660 037A 0661 0450 0662 0201 0663 026A 1288 1289 0664 8545 1290 0665 5241 0666 53C5 0667 0654 1291 0668 0342 0669 0376 066A 6658 066B 026A 1292 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 NULL2: .WORD • WORD • WORD BRAN NULL3-. FROMR,DROP NULL3: .WORD SEMIS NULLll: , ,.***,~*********************************************** ;* FILL, ERASE, BLANKS, HOLD, PAD, CMOVE * ,.*************************************************** NOTE THAT THE NEXT THREE WORDS FILL 16-BIT WORDS" NOT BYTES. FILL A A A A A A A A A A A A A A A A A A A A A A A A FILL: ERASE: SWAP >R R> 1 OVER MOVE DUP 1+ HEAD .WORD ORD,4,LONG,'F'/256 'IL' ,'L'+EVEN,NULL-2 • WORD DOCOL,SWAP,TOR,OVER,STORE,DUP .WORD ONEP,FROMR,ONE,SUB,MOVE,SEMIS HEAD • WORD ORD,5,LONG,'E'/256 'RA','SE'+ODD,FILL-4 • WORD DOCOL,ZERO,FILL,SEMIS PACE ASSEMBLER REV-A OS/23/75 FORTH NUCLEUS FOR PACE DICTIONARY 1293 1294 1295 066C 8642 1296 066D 4C41 066E 4E4B 066F D320 0670 0664 1297 0671 0342 0672 0103 0673 2020 0674 0658 0675 026A 1298 1299 0676 8448 1300 0677 4F4C 0678 C420 0679 066C 1301 067A 0342 067B 0103 067C FFFF 067D 0426 067E 02E3 1302 067F 0426 0680 030B 0681 0324 0682 026A 1303 1304 1305 1306 1307 1308 0683 8350 1309 0684 41C4 0685 0676 1310 0686 0342 0687 043A 0688 0103 0689 0022 068A 029F 068B 026A 1311 1312 1313 1314 1315 1316 068C 8543 1317 068D 4D4F 068E 56C5 068F 0683 1318 0690 0342 0691 047D 0692 0124 1319 0693 OOOE 0694 02C9 0695 029F BLANKS A A A A A A A A A A A A A A A A A A A A A A A BLANKS: HOLD: 2020 FILL HEAD .WORD ORD,6,LONG,'B'/256 'LA','NK','S'+EVEN,ERASE-4 .WORD DOCOL,LIT,02020,FILL,SEMIS HEAD .WORD ORD,4,LONG~'H'/256 • WORD DOCOL,LIT,-I,HLD,PSTORE • WORD HLD,AT,CSTORE,SEMIS 'OL','D'+EVEN,BLANKS-5 NOTE THAT PAD IS A WORD ADDRESS. PAD A A A A A A A A A PAD: HERE CMOVE: + HEAD .WORD ORD,3,LONG,'P'/256 'AD'+ODD,HOLD-4 • WORD DOCOL,HERE,LIT,0022,PLUS,SEMIS CMOVE A A A A A A A A A A 22 -DUP IF OVER + SWAP DO DUP C@ I C! 1+ LOOP ELSE DROP ENDIF DROP HEAD .WORD ORD,5,LONG,'C'/256 'MO','VE'+ODD,PAD-3 .WORD DOCOL, DDUP, ZBRAN' .WORD CMOVE2-.,OVER,PLUS,SWAP,XDO PACE ASSEMBLER REV-A OS/23/75 FORTH NUCLEUS FOR PACE DICTIONARY 0696 0697 1320 0698 0699 069A 1321 1322 1323 1324 069B 069C 069D 069E 069F 06AO 0 6 Al 06A2 06A3 02D5 0155 02DD 0311 0161 0324 042B 012F FFFA OllB 0002 0 2 D0 02DO 026A 1325 1326 1327 1328 1329 1330 1331 1332 1333 1334 1335 1336 06A4 8457 1337 06A5 4F52 06A6 C420 06A7 068C 1338 06A8 0342 06A9 03DD 06AA 030B 06AB 0124 1339 06AC 0006 06AD 03DD 06AE 030B 06AF 09B6 06BO 011B 1340 06B1 0003 1341 06B2 03B8 06B3 030B 1342 06B4 02FD 06B5 03E2 06B6 030B 06B7 029F 06B8 02D5 06B9 01Bl 1343 06BA 043A 06BB 0103 06BC 0011 06BD 0671 06BE 03E2 06BF 02E3 1344 06CO 02C9 06Cl 0450 A A A A A CMOVEl: .WORD DUP,CAT,I,CSTORE,ONEP,XLOOP .WORD CMOVEl-.,BRAN .WORD • WaR D .WORD CMOVE3-. DROP DROP,SEMIS A A A A A A A A A CMO VE 2: CMOVE3: , ,.***,~*********************************************** ;* WORD * ;***7~*********************************************** . WORD A A A A A A 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 .WORD WORD:: @ BLK @ IF BLK @ BLOCK ELSE TIB @ + SWAP ENCLOSE ENDIF BYTE IN HERE" 11 BLANKS IN +1 OVER >R R HERE BYTE C! + HERE BYTE 1+ R> CMOVE ORD,4,LONG,'W'/256 'OR','D'+EVEN,CMOVE-4 • WORD • WORD WORD1-.,BLK,AT,BLOCK,BRAN WORD 1. : • WORD • WORD WORD2- • TIB,AT WORD2: • WORD BYTE,IN,AT,PLUS,SWAP,ENCL • WORD HERE,LIT,17,BLANKS,IN,PSTORE • WORD OVER,SUB,TOR,R,HERE,BYTE,CSTORE PACE ASSEMBLER REV-A OS/23/75 FORTH NUCLEUS FOR PACE DICTIONARY 06C2 027B 0289 06C4 043A 06C5 02FD 06C6 0324 1345 06C7 029F 06C8 043A 06C9 02FD 06CA 042B 1346 06CB 0283 06CC 0690 06CD 026A 1347 1348 1349 1350 1351 1352 06CE 8828 1353 06CF 4E55 06DO 4D42 06D 1 4552 06D2 A920 06D3 06A4 1354 06D4 0342 1355 06D5 042B 06D6 02DD 06D7 027B 06D8 0311 06D9 040D 06DA 030B 06DB 0166 06DC 0124 1356 06DD 0016 06DE 02D5 06DF 040D 06EO 030B 06El 0213 1357 06E2 02DO 06E3 046A 06E4 040D 06E5 030B 06E6 0213 1358 06E7 02A7 06E8 0412 06E9 030B 06EA 042B 06EB 0124 1359 06EC 0004 06ED 037A 06EE 0412 06EF 02E3 1360 06FO 0283 06F1 o lIB 1361 06F2 FFE3 1362 06F·3 0283 o 6C3 A A A A A A A A A A A A • WORD PLUS,HERE,BYTE,ONEP • WORD FROMR,CMOVE,SEMIS ; ,.***l~*********************************************** . (NUMBER), NUMBER, -FIND ,. * * ,.***l~*********************************************** A A A A A A 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 • WORD ORD,8,LONG,'('/256 'NU','MB','ER',')'+EVEN,WORD-4 • WORD • WORD DOCOL 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 PNUMEl2: .WORD FROMR,BRAN PNUMB3: .WORD .WORD PNUMBl-. FROMR,SEMIS PNUMH: PNUMH 1 : .A A .A .A A A A A PACE ASSEMBLER REV-A OS/23/75 FORTH NUCLEUS FOR PACE DICTIONARY 06F4 026A 1363 1364 1365 1366 1367 1368 1369 1370 06F5 864E 1371 06F6 554D 06F7 4245 06F8 D220 06F9 06CE 1372 06FA 0342 06FB 02FD 06FC 0376 o 6FD 0376 1373 06FE 046A 06FF 02DD 0700 042B 0701 0311 0702 0103 1374 0703 002D 0704 0457 0705 02DD 0706 027B 0707 029F 0708 0103 0709 FFFF 1375 070A 0412 070B 031D 070C 06D4 070D 02DD 070E 0311 070F 0387 0710 0450 0711 0124 1376 0712 OOOB 0713 02DD 0714 0311 0715 0103 0716 002E 1377 0717 0450 0718 0376 0719 04Do 07lA 0376 071B OllB 1378 071C FFEE 1379 071D- 02DO 071E 0283 071 F 0124 1380 0720 0002 0721 02BD 1381 0722 026A 1382 A 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 A A A A A A NUMB: A A A A A A A A A A A A A A A A NUMB1: A A A A A A A A A A A A A A A A A A A NUMB2: A A A A A NUMB3: HEAD .WORD ORD,6,LONG,'N'/256 'UM','BE','R'+EVEN,PNUMB-6 .WORD DOCOL,BYTE,ZERO,'ZERO .WORD ROT,DUP,ONEP,CAT,LIT .WORD '-'/256,EQUAL,DUP,TOR,PLUS,LIT,-1 .WORD DPL,STORE,PNUMB,DUP,CAT,BL,SUB,ZBRAN .WORD NUMB2-.,DUP,CAT,LIT,'.'/256 .WORD SUB,ZERO,QERROR,ZERO,B~N .WORD .WORD' NUMB1-. , DROP,FROMR,ZBRAN .WORD NUMB3-.,DMINUS .WORD SEMIS PACE ASSEMBLER REV-A OS/23/75 FORTH NUCLEUS FOR PACE DICTIONARY 1383 0723 852D 1384 0724 4649 0725 4EC4 0726 06F5 1385 0727 0342 0728 0387 0729 06A8 072A 043A 072B 03FA 072C 030B 1386 072D 030B o 72E OI7D 072F 02DD 0730 028F 0731 0124 1387 0732 0005 0733 02DO 0734 043A 0735 049B 0736 o 17D 1388 0737 026A 1389 1390 1391 1392 1393 1394 1395 1396 0738 8728 1397 0739 4142 073A 4F52 073B 54A9 073C 0723 1398 073D 0342 073E 0874 073F 026A 1399 1400 0740 8545 1401 0741 5252 0742 4FD2 0743 0738 1402 0744 0342 0745 03C5 0746 030B 0747 0297 0748 0124 1403 0749 0002 074A 073D 1404 074B 043A 074C 058E o 74D 0599 074E 05CA 1405 074F 0420 1406 0750 203F 0751 2020 A A A A A A A A A A A A A A A A A A A A A DFIND: DFIND1: HEAD • WORD ORD,5,LONG,'-'/256 'FI','ND'+ODD,NUMB-5 .WORD DOCOL,BL,WORD,HERE,CONT,AT .WORD AT,PFIND,DUP,ZEQU,ZBRAN • WORD DFIND1-.,DROP,HERE,LATEST,PFIND .WORD SEMIS ,.*************************************************** ERROR HANDLER ,. * * ;*************************************************** A A A A A A A A A A A A A A A A A A A A A A A A A A PABORT: ERROR: ERROR1: .FORM STRING,8,8 HEAD • WORD ORD,7,LONG,'('/256 • WORD DOCOL,ABORT,SEMIS HEAD • WORD ORD,5,LONG,'E'/256 'RR','OR'+ODD,PABORT-5 .WORD DOCOL,WARN,AT,ZLESS,ZBRAN .WORD ERROR1-.,PABORT • WORD STRING .ASCII 'AB','OR','~)'+ODD,D~IND-4 HERE,COUNT,TYPE,PDOTQ 4, , , ? '/256 , PACE ASSEMBLER REV-A OS/23/75 FORTH NUCLEUS FOR PACE DICTIONARY 1407 0752 0753 0754 0755 1408 0756 0757 0758 0759 1409 1410 1411 1412 1413 1414 075A 1415 075B 075C 1416 075D 075E 075F 0760 0761 0762 1417 0763 0764 0765 0766 0767 0768 1418 0769 076A 076B 076C 076D 1419 076E 076F 0770 0771 0772 OA05 025B 03E2 030B 03DD 030B 08SC 026A A A A A A A A A .WORD MESS,SPSTOR,IN,AT .WORD BLK,AT,QUIT,SEMIS ID. 8349 44AE 0740 0342 0686 0103 0010 0103 5F5F 0658 02DD 04CO 04A3 02C9 0450 0686 02D5 0201 0686 058E 0103 001F 023F 0599 0475 A A A A A A A A A A A A A IDDOT: 010 5F5F FILL DUP PFA LFA PAD PAD SWAP MOVE PAD COUNT OVER SPACE 01F AND TYPE HEAD .WORD ORD,3,LONG,'I'/256 'D.'+ODD,ERROR-4 .WORD DOCOL,PAD,LIT,0010,LIT,05F5F • WORD FILL,DUP,PFA,LFA,OVER,SUB .WORD PAD,SWAP,MOVE,PAD,COUNT • WORD LIT,OOlF,AND,TYPE,SPACE,SEMIS A A A A A A A A A A A A 0773 026A A 1420 1421 1422 1423 1424 1425 1426 1427 1428 1429 1430 1431 1432 1433 0774 8643 A 1434 0775 5245 A 0776 4154 A , ,.***~:*********************************************** ;* CREATE * ;***~:*********************************************** : CREATE HEAD .WORD 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+ ORD,6,LONG,'C'/256 'RE','AT','E'+EVEN,IDDOT-3 PACE ASSEMBLER REV-A OS/23/75 ICTIONARY 1435 1436 1437 1438 1439 1440 1441 1442 1443 1444 1445 1446 1447 L448 0777 0778 0779 077A 077B 077C 077D 077E 077F 0780 0781 0782 0783 0784 0785 0786 0787 0788 0789 078A 78B 078e o 78D 078E 078F 0790 0791 0792 0793 0794 0795 0796 0797 0798 0799 079A 079B o 79C 079D 079E 079F 07AO 07A1 07A2 07A3 07A4 07A5 07A6 07A7 07A8 ° C520 075A 0342 0255 043A 0103 0050 029F 045D 037E 04D6 0727 0124 0008 02DO 04B1 075D 0103 0004 OA05 0475 043A 02DD 02FD 02DD 0311 03BE 030B 08CF 02DD 0305 042B 0442 02C9 0103 OOAO 02ED 029F 0103 0080 02ED 049B 0448 0401 030B 031D 043A 042B 0448 026A A A A A A CREATE: .WORD DOCOL,SPAT,HERE,LIT,0050,PLUS .WORD LESS,TWO,QERROR,DFIND,ZBRAN • WORD CREAT1-.,DROP,NFA,IDDOT • WORD LIT,4,MESS,SPACE . .WORD HERE,DUP,BYTE,DUP,CAT,WIDTH,AT • WORD MIN,DUP,CELL,ONEP,ALLOC.OVER .WORD LIT,00AO,TOGGLE,PLUS,LIT,0080 .WORD TOGGLE,LATEST,COMMA,CURR,AT .WORD STORE,HERE,ONEP,COMMA,SEMIS A A A A A A A A A A A A A A A A A A A A A CREAT1: A A A A A A A A A A A A A A A A A A A A A A A A ,. ,.*************************************************** ,. * [COMPILE] , LITERAL, DLITERAL * ;****************************************M*******k~ PACE ASSEMBLER REV-A 65/23/75 FORTH NUCLEUS FOR PACE DICTIONARY 1449 07A9 C95B 1450 07AA 434F 07AB 4D50 07Ae 494C 07AD 45DD 07AE 0774 1451 07AF 0342 07BO 0727 07Bl 028F 07B2 0376 07B3 04D6 1452 07B4 02DO 07B5 04AA 07B6 0448 07B7 026A 1453 1454 07B8 C74C 1455 07B9 4954 07BA 4552 V 0 7B B 41 CC 07BC 07A9 1456 07BD 0342 07BE 0 07 07BF 030B 07CO 0124 L457 07CL: 0004 07C2 0521 07C3 0103 07C4 0448 1458 07C5 026A 1459 1460 07C6 C844 1461 07C7 4C49 07C8 5445 07C9 5241 07CA CC20 07CB 07B8 1 462 0 7 CC 0342 07CD 0407 07CE 030B 07CF 0124 1463 07DO 0004 o 7D 1 0 2D 5 07D2 07BD 07D3 07BD 1464 07D4 026A LJ..65 L:466 l467 1468 1469 07D5 863F 1470 07D6 5354 07D7 4143 07D8 CB20 07D9 07C6 A A A A HEAD .WORD IMM,9,LONG,' [' /256 'CO','MP','IL','E]'+ODD,CREATE-5 .WORD DOCOL,DFIND,ZEQU,ZERO,QERROR .WORD DROP,CFA,COMMA,SEMIS HEAD .WORD IMM,7,LONG,'L'/256 'IT','ER','AL'+ODD,BCOMP-6 .WORD D a:: 0 L, STAT E, AT, ZB R A.N .WORD LITER1-.,COMPIL,LIT,COMMA • WORD SEMIS HEAD .WORD IMM,8,LONG,'D'/256 'LI','TE','RA','L'+EVEN,LITER-5 • WO RD DOCOL,STATE,AT,ZBRAN .WORD DLITE1-.,SWAP,LITER,LITER .WORD SEMIS A A A A A A A A A A A A A A A A A BCOMP: LITER: A A A A A A A A A A A A A A A A A A A A A A A L ITER 1 : DLIT E R : DLITE1: : A A A A A ?STACK HEAD .WORD so S P@ @ SP@ HERE < l~ ·4 2, + ?ERROR < 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 o 7DB 07DC o 7DD o 7DE 1472 07DF 07EO 07E1 07E2 07E3 07E4 1473 07E5 07E6 07E7 o 7E8 07E9 07EA 1474 1475 1476 1477 1478 1479 07EB 1480 07EC 07ED 07EE 07EF 07FO 1481 07F1 1482 07F2 07F3 1483 07F4 07F5 07F6 07F7 07F8 1484 07F9 07FA 07FB 07FC 1485 07FD l:486 07FE 07FF l487 0800 0801 1488 0802 l:489 0803 0804 0805 0806 0807 0808 1490 0809 080A 080B 0342 03AE 030B 0255 045D 037A 04D6 0255 043A 0103 0042 029F 045D 0103 0007 04D6 026A • WORD DOCOL,SZERO,AT,SPAT,LESS A • WORD ONE,QERROR,SPAT,HERE,LIT,0042 A A A A A A A A A A A • WORD PLUS,LESS,LIT,7,QERROR,SEMIS A A QSTACK: A A A ; ;*************************************************** ,. * INTERPRET * ;*********************************~************** ** 8949 4E54 4552 5052 45D4 07D5 0342 0727 0124 OOOF 0407 030B 045D 0124 0005 04AA 0448 o lIB 0003 04AA Oll2 07DA o lIB OOOE 043A 06FA 0412 030B 042B 0124 0004 07CC o lIB A A A A A A A A A A A A A A INTER: INTER1 : A A A A A A A A A A A A A A A HEAD • WORD ORD,9,LONG,'I'/256 'NT','ER','PR','ET'+ODD,QSTACK-5 • WORD .WORD DOCOL DFIND,ZBRAN • WORD INTER4-.,STATE,AT,LESS,ZBRAN • WQRD INTER2-.,CFA,COMMA,BRAN INTER.2: • WORD .WORD:· INTER3-. CFA,EXEC INTER3: • WO RD: QSTACK,BRAN INTER4: • WORD • WO RD~ HERE,NUMB,DPL,Ar,ONEP~ZBRAN \ INTER7-. A A A A • WORD INTER5-.,DLITER,BRAN PACE ASSEMBLER REV-A OS/23/75 FORTH NUCLEUS FOR PACE DICTIONARY 1491 080C 0003 1492 080D 02DO 080E 07BD 1493 080F 07DA 1494 0810 OliB 1495 0811 FFEI 0812 026A 1496 1497 1498 1499 1500 1501 1502 1503 0813 8949 1504 0814 4D4D 0815 4544 0816 4941 0817 54C5 0818 07EB 1505 0819 0342 08lA 049B 081B 02FD 1506 081C 0103 08ID 0040 081E 02ED 081F 026A 1507 1508 1509 1510 1511 1512 0820 8A56 1513 0821 4F43 0822 4142 0823 554C 0824 4152 0825 D920 0826 0813 1514 0827 0342 0828 0575 0829 0103 082A 8LA.0 082B 04 48 1515 082C 0401 082D 030B 082E 04AA 082F 0448 0830 043A 0831 03D8 1516 0832 030B 0833 0448 0834 03D8 0835 03ID 0836 OS7D A A A A A A A INTERS: INTER6: INTER7: .WORD .WORD INTER6-. DROP,LITER .WORD .WORD .WORD QSTACK BRAN INTERI-.,SEMIS , ,.*************************************************** ;* I M ~1 ED I ATE, V 0 CAB UL ARY, D E FIN I T ION S, FOR T H , ( * ,.*************************************************** IMMEDIATE A A A A A A A A A A A A A IMMED : LATEST BYTE VOCAB: TOGGLE HEAD • WORD ORD,9,LONG,'I'/256 'MM','ED','IA','TE'+ODD,INTER-6 • WO RD DOCOL,LATEST,BYTE .WORD LIT,0040,TOGGLE,SEMIS VOCABULARY 1+ CONTEXT A A A A A A A A A A A A A A A A A A A A A A A 40 , @ CURRENT @ VOC-LINK HEAD • WORD ORD,10,LONG,'V'/256 'OC','AB','UL','AR','Y'+EVEN,IMMED-6 • WORD DOCOL,BUILDS,LIT,081AO,C0M1~ • WORD CURR,AT,CFA,COMMA,HERE,VOCL .WORD AT,COMMA,VOCL,STORE,DOES PACE ASSEMBLER REV-A OS/23/75 FORTH NUCLEUS FOR PACE DICTIONARY 1517 0837 0838 0839 083A 1518 1519 083B 1520 083C 083D 083E 1521 083F 0840 0841 0842 0843 1522 1523 0844 1524 0845 0846 0847 0848 0849 084A 1525 084B 084C 084D 084E 084F 0850 1526 1527 0851 1528 0852 1529 0853 0854 0855 0856 0857 1530 1531 1532 1533 1534 1535 0858 1536 0859 08SA 08SB 1537 08SC 085n 08SE 085F 0860 1538 0861 0862 0863 0864 1539 0865 042B 03FA 031D 026A A A A A C546 4F52 54C8 0820 0583 0837 8lAO OC65 0000 A A A A A A A A A 8B44 4546 494E 4954 494F 4ED3 083B 0342 03FA 030B 0401 031D 026A A A A A A A A A A A A A A CIA8 0844 0342 0103 0029 06A8 026A A A A A A A A .WORD ONEP,CONT,STORE,SEMIS HEAD • WORD IMM,5,LONG,'F'/256 'OR','TH'+ODD,VOCAB-7 • WORD DODOES,DOVOC,081AO,TASK-4,O HEAD • WORD ORD,11,LONG,'D'/256 'EF','IN','IT','IO','NS'+ODD,FORTH-4 DEFIN :: .WORD DOCOL,CONT,AT,CURR,STOm.SEMIS PAREN : HEAD .WORD .WORD IMM,I,SHORT,'('/256 DEFIN-7 DOCOL,LIT,')'/256,WORD,SEMIS DOVOC: FORTH: ., ;*************************************************** QUIT, ABORT ,. * * ;*************************************************** 8451 5549 D420 0851 0342 0376 .03DD 031D 052C 0262 OlFC 062D 07Fl 0407 A A A A A A A A A A A A A A HEAD • WORD ORD,4,LONG,'Q'/256 'UI','T'+EVEN,PAREN-2 QUIT: • WORD DOCOL,ZERO,BLK,STORE,LBRAC QUITl: • WORD RPSTOR,CR,QUERY,INTER .WORD STATE,AT,ZEQU,ZBRAN PACE ASSEMBLER REV~A OS/23/75 FORTH NUCLEUS FOR PACE DICTIONARY 0866 0867 0868 15400869 086A 1541 086B 1542 086C 1543 086n 1544 086E 086F 1545 1546 1547 1548 1549 1550 0870 1551 0871 0872 0873 1552 0874 0875, 0876 0877 0878 0879 1553 087A 1554 087B 087C 087D 087E 087F 0880 0881 0882 1555 0883 0884 0885 0886 1556 1557 1558 1559 1560 1561 0887 1562 0888 0889 088A 1563 088B 1564 088C 1565 088D 1566 088E 1567 088F 1568 0890 1569 0891 1570 0892 030B 028F 0124 0004 05CA 0320 4F4B 011B FFF3 026A A A A A~ .WORD QUIT2-.,PDOTQ A A A A A A STRING .ASCII .WORD .WORD 3,' '/256 'OK' BRAN QUIT1-.,SEMIS QUIT2: ABORT SP! DECIMAL DRO CR PACE FORTH V 4.0" [COMPILE] FORTH DEFINITIONS QUIT .It 8541 424F 52D4 0858 0342 025B 0553 097F 01FC 05CA 1150 4143 4520 464F 5254 4820 2056 2034 2E30 083F 084B 08SC 026A A A A A A A A A A A A A A A A A A A A A A A A ABORT: HEAD .WORD ORD,5,LONG,'A'/256 'BO','RT'+ODD,QUIT-4 .WORD DOCOL,SPSTOR,DEC,DRONE,CR,PDOTQ STRING .ASCII 17,'P'/256 'ACE FORTH • WORD FORTH,DEFIN,QUIT,SEMIS V 4.0' , .*************************************************** \ " ;* * COLD START ,.****~:********************************************** 8443 4F4C C420 0870 088C 1423 C912 C206 DIB2 5108 1902 5105 A A A A A A A A A A A A COLD: CENT: HEAD .WORD ORD,4,LONG,'G'/256 'OL','D'+EVEN,ABORT-4 • WORD JSR LD LD ST .+1 INIT X,ORGPTR 0,06(X) 0,FORTH+3 1 ,08 LDUP 1,05 L1' WENT: JMP L1 (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 1572 1573 1574 1575 1576 1577 1578 1579 1580 1581 1582 1583 1584 1585 1586 1587 1588 1589 1590 1591 0893 0894 0895 0896 0897 0898 0899 089A 089B 089C 089D 089E 089F 08AO C90C CE08 DC22 C209 D303 7AOI 7BOI 79FF 19FA C502 9900 0263 0875 0010 A A A A A A A A A A A A A A LD LD ST LDUVS: LD ST AISZ AISZ AISZ JMP LD JMP .WORD START: .WORD IPO: ORGPTR: • WORD LDUP: X,ORGPTR Y,08(X) Y,UP 0',09 (X) 0,03(Y) X,l Y, 1 1,-1 LDUVS IP,IPO @START RPSTOR+1 ABORT+l 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 ,. * * ,.*************************************************** ., . 08A1 08A2 08A3 08A4 08A5 08A6 08A7 08A8 08A9 8453 2D3E C420 0887 08A6 5000 9FOO A A A A A A A 9BF9 I 50FF A OBAA 98F9 I 1592 1593 1594 1595 1596 1597 1598 1599 OBAB B22B A 1600 08AC AD20 A 08AD 08A1 A 1601 08AE 0342 A 08AF 0297 A 08BO 0124 A 1602 08B1 0002 A 08B2 02B4 A 1603 08B3 026A A 1604 1.605 08B4 8344 A 1606 08B5 2BAD A 08B6 08AB A 1607 08B7 0342 A 08BS 0297 A 08B9 0124 A 1608 08BA 0002 A 08BB 02BD A 1609 08Be 026A A 1610 1611 08BD' 8341 A 1612 08BE 42D3 A 08BF 08B4 A 1613 08CO 0342 A 08C1 02DD A STOD: PMI: PMI1: DPMI: DPMI1 :: ABS: HEAD • WORD o RD ,4 , LON G , ' S ' / 2 5 6 '->','D'+EVEN,COLD-4 • WORD LI SKG JMP LI JMP .+1 0,0 O,O(SP) PUSH 0,-1 PUSH HEAD • WORD ORD,2,LONG,'+'/256 '-'+EVEN,STOD-4 • WORD DOCOL,ZLESS,ZBRAN • WORD PMIl-.,MINUS' .WORD SEMIS HEAD .WORD ORD,3,LONG,'D'/256 '+-'+ODD,PMI-3 • WORD DOCOL,ZLESS,ZBRAN .WORD DPM I 1 -. , D.M IN US • WORD SEMIS HEAD .WORD ORD,3,LONG,'A'/256 'BS'+ODD,DPMI-3 • WORD DOCOL,DUP,PMI,SEMIS PACE ASSEMBLER REV-A OS/23/75 FORTH NUCLEUS FOR PACE DICTIONARY 08C2 08AE A 08C3 026A A 1614 1615 08C4 8444 1616 08CS 4142 08C6 0320 08C 7 08BD 161 7 08e8 0342 08C9 0200 08CA 08B7 08CB 026A 1618 1619 08CC 8340 1620 08CD 49CE 08CE 08C4 1621 08CF 0800 1622 0800 C300 1623 08D 1 9FOI 1624 0802 98F6 1625 0803 98FA 1626 1627 0804 8340 1628 0805 4108 0806 08CC 1629 08D7 0808 1630 0808 C300 1631 0809 9FOI 1632 08DA 98FA 1633 08DB 98F6 1634 1635 1636 1637 1638 1639 08De 8240 1640 08DD AA20 08DE 0804 1641 08DF 0342 08ED 02C9 o 8E1 02C9 08E2 0240 08E3 027B 1642 08E4 08CO 08E5 0205 08E6 08CO 08E7 0213 1643 08E8 0283 08E9 08B7 08EA 026A 1644 1645 08EB 8240 1646 08Ee AF20 08ED D8DC 1647 08EE 0342 08EF 02C9 A A A A A A A A A A A A A A I I A A A A A A I I DABS: MIN: MAX: HEAD .WORD ORD,4,LONG,'D'/256 'AB','S'+EVEN,ABS-3 • WORD DOCOL,DUP,DPMI,SEMIS HEAD • WORn ORD,3,LONG~'M~/256 • WORD LD SKG JMP JMP .+1 O,O(SP) O,l(SP) BIN POP HEAD .WORD ORD,3,LONG,'M'/256 'AX'+ODD,MIN-3 • WORD LD SKG JMP JMP .+1 O,O(SP) O,l(SP) POP BIN 'IN'+ODD,DABS-4 GET BOTTO~f COMPARE WITH SECOND IF BOtTOM <= SECOND IF BOTTOM > SECOND GET BOTTOM COMPARE WITH SECOND IF BOTTOM <= SECOND IF BOTTOM > SECOND ; .,,_**************************************M*k********* SIGNED MATH ;*************************~************************* A A A A A A A A A A A A A A A A A A A A MSTAR: MSLASH: HEAD .WORD ORD,2,LONG,'M'/256 '*'+EVEN,MAX-3 • WORD DOCOL,OVER,OVER,XOR,TOR • WORD ABS,SWAP,ABS,USTAR ,. WORD FROMR,DPMI,SEMIS HEAD • WORD ORD,2,LONG,'M'/256 '/'+EVEN,MSTAR-3 .WORD DOCOL,OVER,TOR,TOR PACE ASSEMBLER REV-A OS/23175 FORTH NUCLEUS FOR PACE DICTIONARY 08FO 08F1 1648 08F2 08F3 08F4 08F5 1649 08F6 08F7 08F8 08F9 08FA 1650 08FB 08FC 08FD 08FE 1651 1652 08FF 1653 0900 1654 0901 0902 0903 0904 1655 1656 0905 1657 0906 0907 0908 1658 0909 090A 090B 090C 090D 090E 1659 1660 090F 1661 0910 1662 0911 0912 0913 0914 0915 1663 1664 0916 1665 0917 0918 1666 0919 091A o 91B 091C 1667 1668 091D 1669 091E 091F 0920 1670 0921 027B 027B 08C8 0289 08CO 0227 0283 0289 024D 08AE 02D5 0283 08AE 02D5 026A A A A A A A A A A A A A A A A 81AA 08EB 0342 0213 02DO 026A A A A A A A 842F 4D4F C420 08FF 0342 027B 08A5 0283 08EE 026A A A A A A A A A A .A 81AF 0905 0342 0909 02D5 02DO 026A A A A A A A A 834D 4FC4 090F 0342 0909 02DO 026A A A A A A A A 852A 2F4D 4FC4 0916 0342 A A A A A • WORD DABS,R,ABS,USLASH • WORD FROMR,R,XOR,PMI,SWAP • WORD FROMR,PMI,SWAP,SEMIS HEAD .lV ORD .WORD ORD,1,SHORT,'*'/256 MSLASH-3 DOCOL,USTAR,DROP,SEMIS HEAD • WORD ORD,4,LONG,'/'/256 'MO','D'+EVEN,STAR-2 SLMOD: • WORD DOCOL,TOR,STOD,FROMR,MSLASH,SEMIS SLASH: HEAD • WORD • WORD ORD,1,SHORT,'/'/256 SLMOD-4 DOCOL,SLMOD,SWAP,DROP,SEMIS HEAD .WORD ORD,3,LONG,'M'/256 'OD'+ODD,SLASH-2 .WORD DOCOL,SLMOD,DROP,SEMIS HEAD • WORD ORD,5,LONG,'*'/256. '/M','OD'+ODD,MOD-3 • WORD DOCOL,TOR,MSTAR,FROMR,MSLASH,SEMIS STAR: MOD: SSMO]): PACE ASSEMBLER REV-A OS/23/75 FORTH NUCLEUS FOR PACE DICTIONARY 0922 0923 0924 0925 0926 027B. 08DF 0283 08EE 026A 1671 1672 0927 822A 1673 0928 AF20 0929 091D 1674 092A 0342 092B 0921 092C 02D5 092D 02DO 092E 026A 1675 1676 092F 854D 1677 0930 2F4D 0931 4FC4 0932 0927 1678 0933 0342 0934 027B 0935 0376 0936 0289 0937 0227 0938 0283 1679 0939 02D5 093A 027B 093B 0227 093C 0283 093D 026A 1680 1681 L582 l683 1684 1685 093E 8355 1686 093F 53C5 0940 092F 1687 0941 0367 0942 IDFO 1688 1689 0943 8450 1690 0944 5245 0945 D620 0946 093E 1691 0947 0367 0948 IDFO 1692 1693 0949 842B 1694 094A 4255 094B C620 094C 0943 1695 094D 0342 094E 0103 094F 0042 A A A A A A A A A A A A A A A A A A A A A A A A A A A A SSLASH: MSMOD: HEAD • WORD ORD,2,LONG,'*'/256 '/'+EVEN,SSMOD-4 .WORD DOCOL,SSMOD,SWAP,DROP,SEMIS HEAD • WORD ORD,5,LONG,'M'/256 '/M','OD'+ODD,SSLASH-3 • WORD DOCOL,TOR,ZERO,R,USLASH,FROMR • WORD SWAP,TOR,USLASH,FROM~SEMIS ; , .*************************************************** • 'Ie DISC UTILITY, GENERAL USE t * ,.*************************************************** A A A A A A A A A A A A A A A A A A USE: PREY:: PBUF :: HEAD • WORD ORD,3,LONG,'U'/256 'SE'+ODD,MSt10D-4 • WORD DOVAR,BUFFS HEAD .WORD ORD,4,LONG,'P'/256 'RE','V'+EVEN,USE-3 • WORD DOVAR,BUFFS HEAD • WORD ORD,4,LONG,'+'/256 'BU','F'+EVEN,PREV-4 .WORD DOCOL,LIT,BLKSIZ/2+2,PLUS PACE ASSEMBLER REV-A OS/23/75 FORTH NUCLEUS FOR PACE DICTIONARY 0950 1696 0951 0952 0953 0954 1697 0955 0956 0957 1698 0958 0959 095A 095B 095C 1699 1 700 095D 1701 095E 095F 0960 0961 1702 0962 0963 0964 0965 0966 0967 1703 0968 0969 029F 02DD 0393 0457 0124 0003 02DO 038D 02DD 0947 030B 0450 026A A A A A A A A A A A A A 8655 5044 4154 C520 0949 0342 0947 030B 030B 0103 8000 0246 0947 096A 030B o 96B 031D 096C 026A A A A A A A A A A A A A A A A A 1 704 1 705 096D 8D45 1706 096E 4D50 096F 5459 0970 2D42 0971 5546 1707 0972 4645 0973 52D3 0974 095D 1708 0975 0342 0976 038D 0977 0393 1 709 0978 02C9 0979 0450 097A 0668 097B 026A 1710 1711 097C 8344 1712 097D 52B1 097E 096D 1713 097F 0342 0980 0376 0981 03F3 0982 031D 0983 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 PBUF II : UPDATE: MTBUF: DRONE: • WORD DUP,LIMIT,EQUAL,ZBRAN • WORD PBUF1-.,DROP,FIRST • WORD DUP,PREV,AT~SUB,SEMIS HEAD • WORD ORD,6,LONG,'U'/256 PPD','AT','E'+EVEN,PBUF-4 .WORD DOCOL,PREV,AT,AT,LIT,08000 • WORD OR,PREV,AT,STORE,SEMIS HEAD • WORD ORD,13,LONG,'E'/256 'MP','TY','-B','UF' • WORD 'FE','RS'+ODD,UPDATE-5 • WORD DOCOL,FIRST,LIMIT .WORD OVER,SUB,ERASE,SEMIS HEAD • WORD ORD,3,LONG,'D'/256 'R1'+ODD,MTBUF-8 • WORn DOCOL,ZERO,OFFSET,STORE,SEMIS PACE ASSEMBLER REV-A OS/23/75 FORTH NUCLEUS FOR PACE DICTIONARY 1714 1715 0984 8344 1716 0985 52B2 0986 097C 171709870342 0988 0103 0989 07DO 1718 098A 03F3 098B 031D 098C 026A 1 719 1720 1 721 1 722 A A A A A A A A A DRTWO: HEAD .WORD ORD,3,LONq,'D'/256 'R2'+ODD,DRONE-3 .WORD DOCOL,LIT,2000 .WORD OFFSET,STORE,SEMIS ,. ,.*************************************************** ;* BUFFER * ,.*************************************************** L 12 3 BUFFER L724 L725 1 726 l727 1728 1729 098D 8642 1730 098E 5546 098F 4645 0990 D220 0991 0984 1731 0992 0342 0993 0941 0994 030B 0995 02DD 0996 027B 17320997 094D 0998 0124 1733 0999 FFFE 099A 0941 099B 031D 1734 099C 0289 099D 030B 099E 0297 099F 0124 1735 09AO OOOA 09Al 0289 09A2 042B 09A3 0289 09A4 030B 1736 09A5 0103 09A6 7FFF 09A7 023F 09A8 0376 09A9 OA63 1737 09AA 0289 09AB 031D 09AC 0289 o 9AD 0947 09AE 031D 1738 09AF 0283 USE USE R A A A A A A A A A A A A A A A A A A A A A A A A A A A A A A A A A A A R R @ @ DUP 0< PREY >R BEGIN IF R R> AND 1+ R 1+ 0 +BUF UNTIL @ 7FFF R/W HEAD • WORD ORD,6,LONG,'B'/256 'UF','FE','R'+EVEN,DRTWO-3 BUFFER: • WORD DOCOL,USE,AT,DUP,TOR BUFF 1. : • WORD PBUF,ZBRAN • WORD BUFFl-.,USE,STORE .WORD R,AT,ZLESS,ZBRAN .WORD BUFF2-.,R,ONEP,R,AT .WORD LIT,07FFF,AND,ZERO,RW .WORD R,STORE,R,PREV,STORE .WORD FROMR,ONEP,SEMIS BUFF2: ENDIF PACE ASSEMBLER REV-A OS/23/75 FORTH NUCLEUS FOR PACE DICTIONARY 09BO 042B A 09Bl 026A A 1739 1740 l14l 1742 1743 1744 1745 1746 1747 1748 1749 1750 1751 1752 09B2 8542 1753 09B3 4C4F 09B4 43CB 09B5 098D 1754 09B6 0342 09B7 03F3 09B8 030B 09B9 029F 09BA 027B 1755 09BB 0947 09BC 030B 09BD 02DD 09BE 030B 09BF 0289 1756 09CO 0450 09Cl 02DD 09C2 029F 09C3 0124 1757 09C4 001A 1758 09C5 094D 09C6 028F 09C7 0124 1759 09C8 OOOA 09C9 02DO 09CA 0289 09CB 0992 1760 09CC 02DD o 9CD 0289 09CE 037A 09CF OA63 09DO 037A 09Dl 0450 1 761 09D2 02DD 09D3 030B 09D4 0289 09D5 0450 09D6 02DD 1762 09D7 029F 09D8 028F 09D9 0124 ;***************************************M********** BLOCK ;* * ,.*************************************************** BLOCK OFFSET @ +- i>R PREV @ DUP @ R DUP + BEGIN +BUF IF 0= IF DROP R BUFFER DUP R 1 R/W 1 ENDIF DUP @ R DUP + 0= UNTIL DUP PREV ENDfF R> DROP 1+ A A A A A A A A A A A A A A A A A A A A A A A A A A A A A A A A A A A A A A A A BLOCK: BLOCK1: BLOCK2: HEAD .WORD ORD,5,LONG,'B' /256 'LO','CK'+ODD,BUFFER-5 .WORD DOCOL,OFFSET,AT,PLUS,TOR .WORD PREV,AT,DUP,AT,R .WORD SUB,DUP,PLUS,ZBRAN .WORD .WORD BLOCK3-. PBUF,ZEQU,ZBRAN .WORD BLOCK2-.,DROP,R,BUFFER .WORD DUP,R,ONE,RW,ONE,SUB • WORD DUP,AT,R,SUB,DUP .WORD PLUS,ZEQU,ZBRAN PACE ASSEMBLER REV-A OS/23/75 FORTH NUCLEUS FOR PACE DICTIONARY 1763 09DA 09DB 09DC 0900 1764 090E 09DF 09EO 09E1 1765 1 766 1767 1768 1769 1770 1771 1772 1773 09E2 1774 09E3 09E4 09E5 09E6 1775 09E7 09E8 09E9 09EA 09EB 09EC 1776 09ED 09EE 09EF 09FO 09F1 1777 09F2 09F3 09F4 09F5 09F6 1 778 1779 09F7 1780 09F8 09F9 09FA 1781 09FB 09FC 09FD 09FE 09FF 1782 1783 OADO 1784 OA01 FFEB 02DD 0947 031D 0283 0200 042B 026A A A A A A A A A BLOCK3: .WORD BLOCK1-.,DUP,PREV,STQRE .WORD FROMR,DROP,ONEP,SEMIS , ,.*************************************************** ;* TEXT OUTPUT FORMATTING * ,.*************************************************** : 8628 4C49 4E45 A920 09B2 0342 027B 0103 0040 0399 0921 0283 039F 0901 029F 09B6 02FD 029F 0103 0040 026A A A A A A A A A A A A A A A A A A A A A A 852E 4C49 4EC5 09E2 0342 09E7 05BO 0599 026A A A A A A A A A A PLINE: DLINE: 874D A 4553 A (LINE) >R 40 B/BUF */MOD R> + BLOCK BYTE + 40 HEAD .WORD ORD,6,LONG,'('/256 'LI','NE',')'+EVEN,BLOCK-4 • WORD DOCOL,TOR,LIT,64,BBUF,SSMOD • WORD FROMR,BSCR,STAR,PLUS,BLOCK • WORD BYTE,PLUS,LIT,64,SEMIS HEAD .WORD ORD,5,LONG,'.'/256 'LI','NE'+ODD,PLINE-5 .WORD DOCOL,PLINE,DTRAIL,TYPE,SEMIS HEAD • WORD ORD,7,LONG,'M'/256 'ES', 'SA', 'GE'+ODD,DLlNE-4 • WORD DOCOL,WARN,AT,ZBRAN OA02534LA OA03 47CS A OA04 09F 7 A 1785 OA05 0342 A OA06 03C5 A MESS: B/SCR * PACE ASSEMBLER REV-A OS/23/75 FORTH NUCLEUS FOR PACE DICTIONARY OA07 OA08 1786 OA09 OAOA OAOB 1787 OADC OAOD OAOE OAOF OA10 1788 OA11 OA12 OAl3 OA14 1789 OA15 1790 OAl6 1791 OA17 1792 OAl8 1793 OAl9 OAIA OAIB 1794 OA1C 1795 OAID 1796 1797 1798 1 799 1800 1801 OAIE 1802 OAIF OA20 OA21 1803 OA22 OA23 OA24 OA25 OA26 OA27 OA28 1804 OA29 OA2A OA2B OA2C OA2D OA2E OA2F 1805 OA30 OA31 OA32 OA33 1806 OA34 OA35 OA36 OA37 1807 030B 0124 OOOE 047D 0124 0009 0103 0004 03F3 030B 039F 0911 0450 09FB o liB 0007 05CA 064D 5347 2023 2020 OBD5 026A A A A A A A A A A A A A A A A A A A A A A MESS1: MESS2: A A MESS3: ; • WORD MESS2-.,DDUP,ZBRAN • WORD MESSI-.,LIT,4,OFFSET,AT .WORD BSCR,SLASH,SUB,DLINE • WORD • WORD • WORD STRING .ASCII BRAN MESS3-. PDOTQ 6,'M'/256 , 'SG , .WORD • WORD DOT SEMIS ,.*************************************************** ' LOAD, --> ,. * * ;*************************************************** 844C 4F41 C420 OAOO 0342 03DD 030B 027B 03E2 030B 027B 0376 03E2 031D 039F 0901 03DD 031D 07F! 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 LOAD: HEAD • WORD ORD,4,LONG,'L'/256 'OA','D'+EVEN,MESS-5 .WORD DOCOL,BLK,AT,TOR"IN,AT,TOR .WORD ZERO,IN,STORE,BSCR,STAR,BLK,STORE • WORn INTER,FROMR,IN,STORE • WORD FROMR,BLK,STORE,SEMIS A A A A A A OA38 - OAS8 ARROW OA3B A PEMIT OA49 A PKEY OA4D A PQTERM OA4F A peR OA53 A PACE ASSEMBLER REV-A OS/23/75 FORTH NUCLEUS FOR PACE DICTIONARY 1850 OA59 OA5A 1851 1852 OA5B 1853 OA5C OA5D 1854 OA5E OA5F 1855 1856 1857 1858 1859 1860 1861 1862 OA60 1863 OA61 OA62 1864 OA63 OA64 OA65 OA66 1865 OA67 OA68 OA69 OA6A OA6B 1866 OA6C OA6D OA6E OA6F OAlO OA71 1867 OA72 OA73 OA74 OA75 OA76 1868 OA77 OA78 1869 OA79 OA7A OA7B OA7C 1870 1871 1872 1873 l874 1875 OA7D 1876 OA7E 1877 OA7F OA80 OA8! OA82 035C A 3FCO A 824C CF20 OA56 035C 2000 A A A A A HI: LO: .WORD DOCON,HIBLK HEAD • WORD ORD,2,LONG,'L'/256 '0'+EVEN,HI-3 • WORD nOCON,LOBLK R/W 8352 2FD7 OA5B 0342 027B 02DD 0297 0103 0006 04D6 0399 0305 0901 OA5E 029F 02DD OA59 0463 0103 0006 04D6 0283 0124 0002 02D5 0399 0305 0201 026A A A A A A A A A A A A A A A A A A A A A RW: ( BLOCK, < 0 ? 6 ?ERROR >R DUP 0< B/BUF CELL * LO + ( FWA OF BLOCK ( TOO HIGH ? DUP HI > 6 ?ERROR ( TO OR FROM ? R> IF SWAP ENDIF ( TRANSFER DATA B/BUF CELL MOVE HEAD .WORD ORD,3,LONG,'R'/256 '/W'+ODD,LO-3 • WORD DOCOL,TOR,DUP,ZLESS .WORD LIT,6,QERROR,BBUF,CELL • WORD STAR,LO,PLUS,DUP,HI,GREAT • WORn LIT,6,QERROR,FROMR,ZBRAN • WORD RW1-.,SWAP • WORD BBUF,CELL,MOVE,SEMIS ) ) ) ) ) A A A A A A A A A RWl: ; ,.*************************************************** ;* " FORGET * ,.***********************************M************** C1A7 OA60 0342 0727 028F 0376 A A A A A A TICK: HEAD • WORn • WORD IMM,1,SHORT,""/256 RW-3 DOCOL,DFIND,ZEQU,ZERO PACE ASSEMBLER REV-A OS/23/75 FORTH NUCLEUS FOR PACE DICTIONARY 1878 OA83 OA84 OA8S OA86 1879 1880 1881 1882 1883 1884 1885 1886 1887 1888 1889 1890 189l 1892 1893 1894 1895 1896 1897 1898 1899 OA87 1900 OA88 OA89 OA8A OA8B 1901 OA8C OA8D OA8E OA8F OA90 1902 OA91 OA92 OA93 OA94 1903 OA95 OA96 OA97 OA98 OA99 OA9A 1904 OA9B OA9C OA9D OA9E OA9F OAAO 1905 OAAI OAA2 OAA3 OAA4 1906 OAA5 04D6 02DO 07BD 026A A A A A • WORD QERROR,DROP,LITER,SEMIS , ;*********************************~** ««««(***** 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 ROVER < (FORGET ENTIRE VOCAB? ) [COMPILE] FORTH DEFINITIONS WHILE @ DUP VOC-L INK! (UNL INK VOCAB REPEAT BEGIN DUP 2 ( START AT PHANTOM NAME ) BEGIN PFA LFA @ (HEAD OF WORD ) DUP R < (FORGETTING IT ? ) UNTIL OVER 1 ( NEW HEAD OF VOCAB ) @ -DUP 0= (END OF VOCAB LIST ? ) UNTIL R> DP ( NEW DICTIONARY POINTER ) FORGET 8646 4F52 4745 D420 OA7D 0342 0401 030B 03FA 030B 0450 0103 0018 04D6 OA7F 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 FORGET: FORG 1 :: HEAD .WORD ORD,6,LONG,'F'/256 'OR','GE','T'+EVEN,TICK-2 • WORn DOCOL,CURR,AT,CONT,AT • WORD SUB,LIT,0018,QERROR • WORD TICK,NFA,DUP,FENCE,AT,LESS .WORD LIT,0015,QERROR,TOR,VOCL,AT • WORD R,OVER,LESS,ZBRAN • WORD FORG2-.,FORTH,DEFIN PACE ASSEMBLER REV-A OS/23/75 FORTH NUCLEUS FOR PACE DICTIONARY 1907 1908 1909 1910 1 911 1912 1913 OAA6 OAA7 OAA8 OAA9 OAAA OAAB OAAC OAAD OAAE OAAF OABO OAB1 OAB2 OAB3 OAB4 OAB5 OAB6 OAB7 OAB8 OAB9 OABA OABB OABC OABD OABE OABF OACO OAC1 OAC2 OAC3 OAC4 OAC5 083F 084B 030B 02DD 03D8 031D 011 B FFF4 02DD 037E 0450 04CO 04A3 030B 02DD 0289 045D 0124 FFF9 02C9 037A 0450 031D 030B 047D 028F 0124 FFED 0283 03DO 031D 026A 1914 1915 19l6 1917 1918 1919 OAC6 8442 1920 OAC7 4143 OAC8 CB20 OAC9 OA87 1921 OACA 0342 OACB 043A OACC 0450 OACD 0448 OACE 026A 1922 1923 OACF C542 1924 OADO 4547 OADI 49CE OAD2 OAC6 1925 OAD3 0342 OAD4 04E3 OAD5 043A OAD6 037A A A A A A A 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 AT,DUP,VOCL,STORE,BRAN FORG:2 : • WORD .WORD FORG 1- • DUP,TWO,SUB FORG3 : .WORD PFA,LFA,AT,DUP,R,LESS,ZBRAN • WORD FORG3-.,OVER,ONE,SUB,STORE • WORD AT,DDUP,ZEQU,ZBRAN • WORD FORG2-.,FROMR,DP,STORE,SEMIS A A ; ;***********************************************k*** .* CO NDITIONAL COMPILER, PER SHIRA * ;*************************************M************ ) A A A A A A A A A A A A A A A A A BACK: BEGIN: HEAD .WORD ORD,4,LONG,'B'/256 'AC','K'+EVEN,FORGET-5 • WORD DOCOL,HERE,SUB,COMMA,SEMIS HEAD .WORD IMM,5,LONG,'B'/256 'EG','IN'+ODD,BACK-4 .WORD DOCOL,QCOMP,HERE,ONE,SEMIS PACE ASSEMBLER REV-A OS/23/75 FORTH NUCLEUS FOR PACE DICTIONARY OAD7 026A 1926 1927 OAD8 C545 1928 OAD9 4E44 OADA 49C6 OADB OACF 1929 OADC 0342 OADD 04E3 OADE 037E OADF 04FB OAEO 043A 1930 OAEI 02C9 OAE2 0450 OAE3 02D5 OAE4 031D OAE5 026A 1931 1932 OAE6 C454 1933 OAE7 4845 OAE8 CE20 OAE9 OAD8 1934 OAEA 0342 OAEB OADC OAEC 026A 1935 1936 OAED C244 1937 OAEE CF20 OAEF OAE6 1938 OAFO 0342 OAF1 0521 OAF2 0155 1939 OAF3 043A OAF4 0382 OAFS 026A 1940 1941 OAF6 C44C 1942 OAF7 4F4F OAF8 D020 OAF9 OAED 1943 OAPA 0342 OAFB 0382 OAFC 04FB OAFD 0521 1944 OAFE 012F OAFF OACA OBOO 026A 1945 1946 OBOI C52B 1947 OB02 4C4F OB03 4FDO OB04 OAF6 1948 OB05 0342 OB06 0382 OB07 04FB OB08 0521 A A A A AI A END IF:: A A A A A A A A A HEAD • WORn IMM,5,LONG,'E'/256 'ND','IF'+ODD,BEGIN-4 .WORD DOCOL,QCOMP,TWO,QPAIRS,HERE .WQRD OVER,SUB,SWAP,STORE,SEMIS A A A A A A A HEAD • WORD IMM,4,LONG,'T'/256 'HE','N'+EVEN,ENDIF-4 • WORD DOCOL,ENDIF,SEMIS HEAD • WORD IMM,2,LONG,'D'/256 '0'+EVEN,THEN-4 .WORD DOCOL,COMPIL,XDO • WORD HERE, THREE, SEMIS HEAD • WORD IMM,4,LONG,'L'/256 '00','P'+EVEN,DO-3 .WORD DOCOL,THREE,QPAIRS,COMPIL .WORD XLOOP,BACK,SEMIS HEAD • WORn IMM,5,LONG,'+'/256 'LO','OP'+ODD,LOOP-4 • WORD DOCOL,THREE,QPAIR~,COMPIL A A A A A A A A A A A A A A A A A A A A A A A A A A A A THEN: DO: LOOP: PLOOP: PACE ASSEMBLER REV-A OS/23/75 FORTH NUCLEUS FOR PACE DICTIONARY 1949 OB09 OBOA OBOB 1950 1951 OBOC 1952 OBOD OBOE OBOF 1953 OB10 OB11 OB12 OB13 1954 OB14 OB15 OB16 1955 1956 OB17 1957 OB18 OB19 1958 OB1A OBlB OB1C 1959 1960 OBID 1961 OBlE OB1F OB20 1962 OB21 OB22 OB23 OB24 1963 OB25 OB26 OB27 1964 1965 OB28 1966 OB29 OB2A OB2B OB2e 1967 OB2D OB2E OB2F OB30 OB31 1968 OB32 OB33 OB34 OB35 OB36 1969 1970 OB37 1971 OB38 OB39 1972 OB3A 0140 A OACA' A 026A A .WORD XPLOOP,BACK,SEMIS C555 4E54 49CC OB01 0342 037A 04FB 0521 0124 OACA 026A HEAD • WORD IMM,5,LONG,'U'/256 'NT','IL'+ODD,PLOOP-4 A A A A A A A • WORD DOCOL,ONE,QPAIRS,COMPIL • WORD ZBRAN,BACK,SEMIS C345 4EC4 OBOC 0342 OB10 026A A A A A A A HEAD • WORD IMM,3,LONG,'E'/256 'ND'+ODD,UNTIL-4 .WORD DOCOL,UNTIL,SEMIS C541 4741 49CE OB17 0342 037A 04FB 0521 o lIB OACA 026A A A A HEAD .WORD IMM,5,LONG,'A'/256 'GA','IN'+ODD,END-3 .WORD DOCOL,ONE,QPAIRS,COMPIL A A A A A .WORD BRAN,BACK,SEMIS A A HEAD • WORD IM1, 6 , LONG, , R ' /256 'EP','EA','T'+EVEN,AGAIN-4 .WORD DOCOL,TOR,TOR,AGAIN,FROMR • WORD FROMR,TWO,SUB,ENDIF,SEMIS HEAD .WORD IMM,2,LONG,'I'/256 'F'+EVEN,REPEAT-5 • WORD DOCOL,COMPIL,ZBRAN,HERE A A A A UNTIL: END: A A AGAIN: A C652 4550 4541 D420 OB1D 0342 027B 027B OB21 0283 0283 037E 0450 OADC 026A A A A A A A A A A A A A C249 C620 OB28 0342 A A A A A REPEAT: IF: PACE ASSEMBLER REV-A OS/23/75 FORTH NUCLEUS FOR PACE DICTIONARY OB3B OB3C OB3D 1973 OB3E OB3F OB40 OB41 1974 1975 OB42 1976 OB43 OB44 OB45 1977 OB46 OB47 OB48 OB49 1978 OB4A OB4B OB4C OB4D 1979 OB4E OB4F OB50 OB51 OB52 1980 1981 01353 1982 OB54 OB55 OB56 1983 OB57 OB58 OB59 OB5A 1984 1985 1986 1987 1988 1989 OB5B 1990 OB5C OB5D OB5E OB5F 1991 OB60 OB61 OB62 OB63 OB64 1992 OB65 OB66 OB67 1993 OB68 OB69 1994 OB6A 0521 0124 043A 0376 0448 037E 026A A A A C445 4C53 C520 OB37 0342 037E 04FB 0521 o lIB 043A 0376 0448 02D5 037E OADC 037E 026A A A A A A A A A A A A A A A A A A C557 4849 4CC5 OB42 0342 OB3A 0432 026A A A • WORD ZERO,COMMA,TWO,SEMIS HEAD • WORD IMM,4,LONG,'E'/256 'LS','E'+EVEN,IF-3 • WORD DOCOL,TWO,QPAIRS,COMPIL .WORD BRAN,HERE,ZERO,COMMA • WORD SWAP,TWO,ENDIF,TWO,SEMIS HEAD • WORD IMM,5,LONG,'W'/256 'HI','LE'+ODD,ELSE-4 • WORD DOCOL,IF,TWOP,SEMIS A A A A A A A A ELSE: WHILE: A A ; ,.*************************************************** NUMERIC PRIMITIVES ,. * * ,.**************************************~*********** 8653 5041 4345 D320 OB53 0342 0376 08D 7 047D 0124 0006 0376 0155 0475 012F FFFE HEAD: A A A A A A A A A A A A SPACES: ORD~6.LONG~'S'/256 .WORD 'PA' " 'CE' 'S'+EVEN , WHILE-4 . • WORD DOCOL,ZERO,MAX,DDUP,ZBRAN • WORD SPACE2-.,ZERO,XDO .WORD SPACE, XLnop • WORD SPACE1-. A A A A SPACE1: PACE ASSEMBLER REV-A OS/23/75 FORTH NUCLEUS FOR PACE DICTIONARY 1995 OB6B 026A A 1996 1997 1998 1999 OB6C 823C A 2000 OB6D A320 A OB6E OB5B A 2001 OB6F ·0342 A OB70 0686 A OB71 02FD A OB72 0426 A OB73 031D A OB74 026A A 2002 2003 2004 2005 2006 OB75 8223 A 2007 OB76 BE20 A OB77 OB6C A 2008 OB78 0342 A OB79 02DO A OB7A 02DO A OB7B 0426 A OB7C 030B A 2009 OB 7D 0686 A OB7E 02FD A OB7F 02C9 A OB80 0450 A OB81 026A A 2010 2011 OB82 8453 A 2012 OB83 4947 A OB84 CE20 A OB85 OB75 A 2013 OB86 0342 A OB87 046A A OB88 0297 A OB89 0124 A 2014 OB8A 0004 A OB8B 0103 A OB8C 002D A OB8D 067A A 2015 OB8E 026A A 2016 2017 OB8F 81A3 A 2018 OB90 OB82 A 2019 OB91 0342 A OB92 040D A OB93 030B A OB94 0933 A OB95 046A A 2020 OB96 0103 A OB97 0009 A OB98 02C9 A SPACE2: <, BDIGS: ,> .WORD PAD SEMIS BYTE HLD HEAD .WORD ORD,2,LONG,'<'/256 , ,'+EVEN,SPACES-5 • WORD DOCOL,PAD,BYTE,HLD,STORE,SEMIS HLD DROP DROP BYTE OVER PAD @ + HEAD • WORD ORD,2,LONG,','/256 '>'+EVEN,BDIGS-3 • WORD DOCOL,DROP,DROP,HLD,AT • WO,RD PAD,BYTE,QVER,SUB,SEMIS HEAD • WORD ORD,4,LONG,'S'/256 'IG','N'+EVEN,EDIGS-3 .WORD DOCOL,ROT,ZLESS,ZBRAN .WORD SIGN1-.,LIT, -'/256,HOLD SIGNl: • WORD SEMIS DIG: HEAD .WORD • WORD ORD,l,SHORT, ,'/256 SIGN-4 DOCOL,BASE,AT,MSMOD,ROT • WORn LIT,9,OVER,LESS,ZBRAN EDIGS: SIGN: , , PACE ASSEMBLER REV-A OS/23/75 FORTH NUCLEUS FOR PACE DICTIONARY OB99 OB9A 2021 OB9B OB9C OB9D OB9E 2022 OB9F OBAO OBAI OBA2 OBA3 2023 2024 OBA4 2025 OBA5 OBA6 2026 OBA7 2027 OBA8 OBA9 OBAA OBAB OBAC OBAD 2028 OBAE OBAF 2029 2030 2031 2032 2033 2034 OBBO 2035 OBBI OBB2 2036 OBB3 OBB4 OBB5 OBB6 OBB7 20.37 OBB8 OBB9 OBBA OBBB OBBC 2038 OBBD OBBE OBBF OBCO OBCI 2039 2.040 OBC2 2041 OBC3 OBC4 2042 OBC5 OBC6 OBC7 OBC8 045D 0124 0004 0103 0007 029F 0103 0030 029F 067A 026A A A A A A A A A A A A 8223 D320 OB8F 0342 OB91 02C9 02C9 0246 028F 0124 FFFA 026A A A A A A A A A A A A A DIG I : DIGS: DIGSI: • WORD DIG1-.,LIT,7,PLUS • WORD LIT,0030,PLUS,HOLD,SEMIS HEAD .WORD ORD,2,LONG,',,'/256 'S'+EVEN,DIG-2 .WORD • WORD DOCOL DIG,OVER,OVER,OR,ZEQU,ZBRAN • WORD DIGS1-.,SEMIS ; ,.*************************************************** OUTPUT OPERATORS ,. * * ;*************************************************** 8344 2ED2 OBA4 0342 027B 02D5 02C9 08C8 OB6F OBA7 OB86 OB78 0283 02C9 0450 OB60 0599 026A A A A A A A A A A A A A A A A A A A 822E D220 OBBO 0342 027B 08A5 0283 A A A A A A A DDOTR: DOTR: HEAD • WORD ORD,3,LONG,'D'/256 '.R'+ODD,DIGS-3 • WORD DOCOL,TOR,SWAP,OVER,DABS • WORD BDIGS,DIGS,SIGN,EDIGS,FROMR • WORD OVER,SUB,SPACES,TYPE,SEMIS HEAD • WORD ORD,2,LONG,'.'/256 'R'+EVEN,DDOTR-3 • WORD DOCOL,TOR,STOD,FROMR,DDOTR,SEMIS PACE ASSEMBLER REV-A OS/23/75 FORTH NUCLEUS FOR PACE DICTIONARY OBC9 OBB3 A OBCA 026A A 2043 2044 OBeB 8244 2045 OBCC AE20 OBCD OBC2 2046 OBCE 0342 OBCF 0376 OBDO OBB3 OBDI 0475 OBD2 026A 2047 2048 OBD3 8lAE 2049 OBD4 OBCB 2050 OBD5 0342 OBD6 08A5 OBD7 OBCE OBD8 026A 2051 2052 OBD9 81BF 2053 OBDA OBD3 2054 OBDB 0342 OBDC 030B OBDD OBD5 OBDE 026A 2055 2056 OBDF 8255 2057 OBEO AE20 OBEI OBD9 2058 OBE2 0342 OBE3 0376 OBE4 OBCE OBE5 026A 2059 2060 2061 2062 2063 2064 OBE6 844C 2065 OBE7 4953 OBE8 D420 OBE9 OBDF 2066 OBEA 0342 OBEB 01FC OBEC 02DD OBED 03EC OBEE 031D OBEF 05CA 2067 OBFO 0653 2068 OBFl 4352 OBF2 2023 OBF3 2020 2069 OBF4 OBD5 OBF5 0103 OBF6 0010 HEAD • WORD ORD,2,LONG,'D'/256 '.'+EVEN,DOTR-3 DDOT: • WORD DOCOL,ZERO,DDOTR,SPACE,SEMIS DOT: HEAD .WORD • WORD DDOT-3 DOCOL,STOD,DDOT,SEMIS QUES :: HEAD • WORD • WORD ORD,1,SHORT,'?'/256 DOT-2 DOCOL,AT,DOT,SEMIS HEAD .WORD ORD,2,LONG,'U'/256 '.'+EVEN,QUES-2 • WORD DOCOL,ZERO,DDOT,SEMIS A A A A A A A A A A A ORD,1,SHO~T,'.'/256 A A A A A A A A A A A A A A A A UDOT: ; ;*************************************************** PROGRAM DOCUMENTATION ,. * * ;*************************************************** A A HEAD • WORD ORD,4,LONG,'L'/256 'IS','T'+EVEN,UDOT-3 • WORD DOCOL,CR,DUP,SCR,STORE,PDOTQ STRING .ASCII 6,'S'/256 , 'CR , .WORD DOT,LIT,16,ZERO,XDO A A A A A A A A A A A A A A A LIST: PACE ASSEMBLER REV-A OS/23/75 FORTH NUCLEUS FOR PACE DICTIONARY OBF7 OBF8 2070 OBF9 OBFA OBFB OBFC OBFD OBFE 2071 OBFF OCOO OCOJ OC02 OC03 2072 OC04 OC05 OC06 2073 2074 OC07 2075 OC08 OC09 OCOA 2076 OCOB OCOC OCOD OCOE 2077 OCOF OCIO OCII OCl2 2078 OC13 OC14 OC15 OC16 OC17 OC18 2079 OC19 OClA OClB OClC OC1D 2080 OClE OCIF 2081 OC20 2082 OC2l OC22 2083 2084 oe23 2085 OC24 OC25 OC26 2086 OC27 OC28 OC29 OC2A OC2B 0376 0155 01FC 0161 0376 0382 OBB3 0475 0161 03EC 030B 09FB 012F FFF5 OIFC 026A A A A A A A A A A A A A A A A A 8549 4E44 45D8 OBE6 0342 0103 OOOC 01ED OlFC 042B 02D5 0155 OlFC 0161 0376 0382 OBB3 0475 0376 0161 09FB 01F8 0124 0002 0273 012F FFF2 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 8554 5249 41C4 OCO 7 0342 0103 OOOC OlED 0382 A A A A A A A A A LIST1: INDEX: INDEXI: INDEX2: TRIAD: • WORD CR,I,ZERO,THREE,DDOTR,SPACE • WORD I,SCR,AT,DLINE,XLOOP .WORD LIST1-.,CR,SEMIS HEAD • WORD ORD,5,LONG,'I'/256 'ND','EX'+ODD,L"IST-4 • WORD DOCOL,LIT,OOOC,EMIT • WORn CR,ONEP,SWAP,XDO • WORn CR,I,ZERO,THREE,DDOTR,SPACE .WORD ZERO,I,DLINE,QTERM,ZBRAN • WORD INDEX2-.,LEAVE .WORD .WORD XLOOP INDEX1-.,SEMIS HEAD • WORD ORD,5,LONG,'T'/256 • WORD DOCOL,LIT,9 00C ,EMIT,THREE 'RI','AD'+ODD~INDEX-4 PACE ASSEMBLER REV-A OS/23/75 FORTH NUCLEUS FOR PACE DICTIONARY 2087 oe2C OC2D oe2E OC2F 2088 OC30 oe31 OC32 OC33 2089 OC34 OC35 oe36 OC37 2090 oe38 OC39 OC3A OC3B 2091 OC3C oe3D OC3E 2092 2093 2094 2095 2096 2097 OC3F 2098 OC40 OC41 OC42 2099 OC43 oe44 OC45 OC46 OC47 2100 oe48 oe49 oe4A 2101 OC4B OC4C OC4D OC4E OC4F OC50 2102 OC51 OCS2 OCS3 OCS4 OCS5 2103 OC56 oe57 OCS8 OCS9 2104 OC5A OCSB OCSC OC5D 0911 0382 0901 0382 02C9 029F 02D5 0155 01FC 0161 OBEA 012F FFFe 01FC 0103 OOOF OA05 01FC 026A A .WORD SLASH,THREE,STAR,THREE .WORD OVER,PLUS,SWAP,XDO .WORD CR,I,LIST,XLOOP • WORD TRIAD1-.,CR,LIT,000F • WORD MESS,CR,SEMtS A A A A A ,A A A A A A A A A A A A A TRIAD1: ., ,.*************************************************** TOOLS ,. * * ,.***~:*********************************************** 8556 4C49 53D4 oe23 0342 0103 0080 03E 7 031D 03FA 030B 030B 03E7 030B 0103 0040 0463 0124 0005 01FC 0376 03E7 031D 02DD 075D 0475 0475 04CO 04A3 030B 02DD A A A A A A A A A A A A A A A A A A A A A A A A A A A A A A A VL I ST: VLIST1: VLIST2: HEAD .WORD ORD,5,LONG,'V'/256 'LI','ST'+ODD,TRIAD-4 • WORD DOCOL,LIT,0080,OUT,STORE • WORD CONT,AT,AT .WORD OUT,AT,LIT,0040,GREAT,ZBRAN • WORD VLIST2-.,CR,ZERO,OUT,STORE • WORD DUP,IDDOT,SPACE,SPACE • WORD PFA,LFA,AT,DUP,ZEQU PACE ASSEMBLER REV-A OS/23/75 FORTH NUCLEUS FOR PACE DICTIONARY OC5E 2105 OC5F OC60 OC61 2106 OC62 OC63 OC64 2107 2108 OC6.5 2109 OC66 OC67 OC68 2110 OC69 OC6A 2 111 028F 01F8 0246 0124 FFE9 02DO 026A A A A A A A A 8454 4153 CB20 OC3F 0342 026A A A A A A A TASK: • WORD QTERM,OR,ZBRAN • WORD VLISTl-.,DROP,SEMIS HEAD • WORD ORD,4,LONG,'T'/256 'AS','K'+EVEN,VLIST-4 .WORD DOCOL,SEMIS PACE ASSEMBLER REV-A OS/23/75 FORTH NUCLEUS FOR PACE DICTIONARY .PAGE 2112 2113 ; 088e FIN: .END PACE ASSEMBLER REV-A OS/23/75 FORTH NUCLEUS FOR PACE 00F6 00F7 00F8 00F9 OOFA OOFB OOFC OOFD OOFE 02A2 0108 0109 0107 015D 01SC 7E44 7E3B 7ECC A A A A A A A A A CENT ABORT ALLOT AT BAD BCOMP BIN BLANKS BLOCK BLOCK3 BUFFI BUFFS BYTE CENT CMOVE CMOVE3 COMMA CONT CR CRY CSTORE DABS DDUP DELIM D ICT 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 lDFO 02FD 088C 0690 06A2 0448 03FA OlFC 0007 0324 08C8 047D OlDA 0100 0166 09FB 02BD 035C OBD5 OSEE 0367 OOlF 08B7 02DO 05Cl 02DD OlED 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 CMOVEI COLD COMPIL COUNT CREAT1 CSET CURR DDOT DEC DFIND DIG DIGS DLITEI DO DODOES DOTQ DOTR DOVOC DPL DPMII DRTWO DTRA3 EDIGS ENCL ENDNAM ERROR 08CO 023F OACA 040D OB6F 0003 03DD 09C5 o lIB 09AA 0210 0311 04AA 0698 088B 0521 058E 078C OOOA 0401 OBCE 0553 0727 OB9l DBA7 07D4 OAFO 0583 05D8 OBC5 0837 0412 08BC 0987 05C3 OB78 OlBl OlAl 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 ARROW BACKSP BBUF BEGIN BL BLKSIZ BLOCK2 BSCR BUFFER BUILDS CELL CKBASE CMOVE2 COLON CON CPU CREATE CSP CYCLE DDOTR DEFIN DFIND1 DIG1 DIGSI DLITER DOCOL DOES DOTQl DOUSER DP 'DPLUS DRONE DTRAI .DTRAIL ELSE END EQUAL ERRORI OB21 OA3B 0017 0399 OAD3 0387 0080 09D2 039F 0992 0575 0305 016F 06Al 0338 0357 0014 0779 04lC 018A OBB3 084B 0737 OB9F OBA8 07CC 0342 057D 05EA 0371 03DO 02A7 097F 05B4 05BO OB46 OBlA 0457 074B A A A* A A A A A A A A A A A A A A* A A A A A A A A A A A A A A A A A A A A A A PACE ASSEMBLER REV-A OS/23/75 FORTH NUCLEUS FOR PACE EVEN EXPEC2 EXPEC5 FENCEO FIRST FORG2 FORTH FROMR HEAD HI HOLD IF IN INDEX2 INTER1 INTER4 INTER7 IPO LBRAC LEAVE LIMIT L IST1 LITERI LO LONG M MESS1 MIN MINUS1 MOVE MSLASH MTBUF NEW2 NFA NUL NULL2 NUMB1 NZ ONE ORD OUT PABORT PART PCR PFA PLINE PMI PNUMBl POOL PORIG PSCODE PUSH QCOMP QERR2 QLOAD 8000 0611 0624 001E 038D OAAE 083F 0283 FORM OA59 067A OB3A 03E2 OC20 07F2 0803 0810 089F 052C 0273 0393 OBF9 07C5 OA5E 0000 OOOB OAI5 08CF 0223 0201 08EE 0975 01CD 04Bl OlD 1 0651 070A 0005 037A 0000 03E 7 073D 0002 OA53 04CO 09E7 08AE 06D5 0230 03A6 055E 0107 04E3 04DE 0514 A A A A* A A A A A A A A A A A A A A A A A A A A A A A A A A A A A A A A A A A A A A A A A A A A A A A A A A EXEC EXPEC3 EXPECT FILL FLD FORG3 FORTHO GETC HERE HIBLK I IMM INDEX INIT INTER2 INTERS INTEST KEY LDUP LESS LINK LIT LMASK LOAD LOOP MAX MESS2 MINI MISS MOVE1 MSMOD NBUF NEWNAM NINE NULL NULL3 NUMB2 ODD ONEP ORGPTR OVER PAD PBUF PDOTQ PFIND PLOOP PMIl PNUMB2 POP PQTERM PSTORE PUT QCSP QERROR QPAIRS 0112 061D 05F4 0658 0417 OAB1 0016 7E3B 043A 3FCO 0161 0001 OCOB 0023 07FE 080D 7ECC OlFl 0894 045D 0008 0103 01E7 OA22 OAFA 08D 7 OA17 023B 019C 0207 0933 0008 0181 0177 063A 0653 071D 0080 042B 08AO 02C9 0686 094D 05CA 017D OB05 08B3 06FO 015D OA4F 02E3 0108 0505 04D6 04FB A A A A A A A* A A A A A A A A A A A A A A A A A A A A A A A A A A A A A A A A A A A A A A A A A A A A A A A A EXPEC1 EXPEC4 FENCE FIN FORG1 FORGET FOUND GREAT HEX HLD IDDOT IMMED INDEX1 INTER INTER3 INTER6 IP LATEST LDUVS LFA LIST LITER LNDEL LOBLK LP MESS MESS3 MINUS MOD MOVE2 MSTAR NEW1 NEXT NONUL NULLl NUMB NUMB3 OFFSET OR ORIG P PAREN PBUF1 PEMIT PKEY PLUS PNUMB PNUMB3 POP2 PREV PULL PUTC QERRI QEXEC QSTACK 05F9 061E 03CB OC6B OAA1 OA8C 0194 0463 0548 0426 075D 0819 OC13 07F1 0800 080F 0001 049B 0896 04A3 OBEA 07BD 01CB 2000 0219 OA05 OA1D 02B4 0919 020E 08DF 01BE 0109 01D6 064F 06FA 0722 03F3 0246 0010 0002 0853 0958 OA49 OA4D 029F 06D4 06F3 O15C 0947 014F 7E44 04DD 04EF 07DA A A A A A A A A A A A A A A A A A A A A A A A A A A A A A A A A A A A A A A A A A A A A A A A A A A A A A A A PACE ASSEMBLER REV-A OS/23/75 FORTH NUCLEUS FOR PACE QTERM QUES QUIT2 RBRAC RMASK ROT RTI RWI SCR SEMIC SIGN SLMOD SPACE SPACES SSLASH START STORE SWAP TEST TIB TOGGLE TRAV TRIADI TYPE TYPE3 UNTIL USE USTAR VLIST VOCAB W WENT WIDTHO WORD2 X3FFF XDO XLOOP XPLOOP ZBRAN ZLESS 01F8 OBDB 086D 0533 01E8 046A 01C4 OA79 03EC 0569 OB86 0909 0475 OB60 092A 089E 03lD 02D5 02lE 03B8 02ED 0488 OC34 0599 05A9 OBlO 0941 0213 OC43 0827 0002 0892 OOlC 06B4 01A8 0155 012F 0140 0124 0297 A A A A A A A A A A A A A A A A A A A A A A A A A A A A A A A A A* A A A A A A A NO ERROR LINES SOURCE CHECKSUM A ZEQU QUAD QUIT R REPEAT 'RNDEL RP RT2 RZERO SCSP SEMIS SIGNI SMUDGE SPACEI SPAT SSMOD STATE STRING SZERO THEN TIBO TOPMEM TRAVI TWO TYPEI UO UP USER UVARS VLIST1 VOCL WARN WHILE WORD X X7F7F XFF XLOOPI Y ZEQU E77A 028:F A 0000 085C 0289 OB2D OlCA 0021 OlDD 03B3 04CC 026A OB8E 053E OB68 0255 0921 0407 FORM 03AE OAEA OOlB 2000 048A 037E 05Al 0018 0022 036E lDDO OC4B 03D8 03C5 OB57 06A8 0002 o IA9· 03lA 0137 0003 028F ZERO A A A A A A A A A A A A A A A A QUERY QUITI RO REV RNUM RPSTOR RW SO SEMI SHORT SLASH SP SPACE2 SPSTOR STAR STOD SUB TASK THREE TICK TOR TRIAD TWOP TYPE2 UDOT UPDATE USLASH VAR VLIST2 VOCLO WARNO WIDTH WORDI XOOFF X8080 XFFOO XOR Z ZERO A A A* A A A A A* A A A A A A A A A A A A A A 0376 A 062D 0861 OOlA 0015 0421 0262 OA63 0019 034A 0001 0911 0003 OB6B 025B 0901 08A5 0450 OC69 0382 OA7F 027B OC27 0432 05A8 OBE2 0962 0227 036,4 OC56 0020 OOlD 03BE 06B2 0335 OlAB OlAA 024D 0001 0376 A A A* A* A A A A* A A A A A A A A A A A A A A A A A A A A A A* A* A A A A A A A A
Source Exif Data:
File Type : PDF File Type Extension : pdf MIME Type : application/pdf PDF Version : 1.3 Linearized : No XMP Toolkit : Adobe XMP Core 4.2.1-c043 52.372728, 2009/01/18-15:56:37 Create Date : 2014:10:19 18:24:25-08:00 Modify Date : 2014:10:19 17:40:28-07:00 Metadata Date : 2014:10:19 17:40:28-07:00 Producer : Adobe Acrobat 9.55 Paper Capture Plug-in Format : application/pdf Document ID : uuid:a8ba968b-c701-1948-8635-a0824ed2113d Instance ID : uuid:fc5daa18-a1e2-3841-81b5-10797a12c192 Page Layout : SinglePage Page Mode : UseOutlines Page Count : 74EXIF Metadata provided by EXIF.tools