strchr.s
来自「这是一个同样来自贝尔实验室的和UNIX有着渊源的操作系统, 其简洁的设计和实现易」· S 代码 · 共 74 行
S
74 行
TEXT strchr(SB), $0MOVW R7, 0(FP) MOVB c+7(FP), R10 MOVW s+0(FP), R9 SUBCC R0,R10, R0 BE l2/* * char is not null */l1: MOVB (R9), R7 ADD $1, R9 SUBCC R0,R7, R0 BE ret SUBCC R7,R10, R0 BNE l1 JMP rm1/* * char is null * align to word */l2: ANDCC $3,R9, R0 BE l3 MOVB (R9), R7 ADD $1, R9 SUBCC R0,R7, R0 BNE l2 JMP rm1/* * develop byte masks */l3: MOVW $0xff, R17 SLL $8,R17, R16 SLL $16,R17, R13 SLL $24,R17, R12l4: MOVW (R9), R11 ADD $4, R9 ANDCC R12,R11, R0 BE b0 ANDCC R13,R11, R0 BE b1 ANDCC R16,R11, R0 BE b2 ANDCC R17,R11, R0 BNE l4rm1: SUB $1,R9, R7 JMP retb2: SUB $2,R9, R7 JMP retb1: SUB $3,R9, R7 JMP retb0: SUB $4,R9, R7 JMP retret: RETURN
⌨️ 快捷键说明
复制代码Ctrl + C
搜索代码Ctrl + F
全屏模式F11
增大字号Ctrl + =
减小字号Ctrl + -
显示快捷键?