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

⟦998ce8cbd⟧ TextFile

    Length: 3840 (0xf00)
    Types: TextFile
    Names: »GOTO.SA«

Derivation

└─⟦909f4eb2b⟧ Bits:30009789/_.ft.Ibm2.50006622.imd Mogens Pelles Zilog 80,000 / EOS projekt
    └─⟦this⟧ »GOTO.SA« 
└─⟦ddcd65152⟧ Bits:30009789/_.ft.Ibm2.50006617.imd Mogens Pelles Zilog 80,000 / EOS projekt
    └─⟦this⟧ »GOTO.SA« 

TextFile

           NOLIST
           INCLUDE     RR.FIOEQU.SA
           LIST
           NOFORMAT
 
           TTL         V 0.03   68K EOS PASCAL GOTO
GOTO       IDNT          0,03   68K EOS PASCAL GOTO
 
           SECTION 8
*
*****************************************************************************
*
*
*          FUNCTION:
*                  THE ROUTINE ADJUSTS THE EXCEPTION, MAP AND PROCEDURE
*                  DESCRIPTORS. ALL DESCRIPTORS ABOVE STACK ADDRESS (A0)
*                  IS REMOVED, AND THE NEW TOP MAP DESCRIPTORS ARE RE-
*                  MAPPED. THE PROCEDURE EPILOG FOR EACH REMOVED PROCE-
*                  DURE DESCRIPTOR ARE EXECUTED.
*
*          REGISTERS:
*          ON ENTRY:
*
*
*                  A0   STACK ADDRESS
*
*          MODIFIED REGISTERS
*
*                     0 1 2 3 4 5 6 7
*                  A: * * * *
*                  D: * * * * * * * *
*
*          EXTERNALS:
*
*                  .PGOTO        DEF
*                  .PLJSR        REF
*                  .PEXCEPT      REF
*                  .PUNMP        REF
*
*
***************************************************************************
*
           XDEF    .PGOTO
           XREF    .PLJSR
           XREF    .PEXCEPT
           XREF    .PUNMP
 
.PGOTO     EQU      *                  ENTRY POINT
*
* EXCEPTION DESCRIPTOR HANDLING
*
           MOVE.L   TOPEXCDS(A5),A1
         WHILE.L    #0 <NE> A1 AND.L A0 <GT> A1 DO.S
       TSTOUT 'GOTO-EXCP',(A1),PEXCPDS+4(A1),TSTRTS3
           MOVE.L   PEXCPDS(A1),A1
         ENDW
           MOVE.L   A1,TOPEXCDS(A5)
         TSTOUT 'GOTO11',TOPEXCDS(A5),FUNC1(A5),TSTRTS3
*
* MAP DESCRIPTOR HANDLING
*
           MOVE.L   TMD(A5),A4
         IF.L   #0 <NE> A4 AND.L A0 <GT> A4 THEN.L
         WHILE.L #0 <NE> A4 AND.L A0 <GT> A4 DO.S
           BSR      .PUNMP
           MOVE.L   TMD(A5),A4
         ENDW
*
* REMAP THE TOP MAP DESCRIPTORS
*
           MOVE.L   A0,-(SP)           SAVE A0
 
         WHILE.L #0 <NE> A4 DO.L
 
         TSTOUT 'GOTO12',(A4),PMD+4(A4),TSTRTS3
 
           MOVE.L   PTRADDR(A4),-(SP)  SET UP KERNEL PARAMETERS
           MOVE.L   REQADDR(A4),-(SP)
           MOVE.B   MMUNO(A4),D0
           EXT.W    D0
           EXT.L    D0
           MOVE.L   D0,-(SP)
           MOVE.L   SP,D4
           MOVEQ    #12,D2
           MOVE.L   D0,-(SP)           SAVE D0
           MOVE.L   #33,D5             MAP SEGMENT
         TSTOUT 'GOTO21',(SP),16(SP),TSTRTS2
           TRAP     #7                 KERNEL CALL
 
           MOVE.L   (SP)+,D0           RESTORE D0
           ADD      #12,SP             RESET STACK POINTER
 
           MOVEA.L  PMD(A4),A4         A4:= NEXT MAP DESC
         IF.L #0 <NE> A4 THEN.S
           CMP.B    MMUNO(A4),D0
           BLE.S    ENDREMAP
         ENDI
         ENDW
ENDREMAP   EQU      *
           MOVE.L   (SP)+,A0           RESTORE A0
           LEA      .PLJSR(PC),A3
         ENDI
*
* PROCEDURE HANDLING
*
         IF.L A0 <GT> A6 THEN.L
         TSTOUT 'GOTO-TOPPROC',(A6),16(A6),TSTRTS3
           MOVEA.L  A6,A1              A1:= CURRENT PROCEDURE DESC
           MOVE.L   (A1),A2            A2:=NEXT PROC DESC:= DYNAMIC LINK
         WHILE.L A0 <GT> A2 DO.L
         TSTOUT 'GOTO-PROC1',(A2),16(A2),TSTRTS3
           MOVE.L   8(A2),12(A1)       CURRENT RETURN ADDR:= NEXT EXIT ADDR
           MOVEA.L  A2,A1
           MOVEA.L  (A1),A2
         TSTOUT 'GOTO-PROC2',(A1),16(A1),TSTRTS3
         ENDW
           MOVE.L   (SP)+,12(A1)       CURRENT RETURN ADDR:= RETURN TO PASCAL
           MOVE.L   8(A6),A2
         TSTOUT 'GOTO31',(A6),(A0),TSTRTS3
           JMP      (A2)               JUMP TO TOP PROCEDURES EXIT ADDR
         ELSE.S
           RTS
         ENDI
 
           END
«eof»