|
|
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: »SSP.SA«
└─⟦909f4eb2b⟧ Bits:30009789/_.ft.Ibm2.50006622.imd Mogens Pelles Zilog 80,000 / EOS projekt
└─⟦this⟧ »SSP.SA«
└─⟦ddcd65152⟧ Bits:30009789/_.ft.Ibm2.50006617.imd Mogens Pelles Zilog 80,000 / EOS projekt
└─⟦this⟧ »SSP.SA«
NOLIST
INCLUDE RR.FIOEQU.SA
INCLUDE RR.RTEQU.SA
LIST
NOFORMAT
TTL V 0.02 68K EOS PASCAL SUBSEGMENT PARAMETERS
SSP IDNT 0,02 68K EOS PASCAL SUBSEGMENT PARAMETERS
SECTION 8
*
*****************************************************************************
*
*
* FUNCTION:
* THE ROUTINE FINDS KERNEL POINTER ADDRESS OF SEGMENT, DESCRI
* BED IN SUBSEGMENT ARGUMENT, INSERTS IT AND ADJUSTS THE START
* ADDRESS. THE ROUTINE CALLS EXCPT IN CASE OF POINTER ERROR.
* ON ENTRY THE STACK CONTAINS:
*
* RETURN ADDRESS
* 0 LENGTH
* 4 FIRST
* 8 USE
* 10 POINTER ARGUMENT
*
* REGISTERS:
* ON ENTRY:
*
*
*
* MODIFIED REGISTERS
*
* 0 1 2 3 4 5 6 7
* A: * *
* D: * *
*
* EXTERNALS:
*
* .PSSP DEF
* .PEXCePT REF
*
*
***************************************************************************
*
XDEF .PSSP
XREF .PEXCEPT
.PSSP EQU * ENTRY POINT
MOVEA.L (SP)+,A0 A0:= RETURN ADDRESS
TSTOUT 'SSP-BEFORE',(SP),14(SP),TSTRTS1
TST.L 10(SP)
IF <NE> THEN.S RETURN IF ADDRESS
JMP (A0) POINTER <> 0
ENDI
MOVE.L 4(SP),D0 D0:= FIRST ADDRESS
CMP.L TVAL(A5),D0
IF <LT> THEN.S IF TOPVAL > FIRST ADDRESS >
CMP.L FTEMP(A5),D0
IF <GE> THEN.S FIRSTTEMP THEN
MOVE.L #16385,10(SP) ADDRESS POINTER := TEMP1
SUB.L FTEMP(A5),D0 FIRSTADDR := FIRSTADDR -
MOVE.L D0,4(SP) FIRSTTEMP
TSTOUT 'SSP-AFTER1',(SP),14(SP),TSTRTS1
JMP (A0) END
ENDI
ENDI
MOVEA.L TMD(A5),A4 A4:= TOP MAP DESC
SSP1 CMPA.L #0,A4
TSTOUT 'SSP-SEARCH',(A4),14(A4),TSTRTS2
IF <EQ> THEN.S IF TOP MAP DESC = 0
MOVE.L #ADDRERR,D0 THEN
BSR .PEXCEPT EXCEPTION ADDRESS ERROR
ENDI
CMP.L LOADDR(A4),D0
IF <GE> THEN.S
MOVE.L LOADDR(A4),D1 IF FIRST ADDR IS WITHIN
ADD.L SEGLGTH(A4),D1 A SEGMENT
CMP.L D1,D0 THEN
IF <LT> THEN.S
MOVE.L PTRADDR(A4),10(SP) POINTER ARG:= POINTER ADDR
SUB.L LOADDR(A4),D0 FIRST:= FIRST - LOGICAL ADDR
MOVE.L D0,4(SP)
TSTOUT 'SSP-AFTER2',(SP),14(SP),TSTRTS1
JMP (A0)
ENDI
ENDI
MOVE.L PMD(A4),A4
BRA SSP1
END
«eof»