📄 idigitvecmultadd.s
字号:
! Integer Version 2.0, RD, 11.2.93 idigitvecmultadd.s */#include <config.h> .global DigitVecMultAddDigitVecMultAdd: tst %o3 ble Lvma1 mov 0, %g5 ! carryLvma2: mov %o2, %y andcc %g0, %g0, %g3 ld [%o1], %g2 ! *a ld [%o0], %g4 ! *res mulscc %g3, %g2, %g3 mulscc %g3, %g2, %g3 mulscc %g3, %g2, %g3 mulscc %g3, %g2, %g3 mulscc %g3, %g2, %g3 mulscc %g3, %g2, %g3 mulscc %g3, %g2, %g3 mulscc %g3, %g2, %g3 mulscc %g3, %g2, %g3 mulscc %g3, %g2, %g3 mulscc %g3, %g2, %g3 mulscc %g3, %g2, %g3 mulscc %g3, %g2, %g3 mulscc %g3, %g2, %g3 mulscc %g3, %g2, %g3 mulscc %g3, %g2, %g3 mulscc %g3, %g2, %g3 mulscc %g3, %g2, %g3 mulscc %g3, %g2, %g3 mulscc %g3, %g2, %g3 mulscc %g3, %g2, %g3 mulscc %g3, %g2, %g3 mulscc %g3, %g2, %g3 mulscc %g3, %g2, %g3 mulscc %g3, %g2, %g3 mulscc %g3, %g2, %g3 mulscc %g3, %g2, %g3 mulscc %g3, %g2, %g3 mulscc %g3, %g2, %g3 mulscc %g3, %g2, %g3 mulscc %g3, %g2, %g3 mulscc %g3, %g2, %g3 mulscc %g3, %g0, %g3 ! 33rd iteration, prod high tst %g2 ! sign correction bge Lvma3 rd %y, %g2 ! prod low add %g3, %o2, %g3 ! sign correctionLvma3: addcc %g5, %g4, %g4 ! carry + *res addx %g0,%g0,%g5 ! new carry addcc %g2, %g4, %g2 ! result low addx %g3, %g5, %g5 ! result high st %g2, [%o0] ! *res inc 4, %o1 ! a++ subcc %o3, 1, %o3 ! count-- bg Lvma2 ! loop inc 4, %o0Lvma1: retl mov %g5, %o0 ! return carry
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -