📄 idigitvecmultadd.s
字号:
! Integer Version 2.0, RD, 12.2.93, Sparc8 idigitvecmultadd.s#include <config.h> .global DigitVecMultAddDigitVecMultAdd: tst %o3 ble Lvma1 mov 0, %g1 ! carry ld [%o1], %o5 ! *a subcc %o3, 1, %o3 ! count-- ld [%o0], %o4 ! *res inc 4, %o1 ! a++ ble Lvma3 umul %o5, %o2, %g2 ! *a * mLvma2: ld [%o1], %o5 ! *a addcc %o4, %g1, %o4 ! pp+h -> l 1 addx %g0, %g0, %g1 ! new carry addcc %g2, %o4, %o4 ! carry + *res + prod(low) 1 st %o4, [%o0] ! *res = inc 4, %o1 ! a++ 1 rd %y, %g3 ! 1 addx %g1, %g3, %g1 ! carry += prod(high) inc 4, %o0 ! res++ 1 ld [%o0], %o4 ! *res subcc %o3, 1, %o3 ! count-- bg Lvma2 ! loop 1 umul %o5, %o2, %g2 ! *a * m 5Lvma3: addcc %o4, %g1, %o4 ! pp+h -> l addx %g0, %g0, %g1 ! new carry rd %y, %o3 addcc %g2, %o4, %o4 ! carry + *res + prod(low) addx %g1, %o3, %g1 ! carry += prod(high) st %o4, [%o0] ! *res =Lvma1: retl mov %g1, %o0 ! return carry
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -