1 ;
--------------------------------------------------------------------------
4 ; Copies in groups of four. Algorithm is Duff
's device.
6 ; Copyright (c) 2021, Philipp Klaus Krause
7 ; Copyright (c) 2022, Sebastian 'basxto
' Riedel <sdcc@basxto.de>
9 ; This library is free software; you can redistribute it and/or modify it
10 ; under the terms of the GNU General Public License as published by the
11 ; Free Software Foundation; either version 2, or (at your option) any
14 ; This library is distributed in the hope that it will be useful,
15 ; but WITHOUT ANY WARRANTY; without even the implied warranty of
16 ; MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
17 ; GNU General Public License for more details.
19 ; You should have received a copy of the GNU General Public License
20 ; along with this library; see the file COPYING. If not, write to the
21 ; Free Software Foundation, 51 Franklin Street, Fifth Floor, Boston,
24 ; As a special exception, if you link this library with other files,
25 ; some of which are compiled with SDCC, to produce an executable,
26 ; this library does not by itself cause the resulting executable to
27 ; be covered by the GNU General Public License. This exception does
28 ; not however invalidate any other reasons why the executable file
29 ; might be covered by the GNU General Public License.
30 ;--------------------------------------------------------------------------
37 ; gets called by memmove for (s >= d)
38 ; bigger than the old algorithm but faster for n>=5
55 ;dest in de (backup in sp+0,sp+1)
65 ;shift second LSB to carry
73 .irp idx,copy_four,copy_two