📄 vq_cortexm3.s
字号:
SECTION .text:CODE(2)
EXPORT vq_nbest
#define t r0
#define resp2 r1
#define E r2
#define dist r3
#define E_k r4
#define t_0 r4
#define t_1 r5
#define t_2 r4
#define t_3 r5
#define t_4 r4
#define t_5 r5
#define t_6 r4
#define t_7 r5
#define t_8 r4
#define t_9 r5
#define codebook_1 r7
#define codebook_2 r8
#define best_index r10
#define best_dist lr
#define k r6
vq_nbest
PUSH {r4-r10,lr}
MOV k, #0x00 ; 32
LDR E, [sp, #32]
Loop
LDRSH codebook_1, [resp2], #2
LDRSH codebook_2, [resp2], #2
LDRSH t_0, [t, #0x0]
LDRSH t_1, [t, #0x2]
MUL dist, t_0, codebook_1
MLA dist, t_1, codebook_2, dist
LDRSH codebook_1, [resp2], #2
LDRSH t_2, [t, #0x4]
LDRSH codebook_2, [resp2], #2
LDRSH t_3, [t, #0x6]
MLA dist, t_2, codebook_1, dist
MLA dist, t_3, codebook_2, dist
LDRSH codebook_1, [resp2], #2
LDRSH t_4, [t, #0x8]
LDRSH codebook_2, [resp2], #2
LDRSH t_5, [t, #0xA]
MLA dist, t_4, codebook_1, dist
MLA dist, t_5, codebook_2, dist
LDRSH codebook_1, [resp2], #2
LDRSH t_6, [t, #0xC]
LDRSH codebook_2, [resp2], #2
LDRSH t_7, [t, #0xE]
MLA dist, t_6, codebook_1, dist
MLA dist, t_7, codebook_2, dist
LDRSH codebook_1, [resp2], #2
LDRSH t_8, [t, #0x10]
LDRSH codebook_2, [resp2], #2
LDRSH t_9, [t, #0x12]
MLA dist, t_8, codebook_1, dist
MLA dist, t_9, codebook_2, dist
LDR E_k, [E], #4
RSB dist, dist, E_k, ASR #1
CMP k,#0x01
ITEE GE
CMPGE dist, best_dist
MOVLT best_dist, dist
MOVLT best_index, k
ADDS k, k, #1
CMP k, #0x20
BLT Loop
LDR dist, [sp,#40]
STR best_index, [dist]
LDR dist, [sp,#44]
STR best_dist, [dist]
POP {r4-r10,pc}
END
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -