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

⟦a1cad884f⟧ TextFile

    Length: 12544 (0x3100)
    Types: TextFile
    Names: »LIB.SA«

Derivation

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

TextFile

         NOLIST
         INCLUDE   RR.FIOEQU.SA
         LIST
         NOFORMAT
 
         TTL       V 0.09  EOS PASCAL LIBRARY ROUTINES
LIB      IDNT        0,09  EOS PASCAL LIBRARY ROUTINES
 
         SECTION   9
*
             XREF    8:.PLJSR
             XREF    8:.PKEREXCP
*
             XDEF    OBJRETURN
OBJRETURN    MOVE.L  (SP)+,A4          A4:= RETURN ADDR
             MOVEM.L (SP)+,D6/D7       D6/D7:= RESULT TYPE
             MOVEQ   #1,D5             FUNCTION:= OBJRETURN
         TSTOUT   'OBJRETURN',0,0,TSTRTS2
             TRAP    #7                KERNEL CALL
*
*
*
KERNELCALL   MOVEA.L (SP)+,A4          A4:= RETURN ADDR
             MOVE.L  SP,D4             D4:= LOW ARG
         TSTOUT 'KNEL-CALL-BEFORE',(SP),<0(SP,D2.L)>,TSTRTS2
             ADD.L   D2,SP             ADJUST SP
             TRAP    #7                KERNELCALL
             MOVEM.L D6/D7,(SP)        STACK:= RESULT
             MOVE.L  #.PLJSR,A3        REESTABLISH A3
         TSTOUT 'KNEL-CALL-AFTER',-16(SP),32(SP),TSTRTS2
             JMP     (A4)              RETURN
*
*
*
             XDEF    DECLGEN
DECLGEN      MOVEQ.L #2,D5             FUNCTION:= DECLGEN
             MOVEQ.L #56,D2            D2:= LENGTH
             BRA     KERNELCALL
*
*
*
             XDEF    SETCALLSTACK
SETCALLSTACK MOVEQ.L #9,D5             FUNCTION:= SETCALLSTACK
             MOVEQ.L #10,D2            D2:= LENGTH
             BRA KERNELCALL
*
*
*
             XDEF    DECLSEG
DECLSEG      MOVEQ.L #3,D5             FUNCTION:= DECLSEG
             MOVEQ.L #8,D2             D2:= LENGTH
             BRA KERNELCALL
*
*
*
             XDEF    NEWSEG
NEWSEG       MOVEQ.L #5,D5             FUNCTION:= NEWSEG
             MOVEQ.L #8,D2             D2:= LENGTH
             BRA KERNELCALL
*
*
*
             XDEF    DELENV
DELENV       MOVEQ.L #8,D5             FUNCTION:= DELENV
             MOVEQ.L #8,D2             D2:= LENGTH
             BRA KERNELCALL
*
*
*
             XDEF    MAKEREENTRANT
MAKEREENTRANT
             MOVEQ.L #10,D5            FUNCTION:= MAKEREENTRANT
             MOVEQ.L #4,D2             D2:= LENGTH
             BRA     KERNELCALL
*
*
*
             XDEF    COPY
COPY         MOVEQ.L #13,D5            FUNCTION:= COPY
             MOVEQ.L #8,D2             D2:= LENGTH
             BRA KERNELCALL
*
*
*
             XDEF    MOVEOWN
MOVEOWN      MOVEQ.L #14,D5            FUNCTION:= MOVEOWN
             MOVEQ.L #8,D2             D2:= LENGTH
             BRA     KERNELCALL
*
*
*
             XDEF    MOVEMAN
MOVEMAN      MOVEQ.L #15,D5            FUNCTION:= MOVEMAN
             MOVEQ.L #8,D2             D2:= LENGTH
             BRA     KERNELCALL
*
*
*
             XDEF    NEXTINSET
NEXTINSET    MOVEQ.L #17,D5            GUINCTION:= NEXTINSET
             MOVEQ.L #8,D2             D2:= LENGTH
             BRA     KERNELCALL
*
*
*
             XDEF    FIRSTINSET
