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

📄 scale_h2_h.asm

📁 基于DM642平台的视频缩小放大功能 程序源代码
💻 ASM
📖 第 1 页 / 共 2 页
字号:
*S Avg. para calc @ II: 7.500000
*S Live Too Long : 0
*S Unroll Factor : 0
*S-------------------------------------------------------------------------S*
*S Total register usage: 29 (a:14 b:15)
* ===================== SYMBOLIC REGISTER ASSIGNMENTS ===================== *
        .asg            A4,         A_inp                       ; Preferred
        .asg            B6,         B_inp                       ; Preferred
        .asg            A6,         A_outp                      ; Preferred
        .asg            B8,         B_outp                      ; Preferred
        .asg            B4,         B_cols                      ; Preferred
        .asg            A0,         A_pd                        ; Preferred
        .asg            A9,         A_in7654_0
        .asg            A8,         A_in3210_0
        .asg            B19,        B_inFEDC_0
        .asg            B18,        B_inBA98_0
        .asg            A5,         A_in2103_0
        .asg            A19,        A_in6547_0
        .asg            B22,        B_inA98B_0
        .asg            B20,        B_inEDCF_0
        .asg            A20,        A_in6420_0
        .asg            A3,         A_in7531_0
        .asg            B20,        B_inECA8_0
        .asg            B7,         B_inFDB9_0
        .asg            A18,        A_outw0
        .asg            B24,        B_outw_0
        .asg            A17,        A_in7654_1
        .asg            A16,        A_in3210_1
        .asg            B17,        B_inFEDC_1
        .asg            B16,        B_inBA98_1
        .asg            A7,         A_in2103_1
        .asg            A21,        A_in6547_1
        .asg            B21,        B_inA98B_1
        .asg            B9,         B_inEDCF_1
        .asg            A7,         A_in6420_1
        .asg            A20,        A_in7531_1
        .asg            B21,        B_inECA8_1
        .asg            B5,         B_inFDB9_1
        .asg            A19,        A_outw_1
        .asg            B23,        B_outw1
        .asg            A19,        A_outw1
        .asg            B22,        B_outw0
* ========================================================================= *
* =========================== PIPE LOOP PROLOG ============================ *
        LDDW    .D2T2   *B_inp++[2],            B_inFEDC_0:B_inBA98_0   ;[ 1,1] 
||      LDDW    .D1T1   *A_inp++[2],            A_in7654_0:A_in3210_0   ;[ 1,1] 
||      MVC     .S2     B_no_gie,               CSR                     ; Int.

        LDDW    .D2T2   *B_inp++[2],            B_inFEDC_1:B_inBA98_1   ;[ 2,1] 
||      LDDW    .D1T1   *A_inp++[2],            A_in7654_1:A_in3210_1   ;[ 2,1] 
        
        SHRU    .S2     B_cols,                 5,          B_cols      ;[ 3,0] 
||      B       .S1     LOOP                                            ;

        SUB     .D2     B_cols,                 3,          B_cols      ;[ 4,0]

* =========================== PIPE LOOP KERNEL ============================ *
LOOP:
        AVGU4   .M2     B_inFDB9_1, B_inECA8_1, B_outw1                 ;[13,1] 
||      PACKH4  .L2     B_inFEDC_1, B_inBA98_1, B_inFDB9_1              ;[ 9,2] 
||      PACKH4  .L1     A_in7654_1, A_in3210_1, A_in7531_1              ;[ 9,2] 
||      SHLMB   .S2     B_inBA98_1, B_inBA98_1, B_inA98B_1              ;[ 9,2] 
||      ROTL    .M1     A_in7654_0, 8,          A_in6547_0              ;[ 9,2] 
||      LDDW    .D2T2   *B_inp++[2],            B_inFEDC_0:B_inBA98_0   ;[ 1,4] 
||      LDDW    .D1T1   *A_inp++[2],            A_in7654_0:A_in3210_0   ;[ 1,4] 

  [ A_pd]SUB    .S1     A_pd,       1,          A_pd                    ;[14,1] 
||      MV      .S2X    A_outw_1,   B_outw0                             ;[14,1] 
||      PACKH4  .L1     A_in6547_1, A_in2103_1, A_in6420_1              ;[10,2] 
||      PACKH4  .L2     B_inEDCF_0, B_inA98B_0, B_inECA8_0              ;[10,2] 
||      ROTL    .M2     B_inBA98_0, 8,          B_inA98B_0              ;[ 6,3] 
||      ROTL    .M1     A_in3210_0, 8,          A_in2103_0              ;[ 6,3] 
||      LDDW    .D2T2   *B_inp++[2],            B_inFEDC_1:B_inBA98_1   ;[ 2,4] 
||      LDDW    .D1T1   *A_inp++[2],            A_in7654_1:A_in3210_1   ;[ 2,4] 

  [!A_pd]STDW   .D2T2   B_outw1:B_outw0,        *B_outp++[2]            ;[15,1] 
