| 1 | ;;; -*-LISP-*- |
|---|
| 2 | |
|---|
| 3 | ; ** (c) Copyright 1980 Massachusetts Institute of Technology ** |
|---|
| 4 | ;;; This file contains all the definitions for the machine instruction set |
|---|
| 5 | ;;; and some other stuff needed by the compiler. |
|---|
| 6 | |
|---|
| 7 | |
|---|
| 8 | ;;; This section contains various information regarding the misc. instructions |
|---|
| 9 | ;;; on the Lisp Machine. Every entry is of the form: |
|---|
| 10 | ;;; (DEFMIC <name> <opcode> <arglist> <lisp-function-p> <no-QINTCMP>) |
|---|
| 11 | ;;; <name> is the name of the instruction. If the Lisp function name |
|---|
| 12 | ;;; is different from the instruction name, this is a cons |
|---|
| 13 | ;;; of the function name and the instruction name (e.g. (CAR . M-CAR)) |
|---|
| 14 | ;;; <opcode> is the number which appears in the macro-instruction. |
|---|
| 15 | ;;; <arglist> is a list resembling a lambda-list for the Lisp function |
|---|
| 16 | ;;; corresponding to the instruction. & keywords not allowed. |
|---|
| 17 | ;;; <lisp-function-p> should be either T or NIL. If T, then there |
|---|
| 18 | ;;; will be a Lisp function defined in the initial Lisp |
|---|
| 19 | ;;; environment (available in the interpreter) corresponding |
|---|
| 20 | ;;; to the instruction. |
|---|
| 21 | ;;; <no-QINTCMP> is OPTIONAL. If it is not present it is taken to be NIL. |
|---|
| 22 | ;;; If it is non-NIL, then no QINTCMP property will be created |
|---|
| 23 | ;;; for the symbol. Otherwise the QINTCMP property is created from |
|---|
| 24 | ;;; the length of <arglist>. The QINTCMP property permits the |
|---|
| 25 | ;;; compiler to compile calls to this function as a misc instruction. |
|---|
| 26 | |
|---|
| 27 | ;240 241 FREE |
|---|
| 28 | (DEFMIC (CAR . M-CAR) 242 (X) T T) |
|---|
| 29 | (DEFMIC (CDR . M-CDR) 243 (X) T T) |
|---|
| 30 | (DEFMIC (CAAR . M-CAAR) 244 (X) T T) |
|---|
| 31 | (DEFMIC (CADR . M-CADR) 245 (X) T T) |
|---|
| 32 | (DEFMIC (CDAR . M-CDAR) 246 (X) T T) |
|---|
| 33 | (DEFMIC (CDDR . M-CDDR) 247 (X) T T) |
|---|
| 34 | (DEFMIC CAAAR 250 (X) T) |
|---|
| 35 | (DEFMIC CAADR 251 (X) T) |
|---|
| 36 | (DEFMIC CADAR 252 (X) T) |
|---|
| 37 | (DEFMIC CADDR 253 (X) T) |
|---|
| 38 | (DEFMIC CDAAR 254 (X) T) |
|---|
| 39 | (DEFMIC CDADR 255 (X) T) |
|---|
| 40 | (DEFMIC CDDAR 256 (X) T) |
|---|
| 41 | (DEFMIC CDDDR 257 (X) T) |
|---|
| 42 | (DEFMIC CAAAAR 260 (X) T) |
|---|
| 43 | (DEFMIC CAAADR 261 (X) T) |
|---|
| 44 | (DEFMIC CAADAR 262 (X) T) |
|---|
| 45 | (DEFMIC CAADDR 263 (X) T) |
|---|
| 46 | (DEFMIC CADAAR 264 (X) T) |
|---|
| 47 | (DEFMIC CADADR 265 (X) T) |
|---|
| 48 | (DEFMIC CADDAR 266 (X) T) |
|---|
| 49 | (DEFMIC CADDDR 267 (X) T) |
|---|
| 50 | (DEFMIC CDAAAR 270 (X) T) |
|---|
| 51 | (DEFMIC CDAADR 271 (X) T) |
|---|
| 52 | (DEFMIC CDADAR 272 (X) T) |
|---|
| 53 | (DEFMIC CDADDR 273 (X) T) |
|---|
| 54 | (DEFMIC CDDAAR 274 (X) T) |
|---|
| 55 | (DEFMIC CDDADR 275 (X) T) |
|---|
| 56 | (DEFMIC CDDDAR 276 (X) T) |
|---|
| 57 | (DEFMIC CDDDDR 277 (X) T) |
|---|
| 58 | |
|---|
| 59 | ;300-302 FREE |
|---|
| 60 | (DEFMIC %DATA-TYPE 303 (X) T) |
|---|
| 61 | (DEFMIC %POINTER 304 (X) T) |
|---|
| 62 | ;305-307 FREE |
|---|
| 63 | (DEFMIC %MAKE-POINTER 310 (DTP ADDRESS) T) |
|---|
| 64 | (DEFMIC %SPREAD 311 (LIST) NIL T) |
|---|
| 65 | (DEFMIC %P-STORE-CONTENTS 312 (POINTER X) T) |
|---|
| 66 | (DEFMIC %LOGLDB 313 (PPSS WORD) T) ;THESE DONT COMPLAIN ABOUT LOADING/CLOBBERING SIGN |
|---|
| 67 | (DEFMIC %LOGDPB 314 (VALUE PPSS WORD) T) ;RESULT IS ALWAYS A FIXNUM |
|---|
| 68 | (DEFMIC LDB 315 (PPSS WORD) T) |
|---|
| 69 | (DEFMIC DPB 316 (VALUE PPSS WORD) T) |
|---|
| 70 | (DEFMIC %P-STORE-TAG-AND-POINTER 317 (POINTER MISC-FIELDS POINTER-FIELD) T) |
|---|
| 71 | |
|---|
| 72 | (DEFMIC GET 320 (SYMBOL PROPNAME) T) |
|---|
| 73 | (DEFMIC GETL 321 (SYMBOL PROPLIST) T) |
|---|
| 74 | (DEFMIC ASSQ 322 (X ALIST) T) |
|---|
| 75 | (DEFMIC LAST 323 (LIST) T) |
|---|
| 76 | (DEFMIC LENGTH 324 (LIST) T) |
|---|
| 77 | (DEFMIC 1+ 325 (N) T) |
|---|
| 78 | (DEFMIC 1- 326 (N) T) |
|---|
| 79 | (DEFMIC RPLACA 327 (CONS X) T) |
|---|
| 80 | (DEFMIC RPLACD 330 (CONS X) T) |
|---|
| 81 | (DEFMIC ZEROP 331 (NUMBER) T) |
|---|
| 82 | (DEFMIC SET 332 (SYMBOL X) T) |
|---|
| 83 | ;333 FREE |
|---|
| 84 | ;334 FREE |
|---|
| 85 | ;335 FREE |
|---|
| 86 | ;(DEFMIC STORE 336 ) |
|---|
| 87 | (DEFMIC XSTORE 337 (NEWDATA ARRAYREF) T) |
|---|
| 88 | |
|---|
| 89 | (DEFMIC FALSE 340 () T) |
|---|
| 90 | (DEFMIC TRUE 341 () T) |
|---|
| 91 | (DEFMIC NOT 342 (X) T) |
|---|
| 92 | (DEFMIC (NULL . NOT) 342 (X) T) |
|---|
| 93 | (DEFMIC ATOM 343 (X) T) |
|---|
| 94 | (DEFMIC ODDP 344 (NUMBER) T) |
|---|
| 95 | (DEFMIC EVENP 345 (NUMBER) T) |
|---|
| 96 | (DEFMIC %HALT 346 () T) |
|---|
| 97 | (DEFMIC GET-PNAME 347 (SYMBOL) T) |
|---|
| 98 | (DEFMIC LSH 350 (N NBITS) T) |
|---|
| 99 | (DEFMIC ROT 351 (N NBITS) T) |
|---|
| 100 | (DEFMIC *BOOLE 352 (FN ARG1 ARG2) T) |
|---|
| 101 | (DEFMIC NUMBERP 353 (X) T) |
|---|
| 102 | (DEFMIC PLUSP 354 (NUMBER) T) |
|---|
| 103 | (DEFMIC MINUSP 355 (NUMBER) T) |
|---|
| 104 | (DEFMIC \ 356 (X Y) T) |
|---|
| 105 | (DEFMIC MINUS 357 (NUMBER) T) |
|---|
| 106 | (DEFMIC PRINT-NAME-CELL-LOCATION 360 (SYMBOL) T) |
|---|
| 107 | (DEFMIC VALUE-CELL-LOCATION 361 (SYMBOL) T) |
|---|
| 108 | (DEFMIC FUNCTION-CELL-LOCATION 362 (SYMBOL) T) |
|---|
| 109 | (DEFMIC PROPERTY-CELL-LOCATION 363 (SYMBOL) T) |
|---|
| 110 | (DEFMIC NCONS 364 (X) T) |
|---|
| 111 | (DEFMIC NCONS-IN-AREA 365 (X AREA) T) |
|---|
| 112 | (DEFMIC CONS 366 (X Y) T) |
|---|
| 113 | (DEFMIC CONS-IN-AREA 367 (X Y AREA) T) |
|---|
| 114 | (DEFMIC XCONS 370 (X Y) T) |
|---|
| 115 | (DEFMIC XCONS-IN-AREA 371 (X Y AREA) T) |
|---|
| 116 | ;(DEFMIC ARRAY-DIMENSION-N 372 (---) T) |
|---|
| 117 | (DEFMIC SYMEVAL 373 (SYMBOL) T) |
|---|
| 118 | ;(DEFMIC %AREA-RELATIVE-CONTENTS 374 (---) T) |
|---|
| 119 | (DEFMIC MAKE-LIST 375 (AREA LENGTH) T) |
|---|
| 120 | (DEFMIC %CALL-MULT-VALUE 376 () NIL T) |
|---|
| 121 | (DEFMIC %CALL0-MULT-VALUE 377 () NIL T) |
|---|
| 122 | (DEFMIC %RETURN-2 400 () NIL T) |
|---|
| 123 | (DEFMIC %RETURN-3 401 () NIL T) |
|---|
| 124 | (DEFMIC %RETURN-N 402 () NIL T) |
|---|
| 125 | (DEFMIC RETURN-NEXT-VALUE 403 (X) NIL) |
|---|
| 126 | (DEFMIC RETURN-LIST 404 (VALUES) NIL T) |
|---|
| 127 | ;(DEFMIC APPLY 405 ) |
|---|
| 128 | (DEFMIC BIND 406 (POINTER X) NIL) |
|---|
| 129 | ;(DEFMIC GET-MACRO-ARG-DESC-POINTER 407 ) |
|---|
| 130 | (DEFMIC MEMQ 410 (X LIST) T) |
|---|
| 131 | (DEFMIC (< . M-<) 411 (NUM1 NUM2) T) |
|---|
| 132 | (DEFMIC (> . M->) 412 (NUM1 NUM2) T) |
|---|
| 133 | (DEFMIC (= . M-=) 413 (NUM1 NUM2) T) |
|---|
| 134 | (DEFMIC CHAR-EQUAL 414 (CH1 CH2) T) |
|---|
| 135 | (DEFMIC %STRING-SEARCH-CHAR 415 (CHAR STRING START END) T) |
|---|
| 136 | (DEFMIC %STRING-EQUAL 416 (STRING1 INDEX1 STRING2 INDEX2 COUNT) T) |
|---|
| 137 | (DEFMIC NTH 417 (N LIST) T) |
|---|
| 138 | (DEFMIC NTHCDR 420 (N LIST) T) |
|---|
| 139 | (DEFMIC (*PLUS . M-+) 421 (NUM1 NUM2) T) |
|---|
| 140 | (DEFMIC (*DIF . M--) 422 (NUM1 NUM2) T) |
|---|
| 141 | (DEFMIC (*TIMES . M-*) 423 (NUM1 NUM2) T) |
|---|
| 142 | (DEFMIC (*QUO . M-//) 424 (NUM1 NUM2) T) |
|---|
| 143 | (DEFMIC (*LOGAND . M-LOGAND) 425 (NUM1 NUM2) T) |
|---|
| 144 | (DEFMIC (*LOGXOR . M-LOGXOR) 426 (NUM1 NUM2) T) |
|---|
| 145 | (DEFMIC (*LOGIOR . M-LOGIOR) 427 (NUM1 NUM2) T) |
|---|
| 146 | (DEFMIC ARRAY-LEADER 430 (ARRAY INDEX) T) |
|---|
| 147 | (DEFMIC STORE-ARRAY-LEADER 431 (X ARRAY INDEX) T) |
|---|
| 148 | (DEFMIC GET-LIST-POINTER-INTO-ARRAY 432 (ARRAY) T) |
|---|
| 149 | (DEFMIC ARRAY-PUSH 433 (ARRAY X) T) |
|---|
| 150 | (DEFMIC APPLY 434 (FN ARGS) T) |
|---|
| 151 | ;435-441 FREE |
|---|
| 152 | (DEFMIC %P-FLAG-BIT 442 (POINTER) T) |
|---|
| 153 | (DEFMIC %P-CDR-CODE 443 (POINTER) T) |
|---|
| 154 | (DEFMIC %P-DATA-TYPE 444 (POINTER) T) |
|---|
| 155 | (DEFMIC %P-POINTER 445 (POINTER) T) |
|---|
| 156 | (DEFMIC %PAGE-TRACE 446 (TABLE) T) |
|---|
| 157 | (DEFMIC %P-STORE-FLAG-BIT 447 (POINTER FLAG-BIT) T) |
|---|
| 158 | (DEFMIC %P-STORE-CDR-CODE 450 (POINTER CDR-CODE) T) |
|---|
| 159 | (DEFMIC %P-STORE-DATA-TYPE 451 (POINTER DATA-TYPE) T) |
|---|
| 160 | (DEFMIC %P-STORE-POINTER 452 (POINTER POINTER) T) |
|---|
| 161 | ;453-455 FREE |
|---|
| 162 | (DEFMIC %CATCH-OPEN 456 () NIL T) |
|---|
| 163 | (DEFMIC %CATCH-OPEN-MV 457 () NIL T) |
|---|
| 164 | ;461, 462 FREE |
|---|
| 165 | (DEFMIC %FEXPR-CALL 462 () NIL T) |
|---|
| 166 | (DEFMIC %FEXPR-CALL-MV 463 () NIL T) |
|---|
| 167 | (DEFMIC %LEXPR-CALL 464 () NIL T) |
|---|
| 168 | (DEFMIC %LEXPR-CALL-MV 465 () NIL T) |
|---|
| 169 | (DEFMIC *CATCH 466 (TAG FORM) T T) |
|---|
| 170 | ;467 FREE |
|---|
| 171 | (DEFMIC *THROW 470 (TAG VALUE) T) |
|---|
| 172 | (DEFMIC %XBUS-WRITE-SYNC 471 (IO-ADDR WORD DELAY SYNC-LOC SYNC-MASK SYNC-VAL) T) |
|---|
| 173 | (DEFMIC %P-LDB 472 (PPSS POINTER) T) |
|---|
| 174 | (DEFMIC %P-DPB 473 (VALUE PPSS POINTER) T) |
|---|
| 175 | (DEFMIC MASK-FIELD 474 (PPSS FIXNUM) T) |
|---|
| 176 | (DEFMIC %P-MASK-FIELD 475 (PPSS POINTER) T) |
|---|
| 177 | (DEFMIC DEPOSIT-FIELD 476 (VALUE PPSS FIXNUM) T) |
|---|
| 178 | (DEFMIC %P-DEPOSIT-FIELD 477 (VALUE PPSS POINTER) T) |
|---|
| 179 | (DEFMIC COPY-ARRAY-CONTENTS 500 (FROM TO) T) |
|---|
| 180 | (DEFMIC COPY-ARRAY-CONTENTS-AND-LEADER 501 (FROM TO) T) |
|---|
| 181 | (DEFMIC %FUNCTION-INSIDE-SELF 502 () T) |
|---|
| 182 | (DEFMIC ARRAY-HAS-LEADER-P 503 (ARRAY) T) |
|---|
| 183 | (DEFMIC COPY-ARRAY-PORTION 504 (FROM-ARRAY FROM-START FROM-END TO-ARRAY TO-START TO-END) T) |
|---|
| 184 | (DEFMIC FIND-POSITION-IN-LIST 505 (X LIST) T) |
|---|
| 185 | ;(DEFMIC FIND-POSITION-IN-LIST-EQUAL 506 ) |
|---|
| 186 | (DEFMIC G-L-P 507 (ARRAY) T) |
|---|
| 187 | (DEFMIC FIND-POSITION-IN-VECTOR 510 (X LIST) NIL) |
|---|
| 188 | ;(DEFMIC FIND-POSITION-IN-VECTOR-EQUAL 511 ) |
|---|
| 189 | (DEFMIC AR-1 512 (ARRAY SUB) T) |
|---|
| 190 | (DEFMIC AR-2 513 (ARRAY SUB1 SUB2) T) |
|---|
| 191 | (DEFMIC AR-3 514 (ARRAY SUB1 SUB2 SUB3) T) |
|---|
| 192 | (DEFMIC AS-1 515 (VALUE ARRAY SUB) T) |
|---|
| 193 | (DEFMIC AS-2 516 (VALUE ARRAY SUB1 SUB2) T) |
|---|
| 194 | (DEFMIC AS-3 517 (VALUE ARRAY SUB1 SUB2 SUB3) T) |
|---|
| 195 | (DEFMIC %INSTANCE-REF 520 (INSTANCE INDEX) T) |
|---|
| 196 | (DEFMIC %INSTANCE-LOC 521 (INSTANCE INDEX) T) |
|---|
| 197 | (DEFMIC %INSTANCE-SET 522 (VAL INSTANCE INDEX) T) |
|---|
| 198 | ;523-525 FREE |
|---|
| 199 | (DEFMIC %GC-CONS-WORK 526 (NQS) T) |
|---|
| 200 | (DEFMIC %P-CONTENTS-OFFSET 527 (POINTER OFFSET) T) |
|---|
| 201 | (DEFMIC %DISK-RESTORE 530 (PARTITION-HIGH-16-BITS LOW-16-BITS) T) |
|---|
| 202 | (DEFMIC %DISK-SAVE 531 (MAIN-MEMORY-SIZE PARTITION-HIGH-16-BITS LOW-16-BITS) T) |
|---|
| 203 | (DEFMIC %ARGS-INFO 532 (FUNCTION) T) |
|---|
| 204 | (DEFMIC %OPEN-CALL-BLOCK 533 (FUNCTION ADI-PAIRS DESTINATION) NIL) |
|---|
| 205 | (DEFMIC %PUSH 534 (X) NIL) |
|---|
| 206 | (DEFMIC %ACTIVATE-OPEN-CALL-BLOCK 535 () NIL) |
|---|
| 207 | (DEFMIC %ASSURE-PDL-ROOM 536 (ROOM) NIL) |
|---|
| 208 | (DEFMIC STACK-GROUP-RETURN 537 (X) T) |
|---|
| 209 | ;(DEFMIC %STACK-GROUP-RETURN-MULTI 540 ) |
|---|
| 210 | ;541-542 FREE |
|---|
| 211 | (DEFMIC %CALL-MULT-VALUE-LIST 543 () NIL T) |
|---|
| 212 | (DEFMIC %CALL0-MULT-VALUE-LIST 544 () NIL T) |
|---|
| 213 | (DEFMIC %GC-SCAV-RESET 545 (REGION) T) |
|---|
| 214 | (DEFMIC %P-STORE-CONTENTS-OFFSET 546 (X POINTER OFFSET) T) |
|---|
| 215 | (DEFMIC %GC-FREE-REGION 547 (REGION) T) |
|---|
| 216 | (DEFMIC %GC-FLIP 550 (REGION) T) |
|---|
| 217 | (DEFMIC ARRAY-LENGTH 551 (ARRAY) T) |
|---|
| 218 | (DEFMIC ARRAY-ACTIVE-LENGTH 552 (ARRAY) T) |
|---|
| 219 | (DEFMIC %COMPUTE-PAGE-HASH 553 (ADDR) T) |
|---|
| 220 | (DEFMIC GET-LOCATIVE-POINTER-INTO-ARRAY 554 (ARRAY-REF) T) |
|---|
| 221 | (DEFMIC %UNIBUS-READ 555 (UNIBUS-ADDR) T) |
|---|
| 222 | (DEFMIC %UNIBUS-WRITE 556 (UNIBUS-ADDR WORD) T) |
|---|
| 223 | (DEFMIC %GC-SCAVENGE 557 (WORK-UNITS) T) |
|---|
| 224 | (DEFMIC %CHAOS-WAKEUP 560 () T) |
|---|
| 225 | (DEFMIC %AREA-NUMBER 561 (X) T) |
|---|
| 226 | (DEFMIC *MAX 562 (NUM1 NUM2) T) |
|---|
| 227 | (DEFMIC *MIN 563 (NUM1 NUM2) T) |
|---|
| 228 | (DEFMIC CLOSURE 565 (SYMBOL-LIST FUNCTION) T) |
|---|
| 229 | ;(DEFMIC DOWNWARD-CLOSURE 566 (SYMBOL-LIST FUNCTION) T) |
|---|
| 230 | (DEFMIC LISTP 567 (X) T) |
|---|
| 231 | (DEFMIC NLISTP 570 (X) T) |
|---|
| 232 | (DEFMIC SYMBOLP 571 (X) T) |
|---|
| 233 | (DEFMIC NSYMBOLP 572 (X) T) |
|---|
| 234 | (DEFMIC ARRAYP 573 (X) T) |
|---|
| 235 | (DEFMIC FBOUNDP 574 (SYMBOL) T) |
|---|
| 236 | (DEFMIC STRINGP 575 (X) T) |
|---|
| 237 | (DEFMIC BOUNDP 576 (SYMBOL) T) |
|---|
| 238 | (DEFMIC \\ 577 (NUM1 NUM2) T) |
|---|
| 239 | (DEFMIC FSYMEVAL 600 (SYMBOL) T) |
|---|
| 240 | (DEFMIC AP-1 601 (ARRAY SUB) T) |
|---|
| 241 | (DEFMIC AP-2 602 (ARRAY SUB1 SUB2) T) |
|---|
| 242 | (DEFMIC AP-3 603 (ARRAY SUB1 SUB2 SUB3) T) |
|---|
| 243 | (DEFMIC AP-LEADER 604 (ARRAY SUB) T) |
|---|
| 244 | (DEFMIC %P-LDB-OFFSET 605 (PPSS POINTER OFFSET) T) |
|---|
| 245 | (DEFMIC %P-DPB-OFFSET 606 (VALUE PPSS POINTER OFFSET) T) |
|---|
| 246 | (DEFMIC %P-MASK-FIELD-OFFSET 607 (PPSS POINTER OFFSET) T) |
|---|
| 247 | (DEFMIC %P-DEPOSIT-FIELD-OFFSET 610 (VALUE PPSS POINTER OFFSET) T) |
|---|
| 248 | (DEFMIC %MULTIPLY-FRACTIONS 611 (NUM1 NUM2) T) |
|---|
| 249 | (DEFMIC %DIVIDE-DOUBLE 612 (HIGH-DIVIDEND LOW-DIVIDEND DIVISOR) T) |
|---|
| 250 | (DEFMIC %REMAINDER-DOUBLE 613 (HIGH-DIVIDEND LOW-DIVIDEND DIVISOR) T) |
|---|
| 251 | (DEFMIC HAULONG 614 (NUM) T) |
|---|
| 252 | (DEFMIC %ALLOCATE-AND-INITIALIZE 615 (RETURN-DTP HEADER-DTP HEADER WORD2 AREA NQS) T) |
|---|
| 253 | (DEFMIC %ALLOCATE-AND-INITIALIZE-ARRAY 616 (HEADER INDEX-LENGTH LEADER-LENGTH AREA NQS) T) |
|---|
| 254 | (DEFMIC %MAKE-POINTER-OFFSET 617 (NEW-DTP POINTER OFFSET) T) |
|---|
| 255 | (DEFMIC ^ 620 (NUM EXPT) T) |
|---|
| 256 | (DEFMIC %CHANGE-PAGE-STATUS 621 (VIRT-ADDR SWAP-STATUS ACCESS-AND-META) T) |
|---|
| 257 | (DEFMIC %CREATE-PHYSICAL-PAGE 622 (PHYS-ADDR) T) |
|---|
| 258 | (DEFMIC %DELETE-PHYSICAL-PAGE 623 (PHYS-ADDR) T) |
|---|
| 259 | (DEFMIC %24-BIT-PLUS 624 (NUM1 NUM2) T) |
|---|
| 260 | (DEFMIC %24-BIT-DIFFERENCE 625 (NUM1 NUM2) T) |
|---|
| 261 | (DEFMIC %24-BIT-TIMES 626 (NUM1 NUM2) T) |
|---|
| 262 | (DEFMIC ABS 627 (NUM) T) |
|---|
| 263 | (DEFMIC %POINTER-DIFFERENCE 630 (PTR1 PTR2) T) |
|---|
| 264 | (DEFMIC %P-CONTENTS-AS-LOCATIVE 631 (POINTER) T) |
|---|
| 265 | (DEFMIC %P-CONTENTS-AS-LOCATIVE-OFFSET 632 (POINTER OFFSET) T) |
|---|
| 266 | (DEFMIC (EQ . M-EQ) 633 (X Y) T) |
|---|
| 267 | (DEFMIC %STORE-CONDITIONAL 634 (POINTER OLD NEW) T) |
|---|
| 268 | (DEFMIC %STACK-FRAME-POINTER 635 () NIL) |
|---|
| 269 | (DEFMIC *UNWIND-STACK 636 (TAG VALUE FRAME-COUNT ACTION) T) |
|---|
| 270 | (DEFMIC %XBUS-READ 637 (IO-ADDR) T) |
|---|
| 271 | (DEFMIC %XBUS-WRITE 640 (IO-ADDR WORD) T) |
|---|
| 272 | (DEFMIC PACKAGE-CELL-LOCATION 641 (SYMBOL) T) |
|---|
| 273 | (DEFMIC MOVE-PDL-TOP 642 NIL NIL T) |
|---|
| 274 | (DEFMIC SHRINK-PDL-SAVE-TOP 643 (VALUE-TO-MOVE N-SLOTS) NIL T) |
|---|
| 275 | (DEFMIC SPECIAL-PDL-INDEX 644 NIL NIL T) |
|---|
| 276 | (DEFMIC UNBIND-TO-INDEX 645 (SPECIAL-PDL-INDEX) NIL T) |
|---|
| 277 | (DEFMIC UNBIND-TO-INDEX-MOVE 646 (SPECIAL-PDL-INDEX VALUE-TO-MOVE) NIL T) |
|---|
| 278 | (DEFMIC FIX 647 (NUMBER) T) |
|---|
| 279 | (DEFMIC FLOAT 650 (NUMBER) T) |
|---|
| 280 | (DEFMIC SMALL-FLOAT 651 (NUMBER) T) |
|---|
| 281 | (DEFMIC %FLOAT-DOUBLE 652 (NUMBER NUMBER) T) |
|---|
| 282 | (DEFMIC BIGNUM-TO-ARRAY 653 (BIGNUM BASE) T) |
|---|
| 283 | (DEFMIC ARRAY-TO-BIGNUM 654 (ARRAY BASE SIGN) T) |
|---|
| 284 | ;655 FREE |
|---|
| 285 | (DEFMIC %WRITE-INTERNAL-PROCESSOR-MEMORIES 656 (CODE ADR D-HI D-LOW) T) |
|---|
| 286 | ;657 FREE |
|---|
| 287 | (DEFMIC %REGION-NUMBER 660 (PTR) T) |
|---|
| 288 | (DEFMIC %FIND-STRUCTURE-HEADER 661 (PTR) T) |
|---|
| 289 | (DEFMIC %STRUCTURE-BOXED-SIZE 662 (PTR) T) |
|---|
| 290 | (DEFMIC %STRUCTURE-TOTAL-SIZE 663 (PTR) T) |
|---|
| 291 | (DEFMIC %MAKE-REGION 664 (BITS SIZE) T) |
|---|
| 292 | (DEFMIC BITBLT 665 (ALU WIDTH HEIGHT FROM-ARRAY FROM-X FROM-Y TO-ARRAY TO-X TO-Y) T) |
|---|
| 293 | (DEFMIC %DISK-OP 666 (RQB) T) |
|---|
| 294 | (DEFMIC %PHYSICAL-ADDRESS 667 (PTR) T) |
|---|
| 295 | (DEFMIC POP-OPEN-CALL 670 NIL NIL T) |
|---|
| 296 | (DEFMIC %BEEP 671 (HALF-WAVELENGTH DURATION) T) |
|---|
| 297 | (DEFMIC %FIND-STRUCTURE-LEADER 672 (PTR) T) |
|---|
| 298 | (DEFMIC BPT 673 NIL T) |
|---|
| 299 | (DEFMIC %FINDCORE 674 () T) |
|---|
| 300 | (DEFMIC %PAGE-IN 675 (PFN VPN) T) |
|---|
| 301 | (DEFMIC ASH 676 (N NBITS) T) |
|---|
| 302 | ;677 FREE |
|---|
| 303 | (DEFMIC %DRAW-CHAR 700 (FONT-ARRAY CHAR-CODE X-BITPOS Y-BITPOS ALU-FUNCTION SHEET) T) |
|---|
| 304 | (DEFMIC %DRAW-RECTANGLE 701 (WIDTH HEIGHT X-BITPOS Y-BITPOS ALU-FUNCTION SHEET) T) |
|---|
| 305 | (DEFMIC %DRAW-LINE 702 (X0 Y0 X Y ALU DRAW-END-POINT SHEET) T) |
|---|
| 306 | (DEFMIC %DRAW-TRIANGLE 703 (X1 Y1 X2 Y2 X3 Y3 ALU SHEET) T) |
|---|
| 307 | (DEFMIC %COLOR-TRANSFORM 704 (N17 N16 N15 N14 N13 N12 N11 N10 N7 N6 N5 N4 N3 N2 N1 N0 |
|---|
| 308 | WIDTH HEIGHT ARRAY START-X START-Y) T) |
|---|
| 309 | |
|---|
| 310 | ; FROM HERE TO 777 FREE |
|---|
| 311 | |
|---|
| 312 | ;;; The ARGDESC properties, telling the compiler special things about |
|---|
| 313 | ;;; a few functions whose arguments would otherwise be compiled wrong. |
|---|
| 314 | |
|---|
| 315 | ;AN ARGDESC PROPERTY IS A LIST OF 2-LISTS. THE FIRST ELEMENT OF EA |
|---|
| 316 | ;2-LIST IS A REPEAT COUNT. THE SECOND IS A LIST OF ADL SPECIFIER TYPE TOKENS. |
|---|
| 317 | |
|---|
| 318 | ;ARGDESC PROP'S BELOW ARE FOR HAND CODED FCTNS THAT CANT BE CALLED |
|---|
| 319 | ; WITH MISC INSTRUCTION (WHICH WOULD BE IMPLIED BY HAVING A QINTCMP PROPERTY). |
|---|
| 320 | ; (THE REASON WHY A MISC CALL WOULD LOSE IS USUALLY THAT A NEW FRAME |
|---|
| 321 | ; MUST BE MADE). |
|---|
| 322 | |
|---|
| 323 | (DEFPROP *CATCH ((2 (FEF-ARG-REQ FEF-QT-EVAL))) ARGDESC) |
|---|
| 324 | |
|---|
| 325 | (DEFPROP BREAK ((1 (FEF-ARG-REQ FEF-QT-QT)) |
|---|
| 326 | (1 (FEF-ARG-OPT FEF-QT-EVAL))) ARGDESC) |
|---|
| 327 | |
|---|
| 328 | ;MAKE SURE CALLS TO DEFPROP GET COMPILED RIGHT (IE SPREAD ARGS). OTHERWISE, |
|---|
| 329 | ; WOULD LOSE BECAUSE ITS A MACLISP FSUBR. |
|---|
| 330 | |
|---|
| 331 | (DEFPROP DEFPROP ((3 (FEF-ARG-REQ FEF-QT-QT))) ARGDESC) |
|---|
| 332 | (DEFPROP FASLOAD ((1 (FEF-ARG-REQ FEF-QT-EVAL)) (1 (FEF-ARG-OPT FEF-QT-EVAL))) ARGDESC) |
|---|
| 333 | ;Likewise FASLOAD which is a SUBR in LISPM since strings self-evaluate. |
|---|
| 334 | (DEFPROP SIGNP ((1 (FEF-ARG-REQ FEF-QT-QT)) (1 (FEF-ARG-REQ FEF-QT-EVAL))) ARGDESC) |
|---|
| 335 | ;This is here because the compiler loses on QUOTE-HAIR functions. |
|---|
| 336 | (DEFPROP STATUS ((1 (FEF-ARG-REQ FEF-QT-QT)) |
|---|
| 337 | (1 (FEF-ARG-OPT FEF-QT-QT))) ARGDESC) |
|---|
| 338 | (DEFPROP SSTATUS ((2 (FEF-ARG-REQ FEF-QT-QT))) ARGDESC) |
|---|
| 339 | |
|---|
| 340 | ;MAKE SURE FUNCTIONAL ARGS TO MAPPING FUNCTIONS GET BROKEN OFF AND COMPILED |
|---|
| 341 | ; EVEN IF QUOTE USED INSTEAD OF FUNCTION. (HOWEVER, A POINTER TO THE |
|---|
| 342 | ; BROKEN-OFF SYMBOL INSTEAD OF THE CONTENTS OF ITS FUNCTION CELL WILL BE PASSED |
|---|
| 343 | ; IF QUOTE IS USED). |
|---|
| 344 | |
|---|
| 345 | (DEFPROP MAP ((1 (FEF-ARG-REQ FEF-QT-EVAL FEF-FUNCTIONAL-ARG)) |
|---|
| 346 | (1 (FEF-ARG-REQ FEF-QT-EVAL)) |
|---|
| 347 | (105 (FEF-ARG-OPT FEF-QT-EVAL)) ) ARGDESC) |
|---|
| 348 | (DEFPROP MAPC ((1 (FEF-ARG-REQ FEF-QT-EVAL FEF-FUNCTIONAL-ARG)) |
|---|
| 349 | (1 (FEF-ARG-REQ FEF-QT-EVAL)) |
|---|
| 350 | (105 (FEF-ARG-OPT FEF-QT-EVAL)) ) ARGDESC) |
|---|
| 351 | (DEFPROP MAPCAR ((1 (FEF-ARG-REQ FEF-QT-EVAL FEF-FUNCTIONAL-ARG)) |
|---|
| 352 | (1 (FEF-ARG-REQ FEF-QT-EVAL)) |
|---|
| 353 | (105 (FEF-ARG-OPT FEF-QT-EVAL)) ) ARGDESC) |
|---|
| 354 | (DEFPROP MAPLIST ((1 (FEF-ARG-REQ FEF-QT-EVAL FEF-FUNCTIONAL-ARG)) |
|---|
| 355 | (1 (FEF-ARG-REQ FEF-QT-EVAL)) |
|---|
| 356 | (105 (FEF-ARG-OPT FEF-QT-EVAL)) ) ARGDESC) |
|---|
| 357 | (DEFPROP MAPCAN ((1 (FEF-ARG-REQ FEF-QT-EVAL FEF-FUNCTIONAL-ARG)) |
|---|
| 358 | (1 (FEF-ARG-REQ FEF-QT-EVAL)) |
|---|
| 359 | (105 (FEF-ARG-OPT FEF-QT-EVAL)) ) ARGDESC) |
|---|
| 360 | (DEFPROP MAPCON ((1 (FEF-ARG-REQ FEF-QT-EVAL FEF-FUNCTIONAL-ARG)) |
|---|
| 361 | (1 (FEF-ARG-REQ FEF-QT-EVAL)) |
|---|
| 362 | (105 (FEF-ARG-OPT FEF-QT-EVAL)) ) ARGDESC) |
|---|
| 363 | (DEFPROP APPLY ((2 (FEF-ARG-REQ FEF-QT-EVAL))) ARGDESC) |
|---|
| 364 | ;Because LSUBR in Maclisp? |
|---|
| 365 | |
|---|
| 366 | ;;; Instructions and other symbols for LAP |
|---|
| 367 | |
|---|
| 368 | (DEFPROP CALL 0 QLVAL) |
|---|
| 369 | |
|---|
| 370 | (DEFPROP CALL0 1000 QLVAL) |
|---|
| 371 | |
|---|
| 372 | (DEFPROP MOVE 2000 QLVAL) |
|---|
| 373 | |
|---|
| 374 | (DEFPROP CAR 3000 QLVAL) |
|---|
| 375 | |
|---|
| 376 | (DEFPROP CDR 4000 QLVAL) |
|---|
| 377 | |
|---|
| 378 | (DEFPROP CADR 5000 QLVAL) |
|---|
| 379 | |
|---|
| 380 | (DEFPROP CDDR 6000 QLVAL) |
|---|
| 381 | |
|---|
| 382 | (DEFPROP CDAR 7000 QLVAL) |
|---|
| 383 | |
|---|
| 384 | (DEFPROP CAAR 10000 QLVAL) |
|---|
| 385 | |
|---|
| 386 | ;ND1 |
|---|
| 387 | ;(DEFPROP UNUSED 11000 QLVAL) ;NOT USED |
|---|
| 388 | (DEFPROP *PLUS 31000 QLVAL) ;THESE USED TO BE CALLED +, -, ETC. BUT THOSE ARE NOW N-ARG |
|---|
| 389 | (DEFPROP *DIF 51000 QLVAL) ;WHILE THESE SEVEN ARE TWO-ARGUMENTS-ONLY (INSTRUCTIONS). |
|---|
| 390 | (DEFPROP *TIMES 71000 QLVAL) |
|---|
| 391 | (DEFPROP *QUO 111000 QLVAL) |
|---|
| 392 | (DEFPROP *LOGAND 131000 QLVAL) |
|---|
| 393 | (DEFPROP *LOGXOR 151000 QLVAL) |
|---|
| 394 | (DEFPROP *LOGIOR 171000 QLVAL) |
|---|
| 395 | |
|---|
| 396 | ;ND2 |
|---|
| 397 | (DEFPROP = 12000 QLVAL) |
|---|
| 398 | (DEFPROP > 32000 QLVAL) |
|---|
| 399 | (DEFPROP < 52000 QLVAL) |
|---|
| 400 | (DEFPROP EQ 72000 QLVAL) |
|---|
| 401 | ;;; SETE CDR 112000 |
|---|
| 402 | ;;; SETE CDDR 132000 |
|---|
| 403 | ;;; SETE 1+ 152000 |
|---|
| 404 | ;;; SETE 1- 172000 |
|---|
| 405 | |
|---|
| 406 | ;ND3 |
|---|
| 407 | ;;; 13000 unused, used to be BIND. |
|---|
| 408 | (DEFPROP BINDNIL 33000 QLVAL) |
|---|
| 409 | (DEFPROP BINDPOP 53000 QLVAL) |
|---|
| 410 | (DEFPROP SETNIL 73000 QLVAL) |
|---|
| 411 | (DEFPROP SETZERO 113000 QLVAL) |
|---|
| 412 | (DEFPROP PUSH-E 133000 QLVAL) |
|---|
| 413 | (DEFPROP MOVEM 153000 QLVAL) |
|---|
| 414 | (DEFPROP POP 173000 QLVAL) |
|---|
| 415 | |
|---|
| 416 | ;;; 14 BRANCH |
|---|
| 417 | (DEFPROP MISC 15000 QLVAL) |
|---|
| 418 | |
|---|
| 419 | ;;; - MISCELLANEOUS FUNCTIONS - |
|---|
| 420 | (DEFPROP LIST 0 QLVAL) |
|---|
| 421 | (DEFPROP LIST-IN-AREA 100 QLVAL) |
|---|
| 422 | (DEFPROP UNBIND 200 QLVAL) |
|---|
| 423 | (DEFMIC UNBIND-0 200 NIL NIL T) ;FOR UCONS |
|---|
| 424 | (DEFMIC UNBIND-1 201 NIL NIL T) ;FOR UCONS |
|---|
| 425 | (DEFMIC UNBIND-2 202 NIL NIL T) ;FOR UCONS |
|---|
| 426 | (DEFMIC UNBIND-3 203 NIL NIL T) ;FOR UCONS |
|---|
| 427 | (DEFMIC UNBIND-4 204 NIL NIL T) ;FOR UCONS |
|---|
| 428 | (DEFMIC UNBIND-5 205 NIL NIL T) ;FOR UCONS |
|---|
| 429 | (DEFMIC UNBIND-6 206 NIL NIL T) ;FOR UCONS |
|---|
| 430 | (DEFMIC UNBIND-7 207 NIL NIL T) ;FOR UCONS |
|---|
| 431 | (DEFMIC UNBIND-10 210 NIL NIL T) ;FOR UCONS |
|---|
| 432 | (DEFMIC UNBIND-11 211 NIL NIL T) ;FOR UCONS |
|---|
| 433 | (DEFMIC UNBIND-12 212 NIL NIL T) ;FOR UCONS |
|---|
| 434 | (DEFMIC UNBIND-13 213 NIL NIL T) ;FOR UCONS |
|---|
| 435 | (DEFMIC UNBIND-14 214 NIL NIL T) ;FOR UCONS |
|---|
| 436 | (DEFMIC UNBIND-15 215 NIL NIL T) ;FOR UCONS |
|---|
| 437 | (DEFMIC UNBIND-16 216 NIL NIL T) ;FOR UCONS |
|---|
| 438 | (DEFMIC UNBIND-17 217 NIL NIL T) ;FOR UCONS |
|---|
| 439 | (DEFPROP POPPDL 220 QLVAL) |
|---|
| 440 | (DEFMIC POPPDL-0 220 NIL NIL T) ;FOR UCONS |
|---|
| 441 | (DEFMIC POPPDL-1 221 NIL NIL T) ;FOR UCONS |
|---|
| 442 | (DEFMIC POPPDL-2 222 NIL NIL T) ;FOR UCONS |
|---|
| 443 | (DEFMIC POPPDL-3 223 NIL NIL T) ;FOR UCONS |
|---|
| 444 | (DEFMIC POPPDL-4 224 NIL NIL T) ;FOR UCONS |
|---|
| 445 | (DEFMIC POPPDL-5 225 NIL NIL T) ;FOR UCONS |
|---|
| 446 | (DEFMIC POPPDL-6 226 NIL NIL T) ;FOR UCONS |
|---|
| 447 | (DEFMIC POPPDL-7 227 NIL NIL T) ;FOR UCONS |
|---|
| 448 | (DEFMIC POPPDL-10 230 NIL NIL T) ;FOR UCONS |
|---|
| 449 | (DEFMIC POPPDL-11 231 NIL NIL T) ;FOR UCONS |
|---|
| 450 | (DEFMIC POPPDL-12 232 NIL NIL T) ;FOR UCONS |
|---|
| 451 | (DEFMIC POPPDL-13 233 NIL NIL T) ;FOR UCONS |
|---|
| 452 | (DEFMIC POPPDL-14 234 NIL NIL T) ;FOR UCONS |
|---|
| 453 | (DEFMIC POPPDL-15 235 NIL NIL T) ;FOR UCONS |
|---|
| 454 | (DEFMIC POPPDL-16 236 NIL NIL T) ;FOR UCONS |
|---|
| 455 | (DEFMIC POPPDL-17 237 NIL NIL T) ;FOR UCONS |
|---|
| 456 | ;The rest of these come from the DEFMIC table above. |
|---|
| 457 | |
|---|
| 458 | ;"BASE REGISTERS" |
|---|
| 459 | (DEFPROP FEF 0 QLVAL) |
|---|
| 460 | |
|---|
| 461 | (DEFPROP CONST-PAGE 400 QLVAL) |
|---|
| 462 | |
|---|
| 463 | (DEFPROP LOCBLOCK 500 QLVAL) |
|---|
| 464 | |
|---|
| 465 | (DEFPROP ARG 600 QLVAL) |
|---|
| 466 | |
|---|
| 467 | (DEFPROP LPDL 700 QLVAL) |
|---|
| 468 | |
|---|
| 469 | ;DESTINATIONS |
|---|
| 470 | (DEFPROP D-IGNORE 0 QLVAL) |
|---|
| 471 | |
|---|
| 472 | (DEFPROP D-INDS 0 QLVAL) |
|---|
| 473 | |
|---|
| 474 | (DEFPROP D-PDL 20000 QLVAL) |
|---|
| 475 | |
|---|
| 476 | (DEFPROP D-NEXT 40000 QLVAL) |
|---|
| 477 | |
|---|
| 478 | (DEFPROP D-LAST 60000 QLVAL) |
|---|
| 479 | |
|---|
| 480 | (DEFPROP D-RETURN 100000 QLVAL) |
|---|
| 481 | |
|---|
| 482 | ;(DEFPROP DEST-ARG-QTD 60000 QLVAL) ;ADDED TO D-NEXT,D-LAST |
|---|
| 483 | |
|---|
| 484 | (DEFPROP D-NEXT-LIST 160000 QLVAL) |
|---|
| 485 | |
|---|
| 486 | ;;; Properties for the micro-compiler |
|---|
| 487 | |
|---|
| 488 | (DEFPROP M-CAR QMA LAST-ARG-IN-T-ENTRY) |
|---|
| 489 | (DEFPROP M-CDR QMD LAST-ARG-IN-T-ENTRY) |
|---|
| 490 | (DEFPROP M-CAAR QMAA LAST-ARG-IN-T-ENTRY) |
|---|
| 491 | (DEFPROP M-CADR QMAD LAST-ARG-IN-T-ENTRY) |
|---|
| 492 | (DEFPROP M-CDAR QMDA LAST-ARG-IN-T-ENTRY) |
|---|
| 493 | (DEFPROP M-CDDR QMDD LAST-ARG-IN-T-ENTRY) |
|---|
| 494 | (DEFPROP CAAAR QMAAA LAST-ARG-IN-T-ENTRY) |
|---|
| 495 | (DEFPROP CAADR QMAAD LAST-ARG-IN-T-ENTRY) |
|---|
| 496 | (DEFPROP CADAR QMADA LAST-ARG-IN-T-ENTRY) |
|---|
| 497 | (DEFPROP CADDR QMADD LAST-ARG-IN-T-ENTRY) |
|---|
| 498 | (DEFPROP CDAAR QMDAA LAST-ARG-IN-T-ENTRY) |
|---|
| 499 | (DEFPROP CDADR QMDAD LAST-ARG-IN-T-ENTRY) |
|---|
| 500 | (DEFPROP CDDAR QMDDA LAST-ARG-IN-T-ENTRY) |
|---|
| 501 | (DEFPROP CDDDR QMDDD LAST-ARG-IN-T-ENTRY) |
|---|
| 502 | (DEFPROP CAAAAR QMAAAA LAST-ARG-IN-T-ENTRY) |
|---|
| 503 | (DEFPROP CAAADR QMAAAD LAST-ARG-IN-T-ENTRY) |
|---|
| 504 | (DEFPROP CAADAR QMAADA LAST-ARG-IN-T-ENTRY) |
|---|
| 505 | (DEFPROP CAADDR QMAADD LAST-ARG-IN-T-ENTRY) |
|---|
| 506 | (DEFPROP CADAAR QMADAA LAST-ARG-IN-T-ENTRY) |
|---|
| 507 | (DEFPROP CADADR QMADAD LAST-ARG-IN-T-ENTRY) |
|---|
| 508 | (DEFPROP CADDAR QMADDA LAST-ARG-IN-T-ENTRY) |
|---|
| 509 | (DEFPROP CADDDR QMADDD LAST-ARG-IN-T-ENTRY) |
|---|
| 510 | (DEFPROP CDAAAR QMDAAA LAST-ARG-IN-T-ENTRY) |
|---|
| 511 | (DEFPROP CDAADR QMDAAD LAST-ARG-IN-T-ENTRY) |
|---|
| 512 | (DEFPROP CDADAR QMDADA LAST-ARG-IN-T-ENTRY) |
|---|
| 513 | (DEFPROP CDADDR QMDADD LAST-ARG-IN-T-ENTRY) |
|---|
| 514 | (DEFPROP CDDAAR QMDDAA LAST-ARG-IN-T-ENTRY) |
|---|
| 515 | (DEFPROP CDDADR QMDDAD LAST-ARG-IN-T-ENTRY) |
|---|
| 516 | (DEFPROP CDDDAR QMDDDA LAST-ARG-IN-T-ENTRY) |
|---|
| 517 | (DEFPROP CDDDDR QMDDDD LAST-ARG-IN-T-ENTRY) |
|---|
| 518 | |
|---|
| 519 | (DEFPROP M-+ XTCADD LAST-ARG-IN-T-ENTRY) ;CHECKS INPUT D.T. TO ASSURE FIXED |
|---|
| 520 | (DEFPROP M-- XTCSUB LAST-ARG-IN-T-ENTRY) |
|---|
| 521 | (DEFPROP M-* XTCMUL LAST-ARG-IN-T-ENTRY) |
|---|
| 522 | (DEFPROP M-// XTCDIV LAST-ARG-IN-T-ENTRY) |
|---|
| 523 | (DEFPROP M-LOGAND XTCAND LAST-ARG-IN-T-ENTRY) |
|---|
| 524 | (DEFPROP M-LOGXOR XTCXOR LAST-ARG-IN-T-ENTRY) |
|---|
| 525 | (DEFPROP M-LOGIOR XTCIOR LAST-ARG-IN-T-ENTRY) |
|---|
| 526 | |
|---|
| 527 | ;(DEFPROP XTCADD XTADD NO-TYPE-CHECKING-ENTRY) ;ONE ARG IN T, ONE ON PDL |
|---|
| 528 | ;(DEFPROP XTCSUB XTSUB NO-TYPE-CHECKING-ENTRY) |
|---|
| 529 | ;(DEFPROP XTCMUL XTMUL NO-TYPE-CHECKING-ENTRY) |
|---|
| 530 | ;(DEFPROP XTCDIV XTDIV NO-TYPE-CHECKING-ENTRY) |
|---|
| 531 | ;(DEFPROP XTCAND XTAND NO-TYPE-CHECKING-ENTRY) |
|---|
| 532 | ;(DEFPROP XTCXOR XTXOR NO-TYPE-CHECKING-ENTRY) |
|---|
| 533 | ;(DEFPROP XTCIOR XTIOR NO-TYPE-CHECKING-ENTRY) |
|---|
| 534 | |
|---|
| 535 | ;(DEFPROP M-+ XTADD UNBOXED-NUM-IN-T-ENTRY) ;THESE GUYS DONT REALLY CHECK ANYWAY |
|---|
| 536 | ;(DEFPROP M-- XTSUB UNBOXED-NUM-IN-T-ENTRY) |
|---|
| 537 | ;(DEFPROP M-* XTMUL UNBOXED-NUM-IN-T-ENTRY) |
|---|
| 538 | ;(DEFPROP M-// XTDIV UNBOXED-NUM-IN-T-ENTRY) |
|---|
| 539 | ;(DEFPROP M-LOGAND XTAND UNBOXED-NUM-IN-T-ENTRY) |
|---|
| 540 | ;(DEFPROP M-LOGXOR XTXOR UNBOXED-NUM-IN-T-ENTRY) |
|---|
| 541 | ;(DEFPROP M-LOGIOR XTIOR UNBOXED-NUM-IN-T-ENTRY) |
|---|
| 542 | |
|---|
| 543 | ;(DEFPROP M-+ XMADD NO-TYPE-CHECKING-ENTRY) ;THESE ARE A BIT FASTER |
|---|
| 544 | ;(DEFPROP M-- XMSUB NO-TYPE-CHECKING-ENTRY) ;TAKE 2 ARGS ON PDL |
|---|
| 545 | ;(DEFPROP M-* XMMUL NO-TYPE-CHECKING-ENTRY) |
|---|
| 546 | ;(DEFPROP M-// XMDIV NO-TYPE-CHECKING-ENTRY) |
|---|
| 547 | ;(DEFPROP M-LOGAND XMAND NO-TYPE-CHECKING-ENTRY) |
|---|
| 548 | ;(DEFPROP M-LOGXOR XMXOR NO-TYPE-CHECKING-ENTRY) |
|---|
| 549 | ;(DEFPROP M-LOGIOR XMIOR NO-TYPE-CHECKING-ENTRY) |
|---|
| 550 | |
|---|
| 551 | ;(DEFPROP ATOM XTATOM LAST-ARG-IN-T-ENTRY) |
|---|
| 552 | ;(DEFPROP ZEROP XTZERO LAST-ARG-IN-T-ENTRY) |
|---|
| 553 | (DEFPROP NUMBERP XTNUMB LAST-ARG-IN-T-ENTRY) |
|---|
| 554 | ;(DEFPROP PLUSP XTPLUP LAST-ARG-IN-T-ENTRY) |
|---|
| 555 | ;(DEFPROP MINUSP XTMNSP LAST-ARG-IN-T-ENTRY) |
|---|
| 556 | ;(DEFPROP MINUS XTMNS LAST-ARG-IN-T-ENTRY) |
|---|
| 557 | ;(DEFPROP 1+ XT1PLS LAST-ARG-IN-T-ENTRY) |
|---|
| 558 | ;(DEFPROP 1- XT1MNS LAST-ARG-IN-T-ENTRY) |
|---|
| 559 | ;(DEFPROP SYMEVAL XTSYME LAST-ARG-IN-T-ENTRY) |
|---|
| 560 | (DEFPROP LENGTH XTLENG LAST-ARG-IN-T-ENTRY) |
|---|
| 561 | |
|---|
| 562 | ;(DEFPROP ZEROP XBZERO UNBOXED-NUM-IN-T-ENTRY) |
|---|
| 563 | ;(DEFPROP PLUSP XBPLUP UNBOXED-NUM-IN-T-ENTRY) |
|---|
| 564 | ;(DEFPROP MINUSP XBMNSP UNBOXED-NUM-IN-T-ENTRY) |
|---|
| 565 | ;(DEFPROP MINUS XBMNS UNBOXED-NUM-IN-T-ENTRY) |
|---|
| 566 | ;(DEFPROP 1+ XB1PLS UNBOXED-NUM-IN-T-ENTRY) |
|---|
| 567 | ;(DEFPROP 1- XB1MNS UNBOXED-NUM-IN-T-ENTRY) |
|---|
| 568 | |
|---|
| 569 | ;;; Certain MISC-instructions make assumptions about what destinations |
|---|
| 570 | ;;; they are used with. Some require D-IGNORE, because they assume that |
|---|
| 571 | ;;; there is no return address on the micro-stack. Some do not allow D-IGNORE, |
|---|
| 572 | ;;; because they popj and start a memory cycle. Some are really random. |
|---|
| 573 | (DEFVAR MISC-INSTRUCTION-REQUIRED-DESTINATION-ALIST |
|---|
| 574 | '( (%ALLOCATE-AND-INITIALIZE D-PDL D-NEXT D-LAST D-RETURN D-NEXT-LIST) |
|---|
| 575 | (%ALLOCATE-AND-INITIALIZE-ARRAY D-PDL D-NEXT D-LAST D-RETURN D-NEXT-LIST) |
|---|
| 576 | (%SPREAD D-NEXT D-LAST) |
|---|
| 577 | (RETURN-LIST D-RETURN) |
|---|
| 578 | (%OPEN-CALL-BLOCK D-IGNORE D-INDS) |
|---|
| 579 | (%ACTIVATE-OPEN-CALL-BLOCK D-IGNORE D-INDS) |
|---|
| 580 | (%RETURN-2 D-IGNORE D-INDS) |
|---|
| 581 | (%RETURN-3 D-IGNORE D-INDS) |
|---|
| 582 | (%RETURN-N D-IGNORE D-INDS) |
|---|
| 583 | (%RETURN-NEXT-VALUE D-IGNORE D-INDS))) |
|---|