strcmp.s

来自「基于EP7312的MP3播放器源代码,包括MCU和PC端代码.」· S 代码 · 共 70 行

S
70
字号
//****************************************************************************//// STRCMP.S - Routine to implement the C library function "strcmp".//// Copyright (c) 1999,2000,2001 Cirrus Logic, Inc.////****************************************************************************#include "../../asmdefs.h"//****************************************************************************//// Read-only code area.////****************************************************************************    _TEXT_//****************************************************************************//// Standard C library function "strcmp".////****************************************************************************    _EXPORT_ strcmpstrcmp _LABEL_    tst     r0, _CONST_ 3    tsteq   r1, _CONST_ 3    bne     strcmp_byteloop    str     r14, [r13, _CONST_ -4]!    ldr     r14, =0x01010101strcmp_loop _LABEL_    ldr     r2, [r0], _CONST_ 4    ldr     r3, [r1], _CONST_ 4    sub     r12, r2, r14    bic     r12, r12, r2    ands    r12, r12, r14, lsl _CONST_ 7    cmpeq   r2, r3    beq     strcmp_loop    ldr     r14, [r13], _CONST_ 4    mov     r0, r3, lsl _CONST_ 24    subs    r0, r0, r2, lsl _CONST_ 24    tsteq   r12, _CONST_ 0x0FF0    bne     strcmp_return    mov     r0, r3, lsl _CONST_ 16    subs    r0, r0, r2, lsl _CONST_ 16    tsteq   r12, _CONST_ 0xFF00    bne     strcmp_return    mov     r0, r3, lsl _CONST_ 8    subs    r0, r0, r2, lsl _CONST_ 8    tsteq   r12, _CONST_ 0xFF0000    subeqs  r0, r3, r2strcmp_return _LABEL_    movne   r0, r0, rrx    mov     pc, r14strcmp_byteloop _LABEL_    ldrb    r2, [r0], _CONST_ 1    ldrb    r3, [r1], _CONST_ 1    cmp     r2, _CONST_ 1    cmpcs   r2, r3    bne     strcmp_byteend    ldrb    r2, [r0], _CONST_ 1    ldrb    r3, [r1], _CONST_ 1    cmp     r2, _CONST_ 1    cmpcs   r2, r3    beq     strcmp_byteloopstrcmp_byteend _LABEL_    sub     r0, r2, r3    mov     pc, r14    _END_

⌨️ 快捷键说明

复制代码Ctrl + C
搜索代码Ctrl + F
全屏模式F11
增大字号Ctrl + =
减小字号Ctrl + -
显示快捷键?