📄 g729a_util_sa.sa
字号:
;;;;;;;;;;;;;;;;;;Function G729ASet_zero;;;;;;;;;;;;;;;;;;
;;;;;;;;;;;;;;;;;;;;;16位操作;;;;;;;;;;;;;;;;;;;;;;;;;
.global _G729ASet_zero
_G729ASet_zero: .cproc X, L
.reg zero
mvk.d2 0, zero
LOOP1: .trip L
sth.d1t1 zero, *X++
[L] sub.d1 L, 1, L
[L] b LOOP1
.return
.endproc
;;;;;;;;;;;;;;;;;;Function G729ASet_zero2;;;;;;;;;;;;;;;;;;
;;;;;;;;;;;;;;;;;;;;;32位操作;;;;;;;;;;;;;;;;;;;;;;;;;;
.global _G729ASet_zero2
_G729ASet_zero2: .cproc X, L
.reg zero
mvk.d2 0, zero
shr.s1 L, 1, L
LOOP2: .trip L
stw.d1t1 zero, *X++
[L] sub.d1 L, 1, L
[L] b LOOP2
.return
.endproc
;;;;;;;;;;;;;;;;;;Function G729ASet_zero4;;;;;;;;;;;;;;;;;;
;;;;;;;;;;;;;;;;;;;;;64位操作;;;;;;;;;;;;;;;;;;;;;;;;;;
.global _G729ASet_zero4
_G729ASet_zero4: .cproc X, L
.reg zero0:zero1
mvk.d2 0, zero0
mvk.d2 0, zero1
shr.s1 L, 2, L
LOOP3: .trip L
stdw.d1t1 zero0:zero1, *X++
[L] sub.d1 L, 1, L
[L] b LOOP3
.return
.endproc
;;;;;;;;;;;;;;;;;;Function G729ACopy;;;;;;;;;;;;;;;;;;;;;;
;;;;;;;;;;;;;;;;;;;;;16位操作;;;;;;;;;;;;;;;;;;;;;;;;;
.global _G729ACopy
_G729ACopy: .cproc X, Y, L
.reg temp
mvk.d2 0, temp
LOOP4: .trip L
ldh.d1t1 *X++, temp
sth.d2t1 temp, *Y++
[L] sub.d1 L, 1, L
[L] b LOOP4
.return
.endproc
;;;;;;;;;;;;;;;;;;Function G729ACopy2;;;;;;;;;;;;;;;;;;;;;;
;;;;;;;;;;;;;;;;;;;;;32位操作;;;;;;;;;;;;;;;;;;;;;;;;;;
.global _G729ACopy2
_G729ACopy2: .cproc X, Y, L
.reg temp
mvk.d2 0, temp
shr.s1 L, 1, L
LOOP5: .trip L
ldw.d1t1 *X++, temp
stw.d2t1 temp, *Y++
[L] sub.d1 L, 1, L
[L] b LOOP5
.return
.endproc
;;;;;;;;;;;;;;;;;;Function G729ACopy4;;;;;;;;;;;;;;;;;;;;;;
;;;;;;;;;;;;;;;;;;;;;64位操作;;;;;;;;;;;;;;;;;;;;;;;;;;
.global _G729ACopy4
_G729ACopy4: .cproc X, Y, L
.reg temp0:temp1
shr.s1 L, 2, L
LOOP6: .trip L
lddw.d1t1 *X++, temp0:temp1
stdw.d2t1 temp0:temp1, *Y++
[L] sub.d1 L, 1, L
[L] b LOOP6
.return
.endproc
;;;;;;;;;;;;;;;;;;Function G729ARandom;;;;;;;;;;;;;;;;;;;;;;;;
;;;;;;;;;;;;;;;;;;随机数产生函数;;;;;;;;;;;;;;;;;;;;;;;;;;
.global _G729ARandom
_G729ARandom: .cproc
.reg temp
.reg tmp0, tmp1
.reg seed
mvk.s2 21845, seed
mvk.s1 31821, tmp0
smpy.m1 seed, tmp0, temp
mvk.s1 13849, tmp1
shr.s1 temp, 0x1, temp
sadd.s1 temp, tmp1, temp
ext.s1 temp, 0x10, 0x10, seed
.return seed
.endproc
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -