DataMuseum.dk

Presents historical artifacts from the history of:

CP/M

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

See our Wiki for more about CP/M

Excavated with: AutoArchaeologist - Free & Open Source Software.


top - download

⟦d74ba730e⟧ TextFile

    Length: 3072 (0xc00)
    Types: TextFile
    Names: »ADAM.A86«

Derivation

└─⟦490a8e2df⟧ Bits:30003937 SW1501 RcComal-80 v3.0 (thykier)
    └─ ⟦this⟧ »ADAM.A86« 
└─⟦72a4952a6⟧ Bits:30004362 SW1501 RcComal-80 v3.0
    └─ ⟦this⟧ »ADAM.A86« 
└─⟦dcb507fe6⟧ Bits:30003936 SW1501 RcComal-80 v3.0 (ils)
    └─ ⟦this⟧ »ADAM.A86« 

TextFile


CSEG
VER		DW 	VERSNO		;
PACKTYPE	DW	ASSEMBLER	;
DOC		DW	0		;
INIT		DW	OFFSET ADAMFINITO	;
EXIT		DW	0		;



	DB	8,'ANALOGIN'
	DB	PROC		;
	DW	0		; ingen dokumentation
	DW	OFFSET XANAIN
	DB	3
	DB	6,'CHANNO'
	DB	VALUE+REAL,0	;
	DB	4,'GAIN'
	DB	VALUE+REAL,0	;
	DB	5,'VALUE'
	DB	REF+REAL,0	;

	DB	9,'ANALOGOUT'
	DB	PROC		;
	DW	0		; ingen dokumentation
	DW	OFFSET XANOUT
	DB	1
	DB	5,'VALUE'
	DB	VALUE+REAL,0	;

	DB	9,'MOTORSTEP'
	DB	PROC		;
	DW	0		; ingen dokumentation
	DW	OFFSET XSTEP
	DB	2
	DB	7,'MOTORNO'
	DB	VALUE+REAL,0	;
	DB	8,'STEPTYPE'
	DB	VALUE+REAL,0	;

	DB	9,'RELÆSKIFT'
	DB	PROC		;
	DW	0		; ingen dokumentation
	DW	OFFSET XRELAE
	DB	2
	DB	10,'NYTILSTAND'
	DB	VALUE+REAL,0	;
	DB	10,'RELÆNUMMER'
	DB	VALUE+REAL,0	;

	DB	10,'LÆSKONTAKT'
	DB	PROC		;
	DW	0		; ingen dokumentation
	DW	OFFSET XCONT
	DB	2
	DB	9,'KONTAKTNO'
	DB	VALUE+REAL,0	;
	DB	5,'VALUE'
	DB	REF+REAL,0	;


	DB	0		; ikke flere procedurer og funktioner
	DW	OFFSET RESERVER	;
	DW	ASSEMBLER	;


INCLUDE	ASSEMBL.A86



XANAIN:
	MOV	CL,1
	CALL	REALPAR
	MOV	X,BX
	MOV	CL,2
	CALL	REALPAR
	MOV	Y,BX
	MOV	BX,Y
	SHL	BX,1
	SHL	BX,1
	ADD	BX,X
	ADD	BX,16
	MOV	DX,774
	MOV	AX,BX
	OUT	DX,AL
	MOV	CX,30
LLL:	LOOP	LLL
	AND	AL,11101111B
	OUT	DX,AL
	MOV	DX,768
BUSY:	IN	AL,DX
	TEST	AL,1
	JZ	BUSY
	MOV	DX,784
	IN	AL,DX
	MOV	AH,0
	XCHG	AX,BX
	MOV	DX,774
	OUT	DX,AL
	MOV	CL,3
	CALL	PUTREALPAR
	JMP	FINITO


ADAMFINITO:
	MOV	RELAE,0	;
	MOV	CONVAR,0
	MOV	DX,776
	MOV	AL,0
	OUT	DX,AL		; ALLE RELÆER SLUPPET
	MOV	DX,774
	MOV	AL,16
	OUT	DX,AL		; STOP A/D CONVERTER
	MOV	AL,0
	MOV	DX,768
	OUT	DX,AL		; STOP MOTOR 0
	ADD	DX,2
	OUT	DX,AL		; STOP MOTOR 1
	ADD	DX,2
	OUT	DX,AL		; STOP MOTOR 2
	JMP	FINITO


XRELAE:
	MOV	CL,1
	CALL	REALPAR
	MOV	X,BX
	MOV	CL,2
	CALL	REALPAR
	MOV	Y,BX
	MOV	CX,Y
	AND	CL,3
	MOV	AL,1
	SHL	AL,CL
	NOT	AL
	AND	RELAE,AL
	MOV	AX,X
	AND	AL,1
	SHL	AL,CL
	ADD	RELAE,AL
	MOV	AL,RELAE
	MOV	DX,776
	OUT	DX,AL
	JMP	FINITO


XCONT:
	MOV	CL,1
	CALL	REALPAR
	MOV	X,BX
	MOV	DX,770
	IN	AL,DX
	MOV	CONVAR,AL
	MOV	CX,X
	AND	CL,3
	MOV	AL,1
	SHL	AL,CL
	TEST	CONVAR,AL
	JZ	XCLOSED
	MOV	BX,1
	JMP	XCONEND
XCLOSED:
	MOV	BX,0
XCONEND:
	MOV	CL,2
	CALL	PUTREALPAR
	JMP	FINITO


XANOUT:
	MOV	CL,1
	CALL	REALPAR
	MOV	X,BX
	MOV	AX,X
	MOV	DX,784
	OUT	DX,AL
	JMP	FINITO


XSTEP:
	MOV	CL,1
	CALL	REALPAR
	MOV	X,BX
	MOV	CL,2
	CALL	REALPAR
	MOV	Y,BX
	MOV	CX,X
	MOV	BX,Y
	TEST	BX,1
	JNZ	SET_HALF
	MOV	AL,0
RET_HALF:
	ADD	AL,16
	MOV	DX,774
	OUT	DX,AL
	SHL	CX,1
	MOV	DX,768
	ADD	DX,CX	; DX=MOTORPORT NUMMER
	MOV	AL,BL
	AND	AL,2
	ADD	AL,1
	OUT	DX,AL
	NOP
	NOP
	NOP
	NOP
	NOP
	NOP
	NOP
	AND	AL,2
	OUT	DX,AL
	MOV	CX,2000
XXX:	LOOP	XXX
	JMP	FINITO

SET_HALF:
	MOV	AL,32
	SHL	AL,CL
	JMP	RET_HALF



DSEG	$


X		DW	0		; første argument
Y		DW	0		; anden argument
RELAE		DB	0		; RELÆSTATE
CONVAR		DB	0		; CONTACT INPUT



«eof»