用汇编写特殊要求的strlen

题目:

不允许调用库函数,也 不允许使用任何全局或局部变量编写 int strlen(char *strDest);

用汇编的实现:
  1. int strlen(const char *s)
  2. {
  3.     __asm__ __volatile__("movl %%esi,%%eax;0:testb $0xFF,(%%eax);"
  4.                         "jz 1f;inc %%eax;jmp 0b;"
  5.                         "1:subl %%esi,%%eax;"::"S"(s));
  6. }
(gcc 3.3.1)

你可能感兴趣的:(用汇编写特殊要求的strlen)