37 #include "esos_pc_stdio.h"
45 #include <sys/select.h>
55 void reverseString(
char *psz_s1,
char *psz_s2);
60 static uint8 psz_CRNL[3]= {0x0D, 0x0A, 0};
72 struct stTask* pst_MyTasks[3];
85 __esos_tmrSvcsExecute();
106 uint32 u32_d1, u32_d2, u32_d4, u32_ret;
111 u32_ret = u32_lo + u32_d4;
112 if (u32_ret <= u32_hi)
return u32_ret;
116 u32_ret = u32_lo + u32_d2;
117 if (u32_ret <= u32_hi)
return u32_ret;
120 u32_ret = u32_lo + u32_d1;
121 if (u32_ret <= u32_hi)
return u32_ret;
142 printf(
"A:%d\n", u32_cnt++);
149 printf(
"B:%d\n", u32_cnt++);
156 printf(
"C:%d\n", u32_cnt++);
174 printf(
"T1 (%d)\n", u32_rnd);
187 printf(
"T2 (%d)\n", u32_rnd);
200 printf(
"T3 (%d)\n", u32_rnd);
229 printf(
"taskSemA %d (%d)\n", u8_cnt, u32_rnd);
246 printf(
"taskSemB %d (%d)\n", u8_cnt, u32_rnd);
263 printf(
"taskSemC %d (%d)\n", u8_cnt, u32_rnd);
281 printf(
"taskMutexA %d (%d)\n", u8_cnt, u32_rnd);
300 printf(
"taskMutexB %d (%d)\n", u8_cnt, u32_rnd);
336 static uint8 u8_char;
344 if (u8_char ==
' ') {
360 static uint8 u8_char;
368 if ((u8_char >=
'a') && (u8_char <=
'z') )
369 u8_char = u8_char -
'a' +
'A';
386 static uint8 au8_x[257];
387 static uint8 au8_y[257];
397 if ((au8_x[u8_i] >=
'a') && (au8_x[u8_i] <=
'z') )
398 au8_y[u8_i] = au8_x[u8_i] -
'a' +
'A';
400 au8_y[u8_i] = au8_x[u8_i];
401 if (au8_x[u8_i] == 0)
break;
416 static uint8 u8_char;
417 static char sz_in[257];
418 static char sz_out[257];
426 reverseString( sz_in, sz_out );
446 void reverseString(
char *psz_s1,
char *psz_s2) {
454 while (*psz_s1end) psz_s1end++;
457 while (psz_s1end != psz_s1) {
458 *psz_s2 = *psz_s1end;
463 *psz_s2 = *psz_s1end;
507 __esos_unsafe_PutString( HELLO_MSG );