FIRSTINSET   MOVEQ.L #16,D5            FUNCTION:= FIRSTINSET
             MOVEQ.L #8,D2             D2:= LENGTH
             BRA KERNELCALL
*
*
*
             XDEF    ABORT
ABORT        MOVEQ.L #21,D5            FUNCTION:= ABORT
             MOVEQ.L #4,D2             D2:= LENGTH
             BRA     KERNELCALL
*
*
*
             XDEF    SPEEDUP
SPEEDUP      MOVEQ.L #22,D5            FUNCTION:= SPPEDUP
             MOVEQ.L #4,D2             D2:= LENGTH
             BRA     KERNELCALL
*
*
*
             XDEF    PROPAGATE
PROPAGATE    MOVEQ.L #23,D5            FUNCTION:= PROPAGATE
             MOVEQ.L #4,D2             D2:= LENGTH
             BRA KERNELCALL
*
*
*
             XDEF    DECLENV
DECLENV      MOVEQ.L #26,D5             FUNCTION:= DECLENV
             MOVEQ.L #32,D2            D2:= LENGTH
             BRA     KERNELCALL
*
*
*
             XDEF    SETSLICE
SETSLICE     MOVEQ.L #35,D5            FUNCTION:= SETSLICE
             MOVEQ.L #4,D2             D2:= LENGTH
             BRA     KERNELCALL
*
*
*
             XDEF    SETWORKSET
SETWORKSET   MOVEQ.L #-1,D5            NOT IMPLEMNETED
             MOVEQ.L #4,D2             D2:= LENGTH
             BRA     KERNELCALL
*
*
*
             XDEF    REFEQUAL
REFEQUAL     EQU     *
             MOVEQ.L #18,D5
             MOVEQ.L #8,D2        ARGUMENT LENGTH
             BRA     KERNELCALL
*
*
*
             XDEF    GETTIME
GETTIME      EQU     *
             MOVEA.L (SP)+,A4          A4:= RETURN ADDR
             MOVEQ.L #34,D5            D5 := GETTIME
             TRAP    #7                KERNELCALL
             MOVEA.L (SP)+,A2          A2:= CPU ADDR
             MOVEM.L D0/D1,(A2)        STORE CPU
             MOVEA.L (SP)+,A2          A2:= ELAPSED ADDR
             MOVEM.L D2/D3,(A2)        STORE ELAPSED
             MOVEM.L D6/D7,(SP)        STACK:= RESULT
             MOVE.L  #.PLJSR,A3        REESTABLISH A3
         TSTOUT 'GETTIME-AFTER',-16(SP),32(SP),TSTRTS2
             JMP     (A4)              RETURN
 
             XDEF    GETCALLSTACK
GETCALLSTACK EQU     *
             MOVE.L  #-1,D6            NOT IMPLEMENTED !!!!!!!!!!!!!!!!!!!!!!
             MOVE.L  #-1,D7            NOT IMPLEMENTED !!!!!!!!!!!!!!!!!!!!!!
         TSTOUT 'NOT-IMPLEMENTED',-16(SP),32(SP),TSTRTS1
             JMP     .PKEREXCP
*
*
*
             XDEF    TESTSPEEDUP
TESTSPEEDUP  MOVEA.L (SP)+,A4          A4:= RETURN ADDR
             MOVEQ   #24,D5            FUNCTION:= TESTSPEEDUP
         TSTOUT 'TESTSPEEDUP-BEFORE',-16(SP),32(SP),TSTRTS2
             TRAP    #7                KERNELCALL
             MOVEA.L (SP)+,A2          A2:= STATUS ADDR
             MOVE.L  D4,(A2)           STATUS ADDR:= SPEEDUP STATUS
             MOVEM.L D6/D7,(SP)        STACK:= RESULT
             MOVE.L  #.PLJSR,A3        REESTABLISH A3
         TSTOUT 'TESTSPEEDUP-AFTER',-16(SP),32(SP),TSTRTS2
             JMP     (A4)              RETURN
