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

📄 idct1.asm

📁 TI DSP TMS320DM642 用定时器测试函数执行时间
💻 ASM
📖 第 1 页 / 共 2 页
字号:
	.line	170
           LDH     .D1T1   *+A3[A8],A7       ; |198| 	  tmp[5]=curr_blk1[3][xx];
           NOP             4
	.line	171
           LDH     .D1T1   *+A3[A5],A5       ; |199|      tmp[6]=curr_blk1[5][xx];
           NOP             4
	.line	172
           LDH     .D1T1   *+A3[A6],A3       ; |200|      tmp[7]=curr_blk1[7][xx];
           NOP             4
	.line	174
           SUB     .D1     A9,A3,A6          ; |202| 	b[0] = ((tmp[4] - tmp[7])<<1) + tmp[4];
	.line	175
           SHL     .S1     A6,0x1,A6         ; |203| 
	.line	176
           ADD     .D1     A9,A6,A8          ; |204| 
	.line	178
           ADD     .D1     A7,A5,A6          ; |206| 	b[1] = ((tmp[5] + tmp[6])<<1) + tmp[5];
	.line	179
           SHL     .S1     A6,0x1,A6         ; |207| 
	.line	180
           ADD     .D1     A7,A6,A16         ; |208| 
	.line	182
           SUB     .D1     A7,A5,A6          ; |210| 	b[2] = ((tmp[5] - tmp[6])<<1) - tmp[6];
           NOP             1
	.line	183
           SHL     .S2X    A6,0x1,B4         ; |211| 
	.line	184
           SUB     .S2X    B4,A5,B4          ; |212| 
	.line	186
           ADD     .D1     A9,A3,A5          ; |214| 	b[3] = ((tmp[4] + tmp[7])<<1) + tmp[7];
           NOP             1
	.line	187
           SHL     .S2X    A5,0x1,B5         ; |215| 
           NOP             1
	.line	188
           ADD     .D1X    A3,B5,A5          ; |216| 
	.line	190
           ADD     .D1     A8,A16,A3         ; |218| 	b[4] = ((b[0] + b[1] + b[3])<<1) + b[1];
	.line	191
           ADD     .D1     A5,A3,A3          ; |219| 
	.line	192
           SHL     .S1     A3,0x1,A3         ; |220| 
	.line	193
           ADD     .D1     A3,A16,A7         ; |221| 
	.line	195
           SUB     .D1     A8,A16,A3         ; |223| 	b[5] = ((b[0] - b[1] + b[2])<<1) + b[0];
           NOP             1
	.line	196
           ADD     .D2X    B4,A3,B5          ; |224| 
	.line	197
           SHL     .S2     B5,0x1,B5         ; |225| 
	.line	198
           ADD     .D2X    B5,A8,B6          ; |226| 
	.line	200
           ADD     .D1X    A16,B4,A3         ; |228| 	b[6] = ((-b[1] - b[2] + b[3])<<1)+ b[3];
	.line	201
           SUB     .D1     A5,A3,A3          ; |229| 
	.line	202
           SHL     .S1     A3,0x1,A3         ; |230| 
	.line	203
           ADD     .D1     A3,A5,A6          ; |231| 
	.line	205
           SUB     .S2X    A8,B4,B5          ; |233| 	b[7] = ((b[0] - b[2] - b[3])<<1) - b[2];
           NOP             1
	.line	206
           SUB     .S1X    B5,A5,A3          ; |234| 
	.line	207
           SHL     .S1     A3,0x1,A3         ; |235| 
           NOP             1
	.line	208
           SUB     .S2X    A3,B4,B22         ; |236| 
	.line	210
           MPY     .M2X    0xa,A21,B5        ; |238| 	 t=((tmp[2]*10)+(tmp[3]<<2));
           NOP             1
	.line	211
           SHL     .S2X    A17,0x2,B4        ; |239| 
	.line	212
           ADD     .D2     B5,B4,B4          ; |240| 
	.line	214
           SHL     .S2X    A21,0x2,B5        ; |242| 	 tmp[3]=((tmp[2]<<2)-(tmp[3]*10));
	.line	215
           MPY     .M2X    0xa,A17,B7        ; |243| 
           NOP             1
	.line	216
           SUB     .D2     B5,B7,B7          ; |244| 
	.line	218
	.line	220
           ADD     .D1     A20,A18,A3        ; |248|      t=(tmp[0]+tmp[1])<<3;
	.line	221
           SHL     .S1     A3,0x3,A3         ; |249| 
	.line	223
           SUB     .D1     A20,A18,A5        ; |251|      tmp[1]=(tmp[0]-tmp[1])<<3;
           NOP             1
	.line	224
           SHL     .S2X    A5,0x3,B5         ; |252| 
	.line	226
	.line	228
           ADD     .D2X    A3,B4,B17         ; |256|      b[0]=tmp[0]+tmp[2];
	.line	229
           ADD     .D2     B5,B7,B20         ; |257|      b[1]=tmp[1]+tmp[3];
	.line	230
           SUB     .D2     B5,B7,B19         ; |258|      b[2]=tmp[1]-tmp[3];	
	.line	231
           SUB     .S2X    A3,B4,B18         ; |259|      b[3]=tmp[0]-tmp[2];
	.line	233
	.line	234
	.line	235
	.line	236
	.line	238
           SHL     .S2X    A19,0x1,B4        ; |266| 
	.line	239
           ADD     .D2X    B4,A4,B9          ; |267| 
	.line	240
           ZERO    .D2     B7                ; |268| 
	.line	241
           MVK     .D2     0x8,B8            ; |269| 
	.line	242
           MVK     .S2     0x10,B5           ; |270| 
	.line	243
           MVK     .S2     0x18,B16          ; |271| 
	.line	244
           MVK     .S2     0x20,B24          ; |272| 
	.line	245
           MVK     .S2     0x28,B25          ; |273| 
	.line	246
           MVK     .S2     0x30,B23          ; |274| 
	.line	247
           MVK     .S2     0x38,B21          ; |275| 
	.line	274
           ADD     .D2X    B17,A7,B4         ; |302| 
	.line	275
           ADDK    .S2     0x40,B4           ; |303| 
	.line	276
           SHR     .S2     B4,0x7,B4         ; |304| 
	.line	277
           ZERO    .D1     A5                ; |305| 
	.line	278
           SPACKU4 .S1X    A5,B4,A3          ; |306| 
	.line	279
           STH     .D2T1   A3,*+B9[B7]       ; |307| 
           NOP             2
	.line	281
           ADD     .D2     B20,B6,B4         ; |309| 
	.line	282
           ADDK    .S2     0x40,B4           ; |310| 
	.line	283
           SHR     .S2     B4,0x7,B4         ; |311| 
	.line	284
	.line	285
           SPACKU4 .S2     B7,B4,B4          ; |313| 
	.line	286
           STH     .D2T2   B4,*+B9[B8]       ; |314| 
           NOP             2
	.line	288
           ADD     .D2X    B19,A6,B4         ; |316| 
	.line	289
           ADDK    .S2     0x40,B4           ; |317| 
	.line	290
           SHR     .S2     B4,0x7,B4         ; |318| 
	.line	291
           ZERO    .D2     B8                ; |319| 
	.line	292
           SPACKU4 .S2     B8,B4,B4          ; |320| 
	.line	293
           STH     .D2T2   B4,*+B9[B5]       ; |321| 
           NOP             2
	.line	295
           ADD     .D2     B18,B22,B4        ; |323| 
	.line	296
           ADDK    .S2     0x40,B4           ; |324| 
	.line	297
           SHR     .S2     B4,0x7,B4         ; |325| 
	.line	298
           ZERO    .D2     B5                ; |326| 
	.line	299
           SPACKU4 .S2     B5,B4,B4          ; |327| 
	.line	300
           STH     .D2T2   B4,*+B9[B16]      ; |328| 
           NOP             2
	.line	302
           SUB     .D2     B5,B22,B4         ; |330| 
	.line	303
           ADDK    .S2     0x40,B4           ; |331| 
	.line	304
           SHR     .S2     B4,0x7,B4         ; |332| 
	.line	305
	.line	306
           SPACKU4 .S2     B5,B4,B4          ; |334| 
	.line	307
           STH     .D2T2   B4,*+B9[B24]      ; |335| 
           NOP             2
	.line	309
           SUB     .S1X    B8,A6,A3          ; |337| 
	.line	310
           ADDK    .S1     0x40,A3           ; |338| 
	.line	311
           SHR     .S1     A3,0x7,A3         ; |339| 
	.line	312
           ZERO    .D1     A6                ; |340| 
	.line	313
           SPACKU4 .S1     A6,A3,A3          ; |341| 
	.line	314
           STH     .D2T1   A3,*+B9[B25]      ; |342| 
           NOP             2
	.line	316
           SUB     .D2     B7,B6,B4          ; |344| 
	.line	317
           ADDK    .S2     0x40,B4           ; |345| 
	.line	318
           SHR     .S2     B4,0x7,B4         ; |346| 
	.line	319
           ZERO    .D1     A3                ; |347| 
	.line	320
           SPACKU4 .S1X    A3,B4,A3          ; |348| 
	.line	321
           STH     .D2T1   A3,*+B9[B23]      ; |349| 
           NOP             2
	.line	323
           SUB     .D1     A5,A7,A3          ; |351| 
	.line	324
           ADDK    .S1     0x40,A3           ; |352| 
	.line	325
           SHR     .S1     A3,0x7,A3         ; |353| 
	.line	326
           ZERO    .D2     B4                ; |354| 
	.line	327
           SPACKU4 .S2X    B4,A3,B4          ; |355| 
	.line	328
           STH     .D2T2   B4,*+B9[B21]      ; |356| 
           NOP             2
	.line	331
           ADD     .D1     0x1,A19,A19       ; |359|    for(xx=0; xx<8; xx++)
	.line	332
           CMPGT   .L1     0x8,A19,A0        ; |360| 
	.line	333
   [ A0]   BNOP    .S1     xx_loop,5         ; |361| 
           ; BRANCH OCCURS                   ; |361| 
