|
|
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: 3072 (0xc00)
Types: TextFile
Names: »VPA.SA«
└─⟦909f4eb2b⟧ Bits:30009789/_.ft.Ibm2.50006622.imd Mogens Pelles Zilog 80,000 / EOS projekt
└─⟦this⟧ »VPA.SA«
└─⟦ddcd65152⟧ Bits:30009789/_.ft.Ibm2.50006617.imd Mogens Pelles Zilog 80,000 / EOS projekt
└─⟦this⟧ »VPA.SA«
NOLIST
INCLUDE RR.FIOEQU.SA
INCLUDE RR.RTEQU.SA
LIST
NOFORMAT
TTL V 0.04 68K EOS PASCAL VALUE PARAMETER ADAPTABLE ARRAY
VPA IDNT 0,04 68K EOS PASCAL VALUE PARAMETER ADAPTABLE ARRAY
SECTION 8
*
*****************************************************************************
*
*
* FUNCTION:
* THE ROUTINE STORES AN ADAPTABLE ARRAY DOPE VECTOR GIVEN
* ADDRESS AND LENGTH OF NEXT FORMAL VALUE PARAMETER, AND
* ADVANCES LASTVAL. THE ROUTINE CALLS EXCEPT IN CASE OF
* LENGTH ERROR.
*
* REGISTERS:
* ON ENTRY:
*
* D0 ELEMENT LENGTH
*
* A0 ADDRESS OF DOPE VECTOR
*
* ON EXIT
* D0 0: NO MORE VALUE ARGUMENTS 1: VALUE ARGUMENT PROCESSED
*
*
* MODIFIED REGISTERS
*
* 0 1 2 3 4 5 6 7
* A: * * *
* D: * *
*
* EXTERNALS:
*
* .PVPA DEF
* .PEXCEPT REF
*
*
***************************************************************************
*
XDEF .PVPA
XREF .PEXCEPT
.PVPA EQU * ENTRY POINT
TSTOUT 'VPA-ENTER',FTEMP(A5),RTERRST(A5),TSTRTS3
SUB.B #1,EXCPR+ARGNO(A5) NEXT ARGNO
MOVEA.L VALPTR(A5),A1 A1:= LATEST VALARG
CMPA.L LVAL(A5),A1
IF <GT> THEN.L IF VALPTR > LASTVAL THEN
MOVEA.W -(A1),A2 A2:= NEXT LENGTH
MOVE.L A1,D1
SUB.L A2,D1 D1:= NEXT VALARG:=
BCLR #0,D1 EVEN(LATEST VALERG - NEXT LENGTH -2)
TSTOUT 'VPA-NEXT',0,0,TSTRTS3
CMP.L LVAL(A5),D1
IF <LT> THEN.S IF NEXT VALARG < LASTVAL THEN
MOVE.L #VALARGER,D0
BSR .PEXCEPT EXCEPTION
ENDI
MOVE.L A2,D2 D2:= NEXT LENGTH
DIVU D0,D2 D2:= NEXT LENGTH DIVU ELEMENT LENGTH
SWAP D2
TST.W D2
IF <NE> THEN.S IF NEXT LENGTH MOD ELEMENT LENGTH <> 0
MOVE.L #VALSIZER,D0
BSR .PEXCEPT EXCEPTION
ENDI
MOVE.L D1,VALPTR(A5) VALPTR:= NEXT VALARG
SUB.L A0,D1
MOVE.L D1,(A0)+ DOPEVEC.DISP:= NEXT VALARG - DOPEVEC
TSTOUT 'VPA-PTR',-4(A0),4(A0),TSTRTS3
MOVE.L A2,(A0) DOPEVEC.LENGTH:= NEXT LENGTH
MOVEQ #1,D0 NEXT VALARG:= TRUE
ELSE.S
MOVEQ #0,D0 NEXT VALARG:= FALSE
ENDI
TSTOUT 'VPA11',VALPTR(A5),RTERRST(A5),TSTRTS1
TST D0 FOR TEST ONLY !!!!!!
RTS
END
«eof»