|
|
DataMuseum.dkPresents historical artifacts from the history of: Bogika Butler |
This is an automatic "excavation" of a thematic subset of
See our Wiki for more about Bogika Butler Excavated with: AutoArchaeologist - Free & Open Source Software. |
top - metrics - download
Length: 3200 (0xc80)
Types: TextFile
Names: »EXCEPT.SA«
└─⟦909f4eb2b⟧ Bits:30009789/_.ft.Ibm2.50006622.imd Mogens Pelles Zilog 80,000 / EOS projekt
└─⟦this⟧ »EXCEPT.SA«
└─⟦ddcd65152⟧ Bits:30009789/_.ft.Ibm2.50006617.imd Mogens Pelles Zilog 80,000 / EOS projekt
└─⟦this⟧ »EXCEPT.SA«
NOLIST
INCLUDE RR.FIOEQU.SA
INCLUDE RR.RTEQU.SA
LIST
NOFORMAT
TTL V 0.04 68K EOS PASCAL EXCEPTION
EXCEPT IDNT 0,04 68K EOS PASCAL EXCEPTION
SECTION 8
*
*****************************************************************************
*
*
* FUNCTION:
* THE ROUTINE GENERATES AN EXCEPTION. THE EXCEPTION RESULT
* (CAUSE, AUX CAUSE) IS SAVED IN THE RMA.THE MAP AND
* PROCEDURE DESCRPIPTORS ABOVE THE EXCEPTION DESCRIPTOR
* ARE REMOVED.THE NEW TOP MAP DESCRIPTORS ARE REMAPPED
* AND THE PROCEDURE EPILOGS ARE EXECUTED.THE ROUTINE CALLS
* GOTO TO CLEAN UP
*
*
* REGISTERS:
* ON ENTRY:
*
* D0(31-16) CAUSE FOR THE EXCEPTION
* D0(7-0) AUX CAUSE ( WHEN CAUSE = 20 VALERR )
* D0(15-0) AUX CAUSE,ARGNO (OTHERWISE)
*
* MODIFIED REGISTERS
*
* 0 1 2 3 4 5 6 7
* A: * * * * * * * *
* D: * * * * * * * *
*
* EXTERNALS:
*
* .PEXCEPT DEF
* .PGOTO REF
* .PLJSR REF
*
*
***************************************************************************
*
XDEF .PKEREXCP
XDEF .PEXCEPT
XREF .PGOTO
XREF .PLJSR
.PKEREXCP EQU * ENTRY POINT KERNEL EXCEPTION
MOVEM.L D6/D7,EXCPR(A5) RMA:= KERNEL RESULT
BRA.S EXCEPT1
.PEXCEPT EQU * ENTRY POINT
MOVE.W D0,D1 D1 := AUXCAUSE
SWAP D0 D0 := CAUSE
IF.W #VALERR <EQ> D0 THEN.S
MOVE.B D1,EXCPR+AUXCAUSE(A5) AUXCAUSE := ...
ELSE.S
MOVE.W D1,EXCPR+AUXCAUSE(A5) AUXCAUSE,ARGNO := ...
ENDI
MOVE.W D0,EXCPR+FAMILY(A5) FAMILY, MAIN := ...
MOVE.W #PASCALNO,EXCPR+ORGSYS(A5)
MOVE.W #SECPNO,EXCPR+ORGNO(A5)
TSTOUT 'EXCEPT11',EXCPR(A5),NRA(A5),TSTRTS1
EXCEPT1 LEA .PLJSR(PC),A3 RESTORE RTS POINTER
MOVE.L #0,RMAOBCDS(A5) TOP OBJ CALL := 0
TSTOUT 'EXCEPT-BEG',TOPEXCDS(A5),TOPEXCDS+4(A5),TSTRTS1
CMP.L #0,TOPEXCDS(A5)
IF <NE> THEN.S
MOVEA.L TOPEXCDS(A5),A0 CALL GOTO TO CLEAN UP
BSR .PGOTO
MOVEA.L TOPEXCDS(A5),A1 RMA TOPEXCPEPTION DESC:=
MOVE.L PEXCPDS(A1),TOPEXCDS(A5) PRIOR TOP EXCETION DESC
MOVE.L STACKT(A1),SP
MOVE.L EXCPADDR(A1),A4
TSTOUT 'EXCEPT-PASCAL',(A1),PEXCPDS+4(A1),TSTRTS1
JMP (A4)
ELSE.S
MOVE.L EXCPR(A5),D6 PUT KERNEL PARAMETERS IN D6, D7
MOVE.L EXCPR+4(A5),D7
MOVE.L #1(D5 KERNEL CALL OBJECT RETURN
TSTOUT 'EXCEPT12',0,0,TSTRTS1
TRAP #7
ENDI
END
«eof»