|
|
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: 2176 (0x880)
Types: TextFile
Names: »MRK.SA«
└─⟦909f4eb2b⟧ Bits:30009789/_.ft.Ibm2.50006622.imd Mogens Pelles Zilog 80,000 / EOS projekt
└─⟦this⟧ »MRK.SA«
└─⟦ddcd65152⟧ Bits:30009789/_.ft.Ibm2.50006617.imd Mogens Pelles Zilog 80,000 / EOS projekt
└─⟦this⟧ »MRK.SA«
NOLIST
INCLUDE RR.RTEQU.SA
INCLUDE RR.MACROS.SA
LIST
*
* FILE RR.RTEQU.SA HAS BEEN INCLUDED
* FILE RR.MACROS.SA HAS BEEN INCLUDED
*
TTL V 0.01 68K EOS PASCAL MARK (HEAP MARKING) SUBROUTINE
MRK IDNT 0,01 68K EOS PASCAL MARK (HEAP MARKING) SUBROUTINE
SECTION 8 ! 68K PASCAL RUNTIME ROUTINES BELONG IN 8
*
*********
*
* MRK, MARK THE TOP OF THE HEAP
*
* ENTRY:
* A0 = PTR TO THE VARIABLE THAT IS SUPPOSED TO RECIEVE
* THE CURRENT TOP OF HEAP PTR
*
* EXIT:
* NONE.
*
* USES:
* 0 1 2 3 4 5 6 7
* A: * X X X X X X A
* D: X X X X X X X *
*
* UDPATED FOR EOS PASCAL USE
*
*
* FUNCTION:
* MRK FIRST CHECKS TO SEE IF STACK HEAP OVERFLOW HAS OCCURED
* AND THEN MAKES A COPY OF THE TOP OF HEAP POINTER IN THE USERS
* VARIABLE.
*
* EXTERNALS:
* .PMRK = DEF, ENTRY POINT FOR THE MARK THE HEAP ROUTINE
*
* .PCHKOVF = REF, CHECK FOR STACK HEAP OVERFLOW ROUTINE
*
* .PCHKOBJ = REF, CHECK FOR OBJECT CALL
*
*********
*
XDEF .PMRK ! ENTRY POINT FOR THE HEAP MARKING ROUTINE
*
XREF .PCHKOVF ! STACK HEAP OVERFLOW CHECKING ROUTINE
*
XREF .PCHKOBJ ! CHECK FOR OBJECT CALL
*
.PMRK: EQU * ! THIS IS THE ENTRY POINT FOR THE HEAP MARKER
*
MOVE.L (A7),D7 ! D7 = RETURN ADDRESS IN CASE OF ERROR
BSR .PCHKOBJ ! ERROR IF OBJECT CALL
*
* CHECK FOR STACKHEAP OVERFLOW
*
BSR .PCHKOVF ! ERROR IF STACK/HEAP OVERFLOW HAS OCCURED
*
* PUT A COPY OF THE TOP OF HEAP POINTER IN THE USERS VARIABLE
*
MOVE.L 4(A5),(A0) ! COPY THE TOP OF HEAP POINTER.
SUBQ.L #4,(A0) ! MAKE POINTER LIKE ONE RETURNED BY NEW
*
* RETURN TO THE PASCAL PROGRAM
*
RTS ! RETURN TO THE PASCAL PROGRAM
END
«eof»