strlen.s
来自「这个linux源代码是很全面的~基本完整了~使用c编译的~由于时间问题我没有亲自」· S 代码 · 共 71 行
S
71 行
/* $Id: strlen.S,v 1.2 2001/06/29 14:07:15 gniibe Exp $ * * "strlen" implementation of SuperH * * Copyright (C) 1999 Kaz Kojima * *//* size_t strlen (const char *s) */#include <linux/linkage.h>ENTRY(strlen) mov r4,r0 and #3,r0 tst r0,r0 bt/s 1f mov #0,r2 add #-1,r0 shll2 r0 shll r0 braf r0 nop mov.b @r4+,r1 tst r1,r1 bt 8f add #1,r2 mov.b @r4+,r1 tst r1,r1 bt 8f add #1,r2 mov.b @r4+,r1 tst r1,r1 bt 8f add #1,r2 1: mov #0,r32: mov.l @r4+,r1 cmp/str r3,r1 bf/s 2b add #4,r2 add #-4,r2#ifndef __LITTLE_ENDIAN__ swap.b r1,r1 swap.w r1,r1 swap.b r1,r1#endif extu.b r1,r0 tst r0,r0 bt/s 8f shlr8 r1 add #1,r2 extu.b r1,r0 tst r0,r0 bt/s 8f shlr8 r1 add #1,r2 extu.b r1,r0 tst r0,r0 bt 8f add #1,r28: rts mov r2,r0
⌨️ 快捷键说明
复制代码Ctrl + C
搜索代码Ctrl + F
全屏模式F11
增大字号Ctrl + =
减小字号Ctrl + -
显示快捷键?