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

📄 my_convert.asm

📁 闻亭提供的DM642EVM板时频编码演示程序
💻 ASM
📖 第 1 页 / 共 2 页
字号:
	.global	_yuv420to422

;******************************************************************************
;* FUNCTION NAME: _yuv420to422                                                *
;*                                                                            *
;*   Regs Modified     : A0,A1,A2,A3,A4,A5,A6,A7,A8,A9,A10,A11,A12,A13,A14,   *
;*                           A15,B0,B1,B2,B3,B4,B5,B6,B7,B8,B9,B10,B11,B12,   *
;*                           B13,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,A12,A13,A14,   *
;*                           A15,B0,B1,B2,B3,B4,B5,B6,B7,B8,B9,B10,B11,B12,   *
;*                           B13,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          *
;*   Local Frame Size  : 0 Args + 0 Auto + 44 Save = 44 byte                  *
;******************************************************************************
_yuv420to422:
;** --------------------------------------------------------------------------*
           MV      .D1X    SP,A31            ; |54| 

           STW     .D2T1   A15,*SP--(48)     ; |54| 
||         MV      .D1X    B6,A0             ; |54| 

   [!A0]   B       .S1     L8                ; |66| 
||         STDW    .D1T1   A11:A10,*-A31(40)
||         STDW    .D2T2   B13:B12,*+SP(40)

           STDW    .D2T2   B11:B10,*+SP(32)
||         STDW    .D1T1   A13:A12,*-A31(32)

           LDW     .D2T2   *B4,B12           ; |59| 
||         STW     .D1T1   A14,*-A31(24)

           LDW     .D2T2   *+B4(8),B11       ; |61| 
||         LDW     .D1T1   *+A4(8),A13       ; |57| 
||         MVKL    .S1     _int_mem_temp,A11

           LDW     .D2T2   *+B4(4),B10       ; |60| 
||         MVK     .S1     0x2d0,A12
||         LDW     .D1T1   *+A4(4),A14       ; |56| 

           STW     .D2T2   B3,*+SP(28)
||         MVKH    .S1     _int_mem_temp,A11
||         LDW     .D1T1   *A4,A10           ; |55| 
||         MV      .S2     B6,B13            ; |54| 
||         MV      .L1X    B6,A15            ; |54| 

           ; BRANCH OCCURS                   ; |66| 
;*----------------------------------------------------------------------------*
;*   SOFTWARE PIPELINE INFORMATION
;*      Disqualified loop: Loop contains a call
;*----------------------------------------------------------------------------*
L7:    
           MVKL    .S2     _DAT_copy,B5      ; |68| 
           MVKH    .S2     _DAT_copy,B5      ; |68| 
           CALL    .S2     B5                ; |68| 
           ADDKPC  .S2     RL9,B3,1          ; |68| 
           EXTU    .S1     A12,16,16,A6      ; |68| 
           MV      .D2X    A11,B4            ; |68| 
           MV      .D1     A10,A4            ; |68| 
RL9:       ; CALL OCCURS                     ; |68| 
           MVKL    .S1     _DAT_copy,A3      ; |69| 
           MVKH    .S1     _DAT_copy,A3      ; |69| 
           MV      .D1     A11,A4            ; |69| 
           CALL    .S2X    A3                ; |69| 
           EXTU    .S1     A12,16,16,A6      ; |69| 
           MV      .D2     B12,B4            ; |69| 
           ADDKPC  .S2     RL10,B3,2         ; |69| 
RL10:      ; CALL OCCURS                     ; |69| 
           MVKL    .S2     _DAT_wait,B4      ; |70| 
           MVKH    .S2     _DAT_wait,B4      ; |70| 
           CALL    .S2     B4                ; |70| 
           ADDKPC  .S2     RL11,B3,4         ; |70| 
RL11:      ; CALL OCCURS                     ; |70| 
           SUB     .D1X    B13,1,A0          ; |71| 
   [ A0]   BNOP    .S1     L7,4              ; |71| 

           SUB     .D2     B13,1,B13         ; |71| 
||         ADDK    .S1     720,A10           ; |71| 
||         ADDK    .S2     720,B12           ; |71| 

           ; BRANCH OCCURS                   ; |71| 
;** --------------------------------------------------------------------------*
L8:    
           MV      .D2X    A15,B4
           SHR     .S2     B4,1,B4           ; |73| 
           MVK     .S1     0x168,A11
           MV      .D1X    B4,A0
   [!A0]   BNOP    .S1     L10,2             ; |73| 
           MV      .D1X    B4,A12

           MVK     .S2     360,B4
||         MV      .D1X    B4,A10
||         MVKL    .S1     _int_mem_temp,A15

           ADD     .D2     B4,B10,B12
||         MVKH    .S1     _int_mem_temp,A15
|| [!A0]   MV      .D1     A10,A0

           ; BRANCH OCCURS                   ; |73| 
;** --------------------------------------------------------------------------*
           MVKL    .S1     _DAT_copy,A3      ; |75| 
           MVKH    .S1     _DAT_copy,A3      ; |75| 
           NOP             1
;*----------------------------------------------------------------------------*
;*   SOFTWARE PIPELINE INFORMATION
;*      Disqualified loop: Loop contains a call
;*----------------------------------------------------------------------------*
L9:    
           CALL    .S2X    A3                ; |75| 
           ADDKPC  .S2     RL12,B3,1         ; |75| 
           MV      .D2X    A15,B4            ; |75| 
           MV      .D1     A14,A4            ; |75| 
           EXTU    .S1     A11,16,16,A6      ; |75| 
RL12:      ; CALL OCCURS                     ; |75| 
           MVKL    .S2     _DAT_copy,B5      ; |76| 
           MVKH    .S2     _DAT_copy,B5      ; |76| 
           CALL    .S2     B5                ; |76| 
           EXTU    .S1     A11,16,16,A6      ; |76| 
           MV      .D1     A15,A4            ; |76| 
           MV      .D2     B10,B4            ; |76| 
           ADDKPC  .S2     RL13,B3,1         ; |76| 
RL13:      ; CALL OCCURS                     ; |76| 
           MVKL    .S1     _DAT_copy,A3      ; |77| 
           MVKH    .S1     _DAT_copy,A3      ; |77| 
           EXTU    .S1     A11,16,16,A6      ; |77| 
           CALL    .S2X    A3                ; |77| 
           MV      .D1     A15,A4            ; |77| 
           MV      .D2     B12,B4            ; |77| 
           ADDKPC  .S2     RL14,B3,2         ; |77| 
RL14:      ; CALL OCCURS                     ; |77| 
           MVKL    .S2     _DAT_wait,B4      ; |78| 
           MVKH    .S2     _DAT_wait,B4      ; |78| 
           CALL    .S2     B4                ; |78| 
           ADDKPC  .S2     RL15,B3,4         ; |78| 
RL15:      ; CALL OCCURS                     ; |78| 
           SUB     .D1     A12,1,A0          ; |79| 
   [ A0]   B       .S1     L9                ; |79| 
           ADDK    .S2     720,B10           ; |79| 

           ADDK    .S1     360,A14           ; |79| 
||         SUB     .D1     A12,1,A12         ; |79| 
||         ADDK    .S2     720,B12           ; |79| 

   [ A0]   MVKL    .S1     _DAT_copy,A3      ; |75| 

   [!A0]   MV      .D1     A10,A0
|| [ A0]   MVKH    .S1     _DAT_copy,A3      ; |75| 

           NOP             1
           ; BRANCH OCCURS                   ; |79| 
;** --------------------------------------------------------------------------*
L10:    
   [!A0]   B       .S1     L12               ; |81| 
           MVKL    .S1     _int_mem_temp,A12

           MVK     .S1     0x168,A14
||         MVK     .S2     360,B4

           ADD     .S2     B4,B11,B10