;** --------------------------------------------------------------------------*
	.line	334
           RETNOP  .S2     B3,5              ; |362| 
           ; BRANCH OCCURS                   ; |362| 
	.endfunc	362,000000000h,0


; 	.endproc

;void inv_transform_B8(int curr_blk1[B8_SIZE][B8_SIZE]  // block to be inverse transformed.
;   )
; {
;   short int xx=0, yy=0;
;   short int tmp[8];
;   short int t=0;
;   short  int b[8];
	     
;   for(yy=0; yy<8; yy++)
;   {
;     // Horizontal inverse transform
;     // Reorder
;     tmp[0]=curr_blk1[yy][0];
;     tmp[1]=curr_blk1[yy][4];
;     tmp[2]=curr_blk1[yy][2];
;     tmp[3]=curr_blk1[yy][6];
;     tmp[4]=curr_blk1[yy][1];
;     tmp[5]=curr_blk1[yy][3];
;     tmp[6]=curr_blk1[yy][5];
;     tmp[7]=curr_blk1[yy][7];
;     
;     // Downleft Butterfly
;/*Lou Change*/
;	b[0] = ((tmp[4] - tmp[7])<<1) + tmp[4];
;	b[1] = ((tmp[5] + tmp[6])<<1) + tmp[5];
;	b[2] = ((tmp[5] - tmp[6])<<1) - tmp[6];
;	b[3] = ((tmp[4] + tmp[7])<<1) + tmp[7];
;
;	b[4] = ((b[0] + b[1] + b[3])<<1) + b[1];
;	b[5] = ((b[0] - b[1] + b[2])<<1) + b[0];
;	b[6] = ((-b[1] - b[2] + b[3])<<1)+ b[3];
;	b[7] = ((b[0] - b[2] - b[3])<<1) - b[2];
;/*Lou End*/
;     
;     // Upleft Butterfly
;     /*Lou Change*/
;	 t=((tmp[2]*10)+(tmp[3]<<2));
;	 tmp[3]=((tmp[2]<<2)-(tmp[3]*10));
;     tmp[2]=t;
;     
;     t=(tmp[0]+tmp[1])<<3;
;     tmp[1]=(tmp[0]-tmp[1])<<3;
;     tmp[0]=t;
;     /*Lou End*/
;     
;     b[0]=tmp[0]+tmp[2];
;     b[1]=tmp[1]+tmp[3];
;     b[2]=tmp[1]-tmp[3];
;     b[3]=tmp[0]-tmp[2];	 
;     
;     // Last Butterfly
;	 /*Lou Change*/
;	 curr_blk1[yy][0]=((b[0]+b[4])+4)>>3;
;	 curr_blk1[yy][1]=((b[1]+b[5])+4)>>3;
;	 curr_blk1[yy][2]=((b[2]+b[6])+4)>>3;
;	 curr_blk1[yy][3]=((b[3]+b[7])+4)>>3;
;	 curr_blk1[yy][7]=((b[0]-b[4])+4)>>3;
;	 curr_blk1[yy][6]=((b[1]-b[5])+4)>>3;
;	 curr_blk1[yy][5]=((b[2]-b[6])+4)>>3;
;	 curr_blk1[yy][4]=((b[3]-b[7])+4)>>3;
;	 /*Lou End*/
;   }
;   // Vertical inverse transform
;   for(xx=0; xx<8; xx++)
;   {
;     
;     // Reorder
;     tmp[0]=curr_blk1[0][xx];
;     tmp[1]=curr_blk1[4][xx];
;     tmp[2]=curr_blk1[2][xx];
;     tmp[3]=curr_blk1[6][xx];
;     tmp[4]=curr_blk1[1][xx];
;     tmp[5]=curr_blk1[3][xx];
;     tmp[6]=curr_blk1[5][xx];
;     tmp[7]=curr_blk1[7][xx];
;     
;     // Downleft Butterfly
;/*Lou Change*/
;
;	b[0] = ((tmp[4] - tmp[7])<<1) + tmp[4];
;	b[1] = ((tmp[5] + tmp[6])<<1) + tmp[5];
;	b[2] = ((tmp[5] - tmp[6])<<1) - tmp[6];
;	b[3] = ((tmp[4] + tmp[7])<<1) + tmp[7];
;
;	b[4] = ((b[0] + b[1] + b[3])<<1) + b[1];
;	b[5] = ((b[0] - b[1] + b[2])<<1) + b[0];
;	b[6] = ((-b[1] - b[2] + b[3])<<1) + b[3];
;	b[7] = ((b[0] - b[2] - b[3])<<1) - b[2];
;/*Lou End*/
;     
;     // Upleft Butterfly
;     /*Lou Change*/
;	 t=((tmp[2]*10)+(tmp[3]<<2));
;	 tmp[3]=((tmp[2]<<2)-(tmp[3]*10));
;     tmp[2]=t;
;     
;     t=(tmp[0]+tmp[1])<<3;
;     tmp[1]=(tmp[0]-tmp[1])<<3;
;     tmp[0]=t;
;     /*Lou End*/
;     
;     b[0]=tmp[0]+tmp[2];
;     b[1]=tmp[1]+tmp[3];
;     b[2]=tmp[1]-tmp[3];
;     b[3]=tmp[0]-tmp[2];
;     
;     // Last Butterfly
;     curr_blk1[0][xx]=/*(b[0]+b[4]+64)>>7;*/(Clip3(-32768,32703,b[0]+b[4])+64)>>7;
;     curr_blk1[1][xx]=/*(b[1]+b[5]+64)>>7;*/(Clip3(-32768,32703,b[1]+b[5])+64)>>7;
;     curr_blk1[2][xx]=/*(b[2]+b[6]+64)>>7;*/(Clip3(-32768,32703,b[2]+b[6])+64)>>7;
;     curr_blk1[3][xx]=/*(b[3]+b[7]+64)>>7;*/(Clip3(-32768,32703,b[3]+b[7])+64)>>7;
;     curr_blk1[7][xx]=/*(b[0]-b[4]+64)>>7;*/(Clip3(-32768,32703,b[0]-b[4])+64)>>7;
;     curr_blk1[6][xx]=/*(b[1]-b[5]+64)>>7;*/(Clip3(-32768,32703,b[1]-b[5])+64)>>7;
;     curr_blk1[5][xx]=/*(b[2]-b[6]+64)>>7;*/(Clip3(-32768,32703,b[2]-b[6])+64)>>7;
;     curr_blk1[4][xx]=/*(b[3]-b[7]+64)>>7;*/(Clip3(-32768,32703,b[3]-b[7])+64)>>7;
;	

;   }
;     
;}
;

;******************************************************************************
;* TYPE INFORMATION                                                           *
;******************************************************************************

⌨️ 快捷键说明

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