2019-06-04 11:11:30 +03:00
/* SPDX-License-Identifier: GPL-2.0-only */
2007-07-11 23:18:41 +04:00
/ * - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - *
*
* Copyright ( C ) 1 9 9 1 , 1 9 9 2 L i n u s T o r v a l d s
* Copyright 2 0 0 7 r P a t h , I n c . - A l l R i g h t s R e s e r v e d
*
* - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - * /
2009-02-14 00:50:20 +03:00
# include < l i n u x / l i n k a g e . h >
2007-07-11 23:18:41 +04:00
/ *
* Memory c o p y r o u t i n e s
* /
2014-01-04 02:30:42 +04:00
.code16
2007-07-11 23:18:41 +04:00
.text
2019-10-11 14:50:56 +03:00
SYM_ F U N C _ S T A R T _ N O A L I G N ( m e m c p y )
2007-07-11 23:18:41 +04:00
pushw % s i
pushw % d i
movw % a x , % d i
movw % d x , % s i
pushw % c x
shrw $ 2 , % c x
rep; movsl
popw % c x
andw $ 3 , % c x
rep; movsb
popw % d i
popw % s i
2014-01-04 02:30:42 +04:00
retl
2019-10-11 14:50:56 +03:00
SYM_ F U N C _ E N D ( m e m c p y )
2007-07-11 23:18:41 +04:00
2019-10-11 14:50:56 +03:00
SYM_ F U N C _ S T A R T _ N O A L I G N ( m e m s e t )
2007-07-11 23:18:41 +04:00
pushw % d i
movw % a x , % d i
movzbl % d l , % e a x
imull $ 0 x01 0 1 0 1 0 1 ,% e a x
pushw % c x
shrw $ 2 , % c x
rep; stosl
popw % c x
andw $ 3 , % c x
rep; stosb
popw % d i
2014-01-04 02:30:42 +04:00
retl
2019-10-11 14:50:56 +03:00
SYM_ F U N C _ E N D ( m e m s e t )
2007-07-11 23:18:41 +04:00
2019-10-11 14:50:56 +03:00
SYM_ F U N C _ S T A R T _ N O A L I G N ( c o p y _ f r o m _ f s )
2007-07-11 23:18:41 +04:00
pushw % d s
pushw % f s
popw % d s
2014-01-04 02:30:42 +04:00
calll m e m c p y
2007-07-11 23:18:41 +04:00
popw % d s
2014-01-04 02:30:42 +04:00
retl
2019-10-11 14:50:56 +03:00
SYM_ F U N C _ E N D ( c o p y _ f r o m _ f s )
2007-07-11 23:18:41 +04:00
2019-10-11 14:50:56 +03:00
SYM_ F U N C _ S T A R T _ N O A L I G N ( c o p y _ t o _ f s )
2007-07-11 23:18:41 +04:00
pushw % e s
pushw % f s
popw % e s
2014-01-04 02:30:42 +04:00
calll m e m c p y
2007-07-11 23:18:41 +04:00
popw % e s
2014-01-04 02:30:42 +04:00
retl
2019-10-11 14:50:56 +03:00
SYM_ F U N C _ E N D ( c o p y _ t o _ f s )