📄 mul_1.s
字号:
! Z8000 __gmpn_mul_1 -- Multiply a limb vector with a limb and store! the result in a second limb vector.! Copyright 1993, 1994, 1995, 2000 Free Software Foundation, Inc.! This file is part of the GNU MP Library.! The GNU MP Library is free software; you can redistribute it and/or modify! it under the terms of the GNU Lesser General Public License as published by! the Free Software Foundation; either version 2.1 of the License, or (at your! option) any later version.! The GNU MP Library is distributed in the hope that it will be useful, but! WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY! or FITNESS FOR A PARTICULAR PURPOSE. See the GNU Lesser General Public! License for more details.! You should have received a copy of the GNU Lesser General Public License! along with the GNU MP Library; see the file COPYING.LIB. If not, write to! the Free Software Foundation, Inc., 59 Temple Place - Suite 330, Boston,! MA 02111-1307, USA.! INPUT PARAMETERS! res_ptr r7! s1_ptr r6! size r5! s2_limb r4 unseg .text even global ___gmpn_mul_1___gmpn_mul_1: sub r2,r2 ! zero carry limb and r4,r4 jr mi,LnegLpos: pop r1,@r6 ld r9,r1 mult rr8,r4 and r1,r1 ! shift msb of loaded limb into cy jr mi,Lp ! branch if loaded limb's msb is set add r8,r4 ! hi_limb += sign_comp2Lp: add r9,r2 ! lo_limb += cy_limb xor r2,r2 adc r2,r8 ld @r7,r9 inc r7,#2 dec r5 jr ne,Lpos ret tLneg: pop r1,@r6 ld r9,r1 mult rr8,r4 add r8,r1 ! hi_limb += sign_comp1 and r1,r1 jr mi,Ln add r8,r4 ! hi_limb += sign_comp2Ln: add r9,r2 ! lo_limb += cy_limb xor r2,r2 adc r2,r8 ld @r7,r9 inc r7,#2 dec r5 jr ne,Lneg ret t
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -