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

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

?? util.c

?? 針對德州儀器DM270開發板的bootloader,其實現了內核的下載以及文件系統的下載
?? C
?? 第 1 頁 / 共 2 頁
字號:
    if (*fmt == '%') {  // switch() uses more space      fmt++;      if (*fmt == 'X') {        const long *lp = (const long *)dp;        register long h = *lp++;        dp = (const int *)lp;        *(buf++) = hex[(h>>28)& 0x0F];        *(buf++) = hex[(h>>24)& 0x0F];        *(buf++) = hex[(h>>20)& 0x0F];        *(buf++) = hex[(h>>16)& 0x0F];        *(buf++) = hex[(h>>12)& 0x0F];        *(buf++) = hex[(h>>8)& 0x0F];        *(buf++) = hex[(h>>4)& 0x0F];        *(buf++) = hex[h& 0x0F];      }      if (*fmt == 'x') {              register int h = *(dp++);        *(buf++) = hex[(h>>12)& 0x0F];        *(buf++) = hex[(h>>8)& 0x0F];        *(buf++) = hex[(h>>4)& 0x0F];        *(buf++) = hex[h& 0x0F];      }      if (*fmt == 'b') {        register int h = *(dp++);        *(buf++) = hex[(h>>4)& 0x0F];        *(buf++) = hex[h& 0x0F];      }      if ((*fmt == 'd') || (*fmt == 'i')) {        register int dec = *(dp++);        p = tmp;        if (dec < 0) {          *(buf++) = '-';          dec = -dec;        }        do {          *(p++) = '0' + (dec%10);          dec = dec/10;        } while(dec);        while ((--p) >= tmp) *(buf++) = *p;      }      if (*fmt == 'I') {        union {          long l;          unsigned char c[4];        } u;        const long *lp = (const long *)dp;        u.l = *lp++;        dp = (const int *)lp;        buf = do_sprintf(buf,"%d.%d.%d.%d",                         u.c[0], u.c[1], u.c[2], u.c[3]);      }      if (*fmt == 'c') {        *(buf++) = *(dp++);      }      if (*fmt == 's') {        p = (char *)*dp++;        while (*p) *(buf++) = *p++;      }    } else {      *(buf++) = *fmt;    }    fmt++;  }  *buf = 0;  return(buf);}/****************************** Routine: Description: ******************************/static char *do_sprintf(char *buf, const char *fmt, ...){  return do_printf(buf, fmt, ((const int *)&fmt)+1);}/****************************** Routine: Description: ******************************/int util_putchar(int c){  io_putchar((unsigned char) c);  return c;}/****************************** Routine: Description:   Note: See util.h for description. ******************************/void util_printf(const char *fmt, ...){  char buf[256],*p;  p = buf;  do_printf(buf, fmt, ((const int *)&fmt)+1);  while (*p) io_putchar(*p++);}/****************************** Routine: Description: ******************************/char *util_strchr(const char *s, int c){  while (*s)  {    if ( *s == (char) c )    {      return (char *)s;    }    s++;  }  return (void *) 0;}/****************************** Routine: Description: ******************************/int util_strlen(const char *s){   int len = 0;   while (*s++ != 0) len++;   return len;}/****************************** Routine: Description: ******************************/int util_strncmp(const char *s1, const char *s2, int len){  int i = 0;  int c1, c2;  if (s1 == NULL || s2 == NULL) return -1;  for (c1=s1[i], c2=s2[i]; i<len; c1=s1[i], c2=s2[i], i++) {    if (c1 < c2) return -1;    else if (c1 > c2) return 1;    else continue;  }  return 0;}/****************************** Routine: Description:   Note: See util.h for description. ******************************/int util_strcmp(const char *s1, const char *s2){  int len1 = util_strlen(s1);  int len2 = util_strlen(s2);  int l = (len1 < len2) ? len1 : len2;  int result = util_strncmp(s1, s2, l);  if (l == 0 && (len1 != len2)) {    if (len1 < len2) {      return -1;    }    else {      return 1;    }  } else {     return result;  }}/****************************** Routine: Description:   Note: See util.h for description. ******************************/char *util_strcpy(char *dest, const char *src){  char *retval = dest;  int count = util_strlen(src)+1;  while (count-- && (*dest++ = *src++) != 0);  return retval;}/****************************** Routine: Description:   Note: See util.h for description. ******************************/char *util_strncpy(char *dest, const char *src, int count){  char *retval = dest;  while (count-- && (*dest++ = *src++) != 0);  return retval;}/****************************** Routine: Description:   Note: See util.h for description. ******************************/int util_getchar(void){        return io_getchar_con();}/****************************** Routine: Description:   Note: See util.h for description. ******************************/void util_gets(char *s, int size){  #define BACKSPACE 0x08  #define DEL       0x7f  int i;  for (i=0; i<size; i++) {    s[i] = io_getchar_con();    if ('\r' == s[i]) {      io_putchar('\n');      s[i] = 0;      break;    }    if (i &&        ((BACKSPACE == s[i]) || (DEL == s[i]))) {      s[i] = 0;      i -= 2;      util_printf("\033[D"); // terminal backspace.      io_putchar(' '); // erase unwanted character from screen.      util_printf("\033[D"); // terminal backspace.    }    else {      io_putchar(s[i]); // echo char back to terminal window.    }  }}/****************************** Routine: Description:   Note: See util.h for description. ******************************/void util_strip_CRLF(char *s){  // examples:  //   if "foo\n"    then "foo"  //   if "foo\r"    then "foo"  //   if "foo\r\n"  then "foo"  while (*s != 0) {    if (('\r' == *s) || ('\n' == *s)) {      *s=0;      break;    }    s++;  }}/****************************** Routine: util_dump_memory Description: prints out the contents of memory On entry: - addr contains the starting address           - len is the number of bytes to print   Note: See util.h for description. ******************************/#ifdef BSPCONF_BTLDR_CS8900_DEBUGvoid util_dump_memory(unsigned int addr, int len){  util_printf("Memory dump\n");  util_printf("-----------\n");  while(len > 0) {    int rlen = (len < 16) ? len : 16;    len -= rlen;    util_printf("%X: ", addr);    while(rlen > 0) {      util_printf("%x ", *((unsigned short *)addr));      addr+=2;      rlen-=2;    }    util_printf("\n");  }}#endif

?? 快捷鍵說明

復制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號 Ctrl + =
減小字號 Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
一区二区三区四区蜜桃| 亚洲少妇最新在线视频| 精品久久久久香蕉网| 99久久免费国产| 激情综合色播激情啊| 亚洲成人精品影院| 国产精品麻豆网站| 精品国产123| 欧美一区二区三区喷汁尤物| 91免费看片在线观看| 国产69精品一区二区亚洲孕妇| 青椒成人免费视频| 麻豆国产一区二区| 亚洲欧美成aⅴ人在线观看| 欧美精品一区二区三区一线天视频 | 亚洲色大成网站www久久九九| 日韩欧美国产综合| 欧美日韩激情一区| 日本国产一区二区| 成人h动漫精品| 国产精品一区一区三区| 久久成人久久爱| 日韩电影在线一区二区三区| 一区二区欧美精品| 玉米视频成人免费看| 国产精品久久久久精k8| 国产日韩精品一区二区三区| 精品成人私密视频| 日韩久久免费av| 日韩一级免费一区| 欧美日本韩国一区二区三区视频 | 中文字幕中文字幕在线一区| 国产亚洲欧美日韩俺去了| 精品国产免费久久| 日韩欧美一区在线观看| 欧美一级黄色大片| 日韩精品在线看片z| 欧美日韩中文另类| 精品视频在线免费看| 欧美午夜不卡视频| 欧美性受xxxx黑人xyx| 欧美日韩国产精品自在自线| 欧美午夜一区二区| 欧美人与性动xxxx| 日韩色视频在线观看| 精品日韩一区二区三区免费视频| 欧美一区二区三区电影| 日韩一区二区视频在线观看| 欧美xxxxxxxx| 26uuu国产电影一区二区| 久久综合99re88久久爱| 久久精品夜夜夜夜久久| 国产精品久久三区| 亚洲一区二区偷拍精品| 日韩精品乱码av一区二区| 欧美a一区二区| 国产精品综合在线视频| 99r国产精品| 欧美日韩亚洲国产综合| 日韩美女一区二区三区四区| 久久久午夜电影| 成人欧美一区二区三区白人 | 日韩午夜激情免费电影| 精品精品欲导航| 国产视频一区二区三区在线观看| 国产精品久久毛片av大全日韩| 亚洲精品老司机| 欧美96一区二区免费视频| 国产成人精品亚洲午夜麻豆| 91在线观看视频| 欧美一区国产二区| 国产精品视频免费看| 亚洲福利视频一区二区| 国模套图日韩精品一区二区| av动漫一区二区| 7777精品伊人久久久大香线蕉 | 国产一区久久久| 精品在线免费视频| 丁香桃色午夜亚洲一区二区三区| 在线视频一区二区免费| 欧美本精品男人aⅴ天堂| 亚洲色图欧洲色图婷婷| 精品伦理精品一区| 亚洲成人动漫一区| 国产一区二区福利| av午夜一区麻豆| 26uuu精品一区二区三区四区在线| 日韩精品在线一区二区| 久久综合久久鬼色| 欧美成人三级电影在线| 中日韩av电影| 三级不卡在线观看| 97国产一区二区| 亚洲国产成人自拍| 福利一区二区在线| 国产亚洲人成网站| 国产综合色产在线精品| 欧美一级视频精品观看| 日本中文字幕一区二区视频| 在线观看日韩一区| 一区二区在线看| av亚洲精华国产精华| 国产精品美女久久久久aⅴ | 国产精品一区久久久久| 精品国产不卡一区二区三区| 激情久久久久久久久久久久久久久久| 欧美日韩一本到| 久久精品国产网站| 久久蜜桃av一区精品变态类天堂| 亚洲二区在线视频| 欧美日韩国产另类不卡| 亚洲高清一区二区三区| 色噜噜狠狠成人中文综合| 亚洲高清视频的网址| 欧美电视剧免费全集观看| 国产xxx精品视频大全| 亚洲一区在线观看网站| 日本一区二区三区四区在线视频| 91片黄在线观看| 日韩精品久久久久久| 国产精品美女久久久久久久久久久| 国产在线日韩欧美| 久久久精品免费观看| 在线一区二区三区做爰视频网站| 天堂成人国产精品一区| 亚洲精品国产一区二区三区四区在线| 69久久夜色精品国产69蝌蚪网| 国产精品12区| 日韩av在线免费观看不卡| 国产精品久久久久久亚洲伦| 日韩免费视频一区二区| 91丨九色丨蝌蚪丨老版| 日本一区二区三区高清不卡 | 久久国产综合精品| 日本一区二区在线不卡| 国产91色综合久久免费分享| 一区二区三区四区中文字幕| 久久综合狠狠综合久久综合88| 欧美日韩一区在线| 高清不卡在线观看| 最新国产精品久久精品| 国产精品久久国产精麻豆99网站| 欧美国产欧美综合| 亚洲一区二区精品3399| 婷婷开心激情综合| 国产精品自在在线| 一区二区三区欧美日韩| 亚洲人吸女人奶水| 亚洲成人av资源| 成人性生交大合| 欧美日本不卡视频| 国产欧美一区二区三区在线看蜜臀 | 中文字幕亚洲欧美在线不卡| 亚洲一级二级三级| 免费不卡在线视频| av中文字幕亚洲| 在线不卡的av| 日韩欧美国产一区在线观看| 欧美一区二区三区视频| 久久麻豆一区二区| 亚洲视频在线观看三级| 免费观看日韩av| 成人性生交大片免费看中文| 欧美色男人天堂| 久久久久九九视频| 亚洲一区二区欧美| 国产99久久久国产精品免费看| 欧美色国产精品| 亚洲成a人片在线观看中文| 美国欧美日韩国产在线播放| 粉嫩绯色av一区二区在线观看| 日本久久一区二区| 久久综合丝袜日本网| 亚洲精品免费电影| 国产精品综合在线视频| 欧洲精品视频在线观看| 久久综合色一综合色88| 亚洲高清在线精品| 成人午夜碰碰视频| 久久久久综合网| 激情综合色丁香一区二区| 欧美日本高清视频在线观看| 夜夜嗨av一区二区三区中文字幕| 国产精品一区在线| 亚洲精品在线免费播放| 久久99精品国产| 日韩精品一区二区三区视频播放| 午夜久久久影院| 欧美一区二区三区视频| 奇米精品一区二区三区在线观看 | 成熟亚洲日本毛茸茸凸凹| 中文字幕不卡一区| 在线观看一区日韩| 久久精品久久综合| 日韩精品一区二区三区在线| 亚洲人精品一区| 在线视频国产一区| 美国毛片一区二区三区| 国产日韩欧美综合在线| 波多野结衣的一区二区三区|