boot2

Playing with the boostrap
git clone https://git.ryansepassi.com/git/boot2.git
Log | Files | Refs | README

00215.c (2130B)


      1 extern int printf(const char *format, ...);
      2 static void kb_wait_1(void)
      3 {
      4     unsigned long timeout = 2;
      5     do {
      6         if (1) printf("timeout=%ld\n", timeout);
      7         else
      8         {
      9             while (1)
     10                 printf("error\n");
     11         }
     12         timeout--;
     13     } while (timeout);
     14 }
     15 static void kb_wait_2(void)
     16 {
     17     unsigned long timeout = 2;
     18     do {
     19         if (1) printf("timeout=%ld\n", timeout);
     20         else
     21         {
     22             for (;;)
     23                 printf("error\n");
     24         }
     25         timeout--;
     26     } while (timeout);
     27 }
     28 static void kb_wait_2_1(void)
     29 {
     30     unsigned long timeout = 2;
     31     do {
     32         if (1) printf("timeout=%ld\n", timeout);
     33         else
     34         {
     35             do {
     36                 printf("error\n");
     37             } while (1);
     38         }
     39         timeout--;
     40     } while (timeout);
     41 }
     42 static void kb_wait_2_2(void)
     43 {
     44     unsigned long timeout = 2;
     45     do {
     46         if (1) printf("timeout=%ld\n", timeout);
     47         else
     48         {
     49             label:
     50                 printf("error\n");
     51             goto label;
     52         }
     53         timeout--;
     54     } while (timeout);
     55 }
     56 static void kb_wait_3(void)
     57 {
     58     unsigned long timeout = 2;
     59     do {
     60         if (1) printf("timeout=%ld\n", timeout);
     61         else
     62         {
     63             int i = 1;
     64             goto label;
     65             i = i + 2;
     66         label:
     67             i = i + 3;
     68         }
     69         timeout--;
     70     } while (timeout);
     71 }
     72 static void kb_wait_4(void)
     73 {
     74     unsigned long timeout = 2;
     75     do {
     76 	if (1) printf("timeout=%ld\n", timeout);
     77         else
     78         {
     79             switch(timeout) {
     80                 case 2:
     81                     printf("timeout is 2");
     82                     break;
     83                 case 1:
     84                     printf("timeout is 1");
     85                     break;
     86                 default:
     87                     printf("timeout is 0?");
     88                     break;
     89             };
     90             /* return; */
     91         }
     92         timeout--;
     93     } while (timeout);
     94 }
     95 int main()
     96 {
     97     printf("begin\n");
     98     kb_wait_1();
     99     kb_wait_2();
    100     kb_wait_2_1();
    101     kb_wait_2_2();
    102     kb_wait_3();
    103     kb_wait_4();
    104     printf("end\n");
    105     return 0;
    106 }