用ARM汇编语言实现C语言中的memcmp函数的功能

用ARM汇编语言实现C语言中的memcmp函数的功能,memcmp函数的定义如下:
int memcmp (const void * buf1, const void * buf2, size_t count )

望给出完整代码!

头文件:#include <string.h>

定义函数:int memcmp (const void *s1, const void *s2, size_t n);

函数说明:memcmp()用来比较s1 和s2 所指的内存区间前n 个字符。

字符串大小的比较是以ASCII 码表上的顺序来决定,次顺序亦为字符的值。memcmp()首先将s1 第一个字符值减去s2 第一个字符的值,若差为0 则再继续比较下个字符,若差值不为0 则将差值返回。例如,字符串"Ac"和"ba"比较则会返回字符'A'(65)和'b'(98)的差值(-33)。

返回值:若参数s1 和s2 所指的内存内容都完全相同则返回0 值。s1 若大于s2 则返回大于0 的值。s1 若小于s2 则返回小于0 的值。

范例#include <string.h>main(){ char *a = "aBcDeF"; char *b = "AbCdEf"; char *c = "aacdef"; char *d = "aBcDeF"; printf("memcmp(a, b):%d\n", memcmp((void*)a, (void*)b, 6)); printf("memcmp(a, c):%d\n", memcmp((void*)a, (void*)c, 6)); printf("memcmp(a, d):%d\n", memcmp((void*)a, (void*)d, 6));}

执行结果:
memcmp(a, b):1 //字符串a>字符串b, 返回1
memcmp(a, c):-1 // 字符串a<字符串c, 返回-1
memcmp(a, d):0 //字符串a=字符串d, 返回0追问

不好意思我是想用ARM汇编语言实现这一功能~

温馨提示:内容为网友见解,仅供参考
无其他回答

嵌入式Linux上的C语言编程实践的目录
7.4.13 memcmp函数:内存比较 1277.4.14 memcpy函数:内存复制 1287.5 数学计算类函数 1287.6 数据结构和算法类函数 1337.6.1 bsearch函数:二元搜索 1337.6.2 lfind函数:线性搜索 1347.6.3 lsearch函数:线性搜索 1357.6.4 qsort函数:利用快速排序法3.1.2 排列数组 1367.6.5 rand函数:产生随机数 1367.6.6 srand...

相似回答