*
*
*
INSPKER      MOVEA.L (SP)+,A4          A4:= RETURN ADDR
             MOVE.L  SP,D4             D4:= LOW ARG
             ADDQ.L  #4,D4
         TSTOUT 'INSPECT-BEFORE',-16(SP),32(SP),TSTRTS2
             TRAP    #7                KERNELCALL
             MOVEA.L (SP)+,A2          A2:= INDEX ADDR
             MOVE.L  D4,(A2)           INDEX ADDR:= INDEX
             ADD.L   #12,SP            ADJUST SP
             MOVEM.L D6/D7,(SP)        STACK:= RESULT
             MOVE.L  #.PLJSR,A3        REESTABLISH A3
         TSTOUT 'INSPECT-AFTER',-16(SP),32(SP),TSTRTS2
             JMP     (A4)              RETURN
*
*
*
             XDEF    INSPOBJ
INSPOBJ      MOVEQ   #27,D5            FUNCTION:= INSPOBJ
             MOVEQ   #12,D2            D2:= LENGTH
             BRA     INSPKER
*
*
*
             XDEF    INSPCALLER
INSPCALLER   MOVEQ   #29,D5            FUNCTION:= INSPCALLER
             MOVEQ   #12,D2            D2:= LENGTH
             BRA     INSPKER
*
*
*
             XDEF    INSPACT
INSPACT      MOVEA.L (SP)+,A4          A4:= RETURN ADDR
             MOVEQ   #28,D5            FUNCTION:= INSPACT
             MOVEQ   #12,D2            D2:= LENGTH
             MOVE.L  SP,D4             D4:= LOW ARG
             ADDQ.L  #8,D4
         TSTOUT 'INSPACT-BEFORE',-16(SP),32(SP),TSTRTS2
             TRAP    #7                KERNELCALL
             MOVEA.L (SP)+,A2          A2:= COUNT ADDR
             MOVE.L  D5,(A2)           COUNT ADDR:= COUNT
             MOVEA.L (SP)+,A2          A2:= INDEX ADDR
             MOVE.L  D4,(A2)           INDEX ADDR:= INDEX
             ADD.L   #12,SP            ADJUST SP
             MOVEM.L D6/D7,(SP)        STACK:= RESULT
             MOVE.L  #.PLJSR,A3        REESTABLISH A3
         TSTOUT 'INSPACT-AFTER',-16(SP),32(SP),TSTRTS2
             JMP     (A4)              RETURN
*
*
*
             XDEF    INSPPROC
INSPPROC     MOVEA.L (SP)+,A4          A4:= RETURN ADDR
             MOVEQ   #30,D5            FUNCTION:= INSPPROC
             MOVEQ   #8,D2             D2:= LENGTH
             MOVE.L  SP,D4             D4:= LOW ARG
             ADDQ.L  #4,D4
         TSTOUT 'INSPPROC-BEFORE',-16(SP),32(SP),TSTRTS2
             TRAP    #7                KERNELCALL
             MOVEA.L (SP)+,A2          A2:= INDEX ADDR
             MOVE.L  D4,(A2)           INDEX ADDR:= INDEX
             ADD.L   #8,SP             ADJUST SP
             MOVEM.L D6/D7,(SP)        STACK:= RESULT
             MOVE.L  #.PLJSR,A3        REESTABLISH A3
         TSTOUT 'INSPPROC-AFTER',-16(SP),32(SP),TSTRTS2
             JMP     (A4)              RETURN
*
*
*
             XDEF    FORMAL
FORMAL       MOVEA.L (SP)+,A4          A4:= RETURN ADDR
             MOVE.L  (SP)+,(SP)        RES:= I
             JMP     (A4)              RETURN
*
*
*
             XDEF    TEMP
TEMP         MOVEA.L (SP)+,A4          A4:= RETURN ADDR
             ADD.L   #16384,(SP)       I:= I+ FIRSTTEMP
             MOVE.L  (SP)+,(SP)        RES:= I
             JMP     (A4)              RETURN
*
*
*
             XDEF    LOCAL
LOCAL        MOVEA.L (SP)+,A4          A4:= RETURN ADDR
             ADD.L   #32768,(SP)       I:= I+LOCALTEMP
             MOVE.L  (SP)+,(SP)        RES:= I
             JMP     (A4)              RETURN
