📄 distancetranformb_l.asm
字号:
;******************************************************************************
;* TMS320C6x C/C++ Codegen PC Version 4.32 *
;* Date/Time created: Wed Mar 28 09:33:00 2007 *
;******************************************************************************
;******************************************************************************
;* GLOBAL FILE PARAMETERS *
;* *
;* Architecture : TMS320C64xx *
;* Optimization : Enabled at level 3 *
;* Optimizing for : Speed *
;* Based on options: -o3, no -ms *
;* Endian : Little *
;* Interrupt Thrshld : Disabled *
;* Memory Model : Small *
;* Calls to RTS : Near *
;* Pipelining : Enabled *
;* Speculative Load : Disabled *
;* Memory Aliases : Presume are aliases (pessimistic) *
;* Debug Info : COFF Debug *
;* *
;******************************************************************************
.asg A15, FP
.asg B14, DP
.asg B15, SP
.global $bss
.file "serial_asm"
* ------------------------------------------------------------------------- *
* Copyright (c) 2002 Texas Instruments, Incorporated. *
* All Rights Reserved. *
* ========================================================================= *
.text
.global _DistanceTransformb_L
.sect ".text"
.file "DistanceTranformb_L.sa"
.sym _DistanceTransformb_L,_DistanceTransformb_L, 32, 3, 0
.func 8
;******************************************************************************
;* FUNCTION NAME: _DistanceTransformb_L *
;* *
;* Regs Modified : A0,A1,A2,A3,A4,A5,A6,A7,A8,A9,A10,A11,B0,B1,B2,B3,B4,*
;* B5,B6,B7,B8,B9,B10,B11,SP,A16,A17,A18,A19,A20, *
;* A21,A22,A23,A24,A25,A26,A27,A28,A29,A30,A31,B16, *
;* B17,B18,B19,B20,B21,B22,B23,B24,B25,B26,B27,B28, *
;* B29,B30,B31 *
;* Regs Used : A0,A1,A2,A3,A4,A5,A6,A7,A8,A9,A10,A11,B0,B1,B2,B3,B4,*
;* B5,B6,B7,B8,B9,B10,B11,DP,SP,A16,A17,A18,A19,A20,*
;* A21,A22,A23,A24,A25,A26,A27,A28,A29,A30,A31,B16, *
;* B17,B18,B19,B20,B21,B22,B23,B24,B25,B26,B27,B28, *
;* B29,B30,B31 *
;******************************************************************************
;******************************************************************************
;* *
;* Using -g (debug) with optimization (-o3) may disable key optimizations! *
;* *
;******************************************************************************
_DistanceTransformb_L:
;** --------------------------------------------------------------------------*
.line 1
.sym A_in1,49, 4, 4, 32
.sym A_in2,65, 4, 4, 32
.sym A_in3,50, 4, 4, 32
.sym A_out,62, 4, 4, 32
.sym A_w,8, 4, 4, 32
.sym weight1,24, 4, 4, 32
.sym weight2,10, 4, 4, 32
.sym weight3,26, 4, 4, 32
; _DistanceTransformb_L: .cproc A_in1, A_in2, A_in3, A_out, A_w,weight1,weight2,weight3
; .no_mdep
.sym A_add1,59, 4, 4, 32
.sym B_add2,51, 4, 4, 32
.sym A_add3,60, 4, 4, 32
; .reg A_add1, B_add2, A_add3
.sym mask1,63, 4, 4, 32
.sym mask2,66, 4, 4, 32
.sym mask3,1, 4, 4, 32
.sym mask4,64, 4, 4, 32
; .reg mask1,mask2,mask3,mask4
.sym "A_in1_h:A_in1_l",3, 4, 4, 32
.sym A_in1_l,3, 4, 4, 32
.sym A_in1_h,3, 4, 4, 32
; .reg A_in1_h:A_in1_l ; |x|x|x|x|x|x|x|x| | |
.sym "B_in2_h:B_in2_l",3, 4, 4, 32
.sym B_in2_l,3, 4, 4, 32
.sym B_in2_h,3, 4, 4, 32
; .reg B_in2_h:B_in2_l ; |x|x|x|x|x|x|x|x| | |
.sym "A_in3_h:A_in3_l",3, 4, 4, 32
.sym A_in3_l,3, 4, 4, 32
.sym A_in3_h,3, 4, 4, 32
; .reg A_in3_h:A_in3_l ; |x|x|x|x|x|x|x|x| | |
.sym "A_contr1:A_contr1l",3, 4, 4, 32
.sym A_contr1l,3, 4, 4, 32
.sym A_contr1,3, 4, 4, 32
.sym "A_contr2:A_contr2l",3, 4, 4, 32
.sym A_contr2l,3, 4, 4, 32
.sym A_contr2,3, 4, 4, 32
; .reg A_contr1:A_contr1l,A_contr2:A_contr2l
.sym "B_contr3:B_contr3l",3, 4, 4, 32
.sym B_contr3l,3, 4, 4, 32
.sym B_contr3,3, 4, 4, 32
.sym "B_contr4:B_contr4l",3, 4, 4, 32
.sym B_contr4l,3, 4, 4, 32
.sym B_contr4,3, 4, 4, 32
; .reg B_contr3:B_contr3l,B_contr4:B_contr4l
.sym "B_contr5:B_contr5l",3, 4, 4, 32
.sym B_contr5l,3, 4, 4, 32
.sym B_contr5,3, 4, 4, 32
.sym "B_contr6:B_contr6l",3, 4, 4, 32
.sym B_contr6l,3, 4, 4, 32
.sym B_contr6,3, 4, 4, 32
; .reg B_contr5:B_contr5l,B_contr6:B_contr6l
.sym "B_contr7:B_contr7l",3, 4, 4, 32
.sym B_contr7l,3, 4, 4, 32
.sym B_contr7,3, 4, 4, 32
.sym "A_contr8:A_contr8l",3, 4, 4, 32
.sym A_contr8l,3, 4, 4, 32
.sym A_contr8,3, 4, 4, 32
; .reg B_contr7:B_contr7l,A_contr8:A_contr8l
.sym "A_contr9:A_contr9l",3, 4, 4, 32
.sym A_contr9l,3, 4, 4, 32
.sym A_contr9,3, 4, 4, 32
.sym "A_contr27:A_contr27l",3, 4, 4, 32
.sym A_contr27l,3, 4, 4, 32
.sym A_contr27,3, 4, 4, 32
; .reg A_contr9:A_contr9l,A_contr27:A_contr27l
.sym "B_contr34:B_contr34l",3, 4, 4, 32
.sym B_contr34l,3, 4, 4, 32
.sym B_contr34,3, 4, 4, 32
.sym "B_contr56:B_contr56l",3, 4, 4, 32
.sym B_contr56l,3, 4, 4, 32
.sym B_contr56,3, 4, 4, 32
; .reg B_contr34:B_contr34l,B_contr56:B_contr56l
.sym "A_contr89:A_contr89l",3, 4, 4, 32
.sym A_contr89l,3, 4, 4, 32
.sym A_contr89,3, 4, 4, 32
.sym "A_contr2789:A_contr2789l",3, 4, 4, 32
.sym A_contr2789l,3, 4, 4, 32
.sym A_contr2789,3, 4, 4, 32
; .reg A_contr89:A_contr89l,A_contr2789:A_contr2789l
.sym "B_contr3456:B_contr3456l",3, 4, 4, 32
.sym B_contr3456l,3, 4, 4, 32
.sym B_contr3456,3, 4, 4, 32
; .reg B_contr3456:B_contr3456l
.sym A_result,3, 4, 4, 32
.sym "A_result1:A_result1l",3, 4, 4, 32
.sym A_result1l,3, 4, 4, 32
.sym A_result1,3, 4, 4, 32
; .reg A_result,A_result1:A_result1l
.sym A_temp1,3, 4, 4, 32
.sym A_temp2,3, 4, 4, 32
.sym A_temp3,21, 4, 4, 32
.sym A_temp4,3, 4, 4, 32
.sym B_temp1,3, 4, 4, 32
.sym B_temp2,3, 4, 4, 32
; .reg A_temp1,A_temp2,A_temp3,A_temp4,B_temp1,B_temp2
.sym A_temp0,3, 4, 4, 32
.sym B_temp3,3, 4, 4, 32
.sym B_temp4,3, 4, 4, 32
.sym A_seed,61, 4, 4, 32
; .reg A_temp0,B_temp3,B_temp4,A_seed
.sym A_cnt,3, 4, 4, 32
; .reg A_cnt ; Loop counter
.sym B_final,0, 4, 4, 32
; .reg B_final
; loop: .trip 4
STW .D2T2 B11,*SP--(24) ; |8|
STW .D2T2 B10,*+SP(20) ; |8|
STW .D2T2 B3,*+SP(16) ; |8|
STDW .D2T1 A11:A10,*+SP(8) ; |8|
.line 49
MVK .S2 0xff,B26 ; |56|
.line 50
MVKH .S2 0xff,B26 ; |57|
.line 51
MVK .S2 0xff00,B29 ; |58|
.line 52
MVKH .S2 0xff00,B29 ; |59|
.line 53
MVK .S1 0xff0000,A1 ; |60|
.line 54
MVKH .S1 0xff0000,A1 ; |61|
.line 55
MVK .S2 0xff000000,B27 ; |62|
.line 56
MVKH .S2 0xff000000,B27 ; |63|
.line 58
SHL .S2 B10,0x10,B5 ; |65|
.line 59
OR .D2 B10,B5,B23 ; |66| add coefficient weight3
.line 61
SHL .S1 A10,0x10,A3 ; |68|
.line 62
OR .D1 A10,A3,A30 ; |69| add coefficient weight2
.line 64
SHL .S2 B8,0x10,B5 ; |71|
.line 65
OR .D2 B8,B5,B22 ; |72| add coefficient weight1
.line 67
ADD .D1 0xfffffff8,A8,A3 ; |74|
.line 68
ADD .D1 A4,A3,A4 ; |75|
.line 69
ADD .D2X B4,A3,B5 ; |76|
.line 70
ADD .D1 A6,A3,A27 ; |77|
.line 71
ADD .D2X B6,A3,B4 ; |78|
.line 72
ADD .D2 0x4,B4,B25 ; |79|
.line 74
ADD .D1 0x4,A4,A3 ; |81|
.line 75
LDW .D1T1 *A3,A3 ; |82|
NOP 3
.line 76
NOP 1
AND .D1 A3,A1,A3 ; |83|
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -