亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频

? 歡迎來到蟲蟲下載站! | ?? 資源下載 ?? 資源專輯 ?? 關于我們
? 蟲蟲下載站

?? test.c

?? 一個可以立即使用的嵌入式操作系統
?? C
字號:

/*
   Test program for checking basic CTask functions.

   Keyboard input:

      e  Terminates program
      d  Snapshot dump to STDOUT
      h  Stop screen output
      c  Resume screen output
      b  Beep (Turbo C only)
      m  Snapshot dump to mono screen
      s  Snapshot dump to colour screen

*/

#include <stdio.h>
#include <conio.h>
#include <string.h>
#include <ctype.h>
#include <time.h>

#include "tsk.h"
#include "tsksup.h"
#include "tskprf.h"

#define STACKSIZE 2048

unsigned int _stklen = 6 * STACKSIZE;  /* For Turbo C: Five tasks + main Task Stack */

typedef struct {
               farptr xx;
               char str [20];
               } message;

tcb tcb1, tcb2, tcb3, tcb4, tcb5;
mailbox box;
message msg;
flag halt;
pipe pip;
buffer buf;

byte pipbuf [10];
word bufbuf [40];

int endrun;


/*
   Task1 sends a mail to Task3, and waits for a response in the buffer.
   The response is then displayed.
   Task1 will stop while the halt flag is set.
*/

void far task1 (void)
{
   char str [20];

   tprintf ("Task 1 started\n");
   while (!endrun)
      {
      wait_flag_clear (&halt, 0L);

      t_delay (20L);
      tputch ('1');
      strcpy (msg.str, "From T1");
      send_mail (&box, &msg);

      read_buffer (&buf, str, 20, 0L);
      tprintf ("Task 1 read buf: <%s>\n", str);
      }
}

/*
   Task2 reads the keyboard. If a character has been read, it is passed
   to Task4 via a pipe. Entering 'h' will set the halt flag (stopping Task1),
   entering 'c' will clear the halt flag.
   'e' stops the program.
*/

void far task2 (void)
{
   int ch;

   tprintf ("Task 2 started\n");
   while (!endrun)
      {
      ch = t_wait_key (30L);
      if (ch < 0)
         tputch (0x04);
      else
         {
         switch (tolower (ch & 0xff))
            {
            case 'h':   set_flag (&halt);
                        break;
            case 'c':   clear_flag (&halt);
                        break;
            case 'e':   wake_task (NULL);
                        break;
   #if (TSK_NAMED)
            case 'd':   csnapshot ();
                        break;
            case 'm':   tsk_set_mono (25, 80);
                        screensnap (25);
                        break;
            case 's':   tsk_set_colour (25, 80);
                        screensnap (25);
                        break;
   #endif
   #if (TSK_TURBO)
            case 'b':   sound (2000);
                        t_delay (2);
                        nosound ();
                        break;
   #endif
            }

         if (!endrun)
            write_pipe (&pip, (char)ch, 0L);
         tputch ('2');
         }
      }
}


/*
   Task3 waits for mail, then sends it back through a buffer.
*/

void far task3 (void)
{
   message far *m;

   tprintf ("Task 3 started\n");
   while (!endrun)
      {
      m = wait_mail (&box, 0L);
      tprintf ("Task 3 received <%Fs>\n", m->str);

      m->str [6] = '3';
      write_buffer (&buf, m->str, 7, 0L);
      }
}


/*
   Task4 waits for a character in the pipe and displays it. To make
   things livelier, it uses a timeout while waiting, and will display
   faces when the timeout occurred before the character.
*/

void far task4 (void)
{
   int ch;

   tprintf ("Task 4 started\n");
   while (!endrun)
      {
      ch = read_pipe (&pip, 10L);
      if (ch < 0)
         tputch (0x02);
      else
         tprintf ("Task 4 got <%c>\n", ch);
      }
}

/*
   Task 5 checks the memory watch capability by waiting for the
   BIOS keyboard status byte at 40:17 to contain 1 in the lower two
   bits, signalling that both the left and right shift keys are pressed.
*/

void far task5 (void)
{
   tprintf ("Task 5 started\n");
   while (!endrun)
      {
         wait_memory ((farptr)0x417L, 0x03, 0x03, TCMP_EQ);
         tprintf ("Task 5: Both Shift keys pressed\n");
         wait_memory ((farptr)0x417L, 0x03, 0x03, TCMP_NE);
         tprintf ("Task 5: Shift keys released\n");
      }
}


