📄 idigitvecmult.s
字号:
! Integer Version 2.0, RD, 11.2.93 idigitvecmult.s */#include <config.h> .global DigitVecMultDigitVecMult: tst %o3 ble Lvma1 mov 0, %g5 ! carryLvma2: mov %o2, %y andcc %g0, %g0, %g3 ld [%o1], %g2 ! *a nop 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 %g2, %g5, %g2 ! carry + prod (low) -> result low addx %g3, %g0, %g5 ! result high -> carry 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 + -