Digital Research
This commit is contained in:
2020-11-06 18:50:37 +01:00
parent 621ed8ccaf
commit 31738079c4
8481 changed files with 1888323 additions and 0 deletions

View File

@@ -0,0 +1,198 @@
PL/M-86 COMPILER INTERFACE TO CP/M I/O 10/5/81 PAGE 1
ISIS-II PL/M-86 V2.0 COMPILATION OF MODULE IO
OBJECT MODULE PLACED IN IO.OBJ
COMPILER INVOKED BY: :F0: IO.PLM DEBUG OPTIMIZE(2) DATE(10/5/81) PAGEWIDTH(100) XREF
$title ('INTERFACE TO CP/M I/O')
1 io:
do;
/*
Template for all BDOS calls
*/
/*
modified 3/26/81 R. Silberstein
modified 6/16/81 R. Silberstein
modified 9/14/81 R. Silberstein
*/
2 1 declare tbuff (80h) byte external;
3 1 mon1: procedure (func,info) external;
4 2 declare func byte;
5 2 declare info address;
6 2 end mon1;
7 1 mon2: procedure (func,info) byte external;
8 2 declare func byte;
9 2 declare info address;
10 2 end mon2;
/**************************************
* *
* B D O S Externals *
* *
**************************************/
11 1 system$reset: procedure public;
12 2 call mon1 (0,0);
13 2 end system$reset;
14 1 read$console: procedure byte public;
15 2 return mon2 (1,0);
16 2 end read$console;
17 1 write$console: procedure (char) public;
18 2 declare char byte;
19 2 call mon1 (2,char);
20 2 end write$console;
21 1 write$list: procedure (char) public;
22 2 declare char byte;
23 2 call mon1 (5,char);
24 2 end write$list;
PL/M-86 COMPILER INTERFACE TO CP/M I/O 10/5/81 PAGE 2
25 1 constat: procedure byte public;
26 2 return mon2 (11,0);
27 2 end constat;
28 1 VERSION: PROCEDURE ADDRESS PUBLIC;
29 2 RETURN MON2 (12, 0);
30 2 END VERSION;
31 1 select$disk: procedure (disk$number) public;
32 2 declare disk$number byte;
33 2 call mon1 (14,disk$number);
34 2 end select$disk;
35 1 set$DMA$address: procedure (DMA$address) public;
36 2 declare DMA$address address;
37 2 call mon1 (26,DMA$address);
38 2 end set$DMA$address;
39 1 open$file: procedure (fcb$address) byte public;
40 2 declare fcb$address address;
41 2 CALL SET$DMA$ADDRESS (.TBUFF); /* FOR 1.4 SYSTEMS */
42 2 return mon2 (15,fcb$address);
43 2 end open$file;
44 1 OPEN$RO$FILE: PROCEDURE (FCB$ADDRESS) BYTE PUBLIC;
45 2 DECLARE FCB$ADDRESS ADDRESS, FCB BASED FCB$ADDRESS (32) BYTE;
46 2 FCB (6) = FCB (6) OR 80H;
47 2 RETURN OPEN$FILE (FCB$ADDRESS);
48 2 END OPEN$RO$FILE;
49 1 close$file: procedure (fcb$address) byte public;
50 2 declare fcb$address address;
51 2 return mon2 (16,fcb$address);
52 2 end close$file;
53 1 delete$file: procedure (fcb$address) public;
54 2 declare fcb$address address;
55 2 CALL mon1 (19,fcb$address);
56 2 end delete$file;
57 1 read$record: procedure (fcb$address) byte public;
58 2 declare fcb$address address;
59 2 return mon2 (20,fcb$address);
60 2 end read$record;
61 1 write$record: procedure (fcb$address) byte public;
62 2 declare fcb$address address;
63 2 return mon2 (21,fcb$address);
64 2 end write$record;
65 1 create$file: procedure (fcb$address) byte public;
66 2 declare fcb$address address;
67 2 return mon2 (22,fcb$address);
68 2 end create$file;
69 1 interrogate$disk: procedure byte public;
PL/M-86 COMPILER INTERFACE TO CP/M I/O 10/5/81 PAGE 3
70 2 return mon2 (25,0);
71 2 end interrogate$disk;
72 1 crlf: procedure public;
73 2 call write$console (0dh);
74 2 call write$console (0ah);
75 2 end crlf;
76 1 end io;
PL/M-86 COMPILER INTERFACE TO CP/M I/O 10/5/81 PAGE 4
CROSS-REFERENCE LISTING
-----------------------
DEFN ADDR SIZE NAME, ATTRIBUTES, AND REFERENCES
----- ------ ----- --------------------------------
21 0004H 1 CHAR . . . . . . . BYTE PARAMETER AUTOMATIC 22 23
17 0004H 1 CHAR . . . . . . . BYTE PARAMETER AUTOMATIC 18 19
49 00B1H 16 CLOSEFILE. . . . . PROCEDURE BYTE PUBLIC STACK=000AH
25 0043H 15 CONSTAT. . . . . . PROCEDURE BYTE PUBLIC STACK=0008H
65 00F1H 16 CREATEFILE . . . . PROCEDURE BYTE PUBLIC STACK=000AH
72 0110H 17 CRLF . . . . . . . PROCEDURE PUBLIC STACK=000EH
53 00C1H 16 DELETEFILE . . . . PROCEDURE PUBLIC STACK=000AH
31 0004H 1 DISKNUMBER . . . . BYTE PARAMETER AUTOMATIC 32 33
35 0004H 2 DMAADDRESS . . . . WORD PARAMETER AUTOMATIC 36 37
45 0000H 32 FCB. . . . . . . . BYTE BASED(FCBADDRESS) ARRAY(32) 46
61 0004H 2 FCBADDRESS . . . . WORD PARAMETER AUTOMATIC 62 63
44 0004H 2 FCBADDRESS . . . . WORD PARAMETER AUTOMATIC 45 46 47
39 0004H 2 FCBADDRESS . . . . WORD PARAMETER AUTOMATIC 40 42
49 0004H 2 FCBADDRESS . . . . WORD PARAMETER AUTOMATIC 50 51
53 0004H 2 FCBADDRESS . . . . WORD PARAMETER AUTOMATIC 54 55
65 0004H 2 FCBADDRESS . . . . WORD PARAMETER AUTOMATIC 66 67
57 0004H 2 FCBADDRESS . . . . WORD PARAMETER AUTOMATIC 58 59
3 0000H 1 FUNC . . . . . . . BYTE PARAMETER 4
7 0000H 1 FUNC . . . . . . . BYTE PARAMETER 8
7 0000H 2 INFO . . . . . . . WORD PARAMETER 9
3 0000H 2 INFO . . . . . . . WORD PARAMETER 5
69 0101H 15 INTERROGATEDISK. . PROCEDURE BYTE PUBLIC STACK=0008H
1 0000H IO . . . . . . . . PROCEDURE STACK=0000H
3 0000H MON1 . . . . . . . PROCEDURE EXTERNAL(1) STACK=0000H 12 19
23 33 37 55
7 0000H MON2 . . . . . . . PROCEDURE BYTE EXTERNAL(2) STACK=0000H 15
26 29 42 51 59 63 67 70
39 0086H 23 OPENFILE . . . . . PROCEDURE BYTE PUBLIC STACK=0010H 47
44 009DH 20 OPENROFILE . . . . PROCEDURE BYTE PUBLIC STACK=0016H
14 000EH 15 READCONSOLE. . . . PROCEDURE BYTE PUBLIC STACK=0008H
57 00D1H 16 READRECORD . . . . PROCEDURE BYTE PUBLIC STACK=000AH
31 0063H 19 SELECTDISK . . . . PROCEDURE PUBLIC STACK=000AH
35 0076H 16 SETDMAADDRESS. . . PROCEDURE PUBLIC STACK=000AH 41
11 0000H 14 SYSTEMRESET. . . . PROCEDURE PUBLIC STACK=0008H
2 0000H 128 TBUFF. . . . . . . BYTE ARRAY(128) EXTERNAL(0) 41
28 0052H 17 VERSION. . . . . . PROCEDURE WORD PUBLIC STACK=0008H
17 001DH 19 WRITECONSOLE . . . PROCEDURE PUBLIC STACK=000AH 73 74
21 0030H 19 WRITELIST. . . . . PROCEDURE PUBLIC STACK=000AH
61 00E1H 16 WRITERECORD. . . . PROCEDURE BYTE PUBLIC STACK=000AH
MODULE INFORMATION:
CODE AREA SIZE = 0121H 289D
CONSTANT AREA SIZE = 0000H 0D
VARIABLE AREA SIZE = 0000H 0D
MAXIMUM STACK SIZE = 0016H 22D
117 LINES READ
PL/M-86 COMPILER INTERFACE TO CP/M I/O 10/5/81 PAGE 5
0 PROGRAM ERROR(S)
END OF PL/M-86 COMPILATION