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

📄 dspjpeg.asm

📁 利用C6000DSP实现对图像的JPEG压缩代码
💻 ASM
📖 第 1 页 / 共 5 页
字号:
	.sym	_huffCode,422, 8, 1, 48, _tagHUFFCODE
	.sym	_sym,428, 8, 1, 32, _tagSYM2
	.sym	_huffCode,432, 8, 1, 48, _tagHUFFCODE
	.sym	_huffCode,438, 8, 1, 48, _tagHUFFCODE
           ADDK    .S2     -472,SP           ; |205| 
           STW     .D2T1   A10,*+SP(444)     ; |205| 
           STW     .D2T1   A11,*+SP(448)     ; |205| 
           STW     .D2T1   A12,*+SP(452)     ; |205| 
           STW     .D2T1   A13,*+SP(456)     ; |205| 
           STW     .D2T2   B3,*+SP(460)      ; |205| 
           STW     .D2T2   B10,*+SP(464)     ; |205| 
           STW     .D2T2   B11,*+SP(468)     ; |205| 
           STW     .D2T2   B12,*+SP(472)     ; |205| 
           MV      .S1X    B4,A12

           MV      .D1     A4,A10
||         MV      .S2X    A8,B10
||         MV      .S1X    B6,A11
||         MV      .L1     A6,A13

	.line	13
           B       .S1     _fdct_8x8         ; |216| 
           MVKL    .S2     RL4,B3            ; |216| 
           MVK     .S2     0x1,B4            ; |216| 
           MVKH    .S2     RL4,B3            ; |216| 
           NOP             2
RL4:       ; CALL OCCURS                     ; |216| 
           MV      .S2X    A12,B11
	.line	15
           MVK     .S1     (_FZBT-$bss),A0

           MVK     .S1     0x40,A0           ; |218| 
||         ADD     .S2X    DP,A0,B12

           MV      .D1     A0,A12
;*----------------------------------------------------------------------------*
;*   SOFTWARE PIPELINE INFORMATION
;*      Disqualified loop: loop contains a call
;*----------------------------------------------------------------------------*
L11:    
	.line	18

           B       .S1     __divu            ; |221| 
||         LDH     .D1T1   *A10++,A0         ; |221| 

           LDW     .D2T2   *B11++,B4         ; |221| 
           MVKL    .S2     RL16,B3           ; |221| 
           MVKH    .S2     RL16,B3           ; |221| 
           NOP             1
           ADD     .D1     A0,A0,A4
RL16:      ; CALL OCCURS                     ; |221| 
           B       .S1     __fltud           ; |221| 
           MVKL    .S2     RL18,B3           ; |221| 
           MVKH    .S2     RL18,B3           ; |221| 
           NOP             3
RL18:      ; CALL OCCURS                     ; |221| 
           B       .S1     __addd            ; |221| 
           MVKL    .S2     RL20,B3           ; |221| 
           ZERO    .D2     B5                ; |221| 
           MVKH    .S2     0x3fe00000,B5     ; |221| 
           MVKH    .S2     RL20,B3           ; |221| 
           ZERO    .D2     B4                ; |221| 
RL20:      ; CALL OCCURS                     ; |221| 
           B       .S1     __fixdi           ; |221| 
           MVKL    .S2     RL22,B3           ; |221| 
           MVKH    .S2     RL22,B3           ; |221| 
           NOP             3
RL22:      ; CALL OCCURS                     ; |221| 
           LDW     .D2T2   *B12++,B4         ; |221| 
           ADD     .D2     SP,16,B5          ; |221| 
           NOP             3
           STH     .D2T1   A4,*+B5[B4]       ; |221| 
	.line	19
           SUB     .D1     A12,1,A1
   [ A1]   B       .S1     L11               ; |222| 
           SUB     .D1     A12,1,A12
           NOP             4
           ; BRANCH OCCURS                   ; |222| 
;** --------------------------------------------------------------------------*
	.line	25
           LDH     .D2T2   *B10,B5           ; |228| 
           LDH     .D2T2   *+SP(16),B4       ; |228| 
           NOP             4
           SUB     .D2     B4,B5,B5          ; |228| 
           EXT     .S2     B5,16,16,B2       ; |228| 
	.line	26
           STH     .D2T2   B4,*B10           ; |229| 
	.line	28
   [ B2]   B       .S1     L12               ; |231| 
           NOP             5
           ; BRANCH OCCURS                   ; |231| 
;** --------------------------------------------------------------------------*
           LDH     .D1T1   *A13,A3           ; |379| 
           LDH     .D1T2   *+A13(2),B5       ; |379| 
           LDH     .D1T1   *+A13(4),A0       ; |379| 
           MVK     .S2     438,B4            ; |379| 
           ADD     .D2     B4,SP,B4          ; |379| 
           STH     .D2T1   A3,*B4            ; |379| 
           STH     .D2T2   B5,*+B4(2)        ; |379| 
           STH     .D2T1   A0,*+B4(4)        ; |379| 

           B       .S1     _WriteBitsStream  ; |380| 
