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

⟦d06db16c3⟧

    Length: 4548 (0x11c4)
    Notes: pts_type(SC)
    Names: »BITPUL.SC«

Derivation

└─⟦025d39960⟧ Bits:30009672 Philips computer tape "600133"
    └─⟦this⟧ »A:DSB/BITPUL.SC« 

PTS(SC)

	IDENT	BITPUL	810612 NJ 
* 
* THIS MODULE MAKES IT POSSIBLE TO MANIPULATE BITS
* IN A CREDIT DATAITEM
* 
* 4 FUNCTIONS ARE ALLOWED:
*   BITON		SET BIT
*   BITOFF		CLEAR BIT 
*   BITINV		INVERT BIT
*   BITTST		TEST BIT
* 
* THE MODULE IS CALLED AS FOLLOWS:
* 
*   CALL <FUNCTION>,ITEM,INDEX
* 
* WHERE FUNCTION IS ONE OF THE NAMES DEFINED ABOVE, 
* ITEM IS THE NAME OF THE ITEM TO BE TESTED 
* INDEX IS THE BIT POSITION WITHIN ITEM 
* WHEN INDEX = 0, THE MOST SIGNIFICANT BIT IS TAKEN 
* 
* THERE IS NO CHECK ON VALIDITY OF BIT INDEX
* IT IS Y O U R RESPONSIBILITY TO ENSURE THAT THIS
* VALUE IS WITHIN THE LENGTH OF THE ITEM
* 



	ENTRY	BITTST 
	ENTRY	BITINV 
	ENTRY	BITON
	ENTRY	BITOFF 



	EXTRN	I:RT1
	EXTRN	I:EVA0 
	EJECT
BITTST	EQU	*
	LDKL	A8,BTEST	LOAD POINTER TO REQ. BITOPER.
	RF	GETPAR
* 
BITINV	EQU	*
	LDKL	A8,BINV 
	RF	GETPAR
* 
BITON	EQU	* 
	LDKL	A8,BON
	RF	GETPAR
* 
BITOFF	EQU	*
	LDKL	A8,BOFF 
* 
GETPAR	EQU	*
	CF	A14,I:EVA0	PICK UP ADDR OF 1. ARGUMENT
	LDR	A4,A9	SAVE ADDR IN A4
	CF	A14,I:EVA0	PICK UP VALUE OF 2. ARGUMENT 
	LD	A5,0,A9 
	LDK	A7,X'01'	CHECK IF ITEM ON FULLWORD BOUND 
	TM	A7,A4 
	RF(0)	WORDB
	ADK	A5,X'08'	FIX FOR ITEM ON BYTE BOUND
	SUK	A4,X'01' 
WORDB	EQU	* 
	LDR	A6,A5	SAVE BIT INDEX 
	SRA	A5,3	SPLIT ADDR INTO BYTE + BIT
	ADR	A4,A5	BYTE ADDR IN A4
	ANK	A6,X'0F'	EXTRACT BIT OFFSET
	ORKL	A6,X'3D60'	A6 := 'SRL A5,0' 
	LDKL	A5,X'8000'	INITIAL BIT MASK 
	EXR	A6	EXECUTE THE SRL 
	LDR	A7,A5
	AN	A5,0,A4	READ BIT STATUS INTO A5 
	RF(0)	OFF
	LDK	A5,X'01'	SET CREDIT COND REG MASK
OFF	EQU	* 
* UPDATE CREDIT CONDITION REGISTER
	LD	A6,2,A13
	SC	A5,-2,A6
* 
* SELECT TYPE OF OPERATOR 
	ABR	A8	BRANCH TO THE ADR SELECTED BEFORE 
* 
BINV	EQU	*
	XRS	A7,0,A4	INVERT BIT 
	RF	OUT	
* 
BON	EQU	* 
	ORS	A7,0,A4	SET BIT
	RF	OUT 
* 
BOFF	EQU	*
	C1R	A7,A7
	ANS	A7,0,A4	CLEAR BIT
* 
BTEST	EQU	* 
OUT	EQU	* 
	ABL	I:RT1	GET OUT
	END

Full view