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 - metrics - download

⟦5082350e8⟧ TextFile

    Length: 2048 (0x800)
    Types: TextFile
    Names: »BDOS.A86«

Derivation

└─⟦255a2b22f⟧ Bits:30004229/disk4.imd SW1400 CCP/M 86 Distributionsdiskette 3.1a
    └─⟦this⟧ »BDOS.A86« 

TextFile


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

       		DB	5, 'BDOS1'	;  PROC bdos1(cx,dx,REF ax, REF cxerr);
		DB	PROC		;
		DW	0		;
		DW	OFFSET XBDOS1	;
		DB	4		;	fire parametre
		DB	2, 'CX'		;
		DB	VALUE+REAL,0	;
		DB	2, 'DX'		;
		DB	VALUE+REAL,0	;
		DB	2, 'AX'		;
		DB	REF+REAL,0	;
		DB	5, 'CXERR'	;
		DB	REF+REAL,0	;

;	bdos1 kan anvendes til kald af de BDOS-interruptrutiner (int-224)
;	som kun kræver at CL (CX) og eventuelt DX har en værdi.
;	bdos1 kan f.eks. anvendes ved C_GET (hent konsolnummer) eller
;	C_WRITE (skriv et tegn på skærmen).



       		DB	5, 'BDOS2'	; PROC bdos2(cx,blk$,REF ax, REF cxerr);
		DB	PROC		;
		DW	0		;
		DW	OFFSET XBDOS2	;
		DB	4		;	fire parametre
		DB	2, 'CX'		;
		DB	VALUE+REAL,0	;
		DB	3, 'BLK'	;
		DB	VALUE+STRING,0	;
		DB	2, 'AX'		;
		DB	REF+REAL,0	;
		DB	5, 'CXERR'	;
		DB	REF+REAL,0	;


;	bdos2 kan anvendes til kald af de BDOS-interruptrutiner (int-224)
;	som kræver at DX og DS indeholder adressen på en parameter blok.
;	bdos1 kan f.eks. anvendes ved C_WRITESTR (skriv streng på skærmen)
;	eller Q_OPEN (åbner til en system kø).



		DB	0
		DW	OFFSET RESERVER
		DW	ASSEMBLER	;


INCLUDE	ASSEMBL.A86


BDOS		EQU	224




XBDOS1:	MOV	CL,1		;
	CALL	REALPAR		;
	MOV	XCX,BX		;
	MOV	CL,2		;
	CALL	REALPAR		;
	MOV	XDX,BX		;

	MOV	CX,XCX		;
	MOV	DX,XDX		;
	INT	BDOS		;

	PUSH	CX		;
	MOV	BX,AX		;
	MOV	CL,3		;
	CALL	PUTREALPAR	;
	POP	BX		;
	MOV	CL,4		;
	CALL	PUTREALPAR	;

	JMP	FINITO		;


XBDOS2:	MOV	CL,1		;
	CALL	REALPAR		;
	MOV	CX,BX		;
	MOV	BP,RESERVER+6	;
	PUSH	DS		;
	MOV	DS,4ÆBPÅ	;	COMAL's data_segment;
	MOV	DX,8ÆBPÅ	;	anden parameter adresse;
	ADD	DX,4		;	skip max og current længde;
	INT	BDOS		;
	POP	DS		;

	PUSH	CX		;
	MOV	BX,AX		;
	MOV	CL,3		;
	CALL	PUTREALPAR	;
	POP	BX		;
	MOV	CL,4		;
	CALL	PUTREALPAR	;

	JMP	FINITO		;

dseg $

XCX	DW 	0
XDX	DW	0


END

«eof»