home *** CD-ROM | disk | FTP | other *** search
/ Liren Large Software Subsidy 15 / 15.iso / s / s082 / 1.img / DEMO.LST < prev    next >
Encoding:
File List  |  1980-01-04  |  3.9 KB  |  88 lines

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