home *** CD-ROM | disk | FTP | other *** search
File List | 1992-07-02 | 5.5 KB | 140 lines |
- PL/M-386 COMPILER putils 09/05/90 12:14:32 PAGE 1
-
-
- iRMX III PL/M-386 V3.1 COMPILATION OF MODULE PUTILS
- OBJECT MODULE PLACED IN PUTILS.obj
- COMPILER INVOKED BY: :LANG:PLM386 PUTILS.P38
-
-
-
- $title ('putils')
- $optimize(0) word16
- $large
- $debug
-
- 1 putils: do;
- $include(/rmx386/inc/common.lit)
- = $SAVE NOLIST
- $include(/rmx386/inc/rmxplm.ext)
- = $Save Nolist
-
- 670 1 declare UINT_8 literally 'byte';
- 671 1 declare UINT_16 literally 'dword';
- 672 1 declare UINT_32 literally 'word';
- 673 1 declare NIL_SEL literally 'selectorof(NIL)';
-
- 674 1 plm_data: procedure public;
- /**********************************************************************/
- /* Demonstrates PLM data references. */
- /**********************************************************************/
-
- 675 2 declare array1(12) byte data(30,31,32,33,34,35,36,37,38,39,40,41);
- 676 2 declare excep word;
- 677 2 declare i byte;
-
- 678 2 declare CUSTOMER_TYPE literally 'structure(
- tag byte,
- name(8) byte,
- phone(7) byte,
- linkfor pointer)';
-
- 679 2 declare customerlist(3) CUSTOMER_TYPE;
-
- 680 2 declare customer_ptr pointer,
- customer based customer_ptr CUSTOMER_TYPE;
-
- 681 2 declare oldcust_ptr pointer,
- oldcust based oldcust_ptr CUSTOMER_TYPE;
-
- 682 2 declare name_init(3) pointer data(
- @('Beth ', 0),
- @('Steve ', 0),
- @('Becky ', 0));
- 683 2 declare phone_init(3) structure(
- number(7) byte) data( '5551234',
- '5555678',
- '5554321' );
-
- 684 2 declare struc1 structure(
- xbyte byte,
- xword word,
- PL/M-386 COMPILER putils 09/05/90 12:14:32 PAGE 2
-
-
- xint integer,
- xdword dword,
- xptr pointer);
-
- /* Initialize STRUC1 to test variable types. */
- 685 2 struc1.xbyte = '*'; /* byte */
- 686 2 struc1.xword = 65535; /* word */
- 687 2 struc1.xint = -32000; /* integer */
- 688 2 struc1.xdword = 4000000000; /* dword */
- 689 2 struc1.xptr = @array1; /* pointer */
-
- /* Initialize CUSTOMERLIST structures to test based variables. */
- 690 2 customer_ptr = NIL;
- 691 2 do i = 0 to 2;
- 692 3 oldcust_ptr = customer_ptr;
- 693 3 customer_ptr = @customerlist(i);
- 694 3 call movb(name_init(i),@customer.name, 8 );
- 695 3 call movb(@phone_init(i).number, @customer.phone, 7);
- 696 3 if ( NIL <> oldcust_ptr ) then
- 697 3 oldcust.linkfor = customer_ptr;
- 698 3 do case (i);
- 699 4 customer.tag = '0';
- 700 4 customer.tag = '1';
- 701 4 customer.tag = '2';
- 702 4 end;
- 703 3 end;
- 704 2 end plm_data;
-
-
- 705 1 delay: procedure(msecs) reentrant public;
- 706 2 declare msecs word;
-
- 707 2 declare i word;
- 708 2 declare sleep100 word;
-
- 709 2 sleep100 = msecs / 100;
-
- 710 2 do i = 1 to sleep100;
- 711 3 call delay_fine (10); /* delay_fine(10) delays for 100 msecs. */
- 712 3 end;
-
- 713 2 end delay;
-
- 714 1 delay_fine: procedure(count) reentrant public;
- 715 2 declare count word;
-
- 716 2 declare exception word;
-
- 717 2 if count <> 0 then do;
- 719 3 call rqsleep (1, @exception); /* One rqsleep unit is 10 msecs. */
- 720 3 call delay_fine (count - 1); /* Call self recursively. */
- 721 3 end;
-
- 722 2 end delay_fine;
-
- 723 1 end putils;
- PL/M-386 COMPILER putils 09/05/90 12:14:32 PAGE 3
-
-
- MODULE INFORMATION:
-
- CODE AREA SIZE = 000001F6H 502D
- CONSTANT AREA SIZE = 0000004EH 78D
- VARIABLE AREA SIZE = 00000060H 96D
- MAXIMUM STACK SIZE = 0000001CH 28D
- 2731 LINES READ
- 0 PROGRAM WARNINGS
- 0 PROGRAM ERRORS
-
- DICTIONARY SUMMARY:
-
- 1413KB MEMORY AVAILABLE
- 58KB MEMORY USED (4%)
- 0KB DISK SPACE USED
-
- END OF PL/M-386 COMPILATION
-