|
|
DataMuseum.dkPresents historical artifacts from the history of: CP/M |
This is an automatic "excavation" of a thematic subset of
See our Wiki for more about CP/M Excavated with: AutoArchaeologist - Free & Open Source Software. |
top - metrics - download
Length: 2048 (0x800)
Types: TextFile
Names: »BDOS.A86«
└─⟦255a2b22f⟧ Bits:30004229/disk4.imd SW1400 CCP/M 86 Distributionsdiskette 3.1a
└─⟦this⟧ »BDOS.A86«
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»