home *** CD-ROM | disk | FTP | other *** search
/ Liren Large Software Subsidy 15 / 15.iso / s / s085 / 1.img / UDT2.PLM < prev   
Encoding:
Text File  |  1989-12-19  |  1.5 KB  |  72 lines

  1.  
  2. $RO
  3. DEMO: DO;
  4. /*    MSC-8X98 SINGAL BOARD DEVELOPEMENT SYSTEM PLM/96 DEMO PROGRAM 2
  5.     --------------------------------------------------------------
  6.     --------------------------------------------------------------
  7.  
  8.  
  9.         GLOBAL DATA DECLARATION MODULE
  10.         ------------------------------                   */
  11. $NOLIST
  12. $INCLUDE(UD98.H)
  13. $LIST
  14.  
  15. DECLARE
  16.     TRUE        LITERALLY '0FFH',
  17.     FALSE        LITERALLY '000H',
  18.     DELAY_TIME0    LITERALLY '10';
  19.  
  20. DECLARE ERR(*)               BYTE    DATA
  21.                 ('-Err');  /*-Err*/
  22.  
  23. DECLARE
  24.     (I,KEY) BYTE,
  25.     (J,DELAY)INTEGER;
  26.  
  27. /*****************************************************************************/
  28.  
  29. DEMO_DISP:
  30.     PROCEDURE(B,P);
  31.     DECLARE (B,P,I) BYTE;
  32.     DECLARE ABUF(4) BYTE;        /*ADDRESS DISPLAY BUFFER*/
  33.     DECLARE DBUF(4) BYTE;        /*DATA DISPLAY BUFFER*/
  34.     DO I=0 TO 3;            /*CLEAR DISPLAY BUFFER*/
  35.         ABUF(I)=' ';
  36.         DBUF(I)=' ';
  37.         END;
  38.     IF P<=4 THEN ABUF(P)=B;
  39.     ELSE  DBUF(P-4)=B;
  40.     CALL UD_DISPLAY(.ABUF,ADDR_FIELD,0);
  41.     CALL UD_DISPLAY(.DBUF,DATA_FIELD,0);
  42.     END DEMO_DISP;
  43.  
  44.  
  45.  
  46. /*-----------------------------------------------------------------------------*/
  47. /* MAIN PROGRAM LOOP */
  48.     CALL UD_INIT;
  49.     KEY=0;
  50.     DELAY=DELAY_TIME0;
  51. START:    DO WHILE TRUE;
  52.         DO I=1 TO 8;
  53.             DO J=0 TO DELAY;
  54.                 CALL DEMO_DISP(KEY,I);
  55.                 UD_CHAR=UD_GET_CHAR;
  56.                 IF UD_CHAR<>0FFH THEN GOTO NEXT;
  57.             END;
  58.         END;
  59.     END;
  60.  NEXT:    CALL UD_BLANK_ADDR_FIELD(0);
  61.     CALL UD_BLANK_DATA_FIELD(1);
  62.  AFTER_ERROR:
  63.     UD_CHAR=UD_GET_CHAR_DISP;
  64.     IF UD_CHAR>0FH THEN DO;
  65.         CALL UD_DISPLAY(.ERR,ADDR_FIELD,1);
  66.         GOTO AFTER_ERROR;
  67.         END;
  68.     KEY=UD_CHAR;
  69.     GOTO START;
  70. END;
  71. EOF;
  72.