mirror of
https://github.com/elliotnunn/mac-rom.git
synced 2025-01-01 11:29:27 +00:00
0ba83392d4
Resource forks are included only for .rsrc files. These are DeRezzed into their data fork. 'ckid' resources, from the Projector VCS, are not included. The Tools directory, containing mostly junk, is also excluded.
165 lines
6.3 KiB
Plaintext
165 lines
6.3 KiB
Plaintext
;EASE$$$ READ ONLY COPY of file ÒFPEQUS.aÓ
|
|
; 1.1 CCH 11/11/1988 Fixed Header.
|
|
; 1.0 CCH 11/ 9/1988 Adding to EASE.
|
|
; OLD REVISIONS BELOW
|
|
; 1.0 BBM 2/12/88 Adding file for the first time into EASEÉ
|
|
; END EASE MODIFICATION HISTORY
|
|
;-----------------------------------------------------------
|
|
; 04JUL82: WRITTEN BY JEROME COONEN
|
|
; 10AUG82: REMOVE OPWORD ERROR MASKS AND SET UP OPWORD
|
|
; TESTS ON WORD, RATHER THAN LONG, BOUNDARY. (JTC)
|
|
; 28AUG82: REMOVE FLAGS FOR STATE AREA ACCESS. (JTC)
|
|
; 30AUG82: UNDERFLOW AND DIVBYZERO FLAGS SWAPPED (JTC)
|
|
; 01SEP82: RND ENCODINGS CHANGED (JTC)
|
|
; 03SEP82: FLAG ORDER REVERSED (JTC)
|
|
; 13OCT82: ADD ROUND UP BIT (JTC)
|
|
; 12DEC82: REMOVE PROJECTIVE MODE MATERIAL (JTC)
|
|
; 13APR83: EXPAND COMMENT ABOUT STKREM... (JTC)
|
|
; 29APR83: ADD OPHIBIT CONSTANT FOR DISTINGUISHING CLASS AND
|
|
; COMPARE IN NANHANDLER. ADD NEXT CONSTANTS. (JTC)
|
|
; 09MAY83: REPLACE STACK CONSTANTS WITH LINK CONSTANTS (JTC)
|
|
; 26AUG83: MOVED FOR... EQUS FROM FPDRIVER TO HERE (JTC)
|
|
; 01NOV83: PRECISION CONTROL TO MODE BITS (JTC)
|
|
; 15APR84: MOVED FOR... EQUS BACK OUT TO FPDRIVER FROM HERE (JTC&DGH)
|
|
; 14JAN85: MDS (JTC)
|
|
; 26MAR85: ADDED QNANBIT (JTC).
|
|
; 31JUL85: BACK TO PORKSHOP (JTC). <31JUL85>
|
|
;
|
|
; SOME BITS ARE ACCESSIBLE BY <TST; BMI> SEQUENCES BECAUSE
|
|
; THEY OCCUR AT THE HIGH END OF A BYTE, WORD, OR LONG
|
|
; SUBPIECE. WHENEVER SUCH TESTS ARE EXPLOITED (PREFERABLE
|
|
; TO BTST), THE BIT NUMBER IS USED IN THE COMMENT.
|
|
; THIS SHOULD AID IN LATER CHANGES.
|
|
;-----------------------------------------------------------
|
|
|
|
;-----------------------------------------------------------
|
|
; PC-RELATIVE ADDRESSING GLITCHES. PIC DEPENDS ON
|
|
; PC-RELATIVE. MOTOROLA DOCUMENTATION SPECIFIES SYNTAX
|
|
; LIKE MOVE.W TABLE(PC,D3),D3
|
|
; BUT APPLE ASSEMBLERS ASSUME PC, AND DON'T ALLOW IT TO
|
|
; BE PUT. PCOK TELLS WHETHER OR NOT "PC" IS TO BE USED.
|
|
;-----------------------------------------------------------
|
|
|
|
BLANKS ON
|
|
STRING ASIS
|
|
|
|
PCOK EQU 0
|
|
|
|
;-----------------------------------------------------------
|
|
; STACK FRAME INFORMATION. AFTER ENTRY DO A "LINK A6,#-2"
|
|
; TO GET STACK:
|
|
; CNT WORD < OLD A6 < RET < OP < ADR1 < ADR2...
|
|
; WITH A6 POINTING TO OLD A6. THEN THE FOLLOWING LINK
|
|
; OFFSETS ACCESS STACK ELEMENTS.
|
|
;-----------------------------------------------------------
|
|
LKCNT EQU -2 ; BYTE COUNT FOR TRAP
|
|
LKA6 EQU 0 ; SAVED A6
|
|
LKRET EQU 4 ; RETURN ADDRESS
|
|
LKOP EQU 8 ; OPWORD
|
|
LKADR1 EQU 10 ; FIRST ADDRESS
|
|
LKADR2 EQU 14 ; SECOND ADDRESS
|
|
LKADR3 EQU 18 ; THIRD ADDRESS
|
|
|
|
;-----------------------------------------------------------
|
|
; WHEN A HALT EXIT IS TAKEN, THE STACK CONSISTS OF:
|
|
; RET TO FP68K < OP < ADR1 < ADR2 < ADR3 < PTR
|
|
; WHERE PTR REFERS TO THE THREE WORD STRUCTURE: CCR | D0
|
|
; TO BE STUFFED AFTER RETURN TO PACKAGE.
|
|
; TO RETURN TO EXECUTING PROGRAM JUST DO
|
|
; MOVEA.L (SP)+,A0 ; RETURN ADRS
|
|
; ADDA.W #18,SP ; KILL OP, 4 ADRS'S
|
|
; JMP (A0)
|
|
;-----------------------------------------------------------
|
|
STKREM1 EQU 12 ; BYTES TO TOSS IF 1
|
|
STKREM2 EQU 16 ; BYTES TO TOSS IF 2
|
|
STKREM3 EQU 20 ; BYTES TO TOSS IF 3
|
|
|
|
;-----------------------------------------------------------
|
|
; POSITION OF ERROR BITS IN BYTE. W-MASKS ARE FOR SETTING
|
|
; MULTIPLE EXCEPTIONS IN BITS $1F00 OF A WORD.
|
|
;-----------------------------------------------------------
|
|
ERRX EQU 4 ; INEXACT
|
|
ERRZ EQU 3 ; DIVISION BY ZERO
|
|
ERRO EQU 2 ; OVERFLOW
|
|
ERRU EQU 1 ; UNDERFLOW
|
|
ERRI EQU 0 ; INVALID
|
|
|
|
ERRWXO EQU $1400 ; INEXACT AND OVERFLOW
|
|
ERRWXU EQU $1200 ; INEXACT AND UNDERFLOW
|
|
|
|
;-----------------------------------------------------------
|
|
; RESULTS OF COMPARISONS, BASED ON CPU MAP: XNZVC.
|
|
;-----------------------------------------------------------
|
|
CMPE EQU $04 ; .EQUAL
|
|
CMPL EQU $19 ; LESS
|
|
CMPG EQU $00 ; GREATER
|
|
CMPU EQU $02 ; UNORDERED
|
|
|
|
;-----------------------------------------------------------
|
|
; CLASS OPERATOR RETURN CODES
|
|
;-----------------------------------------------------------
|
|
CLSNAN EQU 1 ; SIGNALING NAN
|
|
CLQNAN EQU 2 ; QUIET NAN
|
|
CLINF EQU 3 ; INFINITY
|
|
CLZERO EQU 4 ; ZERO
|
|
CLNORM EQU 5 ; NORMAL NUMBER
|
|
CLDENORM EQU 6 ; DENORMAL NUMBER
|
|
|
|
;-----------------------------------------------------------
|
|
; OPWORD BITS, BASED ON WORD VALUE.
|
|
;-----------------------------------------------------------
|
|
TWOADRS EQU 00 ; 1 IFF 2 ADDRESSES
|
|
OPHIBIT EQU 04 ; 0010 = OPCODE LEAD BIT
|
|
DSTOUT EQU 05 ; 1 IFF NOT COMPARISON
|
|
SRCIN EQU 06 ; 1 IFF SRC INPUT
|
|
DSTIN EQU 07 ; 1 IFF DST INPUT
|
|
DSTLO EQU 08 ; LO BIT OF DST FORMAT
|
|
DSTMD EQU 09 ; MED BIT OF DST FORMAT
|
|
DSTINT EQU 10 ; 1 IFF INTEGER OUTPUT
|
|
SRCLO EQU 11 ; LO BIT OF SRC FORMAT
|
|
SRCMD EQU 12 ; MED BIT OF SRC FORMAT
|
|
SRCHI EQU 13 ; HI BIT OF SRC FORMAT
|
|
DPREC EQU 14 ; DOUBLE OPERATION
|
|
SPREC EQU 15 ; SINGLE OPERATION (TST.L)
|
|
|
|
;-----------------------------------------------------------
|
|
; TESTS FOR OPERATIONS, ALL AS WORD TESTS. AND SOME
|
|
; USEFUL OPCODES FOR B<->D CONVERSIONS.
|
|
;-----------------------------------------------------------
|
|
OPIFCPX EQU 1 ; 1 IFF CMPX VS CMP
|
|
OPIFTR EQU 1 ; 1 IFF TRUNC VS ROUND
|
|
OPAMASK EQU $001E ; ISOLATE OPCODE BITS
|
|
OPFOMASK EQU $3800 ; TO GET SRC FORMAT BITS
|
|
OPMUL EQU $0004 ; MULTIPLY OPCODE
|
|
OPDIV EQU $0006 ; DIVIDE OPCODE
|
|
OPCMP EQU $0008 ; COMPARE WITHOUT EXCEPTIONS
|
|
OP2EXT EQU $000E ; CONVERT TO EXTENDED
|
|
OPEXT2 EQU $0010 ; CONVERT FROM EXTENDED
|
|
OPRINT EQU $0014 ; ROUND TO INTEGER
|
|
OPCLASS EQU $001C ; CLASS
|
|
|
|
;-----------------------------------------------------------
|
|
; MODE BITS AND MASKS IN BYTE.
|
|
;-----------------------------------------------------------
|
|
RNDMSK EQU $60 ; AS THOUGH IN LOW WORD
|
|
RNDUP EQU $20
|
|
RNDDN EQU $40
|
|
RND0 EQU $60
|
|
RNDLO EQU 5
|
|
RNDHI EQU 6 ; LEAD RND BIT
|
|
|
|
; ..EQU 7 ...USED TO BE AFF/PROJ BIT
|
|
|
|
DBRMSK EQU $8f ; KILL RND BITS AND INEXACT
|
|
|
|
RNDINC EQU 7 ; IN LOW BYTE OF WORD
|
|
PRECMSK EQU RNDMSK ; IN LOW BYTE OF WORD
|
|
|
|
;-----------------------------------------------------------
|
|
; AS OF MARCH 85, BIT #30 OF HIGH LONG OF SIGNIFICAND IS
|
|
; 0 FOR SIGNALING AND 1 FOR QUIET NANS.
|
|
;-----------------------------------------------------------
|
|
QNANBIT EQU 30 ; INDEX IN HIGH LONGWORD <26MAR85>
|
|
|
|
|