home *** CD-ROM | disk | FTP | other *** search
/ PC World Komputer 1996 September / pcwk_09_96.iso / demo / wgelectr / pk51demo / files.2 / EXAMPLES / TRAFFIC / DBG_TINY.INC < prev    next >
Text File  |  1991-10-01  |  2KB  |  44 lines

  1.  
  2.  
  3. func void tasks ()  {
  4.   uchar i;
  5.   uint  adr;
  6.  
  7.   printf ("╒══════════╤═══════╤═════════╤══════════════════╤════════╤═══════╤═══════╕\n");
  8.   printf ("│ Task ID  │ Start │ State   │ Wait for Event   │ Signal │ Timer │ Stack │\n");
  9.   printf ("╞══════════╪═══════╪═════════╪══════════════════╪════════╪═══════╪═══════╡\n");
  10.  
  11.   for (i = 0; i <= ?RTX_TASKIDX; i++)  {
  12.     printf ("│    %2d    │ ", i);
  13.     adr = &?RTX_TASKENTRY + i*2;
  14.     printf ("%04XH │ ", uint (c:adr));
  15.     adr = &?RTX_TASKSTATUS + i*2;
  16.     if (RTX_CURRENTTASK == i  &&
  17.         (uchar (i:adr+1) & 0x10))     printf ("RUNNING │ ");
  18.     else if (uchar (i:adr+1) & 0x40)  printf ("TIMEOUT │ ");
  19.     else if (uchar (i:adr+1) & 0x10)  printf ("READY   │ ");
  20.     else if (uchar (i:adr+1) & 0x03)  printf ("WAITING │ ");
  21.     else if (uchar (i:adr+1) == 0)    printf ("DELETED │ ");
  22.     else                              printf ("ILLEGAL │ ");
  23.  
  24.     switch (uchar (i:adr+1) & 0x03)  {
  25.       case 0:  printf ("                "); break;
  26.       case 1:  printf ("SIGNAL          "); break;
  27.       case 2:  printf ("TIMEOUT         "); break;
  28.       case 3:  printf ("SIGNAL & TIMEOUT"); break;
  29.     }
  30.  
  31.     if (uchar (i:adr+1) & 0x04)  printf (" │    1");
  32.     else                         printf (" │    0");
  33.   
  34.     printf ("   │   %3d │", uchar (i:adr));
  35.     adr = &?RTX_TASKSP + i;
  36.     printf ("   %02XH │", uchar (i:adr));
  37.     printf ("\n");
  38.   }
  39.   printf ("╘══════════╧═══════╧═════════╧══════════════════╧════════╧═══════╧═══════╛\n");
  40. }
  41.  
  42. set f3 = "tasks ()"
  43. bs ?RTX_NEXTTASK, 1, "printf (\"Switch to Task %d\\n\", R7)"
  44.