|
|
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: 12544 (0x3100)
Types: TextFile
Names: »LIB.SA«
└─⟦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«
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»