DataMuseum.dk

Presents historical artifacts from the history of:

Bogika Butler

This is an automatic "excavation" of a thematic subset of
artifacts from Datamuseum.dk's BitArchive.

See our Wiki for more about Bogika Butler

Excavated with: AutoArchaeologist - Free & Open Source Software.


top - metrics - download

⟦714f9a044⟧ TextFile

    Length: 3200 (0xc80)
    Types: TextFile
    Names: »EXCEPT.SA«

Derivation

└─⟦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« 

TextFile

           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»