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

📄 crc16.asm

📁 MIMO 2x2接收端选择全系统仿真代码
💻 ASM
📖 第 1 页 / 共 2 页
字号:
	.field  	29120,16			; _crc_table[189] @ 3024
	.field  	28800,16			; _crc_table[190] @ 3040
	.field  	45121,16			; _crc_table[191] @ 3056
	.field  	20480,16			; _crc_table[192] @ 3072
	.field  	37057,16			; _crc_table[193] @ 3088
	.field  	37249,16			; _crc_table[194] @ 3104
	.field  	20800,16			; _crc_table[195] @ 3120
	.field  	37633,16			; _crc_table[196] @ 3136
	.field  	21440,16			; _crc_table[197] @ 3152
	.field  	21120,16			; _crc_table[198] @ 3168
	.field  	37441,16			; _crc_table[199] @ 3184
	.field  	38401,16			; _crc_table[200] @ 3200
	.field  	22208,16			; _crc_table[201] @ 3216
	.field  	22400,16			; _crc_table[202] @ 3232
	.field  	38721,16			; _crc_table[203] @ 3248
	.field  	21760,16			; _crc_table[204] @ 3264
	.field  	38337,16			; _crc_table[205] @ 3280
	.field  	38017,16			; _crc_table[206] @ 3296
	.field  	21568,16			; _crc_table[207] @ 3312
	.field  	39937,16			; _crc_table[208] @ 3328
	.field  	23744,16			; _crc_table[209] @ 3344
	.field  	23936,16			; _crc_table[210] @ 3360
	.field  	40257,16			; _crc_table[211] @ 3376
	.field  	24320,16			; _crc_table[212] @ 3392
	.field  	40897,16			; _crc_table[213] @ 3408
	.field  	40577,16			; _crc_table[214] @ 3424
	.field  	24128,16			; _crc_table[215] @ 3440
	.field  	23040,16			; _crc_table[216] @ 3456
	.field  	39617,16			; _crc_table[217] @ 3472
	.field  	39809,16			; _crc_table[218] @ 3488
	.field  	23360,16			; _crc_table[219] @ 3504
	.field  	39169,16			; _crc_table[220] @ 3520
	.field  	22976,16			; _crc_table[221] @ 3536
	.field  	22656,16			; _crc_table[222] @ 3552
	.field  	38977,16			; _crc_table[223] @ 3568
	.field  	34817,16			; _crc_table[224] @ 3584
	.field  	18624,16			; _crc_table[225] @ 3600
	.field  	18816,16			; _crc_table[226] @ 3616
	.field  	35137,16			; _crc_table[227] @ 3632
	.field  	19200,16			; _crc_table[228] @ 3648
	.field  	35777,16			; _crc_table[229] @ 3664
	.field  	35457,16			; _crc_table[230] @ 3680
	.field  	19008,16			; _crc_table[231] @ 3696
	.field  	19968,16			; _crc_table[232] @ 3712
	.field  	36545,16			; _crc_table[233] @ 3728
	.field  	36737,16			; _crc_table[234] @ 3744
	.field  	20288,16			; _crc_table[235] @ 3760
	.field  	36097,16			; _crc_table[236] @ 3776
	.field  	19904,16			; _crc_table[237] @ 3792
	.field  	19584,16			; _crc_table[238] @ 3808
	.field  	35905,16			; _crc_table[239] @ 3824
	.field  	17408,16			; _crc_table[240] @ 3840
	.field  	33985,16			; _crc_table[241] @ 3856
	.field  	34177,16			; _crc_table[242] @ 3872
	.field  	17728,16			; _crc_table[243] @ 3888
	.field  	34561,16			; _crc_table[244] @ 3904
	.field  	18368,16			; _crc_table[245] @ 3920
	.field  	18048,16			; _crc_table[246] @ 3936
	.field  	34369,16			; _crc_table[247] @ 3952
	.field  	33281,16			; _crc_table[248] @ 3968
	.field  	17088,16			; _crc_table[249] @ 3984
	.field  	17280,16			; _crc_table[250] @ 4000
	.field  	33601,16			; _crc_table[251] @ 4016
	.field  	16640,16			; _crc_table[252] @ 4032
	.field  	33217,16			; _crc_table[253] @ 4048
	.field  	32897,16			; _crc_table[254] @ 4064
	.field  	16448,16			; _crc_table[255] @ 4080

	.sect	".text"
	.global	_crc_table
	.sym	_crc_table,_crc_table, 61, 2, 4096,, 256
;	c:\ti\c6000\cgtools\bin\opt6x.exe -v6710 -s -O3 C:\DOCUME~1\SBPRJ-~1\LOCALS~1\Temp\TI3652_2 C:\DOCUME~1\SBPRJ-~1\LOCALS~1\Temp\TI3652_5 -w C:/ti/myprojects/mimo/receiver/Debug 

	.sect	".text"
	.global	_calc_crc
	.sym	_calc_crc,_calc_crc, 45, 2, 0
	.func	112

;******************************************************************************
;* FUNCTION NAME: _calc_crc                                                   *
;*                                                                            *
;*   Regs Modified     : A0,A1,A2,A3,A4,A5,B0,B4,B5                           *
;*   Regs Used         : A0,A1,A2,A3,A4,A5,B0,B3,B4,B5,DP,SP                  *
;*   Local Frame Size  : 0 Args + 0 Auto + 0 Save = 0 byte                    *
;******************************************************************************

;******************************************************************************
;*                                                                            *
;* Using -g (debug) with optimization (-o3) may disable key optimizations!    *
;*                                                                            *
;******************************************************************************
_calc_crc:
;** --------------------------------------------------------------------------*
	.line	2
	.sym	_pDataBuff,4, 28, 17, 32
	.sym	_n,20, 4, 17, 32
	.sym	_crc,4, 13, 4, 16
	.sym	_pDataBuff,0, 28, 4, 32
	.sym	_pDataBuff,0, 28, 4, 32
	.sym	_n,20, 4, 4, 32
	.sym	L$1,20, 4, 4, 32
	.sym	K$19,3, 29, 4, 32
;**  	-----------------------    pDataBuff = pDataBuff;
;** 117	-----------------------    crc = 0u;
;** 118	-----------------------    if ( n <= 0 ) goto g4;
           MV      .D1     A4,A0             ; |113| 
	.line	6
           ZERO    .D1     A4                ; |117| 
	.line	7
           CMPGT   .L2     B4,0,B0           ; |118| 
   [!B0]   B       .S1     L4                ; |118| 
           NOP             5
           ; BRANCH OCCURS                   ; |118| 
;** --------------------------------------------------------------------------*
;** 119	-----------------------    L$1 = n;
;**  	-----------------------    K$19 = &crc_table[0];
;**  	-----------------------    #pragma MUST_ITERATE(1, 1099511627775, 1)
;**  	-----------------------    #pragma LOOP_FLAGS(4096u)
;**	-----------------------g3:
;** 119	-----------------------    crc = crc>>8^K$19[_extu((unsigned)*pDataBuff++^(unsigned)crc, 24u, 24u)];
;** 119	-----------------------    if ( --L$1 ) goto g3;
	.line	8

           MVK     .S1     0x1,A2            ; init prolog collapse predicate
||         MVC     .S2     CSR,B5

           ADD     .D2     1,B4,B0
||         MVKL    .S1     _crc_table,A3
||         AND     .S2     -2,B5,B4

           MV      .D1     A4,A5
||         SUB     .L1X    B0,1,A1
||         MVKH    .S1     _crc_table,A3
||         MVC     .S2     B4,CSR            ; interrupts off

;*----------------------------------------------------------------------------*
;*   SOFTWARE PIPELINE INFORMATION
;*
;*      Loop source line                 : 118
;*      Loop opening brace source line   : 119
;*      Loop closing brace source line   : 119
;*      Known Minimum Trip Count         : 1
;*      Known Max Trip Count Factor      : 1
;*      Loop Carried Dependency Bound(^) : 11
;*      Unpartitioned Resource Bound     : 2
;*      Partitioned Resource Bound(*)    : 3
;*      Resource Partition:
;*                                A-side   B-side
;*      .L units                     0        0     
;*      .S units                     2        2     
;*      .D units                     2        0     
;*      .M units                     0        0     
;*      .X cross paths               1        1     
;*      .T address paths             2        0     
;*      Long read paths              0        0     
;*      Long write paths             0        0     
;*      Logical  ops (.LS)           3        1     (.L or .S unit)
;*      Addition ops (.LSD)          0        1     (.L or .S or .D unit)
;*      Bound(.L .S .LS)             3*       2     
;*      Bound(.L .S .D .LS .LSD)     3*       2     
;*
;*      Searching for software pipeline schedule at ...
;*         ii = 11 Schedule found with 2 iterations in parallel
;*      Done
;*
;*      Collapsed epilog stages     : 1
;*      Collapsed prolog stages     : 1
;*      Minimum required memory pad : 0 bytes
;*
;*      For further improvement on this loop, try option -mh1
;*
;*      Minimum safe trip count     : 1
;*----------------------------------------------------------------------------*
L1:    ; PIPED LOOP PROLOG
;** --------------------------------------------------------------------------*
L2:    ; PIPED LOOP KERNEL

           SHRU    .S1     A5,8,A4           ; |119| <0,5> 
|| [!A2]   XOR     .L1     A5,A4,A5          ; |119| <0,5>  ^ 

   [!A2]   EXTU    .S1     A5,24,24,A5       ; |119| <0,6>  ^ 
   [!A2]   LDHU    .D1T1   *+A3[A5],A5       ; |119| <0,7>  ^ 
           NOP             1
   [ B0]   SUB     .D2     B0,1,B0           ; |119| <0,9> 
   [ B0]   B       .S2     L2                ; |119| <0,10> 
   [ A1]   LDBU    .D1T1   *A0++,A4          ; |119| <1,0> 
           XOR     .S1     A5,A4,A4          ; |119| <0,12>  ^ 
           MV      .S2X    A4,B4             ; |119| <0,13>  ^ Define a twin register
           EXTU    .S2     B4,16,16,B4       ; |119| <0,14>  ^ 

   [ A2]   SUB     .D1     A2,1,A2           ; <0,15> 
|| [ A1]   SUB     .L1     A1,1,A1           ; <0,15> 
|| [!A2]   MV      .S1X    B4,A5             ; |119| <0,15>  ^ Define a twin register

;** --------------------------------------------------------------------------*
L3:    ; PIPED LOOP EPILOG
;** --------------------------------------------------------------------------*

           MV      .D1     A5,A4
||         MVC     .S2     B5,CSR            ; interrupts on

;** --------------------------------------------------------------------------*
L4:    
;**	-----------------------g4:
;** 121	-----------------------    return crc;
	.line	10
	.line	11
           RET     .S2     B3                ; |122| 
           NOP             5
           ; BRANCH OCCURS                   ; |122| 
	.endfunc	122,000000000h,0



;******************************************************************************
;* TYPE INFORMATION                                                           *
;******************************************************************************
	.sym	_Uint8, 0, 12, 13, 8
	.sym	_Uint16, 0, 13, 13, 16
	.sym	_Uint16, 0, 13, 13, 16

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -