📄 strspn.s
字号:
.area text
;
; size_t strspn(char *s1, char *s2)
; {
; int i;
; int j;
;
; for (i = 0; s1[i]; i++)
; {
; for (j = 0; s2[j]; j++)
; if (s1[i] == s2[j])
; break;
; if (s1[i] != s2[j])
; return i;
; }
; return i;
; }
;
_strspn::
mov R30,R16 ; Z = s1;
mov R31,R17
ldi R16,0 ; i = 0;
ldi R17,0
strspn1:
ld R0,Z+ ; R0 = *Z++;
tst R0 ; if (!R0)
breq strspnx ; return i;
mov R26,R18 ; X = s2;
mov R27,R19 ;
strspn2:
ld R1,X+ ; R1 = *X++;
tst R1 ; if (!R1)
breq strspn3 ; leave s2 loop
cp R0,R1 ; if (R0 == R1)
brne strspn2 ; break;
strspn3:
cp R0,R1 ; if (R0 != R1)
brne strspnx ; return i;
subi R16,<(-1)
sbci R17,>(-1) ; i++;
rjmp strspn1 ; loop thru s1
strspnx:
ret
;
;<eof; 2003-08-03 ja>
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -