⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 distancetranformb_l.asm

📁 基于VPM642的距离变换程序
💻 ASM
📖 第 1 页 / 共 4 页
字号:
;******************************************************************************
;* 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 + -