||         MVKH    .S1     _int_mem_temp,A12
||         MV      .D1     A10,A11
|| [!A0]   LDW     .D2T2   *+SP(28),B3       ; |90| 

   [ A0]   MVKL    .S1     _DAT_copy,A3      ; |83| 

   [ A0]   MVKH    .S1     _DAT_copy,A3      ; |83| 
|| [!A0]   MV      .D1X    SP,A31            ; |90| 

           ; BRANCH OCCURS                   ; |81| 
;** --------------------------------------------------------------------------*
           NOP             1
;*----------------------------------------------------------------------------*
;*   SOFTWARE PIPELINE INFORMATION
;*      Disqualified loop: Loop contains a call
;*----------------------------------------------------------------------------*
L11:    
           CALL    .S2X    A3                ; |83| 
           NOP             1
           EXTU    .S1     A14,16,16,A6      ; |83| 
           MV      .D1     A13,A4            ; |83| 
           MV      .D2X    A12,B4            ; |83| 
           ADDKPC  .S2     RL16,B3,0         ; |83| 
RL16:      ; CALL OCCURS                     ; |83| 
           MVKL    .S2     _DAT_copy,B5      ; |84| 
           MVKH    .S2     _DAT_copy,B5      ; |84| 
           CALL    .S2     B5                ; |84| 
           MV      .D1     A12,A4            ; |84| 
           EXTU    .S1     A14,16,16,A6      ; |84| 
           MV      .D2     B11,B4            ; |84| 
           ADDKPC  .S2     RL17,B3,1         ; |84| 
RL17:      ; CALL OCCURS                     ; |84| 
           MVKL    .S1     _DAT_copy,A3      ; |85| 
           MVKH    .S1     _DAT_copy,A3      ; |85| 
           MV      .D1     A12,A4            ; |85| 
           CALL    .S2X    A3                ; |85| 
           EXTU    .S1     A14,16,16,A6      ; |85| 
           MV      .D2     B10,B4            ; |85| 
           ADDKPC  .S2     RL18,B3,2         ; |85| 
RL18:      ; CALL OCCURS                     ; |85| 
           MVKL    .S2     _DAT_wait,B4      ; |86| 
           MVKH    .S2     _DAT_wait,B4      ; |86| 
           CALL    .S2     B4                ; |86| 
           ADDKPC  .S2     RL19,B3,4         ; |86| 
RL19:      ; CALL OCCURS                     ; |86| 
           SUB     .D1     A11,1,A0          ; |87| 
   [ A0]   B       .S1     L11               ; |87| 
           ADDK    .S2     720,B11           ; |87| 

           ADDK    .S1     360,A13           ; |87| 
||         SUB     .D1     A11,1,A11         ; |87| 
||         ADDK    .S2     720,B10           ; |87| 

   [ A0]   MVKL    .S1     _DAT_copy,A3      ; |83| 

   [!A0]   LDW     .D2T2   *+SP(28),B3       ; |90| 
|| [ A0]   MVKH    .S1     _DAT_copy,A3      ; |83| 

           NOP             1
           ; BRANCH OCCURS                   ; |87| 
;** --------------------------------------------------------------------------*
           MV      .D1X    SP,A31            ; |90| 
;** --------------------------------------------------------------------------*
L12:    
           LDDW    .D1T1   *+A31(16),A13:A12 ; |90| 

           LDDW    .D1T1   *+A31(8),A11:A10  ; |90| 
||         LDDW    .D2T2   *+SP(32),B11:B10  ; |90| 

           RET     .S2     B3                ; |90| 
||         LDW     .D1T1   *+A31(24),A14     ; |90| 
||         LDDW    .D2T2   *+SP(40),B13:B12  ; |90| 

           LDW     .D2T1   *++SP(48),A15     ; |90| 
           NOP             4
           ; BRANCH OCCURS                   ; |90| 


;******************************************************************************
;* UNDEFINED EXTERNAL REFERENCES                                              *
;******************************************************************************
	.global	_DAT_copy
	.global	_DAT_wait

⌨️ 快捷键说明

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