memcmp.s
来自「基于EP7312的MP3播放器源代码,包括MCU和PC端代码.」· S 代码 · 共 60 行
S
60 行
//****************************************************************************//// MEMCMP.S - Routine to implement the C library function "memcmp".//// Copyright (c) 1999,2000,2001 Cirrus Logic, Inc.////****************************************************************************#include "../../asmdefs.h"//****************************************************************************//// Read-only code area.////**************************************************************************** _TEXT_//****************************************************************************//// Standard C library function "memcmp".////**************************************************************************** _EXPORT_ memcmpmemcmp _LABEL_ stmdb r13!, {r3-r4, r14} cmp r2, _CONST_ 4 blt CheckBytes tst r0, _CONST_ 3 bne CheckBytes tst r1, _CONST_ 3 bne CheckBytesCheckWords _LABEL_ ldr r3, [r0], _CONST_ 4 ldr r4, [r1], _CONST_ 4 cmp r3, r4 bne DoneWords sub r2, r2, _CONST_ 4 cmp r2, _CONST_ 4 bge CheckWordsDoneWords _LABEL_ cmp r3, r4 subne r0, r0, _CONST_ 4 subne r1, r1, _CONST_ 4CheckBytes _LABEL_ cmp r2, _CONST_ 0 moveq r0, _CONST_ 0 ldmeqia r13!, {r3-r4, pc}CheckByte _LABEL_ ldrb r3, [r0], _CONST_ 1 ldrb r4, [r1], _CONST_ 1 cmp r3, r4 bne DoneBytes subs r2, r2, _CONST_ 1 bne CheckByteDoneBytes _LABEL_ sub r0, r3, r4 ldmia r13!, {r3-r4, pc} _END_
⌨️ 快捷键说明
复制代码Ctrl + C
搜索代码Ctrl + F
全屏模式F11
增大字号Ctrl + =
减小字号Ctrl + -
显示快捷键?