int main (void)
{
   char stack1 [STACKSIZE];
   char stack2 [STACKSIZE];
   char stack3 [STACKSIZE];
   char stack4 [STACKSIZE];
   char stack5 [STACKSIZE];
   int i;

#if(TSK_TURBO)
   directvideo = 0;
#endif
   endrun = 0;
   tsk_cprint_init (2, 1152);

   if ((i = install_tasker (0, 0, IFL_DISK | IFL_INT8_DIR | IFL_PRINTER, "Test")) < 0)
      {
      printf ("Can't install, returncode = %d\n", i);
      return 1;
      }

   init_conout ();

   create_mailbox (&box TN("Mailbox"));
   create_flag (&halt TN("Halt"));
   create_pipe (&pip, pipbuf, sizeof (pipbuf) TN("Pipe"));
   create_buffer (&buf, bufbuf, sizeof (bufbuf) TN("Buffer"));

   create_task (&tcb1, task1, stack1, STACKSIZE, PRI_STD, NULL TN("TASK1"));
   create_task (&tcb2, task2, stack2, STACKSIZE, PRI_STD, NULL TN("TASK2"));
   create_task (&tcb3, task3, stack3, STACKSIZE, PRI_STD, NULL TN("TASK3"));
   create_task (&tcb4, task4, stack4, STACKSIZE, PRI_STD, NULL TN("TASK4"));
   create_task (&tcb5, task5, stack5, STACKSIZE, PRI_STD, NULL TN("TASK5"));
   start_task (&tcb1);
   start_task (&tcb2);
   start_task (&tcb3);
   start_task (&tcb4);
   start_task (&tcb5);
   preempt_on ();

   t_delay (0L);

   endrun = 1;
   tputs ("******** Main Task *********");

   kill_task (&tcb1);
   kill_task (&tcb2);
   kill_task (&tcb3);
   kill_task (&tcb4);
   kill_task (&tcb5);

   delete_mailbox (&box);
   delete_pipe (&pip);
   delete_buffer (&buf);
   delete_flag (&halt);

   schedule ();

   end_conout ();

   remove_tasker ();
   puts ("******** End Run *********");
   return 0;
}

?? 快捷鍵說明