||         LDHU    .D2T1   *+SP(438),A4      ; |380| 

           LDBU    .D2T2   *+SP(440),B4      ; |380| 
           MVKL    .S2     RL24,B3           ; |380| 
           MVKH    .S2     RL24,B3           ; |380| 
           NOP             2
RL24:      ; CALL OCCURS                     ; |380| 
	.line	31
           B       .S1     L13               ; |234| 
           ADD     .D2     SP,16,B4
           NOP             4
           ; BRANCH OCCURS                   ; |234| 
;** --------------------------------------------------------------------------*
L12:    
           LDW     .D2T2   *+DP(_pVLITAB),B4 ; |379| 
           NOP             4
           LDBU    .D2T2   *+B4[B2],B4       ; |379| 
           NOP             4
           MPYSU   .M2     6,B4,B4           ; |379| 
           NOP             1
           ADD     .S1X    A13,B4,A0         ; |379| 
           LDH     .D1T1   *+A0(4),A3        ; |379| 
           LDH     .D1T1   *+A0(2),A4        ; |379| 
           LDH     .D1T1   *A0,A0            ; |379| 
           MVK     .S2     432,B4            ; |379| 
           ADD     .D2     B4,SP,B4          ; |379| 
           STH     .D2T1   A3,*+B4(4)        ; |379| 
           STH     .D2T1   A4,*+B4(2)        ; |379| 
           STH     .D2T1   A0,*B4            ; |379| 

           B       .S1     _WriteBitsStream  ; |380| 
||         LDHU    .D2T1   *+SP(432),A4      ; |380| 

           LDBU    .D2T2   *+SP(434),B4      ; |380| 
           MVKL    .S2     RL26,B3           ; |380| 
           MVKH    .S2     RL26,B3           ; |380| 
           NOP             2
RL26:      ; CALL OCCURS                     ; |380| 
	.line	35
           B       .S1     _BuildSym2        ; |238| 
           MV      .S1X    B2,A4             ; |238| 
           MVKL    .S2     RL28,B3           ; |238| 
           ADD     .S1X    10,SP,A3
           MVKH    .S2     RL28,B3           ; |238| 
           NOP             1
RL28:      ; CALL OCCURS                     ; |238| 
           ADD     .D2     10,SP,B4          ; |385| 
           LDH     .D2T2   *B4,B6            ; |385| 
           LDH     .D2T2   *+B4(2),B5        ; |385| 
           MVK     .S1     428,A0            ; |385| 
           ADD     .S2X    A0,SP,B4          ; |385| 
           NOP             1
           STH     .D2T2   B6,*B4            ; |385| 
           STH     .D2T2   B5,*+B4(2)        ; |385| 

           B       .S1     _WriteBitsStream  ; |386| 
||         LDBU    .D2T2   *+SP(430),B4      ; |386| 

           LDHU    .D2T1   *+SP(428),A4
           MVKL    .S2     RL30,B3           ; |386| 
           MVKH    .S2     RL30,B3           ; |386| 
           NOP             2
RL30:      ; CALL OCCURS                     ; |386| 
           ADD     .D2     SP,16,B4
;** --------------------------------------------------------------------------*
L13:    
	.line	39
           MVK     .S2     0x3f,B6           ; |242| 
	.line	6
           ZERO    .D1     A2                ; |209| 
	.line	39
           MVK     .S1     0x1,A0            ; |242| 
           MV      .S2X    A0,B5
;*----------------------------------------------------------------------------*
;*   SOFTWARE PIPELINE INFORMATION
;*
;*      Loop source line               : 242
;*      Loop opening brace source line : 243
;*      Loop closing brace source line : 246
;*      Known Minimum Trip Count         : 63
;*      Known Maximum Trip Count         : 63
;*      Known Max Trip Count Factor      : 63
;*      Loop Carried Dependency Bound(^) : 1
;*      Unpartitioned Resource Bound     : 1
;*      Partitioned Resource Bound(*)    : 1
;*      Resource Partition:
;*                                A-side   B-side
;*      .L units                     0        0     
;*      .S units                     1*       0     
;*      .D units                     0        1*    
;*      .M units                     0        0     
;*      .X cross paths               0        0     
;*      .T address paths             0        1*    
;*      Long read paths              0        0     
;*      Long write paths             0        0     
;*      Logical  ops (.LS)           0        0     (.L or .S unit)
;*      Addition ops (.LSD)          2        2     (.L or .S or .D unit)
;*      Bound(.L .S .LS)             1*       0     
;*      Bound(.L .S .D .LS .LSD)     1*       1*    
;*
;*      Searching for software pipeline schedule at ...
;*         ii = 1  Schedule found with 7 iterations in parallel
;*      done
;*
;*      Epilog not entirely removed
;*      Collapsed epilog stages     : 1
;*
;*      Prolog not removed
;*      Collapsed prolog stages     : 0
;*
;*      Minimum required memory pad : 0 bytes
;*
;*      For further improvement on this loop, try option -mh5
;*
;*      Minimum safe trip count     : 6
;*----------------------------------------------------------------------------*
L14:    ; PIPED LOOP PROLOG

           ADD     .S2     1,B5,B5           ; (P)  ^ Define a twin register