*
*
*
             XDEF    ENTRYARG
ENTRYARG     MOVEA.L (SP)+,A4          A4:= RETURN ADDR
             MOVE.L  SP,A0
             MOVE.L  FUNC1(A5),(A0)+   STACK:= FUNCTION
             MOVE.L  NOFOR1(A5),(A0)+  STACK:= NO OF FORMALS
             MOVE.L  NOFOR1+8(A5),(A0)+ STACK:= BYTES RELEASED
             MOVE.L  NOFOR1+4(A5),(A0)+ STACK:= INDEX
             MOVE.L  FUNC2(A5),(A0)+   STACK:= MODE
         TSTOUT 'ENTRYARG',(SP),32(SP),TSTRTS2
             JMP     (A4)              RETURN
*
*
*
             XDEF    EXCEPTION
EXCEPTION    MOVEA.L (SP)+,A4          A4:= RETURN ADDR
             MOVE.L  (SP)+,D6          D6/D7:= RESULT
             MOVE.L  (SP)+,D7
             JMP     .PKEREXCP
*
*
*
             XDEF    GETEXCEPTION
GETEXCEPTION MOVEA.L (SP)+,A4          A4:= RETURN ADDR
             MOVE.L  EXCPR(A5),(SP)    STACK:= RESULT
             MOVE.L  EXCPR+4(A5),4(SP)
         TSTOUT 'GET-EXCEPTION',(SP),8(SP),TSTRTS2
             JMP     (A4)              RETURN
*
*
*
             XDEF    BIND
BIND         MOVEA.L (SP)+,A4          A4:= RETURN ADDR
             MOVE.L  (SP)+,D0          D0:= NO OF BYTES
             MOVE.L  SP,A0
             ADD.L   (SP)+,A0          A0:= ADRESS OF ARRAY
             ADD.L   (SP)+,A0             + LENGTH OF ARRAY
             MOVE    (SP)+,A1          A1:= ADDRESS OF DOPEVECTOR
             SUB.L   A1,A0             A0:= DISPLACEMENT
             MOVE.L  A0,(A1)+
             MOVE.L  D0,(A1)
         TSTOUT 'BIND',-20(SP),(SP),TSTRTS2
             JMP     (A4)              RETURN
*
*
IOCALL       EQU     *
             MOVEQ.L #4,D2
             MOVE.L  (SP)+,A4          A4 := RETURN ADDRESS
             MOVEQ.L #12,D4
             ADD.L   SP,D4             D4 := ARGUMENT ADDRESS
          TSTOUT 'IOCALL-BEFORE',(SP),16(SP),TSTRTS2
             TRAP    #7                KERNEL CALL
          TSTOUT 'IOCALL-AFTER',0,0,TSTRTS1
             MOVE.L  #.PLJSR,A3        RESTORE RTS POINTER
             MOVE.L  (SP)+,A0
             EXT.W   D5
             EXT.L   D5
             MOVE.L  D5,(A0)           RETURN USE BITS
             MOVE.L  (SP)+,A0
             MOVE.L  D3,(A0)           RETURN LENGTH
             MOVE.L  (SP)+,A0
             MOVE.L  A1,(A0)           RETURN ABSADDR
             ADDQ.L  #4,SP             DROP KERNEL ARGUMENT
             MOVEM.L D6/D7,(SP)        RETURN RESULT VALUE
             JMP     (A4)              EXIT
             XDEF    IOBEGIN
IOBEGIN      EQU     *
             MOVEQ.L #36,D5
             BRA     IOCALL
             XDEF    IOEND
IOEND        EQU     *
             MOVEQ.L #37,D5
             BRA     IOCALL
             XDEF    ABSADDR
ABSADDR      EQU     *
             XDEF    IOADDR
IOADDR       EQU     *
             MOVEQ.L #38,D5
             BRA     IOCALL
XXXXXX       EQU     *         FILL BYTES BECAUSE CPU NEEDS
             DC.L    0,0,0     THEM AT THE END OF A SEGMENT AND
             DC.L    0,0,0     THE LINKER DOES NOT KNOW.
             END
 
 
 
 
 
«eof»