||      MV      .D1X    B_outw_0,   A_outw1                             ;[15,1] 
||      BDEC    .S2     LOOP,       B_cols                              ;[11,2] 
||      AVGU4   .M1     A_in6420_1, A_in7531_1, A_outw_1                ;[11,2] 
||      PACKH4  .L2     B_inEDCF_1, B_inA98B_1, B_inECA8_1              ;[11,2] 
||      PACKH4  .L1     A_in6547_0, A_in2103_0, A_in6420_0              ;[11,2] 
||      SHLMB   .S1     A_in3210_1, A_in3210_1, A_in2103_1              ;[ 7,3] 
||      ROTL    .M2     B_inFEDC_0, 8,          B_inEDCF_0              ;[ 7,3] 

  [!A_pd]STDW   .D1T1   A_outw1:A_outw0,        *A_outp++[2]            ;[16,1] 
||      AVGU4   .M2     B_inFDB9_0, B_inECA8_0, B_outw_0                ;[12,2] 
||      AVGU4   .M1     A_in6420_0, A_in7531_0, A_outw0                 ;[12,2] 
||      SHLMB   .S2     B_inFEDC_1, B_inFEDC_1, B_inEDCF_1              ;[ 8,3] 
||      SHLMB   .S1     A_in7654_1, A_in7654_1, A_in6547_1              ;[ 8,3] 
||      PACKH4  .L2     B_inFEDC_0, B_inBA98_0, B_inFDB9_0              ;[ 8,3] 
||      PACKH4  .L1     A_in7654_0, A_in3210_0, A_in7531_0              ;[ 8,3] 

* =========================== PIPE LOOP EPILOG ============================ *

        AVGU4   .M2     B_inFDB9_1, B_inECA8_1, B_outw1                 ;[13,3] 
||      PACKH4  .L2     B_inFEDC_1, B_inBA98_1, B_inFDB9_1              ;[ 9,4] 
||      PACKH4  .L1     A_in7654_1, A_in3210_1, A_in7531_1              ;[ 9,4] 
||      SHLMB   .S2     B_inBA98_1, B_inBA98_1, B_inA98B_1              ;[ 9,4] 
||      ROTL    .M1     A_in7654_0, 8,          A_in6547_0              ;[ 9,4] 

        MV      .S2X    A_outw_1,   B_outw0                             ;[14,3] 
||      PACKH4  .L1     A_in6547_1, A_in2103_1, A_in6420_1              ;[10,4] 
||      PACKH4  .L2     B_inEDCF_0, B_inA98B_0, B_inECA8_0              ;[10,4] 

  [!A_pd]STDW   .D2T2   B_outw1:B_outw0,        *B_outp++[2]            ;[15,3] 
||      MV      .D1X    B_outw_0,   A_outw1                             ;[15,3] 
||      AVGU4   .M1     A_in6420_1, A_in7531_1, A_outw_1                ;[11,4] 
||      PACKH4  .L2     B_inEDCF_1, B_inA98B_1, B_inECA8_1              ;[11,4] 
||      PACKH4  .L1     A_in6547_0, A_in2103_0, A_in6420_0              ;[11,4] 
||      B       .S2     B_return                                        ;

  [!A_pd]STDW   .D1T1   A_outw1:A_outw0,        *A_outp++[2]            ;[16,3] 
||      AVGU4   .M2     B_inFDB9_0, B_inECA8_0, B_outw_0                ;[12,4] 
||      AVGU4   .M1     A_in6420_0, A_in7531_0, A_outw0                 ;[12,4] 

        AVGU4   .M2     B_inFDB9_1, B_inECA8_1, B_outw1                 ;[13,4] 

        MV      .S2X    A_outw_1,   B_outw0                             ;[14,4] 

  [!A_pd]STDW   .D2T2   B_outw1:B_outw0,        *B_outp++[2]            ;[15,4] 
||      MV      .D1X    B_outw_0,   A_outw1                             ;[15,4] 

  [!A_pd]STDW   .D1T1   A_outw1:A_outw0,        *A_outp++[2]            ;[16,4] 
||       MVC    .S2     B_csr,                   CSR                    ; CSR

; ===== Branch Occurs =====

* ========================================================================= *
*S-------------------------------------------------------------------------S*
*S                          Register Usage Table                           S*
*S-------------------------------------------------------------------------S*
*S    AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA : BBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBB  S*
*S    33222222222211111111119876543210 : 33222222222211111111119876543210  S*
*S    1098765432109876543210           : 1098765432109876543210            S*
*S-------------------------------------------------------------------------S*
*S 1: ..........1.1.11......1.11111..1 : .........111..11......111111....  S*
*S 2: ..........1111........1111111..1 : .......1.11111........111111....  S*
*S 3: ...........11111......1111111..1 : .......111111111......111111....  S*
*S 4: ...........11111......1111111..1 : .........1111111.......11111....  S*
*S-------------------------------------------------------------------------S*

* ========================================================================= *
*   End of file:  scale_h2_h.asm                                            *
* ------------------------------------------------------------------------- *
*             Copyright (c) 2001 Texas Instruments, Incorporated.           *
*                            All Rights Reserved.                           *
* ========================================================================= *


⌨️ 快捷键说明

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