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

⟦b8e5dffdf⟧ TextFile

    Length: 3072 (0xc00)
    Types: TextFile
    Names: »VPA.SA«

Derivation

└─⟦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« 

TextFile

           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»