home *** CD-ROM | disk | FTP | other *** search
File List | 1980-01-04 | 3.9 KB | 88 lines |
- PL/M-96 COMPILER START 01/04/80 19:55:48 PAGE 1
-
-
- DOS 3.30 (038-N) PL/M-96 V1.1 COMPILATION OF MODULE START
- OBJECT MODULE PLACED IN T98.OBJ
- COMPILER INVOKED BY: C:\PLM96\PLM96.EXE T98.P98 DB
-
-
-
- $pagelength(5000)
- 1 start: do;
- 2 1 declare hhhh byte;
- $include(sfr96.plm)
- = $save
- = $nolist
- 30 2 tttt0: procedure interrupt 2; declare d byte; d=0; return; end tttt0;
- 35 2 key00: procedure; call time(10); end key00;
- 38 2 key01: procedure; call time(20); end key01;
- 41 2 key02: procedure; call time(30); end key02;
- 44 2 key03: procedure; call time(40); end key03;
- 47 1 key$p: procedure (pa1) byte;
- 48 2 declare pa1 byte;
- 49 2 declare (p8279d,p8279c) byte at(0e000h);
- 50 2 p8279c=(pa1 and 07h) or 40h;
- 51 2 do case (p8279d and 03h);
- 52 3 call key00;
- 53 3 call key01;
- 54 3 call key02;
- 55 3 call key03;
- 56 3 end;
- 57 2 return p8279d;
- 58 2 end key$p;
- 59 1 proc2: procedure (pb1,pb2); /* if then do; else do; */
- 60 2 declare (pb1,pb2) byte;
- 61 2 if ((((pb1+pb2) and 03h)=03h) or (((pb1-pb2) and 07h)=07h))
- 62 3 then do; pb1=pb2; end;
- 65 3 else do; pb2=pb1; end;
- 68 2 pb2=(pb2+4)*(pb1+4);
- 69 2 end proc2;
- 70 1 proc3: procedure (pc1,pc2) word;
- 71 2 declare (pc1,pc2) word, i byte;
- 72 2 do i=1 to 10;
- 73 3 pc1=pc1+2;
- 74 3 end;
- 75 2 do while pc2=0;
- 76 3 pc1=pc1+1; pc2=pc2-1;
- 78 3 end;
- 79 2 return pc1;
- 80 2 end proc3;
- 81 1 mainp: do;
- 82 2 declare (a,b,start$a$d) byte;
- 83 2 declare (c,d,samp$v) word, v(4) word;
- 84 2 declare (K,PK,TI,TD,pr) dword; declare (e,f,j) longint;
- 86 2 declare (g,h,l) integer, (aa,bb,cc) dword;
- 87 2 declare m$array(6) real, (dd,ee,ff) real;
- 88 2 declare adr1 address;
- 89 2 call init$real$math$unit; call set$real$mode(033eh);
- 91 2 K=164; PK=5; TI=235; TD=22;
- 95 2 v(1)=0; v(2)=0; v(3)=0;
- 98 3 do while 1=1; watchdog=1eh; watchdog=0e1h;
- 101 3 a=123; b=456; c=12345; d=(c+b)/a; /* byte and word */
- 105 3 g=-3; h=5; l=g*h; h=l/g; /* integer */
- 109 3 e=4; f=2222222h; j=f*e; f=j/2; /* long (32 bit) */
- 113 3 dd=2.1101e+12; ee=2.0e+4; ff=dd*ee; /* real multiply */
- 116 3 dd=4.2468e+12; ee=2.0e+6; ff=dd/ee; /* real devide */
- 119 3 a=key$p(b); call proc2(a,b); c=proc3(c,d); /* procedure */
- 122 3 start$a$d=05; v(0)=double(samp$v); /* sample */
- 124 3 pr=K*((v(0)-v(1))+TI*v(0)+TD*(v(0)+v(2)-2*v(1))); /* P I D */
- 125 4 do a=1 to 3; b=0; v(a)=v(a-1); end; /* loop */
- 129 3 c=proc3(c,d); aa=123456789; bb=4; cc=aa/bb; /* dword (32 bit) */
- 133 3 end;
- 134 2 end mainp;
- 135 1 end start;
-
-
-
- MODULE INFORMATION:
-
- CODE AREA SIZE = 02ABH 683D
- CONSTANT AREA SIZE = 0000H 0D
- DATA AREA SIZE = 0000H 0D
- STATIC REGS AREA SIZE = 0073H 115D
- OVERLAYABLE REGS AREA SIZE = 0000H 0D
- MAXIMUM STACK SIZE = 001AH 26D
- 98 LINES READ
-
- PL/M-96 COMPILATION COMPLETE. 0 WARNINGS, 0 ERRORS
-