||         LDH     .D2T2   *+B4[B5],B0       ; (P)  ^ |244| 
||         B       .S1     L15               ; (P) |246| 

           ADD     .S2     1,B5,B5           ; (P) @ ^ Define a twin register
||         B       .S1     L15               ; (P) @|246| 
||         LDH     .D2T2   *+B4[B5],B0       ; (P) @ ^ |244| 

           ADD     .S2     1,B5,B5           ; (P) @@ ^ Define a twin register
||         LDH     .D2T2   *+B4[B5],B0       ; (P) @@ ^ |244| 
||         B       .S1     L15               ; (P) @@|246| 

           ADD     .S2     1,B5,B5           ; (P) @@@ ^ Define a twin register
||         B       .S1     L15               ; (P) @@@|246| 
||         LDH     .D2T2   *+B4[B5],B0       ; (P) @@@ ^ |244| 

           MV      .D1     A2,A3
||         SUB     .S2     B6,11,B1
||         ADD     .L2     1,B5,B5           ; (P) @@@@ ^ Define a twin register
||         LDH     .D2T2   *+B4[B5],B0       ; (P) @@@@ ^ |244| 
||         B       .S1     L15               ; (P) @@@@|246| 

;** --------------------------------------------------------------------------*
L15:    ; PIPED LOOP KERNEL

           ADD     .D1     1,A0,A0           ;  ^ |246| 
|| [ B0]   MV      .L1     A0,A3             ;  ^ |245| 
||         ADD     .S2     1,B5,B5           ; @@@@@ ^ Define a twin register
||         LDH     .D2T2   *+B4[B5],B0       ; @@@@@ ^ |244| 
|| [ B1]   B       .S1     L15               ; @@@@@|246| 
|| [ B1]   SUB     .L2     B1,1,B1           ; @@@@@@|246| 

;** --------------------------------------------------------------------------*
L16:    ; PIPED LOOP EPILOG

   [ B0]   MV      .D1     A0,A3             ; (E) @@ ^ |245| 
||         ADD     .S1     1,A0,A0           ; (E) @@ ^ |246| 

           ADD     .D1     1,A0,A0           ; (E) @@@ ^ |246| 
|| [ B0]   MV      .S1     A0,A3             ; (E) @@@ ^ |245| 

           ADD     .D1     1,A0,A0           ; (E) @@@@ ^ |246| 
|| [ B0]   MV      .S1     A0,A3             ; (E) @@@@ ^ |245| 

   [ B0]   MV      .D1     A0,A3             ; (E) @@@@@ ^ |245| 
||         ADD     .S1     1,A0,A0           ; (E) @@@@@ ^ |246| 

;** --------------------------------------------------------------------------*
   [ B0]   MV      .D1     A0,A3             ; (E) @@@@@@ ^ |245| 
           MV      .D1     A3,A2
	.line	44
   [ A2]   B       .S2     L17               ; |247| 
           NOP             5
           ; BRANCH OCCURS                   ; |247| 
;** --------------------------------------------------------------------------*
           LDH     .D1T1   *A11,A3           ; |379| 
           LDH     .D1T2   *+A11(2),B5       ; |379| 
           LDH     .D1T1   *+A11(4),A0       ; |379| 
           MVK     .S2     422,B4            ; |379| 
           ADD     .D2     B4,SP,B4          ; |379| 
           STH     .D2T1   A3,*B4            ; |379| 
           STH     .D2T2   B5,*+B4(2)        ; |379| 
           STH     .D2T1   A0,*+B4(4)        ; |379| 

           B       .S1     _WriteBitsStream  ; |380| 
||         LDHU    .D2T1   *+SP(422),A4      ; |380| 

           LDBU    .D2T2   *+SP(424),B4      ; |380| 
           MVKL    .S2     RL32,B3           ; |380| 
           MVKH    .S2     RL32,B3           ; |380| 
           NOP             2
RL32:      ; CALL OCCURS                     ; |380| 
	.line	47
           B       .S1     L21               ; |250| 
           NOP             5
           ; BRANCH OCCURS                   ; |250| 
;** --------------------------------------------------------------------------*
L17:    
	.line	8
           ZERO    .D1     A0                ; |211| 
           STB     .D2T1   A0,*+SP(4)        ; |211| 
	.line	50
           B       .S1     _RLEComp          ; |253| 
           MVKL    .S2     RL34,B3           ; |253| 
           ADD     .S1X    4,SP,A6
           ADD     .D2     SP,16,B5          ; |253| 
           MVK     .S2     144,B4            ; |253| 

           MVKH    .S2     RL34,B3           ; |253| 
||         ADD     .D2     B4,SP,B4          ; |253| 
||         MV      .S1X    B5,A4             ; |253| 
||         MV      .L2X    A2,B6             ; |253| 

RL34:      ; CALL OCCURS                     ; |253

⌨️ 快捷键说明

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