復制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號 Ctrl + =
減小字號 Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
91麻豆精品久久久久蜜臀 | 日韩亚洲欧美一区二区三区| 日韩av一级电影| 欧美tk—视频vk| 国产精品123区| 亚洲一区二区三区四区中文字幕 | 日韩欧美在线网站| 欧美精品亚洲一区二区在线播放| 精久久久久久久久久久| 亚洲人吸女人奶水| 日韩欧美的一区| 91福利小视频| 国产一区二区三区最好精华液| 亚洲精品视频在线看| 久久综合国产精品| 在线观看欧美黄色| 国产成人av电影在线观看| 夜色激情一区二区| 国产三级精品视频| 91麻豆精品国产91久久久使用方法 | 一区二区三区日韩| 亚洲欧洲另类国产综合| 91亚洲国产成人精品一区二区三| 亚洲国产精品久久久久秋霞影院 | 亚洲图片欧美一区| 亚洲欧美另类综合偷拍| 国产精品无遮挡| 99久久国产综合精品女不卡| 国产乱对白刺激视频不卡| 亚洲国产精品ⅴa在线观看| 精品免费日韩av| 欧美成va人片在线观看| 精品国产三级a在线观看| 色狠狠一区二区| 在线中文字幕一区| 欧美体内she精高潮| 日韩成人免费在线| 美女免费视频一区| 亚洲午夜激情av| 男男成人高潮片免费网站| 国产一区二区调教| 一本久久精品一区二区| 欧美制服丝袜第一页| 91高清视频免费看| 日韩欧美国产小视频| 精品国产伦一区二区三区观看体验| 日韩精品一区二区三区中文精品| 精品三级av在线| 国产天堂亚洲国产碰碰| 不卡的电影网站| 色悠久久久久综合欧美99| 成人黄色电影在线| 欧美色偷偷大香| 91在线精品一区二区| 91国产免费看| 日韩视频123| 国产女人18毛片水真多成人如厕| 成人欧美一区二区三区在线播放| 亚洲三级在线免费观看| 午夜精品久久久久久久蜜桃app| 色爱区综合激月婷婷| 欧美日韩一二区| 精品欧美乱码久久久久久| 国产欧美一区二区精品性色| 一区二区三国产精华液| 麻豆精品视频在线观看视频| 91免费观看在线| 精品国产3级a| 亚洲美女视频一区| 麻豆成人久久精品二区三区红| 粉嫩绯色av一区二区在线观看| 欧美性做爰猛烈叫床潮| 欧美精品一区二区在线观看| 日韩理论电影院| 亚洲国产精品一区二区久久恐怖片 | 日韩一区二区三区在线视频| 国产精品色眯眯| 视频一区二区三区在线| 欧美经典一区二区三区| 一区二区激情视频| 国产精选一区二区三区| 欧美午夜片在线看| 国产色产综合色产在线视频| 亚洲成人激情综合网| 国产精品亚洲人在线观看| 欧美三级乱人伦电影| 欧美激情在线看| 天天综合网天天综合色| 成人av一区二区三区| 日韩视频在线一区二区| 亚洲欧美激情小说另类| 韩国精品久久久| 欧美色倩网站大全免费| 亚洲视频免费在线| 国产一区二区不卡| 欧美日韩国产免费一区二区| 日韩欧美aaaaaa| 日韩电影在线免费| 福利91精品一区二区三区| 欧美一级视频精品观看| 悠悠色在线精品| 成人精品电影在线观看| 精品国产免费一区二区三区四区| 中文字幕亚洲在| 国产麻豆精品在线观看| 7777精品伊人久久久大香线蕉最新版| 最新成人av在线| 国产99久久久精品| 欧美一级片在线看| 蜜桃视频在线观看一区二区| 欧美亚洲自拍偷拍| 自拍偷在线精品自拍偷无码专区| 精品一区二区三区在线视频| 91精品国产品国语在线不卡| 一区二区三区四区亚洲| 99久久er热在这里只有精品15| 久久精品视频一区二区三区| 日本美女视频一区二区| 欧美日韩午夜影院| 亚洲午夜三级在线| 色综合中文字幕| 在线观看91视频| 亚洲精品高清视频在线观看| 99免费精品视频| 中文久久乱码一区二区| 国产成人一区在线| 久久精品一级爱片| 国产精品一区专区| 久久久国产一区二区三区四区小说| 午夜精品123| 欧美色男人天堂| 亚洲黄色免费电影| 7777精品伊人久久久大香线蕉最新版| 亚洲一卡二卡三卡四卡无卡久久 | 欧美另类videos死尸| 亚洲综合网站在线观看| 欧美在线影院一区二区| 亚洲国产综合91精品麻豆| 欧美日韩一区二区三区高清| 天天综合网 天天综合色| 91.com视频| 日本不卡一区二区三区高清视频| 91精品国产麻豆| 黄网站免费久久| 国产欧美一区二区精品性色| 国产成人在线色| 精品1区2区在线观看| av在线不卡网| 亚洲国产精品久久一线不卡| 91精品蜜臀在线一区尤物| 久久精品999| 中文字幕第一区| 在线视频国内一区二区| 日韩精品91亚洲二区在线观看 | 激情综合网激情| 国产精品人成在线观看免费| 色婷婷国产精品| 视频一区视频二区中文| 精品裸体舞一区二区三区| 高清国产一区二区| 成人欧美一区二区三区黑人麻豆| 欧美视频在线一区二区三区 | 成人午夜视频网站| 一区二区三区免费观看| 91精品国产日韩91久久久久久| 国产成人综合视频| 亚洲一区在线播放| 欧美不卡123| 91在线观看成人| 美女精品一区二区| 中文字幕一区日韩精品欧美| 欧美精品乱码久久久久久| 国产成人自拍网| 亚洲自拍偷拍图区| 26uuu国产在线精品一区二区| 不卡区在线中文字幕| 亚洲成av人片一区二区梦乃| 欧美成人video| 91日韩精品一区| 久久国产欧美日韩精品| 1000精品久久久久久久久| 91精品国产一区二区人妖| 91在线云播放| 久久99精品久久久久久动态图| 亚洲欧美一区二区三区国产精品 | 欧美一级一区二区| 91亚洲精品久久久蜜桃网站| 久久精品72免费观看| 亚洲女与黑人做爰| wwww国产精品欧美| 欧洲人成人精品| 丁香亚洲综合激情啪啪综合| 日本怡春院一区二区| 日韩一区中文字幕| 久久女同精品一区二区| 91久久精品国产91性色tv| 精品国产污网站| 日本二三区不卡| 国产福利一区二区三区视频| 一区二区三区四区精品在线视频|