1 ! Z8000 __mpn_mul_1
-- Multiply
a limb vector with
a limb
and store
2 ! the result in
a second limb vector.
4 ! Copyright
(C
) 1993, 1994, 1995 Free Software Foundation
, Inc.
6 ! This file is part of the GNU MP Library.
8 ! The GNU MP Library is free software; you can redistribute it
and/or modify
9 ! it under the terms of the GNU Lesser General Public License as published by
10 ! the Free Software Foundation; either version
2.1 of the License
, or (at your
11 ! option
) any later version.
13 ! The GNU MP Library is distributed in the hope that it will
be useful
, but
14 ! WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY
15 ! or FITNESS FOR
A PARTICULAR PURPOSE. See the GNU Lesser General Public
16 ! License for more details.
18 ! You should have received
a copy of the GNU Lesser General Public License
19 ! along with the GNU MP Library; see the file COPYING.LIB. If
not, write to
20 ! the Free Software Foundation
, Inc.
, 59 Temple Place
- Suite
330, Boston
,
35 sub r2,r2 ! zero carry limb
42 and r1,r1 ! shift msb of loaded limb into cy
43 jr mi
,Lp
! branch if loaded limb
's msb is set
44 add r8,r4 ! hi_limb += sign_comp2
45 Lp: add r9,r2 ! lo_limb += cy_limb
57 add r8,r1 ! hi_limb += sign_comp1
60 add r8,r4 ! hi_limb += sign_comp2
61 Ln: add r9,r2 ! lo_limb += cy_limb