Server : Apache/2.4.18 (Ubuntu) System : Linux canvaswebdesign 3.13.0-71-generic #114-Ubuntu SMP Tue Dec 1 02:34:22 UTC 2015 x86_64 User : oppastar ( 1041) PHP Version : 7.0.33-0ubuntu0.16.04.15 Disable Function : pcntl_alarm,pcntl_fork,pcntl_waitpid,pcntl_wait,pcntl_wifexited,pcntl_wifstopped,pcntl_wifsignaled,pcntl_wifcontinued,pcntl_wexitstatus,pcntl_wtermsig,pcntl_wstopsig,pcntl_signal,pcntl_signal_dispatch,pcntl_get_last_error,pcntl_strerror,pcntl_sigprocmask,pcntl_sigwaitinfo,pcntl_sigtimedwait,pcntl_exec,pcntl_getpriority,pcntl_setpriority, Directory : /lib/firmware/carl9170fw/carlfw/src/ |
Upload File : |
/* $Id: memset.S,v 1.1 2000/04/14 16:49:01 mjd Exp $ * * "memset" implementation of SuperH * * Copyright (C) 1999 Niibe Yutaka * */ /* * void *memset(void *s, int c, size_t n); */ .globl _memset .align 2 _memset: tst r6,r6 bt/s 5f ! if n=0, do nothing add r6,r4 mov #12,r0 cmp/gt r6,r0 bt/s 4f ! if it's too small, set a byte at once mov r4,r0 and #3,r0 cmp/eq #0,r0 bt/s 2f ! It's aligned sub r0,r6 1: dt r0 bf/s 1b mov.b r5,@-r4 2: ! make VVVV extu.b r5,r5 swap.b r5,r0 ! V0 or r0,r5 ! VV swap.w r5,r0 ! VV00 or r0,r5 ! VVVV ! mov r6,r0 shlr2 r0 shlr r0 ! r0 = r6 >> 3 3: dt r0 mov.l r5,@-r4 ! set 8-byte at once bf/s 3b mov.l r5,@-r4 ! mov #7,r0 and r0,r6 tst r6,r6 bt 5f ! fill bytes 4: dt r6 bf/s 4b mov.b r5,@-r4 5: rts mov r4,r0