DataMuseum.dk

Presents historical artifacts from the history of:

Philips Data Systems

This is an automatic "excavation" of a thematic subset of
artifacts from Datamuseum.dk's BitArchive.

See our Wiki for more about Philips Data Systems

Excavated with: AutoArchaeologist - Free & Open Source Software.


top - metrics - download

⟦e85b304cc⟧

    Length: 4072 (0xfe8)
    Notes: pts_type(SC)
    Names: »PUSH.SC«

Derivation

└─⟦35fda6e03⟧ Bits:30009701 Philips computer tape "BARCLAY"
    └─⟦this⟧ »BARCLAY/PUSH.SC« 
    └─⟦this⟧ »BARCLAY/PUSH.SC« 
└─⟦e276fd206⟧ Bits:30009696 Philips computer tape "600413"
    └─⟦this⟧ »BARCLAY/PUSH.SC« 

PTS(SC)

 IDENT PUSH 80.10.28 NJ 
 DDUM NJDDIV
 PDIV 
 ENTRY PUSH 
 ENTRY PULL 
* 
* 
* THE TWO PROCEDURES PUSH AND PULL TAKE CARE
* OF THE STACKHANDLING. 
* DEPENDING ON THE PARAMETER, 1-8 OF THE
* BINARY DATAITEMS TBIN1,TBIN2,....TBIN8 ARE
* PUSHED INTO THE STACK, OR PULLED OUT OF 
* THE STACK.
* TO KEEP TRACK OF 'WHERE TO PUT IT', A 
* STACKPOINTER IS IMPLEMENTED.
* 
* AS THE DATAITEMS ARE SAVED IN THE SEQUENCE
* TBIN8,7,6,.... THE PULL-OFF MUST BE BACKWARD
* 
* 
 EJECT
PUSH PROC B1
* 
* THE PROCEDURE SAVES ONE OR MORE OF THE
* ITEMS TBIN8,TBIN7,.... ON THE STACK AND 
* UPDATES THE STACKPOINTER ACCORDINGLY
* 
 PBIN B1

 IB B1,PUS1,PUS2,PUS3,PUS4,PUS5,PUS6,PUS7,PUS8
PUS8
 XCOPY TSTACK,TSTACKPT,CBIN2,TBIN8,CBIN0
 ADD TSTACKPT,CBIN2 
PUS7
 XCOPY TSTACK,TSTACKPT,CBIN2,TBIN7,CBIN0
 ADD TSTACKPT,CBIN2 
PUS6
  XCOPY TSTACK,TSTACKPT,CBIN2,TBIN6,CBIN0 
 ADD TSTACKPT,CBIN2 
PUS5
 XCOPY TSTACK,TSTACKPT,CBIN2,TBIN5,CBIN0
 ADD TSTACKPT,CBIN2 
PUS4
 XCOPY TSTACK,TSTACKPT,CBIN2,TBIN4,CBIN0
 ADD TSTACKPT,CBIN2 
PUS3
 XCOPY TSTACK,TSTACKPT,CBIN2,TBIN3,CBIN0
 ADD TSTACKPT,CBIN2 
PUS2
 XCOPY TSTACK,TSTACKPT,CBIN2,TBIN2,CBIN0
 ADD TSTACKPT,CBIN2 
PUS1
 XCOPY TSTACK,TSTACKPT,CBIN2,TBIN1,CBIN0
 ADD TSTACKPT,CBIN2 
 RET
 PEND 
 EJECT
PULL PROC B1
 PBIN B1
* 
* THE PROCEDURE RESTORES ONE OR MORE OF 
* THE ITEMS TBIN8,TBIN7,.... ON THE STACK 
* AND UPDATES THE STACKPOINTER ACCORDINGLY
* 
 SUB TSTACKPT,B1 POINT AT STARTADDRESS
 SUB TSTACKPT,B1 FOR PREVIOUS PUSH
 IB B1,PUL1,PUL2,PUL3,PUL4,PUL5,PUL6,PUL7,PUL8
PUL8
 XCOPY TBIN8,CBIN0,CBIN2,TSTACK,TSTACKPT
 ADD TSTACKPT,CBIN2 
PUL7
 XCOPY TBIN7,CBIN0,CBIN2,TSTACK,TSTACKPT
 ADD TSTACKPT,CBIN2 
PUL6
 XCOPY TBIN6,CBIN0,CBIN2,TSTACK,TSTACKPT
 ADD TSTACKPT,CBIN2 
PUL5
 XCOPY TBIN5,CBIN0,CBIN2,TSTACK,TSTACKPT
 ADD TSTACKPT,CBIN2 
PUL4
 XCOPY TBIN4,CBIN0,CBIN2,TSTACK,TSTACKPT
 ADD TSTACKPT,CBIN2 
PUL3
 XCOPY TBIN3,CBIN0,CBIN2,TSTACK,TSTACKPT
 ADD TSTACKPT,CBIN2 
PUL2
 XCOPY TBIN2,CBIN0,CBIN2,TSTACK,TSTACKPT
 ADD TSTACKPT,CBIN2 
PUL1
 XCOPY TBIN1,CBIN0,CBIN2,TSTACK,TSTACKPT
 ADD TSTACKPT,CBIN2 ADJUST ONCE MORE, SO
 SUB TSTACKPT,B1 TSTACKPT NOW POINTS
 SUB TSTACKPT,B1 AT THE NEW STARTADDRESS
 RET
 PEND 



 END

Full view