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