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

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

?? lib_str.lst

?? stm32+ucos-ii
?? LST
?? 第 1 頁 / 共 5 頁
字號:
    615          *
    616          *                   (d) 'len_max' number of characters concatenated.
    617          *
    618          *                       (1) 'len_max' number of characters does NOT include the terminating NULL character 
    619          *                           (see Note #2a2).
    620          *
    621          *                       (2) Null concatenations allowed (i.e. zero-length concatenations).
    622          *                           (A) No string concatenation performed; destination string returned 
    623          *                               (see Note #2b1).
    624          *********************************************************************************************************
    625          */
    626          /*$PAGE*/

   \                                 In section .text, align 2, keep-with-next
    627          CPU_CHAR  *Str_Cat_N (       CPU_CHAR    *pstr_dest,
    628                                const  CPU_CHAR    *pstr_cat,
    629                                       CPU_SIZE_T   len_max)
    630          {
   \                     Str_Cat_N:
   \   00000000   70B4               PUSH     {R4-R6}
   \   00000002   0300               MOVS     R3,R0
    631                     CPU_CHAR    *pstr_cat_dest;
    632              const  CPU_CHAR    *pstr_cat_src;
    633                     CPU_SIZE_T   len_cat;
    634          
    635                                                                          /* Rtn NULL if str ptr(s) NULL (see Note #3a1).         */
    636              if (pstr_dest == (CPU_CHAR *)0) {
   \   00000004   002B               CMP      R3,#+0
   \   00000006   01D1               BNE.N    ??Str_Cat_N_0
    637                  return ((CPU_CHAR *)0);
   \   00000008   0020               MOVS     R0,#+0
   \   0000000A   2EE0               B.N      ??Str_Cat_N_1
    638              }
    639              if (pstr_cat  == (const CPU_CHAR *)0) {
   \                     ??Str_Cat_N_0:
   \   0000000C   0029               CMP      R1,#+0
   \   0000000E   01D1               BNE.N    ??Str_Cat_N_2
    640                  return ((CPU_CHAR *)0);
   \   00000010   0020               MOVS     R0,#+0
   \   00000012   2AE0               B.N      ??Str_Cat_N_1
    641              }
    642          
    643              if (len_max == 0) {                                         /* Rtn dest str if cat len = 0 (see Note #3d2A).        */
   \                     ??Str_Cat_N_2:
   \   00000014   002A               CMP      R2,#+0
   \   00000016   01D1               BNE.N    ??Str_Cat_N_3
    644                  return ((CPU_CHAR *)pstr_dest);
   \   00000018   1800               MOVS     R0,R3
   \   0000001A   26E0               B.N      ??Str_Cat_N_1
    645              }
    646          
    647          
    648              pstr_cat_dest = pstr_dest;
   \                     ??Str_Cat_N_3:
   \   0000001C   1C00               MOVS     R4,R3
    649              while (( pstr_cat_dest != (CPU_CHAR *)  0 ) &&              /* Adv to end of cur dest str until NULL ptr ...        */
    650                     (*pstr_cat_dest != (CPU_CHAR  )'\0')) {              /* ... or NULL char found..                             */
   \                     ??Str_Cat_N_4:
   \   0000001E   002C               CMP      R4,#+0
   \   00000020   04D0               BEQ.N    ??Str_Cat_N_5
   \   00000022   2078               LDRB     R0,[R4, #+0]
   \   00000024   0028               CMP      R0,#+0
   \   00000026   01D0               BEQ.N    ??Str_Cat_N_5
    651                  pstr_cat_dest++;
   \   00000028   641C               ADDS     R4,R4,#+1
   \   0000002A   F8E7               B.N      ??Str_Cat_N_4
    652              }
    653              if (pstr_cat_dest == (CPU_CHAR *)0) {                       /* Rtn NULL if NULL ptr found (see Note #3b1).          */
   \                     ??Str_Cat_N_5:
   \   0000002C   002C               CMP      R4,#+0
   \   0000002E   01D1               BNE.N    ??Str_Cat_N_6
    654                  return ((CPU_CHAR *)0);
   \   00000030   0020               MOVS     R0,#+0
   \   00000032   1AE0               B.N      ??Str_Cat_N_1
    655              }
    656          
    657              pstr_cat_src = pstr_cat;
   \                     ??Str_Cat_N_6:
   \   00000034   0D00               MOVS     R5,R1
    658              len_cat      = 0u;
   \   00000036   0020               MOVS     R0,#+0
   \   00000038   0600               MOVS     R6,R0
    659          
    660              while (( pstr_cat_dest != (      CPU_CHAR *)  0 ) &&        /* Cat str until NULL ptr(s)  [see Note #3b]  ...       */
    661                     ( pstr_cat_src  != (const CPU_CHAR *)  0 ) &&
    662                     (*pstr_cat_src  != (      CPU_CHAR  )'\0') &&        /* ... or NULL char found     (see Note #3c); ...       */
    663                     ( len_cat       <  (      CPU_SIZE_T)len_max)) {     /* ... or max nbr chars cat'd (see Note #3d).           */
   \                     ??Str_Cat_N_7:
   \   0000003A   002C               CMP      R4,#+0
   \   0000003C   0CD0               BEQ.N    ??Str_Cat_N_8
   \   0000003E   002D               CMP      R5,#+0
   \   00000040   0AD0               BEQ.N    ??Str_Cat_N_8
   \   00000042   2878               LDRB     R0,[R5, #+0]
   \   00000044   0028               CMP      R0,#+0
   \   00000046   07D0               BEQ.N    ??Str_Cat_N_8
   \   00000048   9642               CMP      R6,R2
   \   0000004A   05D2               BCS.N    ??Str_Cat_N_8
    664                 *pstr_cat_dest = *pstr_cat_src;
   \   0000004C   2878               LDRB     R0,[R5, #+0]
   \   0000004E   2070               STRB     R0,[R4, #+0]
    665                  pstr_cat_dest++;
   \   00000050   641C               ADDS     R4,R4,#+1
    666                  pstr_cat_src++;
   \   00000052   6D1C               ADDS     R5,R5,#+1
    667                  len_cat++;
   \   00000054   761C               ADDS     R6,R6,#+1
   \   00000056   F0E7               B.N      ??Str_Cat_N_7
    668              }
    669                                                                          /* Rtn NULL if NULL ptr(s) found (see Note #3b1).       */
    670              if ((pstr_cat_dest == (      CPU_CHAR *)0) ||
    671                  (pstr_cat_src  == (const CPU_CHAR *)0)) {
   \                     ??Str_Cat_N_8:
   \   00000058   002C               CMP      R4,#+0
   \   0000005A   01D0               BEQ.N    ??Str_Cat_N_9
   \   0000005C   002D               CMP      R5,#+0
   \   0000005E   01D1               BNE.N    ??Str_Cat_N_10
    672                   return ((CPU_CHAR *)0);
   \                     ??Str_Cat_N_9:
   \   00000060   0020               MOVS     R0,#+0
   \   00000062   02E0               B.N      ??Str_Cat_N_1
    673              }
    674          
    675             *pstr_cat_dest = (CPU_CHAR)'\0';                             /* Append NULL char    (see Note #2a2C).                */
   \                     ??Str_Cat_N_10:
   \   00000064   0020               MOVS     R0,#+0
   \   00000066   2070               STRB     R0,[R4, #+0]
    676          
    677          
    678              return (pstr_dest);                                         /* Rtn ptr to dest str (see Note #2b1).                 */
   \   00000068   1800               MOVS     R0,R3
   \                     ??Str_Cat_N_1:
   \   0000006A   70BC               POP      {R4-R6}
   \   0000006C   7047               BX       LR               ;; return
    679          }
    680          
    681          
    682          /*$PAGE*/
    683          /*
    684          *********************************************************************************************************
    685          *                                              Str_Cmp()
    686          *
    687          * Description : Determine if two strings are identical.
    688          *
    689          * Argument(s) : p1_str      Pointer to first  string (see Note #1).
    690          *
    691          *               p2_str      Pointer to second string (see Note #1).
    692          *
    693          * Return(s)   : 0,              if strings are identical             (see Notes #3a1A, #3a2A, & #3b).
    694          *
    695          *               Negative value, if 'p1_str' is less    than 'p2_str' (see Notes #3a1B1, #3a2B1, & #3c).
    696          *
    697          *               Positive value, if 'p1_str' is greater than 'p2_str' (see Notes #3a1B2, #3a2B2, & #3c).
    698          *
    699          *               See also Note #2b.
    700          *
    701          * Caller(s)   : Application.
    702          *
    703          * Note(s)     : (1) String buffers NOT modified.
    704          *
    705          *               (2) (a) IEEE Std 1003.1, 2004 Edition, Section 'strcmp() : DESCRIPTION' states that "the
    706          *                       strcmp() function shall compare the string pointed to by 's1' ('p1_str') to the 
    707          *                       string pointed to by 's2' ('p2_str)".
    708          *
    709          *                   (b) (1) IEEE Std 1003.1, 2004 Edition, Section 'strcmp() : RETURN VALUE' states that
    710          *                          "upon successful completion, strcmp() shall return an integer greater than,
    711          *                           equal to, or less than 0".
    712          *
    713          *                       (2) IEEE Std 1003.1, 2004 Edition, Section 'strcmp() : DESCRIPTION' adds that "the
    714          *                           sign of a non-zero return value shall be determined by the sign of the difference
    715          *                           between the values of the first pair of bytes ... that differ in the strings
    716          *                           being compared".
    717          *
    718          *               (3) String comparison terminates when :
    719          *
    720          *                   (a) (1) (A) BOTH string pointer(s) are passed NULL pointers.
    721          *                               (1) NULL strings identical; 0 returned.
    722          *
    723          *                           (B) (1) 'p1_str' passed a NULL pointer.
    724          *                                   (a) Return negative value of character pointed to by 'p2_str'.
    725          *
    726          *                               (2) 'p2_str' passed a NULL pointer.
    727          *                                   (a) Return positive value of character pointed to by 'p1_str'.
    728          *
    729          *                       (2) (A) BOTH strings point to NULL.
    730          *                               (1) Strings overlap with NULL address.
    731          *                               (2) Strings identical up to but NOT beyond or including the NULL address;
    732          *                                   0 returned.
    733          *
    734          *                           (B) (1) 'p1_str_cmp_next' points to NULL.
    735          *                                   (a) 'p1_str' overlaps with NULL address.
    736          *                                   (b) Strings compared up to but NOT beyond or including the NULL address.
    737          *                                   (c) Return negative value of character pointed to by 'p2_str_cmp_next'.
    738          *
    739          *                               (2) 'p2_str_cmp_next' points to NULL.
    740          *                                   (a) 'p2_str' overlaps with NULL address.
    741          *                                   (b) Strings compared up to but NOT beyond or including the NULL address.
    742          *                                   (c) Return positive value of character pointed to by 'p1_str_cmp_next'.
    743          *
    744          *                   (b) Terminating NULL character found in both strings.
    7

?? 快捷鍵說明

復制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號 Ctrl + =
減小字號 Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
亚洲欧洲综合另类在线| 亚洲私人黄色宅男| 欧美日韩一区不卡| 91福利精品第一导航| 一本一道综合狠狠老| 91啦中文在线观看| 欧美午夜不卡视频| 欧美日韩一区二区三区视频 | 艳妇臀荡乳欲伦亚洲一区| 在线免费一区三区| 99riav久久精品riav| 成人精品在线视频观看| 成人黄色综合网站| 91丝袜美女网| 欧美日韩免费高清一区色橹橹| 欧洲人成人精品| 日韩你懂的在线观看| 欧美变态tickling挠脚心| 久久久久国产成人精品亚洲午夜| 久久精品一区二区| 一区二区三区电影在线播| 午夜精品aaa| 国产成人8x视频一区二区| 波多野洁衣一区| 8x福利精品第一导航| 国产片一区二区| 一区二区欧美国产| 美国三级日本三级久久99| 国产福利一区二区三区视频| 92国产精品观看| 欧美videofree性高清杂交| 中文字幕欧美日韩一区| 午夜免费欧美电影| 懂色av中文字幕一区二区三区| 欧美在线观看视频一区二区 | 精品日韩欧美一区二区| 国产婷婷色一区二区三区在线| 亚洲一区二区四区蜜桃| 丰满岳乱妇一区二区三区| 欧美美女直播网站| 国产精品污www在线观看| 日韩综合小视频| 色老汉一区二区三区| 精品久久人人做人人爽| 亚洲一区二区精品久久av| 成人晚上爱看视频| 日韩三级在线观看| 亚洲午夜激情网站| 97久久精品人人做人人爽| 久久久久久亚洲综合影院红桃| 亚洲国产一区二区在线播放| 岛国精品在线播放| 欧美成人三级电影在线| 午夜精品一区二区三区免费视频 | 精品亚洲成a人在线观看| 欧美性videosxxxxx| 综合分类小说区另类春色亚洲小说欧美| 蜜桃久久久久久久| 欧美一区二区私人影院日本| 亚洲精品日日夜夜| av色综合久久天堂av综合| 日本一区二区不卡视频| 国产乱淫av一区二区三区| 日韩欧美久久久| 美国毛片一区二区| 4438x亚洲最大成人网| 五月婷婷激情综合| 欧美日韩一本到| 亚洲国产精品一区二区www在线| 99国产精品99久久久久久| 中文字幕不卡的av| 成人国产精品视频| 中文字幕在线观看不卡视频| 成人午夜在线播放| 中文字幕一区二区三区av| 成人h版在线观看| 国产精品乱码久久久久久| 成人中文字幕在线| 国产日产精品1区| 99久久久久免费精品国产| 亚洲视频在线一区| 欧美性大战久久久久久久| 日韩成人免费电影| 精品国产免费人成电影在线观看四季| 日产欧产美韩系列久久99| 欧美成人免费网站| 狠狠色伊人亚洲综合成人| 国产精品素人一区二区| 91蜜桃免费观看视频| 亚洲曰韩产成在线| 欧美一区二区女人| 激情久久五月天| 亚洲视频免费观看| 欧美精品v日韩精品v韩国精品v| 美女网站色91| 欧美国产精品久久| 欧美亚洲精品一区| 美女脱光内衣内裤视频久久影院| 久久丝袜美腿综合| 91麻豆免费视频| 美女尤物国产一区| 国产精品区一区二区三| 欧美日韩你懂的| 国产剧情在线观看一区二区| 亚洲欧美国产高清| 欧美成人video| 一本久久精品一区二区| 免费成人在线网站| 国产精品国产自产拍在线| 91精品国产色综合久久| 粉嫩久久99精品久久久久久夜| 亚洲成av人片一区二区三区| 久久精品一区八戒影视| 欧美日韩国产综合视频在线观看| 精东粉嫩av免费一区二区三区| 亚洲色大成网站www久久九九| 91精品国产综合久久精品| 不卡的av电影在线观看| 久久精品噜噜噜成人av农村| 亚洲美女一区二区三区| 久久久久久久国产精品影院| 91精品中文字幕一区二区三区| 成人午夜视频网站| 韩国精品主播一区二区在线观看| 亚洲国产一区二区视频| 亚洲人成亚洲人成在线观看图片 | 懂色av中文字幕一区二区三区| 亚洲bt欧美bt精品| 亚洲激情五月婷婷| 国产精品美女久久久久久久久| 日韩视频在线观看一区二区| 日本久久电影网| 成人av资源站| 国产精一品亚洲二区在线视频| 美女视频一区在线观看| 日日摸夜夜添夜夜添亚洲女人| 亚洲黄色尤物视频| 国产精品色呦呦| 国产精品视频第一区| 国产午夜精品久久久久久久| 精品国精品自拍自在线| 91精品福利在线一区二区三区| 欧美在线观看一区| 欧美午夜精品久久久久久孕妇| 在线亚洲一区二区| 91女厕偷拍女厕偷拍高清| 成人免费毛片app| 国产成人精品免费一区二区| 国产中文字幕精品| 国产91精品久久久久久久网曝门| 久久精品999| 国产麻豆视频精品| 国产麻豆视频精品| 丁香婷婷综合激情五月色| 国产传媒欧美日韩成人| 国产v日产∨综合v精品视频| 国产不卡一区视频| 成人黄色软件下载| 91福利在线导航| 欧美日韩免费高清一区色橹橹| 欧美日韩一区二区在线视频| 宅男噜噜噜66一区二区66| 精品国产亚洲在线| 欧美国产精品一区二区三区| 亚洲欧美日韩中文播放| 亚洲综合清纯丝袜自拍| 秋霞午夜鲁丝一区二区老狼| 裸体一区二区三区| 国产高清亚洲一区| 91啪九色porn原创视频在线观看| 欧美午夜免费电影| 精品国产免费视频| 自拍偷拍国产亚洲| 日韩国产欧美在线观看| 极品销魂美女一区二区三区| 成人一级视频在线观看| 色悠悠久久综合| 91精品午夜视频| 国产拍揄自揄精品视频麻豆| 一区二区三区四区av| 亚洲私人影院在线观看| 一区二区三区中文字幕| 久久99国产乱子伦精品免费| 亚洲成年人影院| 亚洲国产色一区| 国产最新精品免费| 色婷婷亚洲综合| 精品国产乱码久久久久久老虎| 中文字幕精品综合| 天天综合日日夜夜精品| 成人av资源下载| 91精品国产综合久久精品图片 | 亚洲视频一区二区免费在线观看| 午夜精品在线看| 成人成人成人在线视频| 日韩视频免费观看高清完整版在线观看 | 国产成人一区在线| 欧美日韩日本视频| 最好看的中文字幕久久| 国产一区二区剧情av在线|