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

📄 ac_vld_decode_h.asm

📁 h263,jpeg,mpeg2编解码核心程序(TI DSP C64xx)
💻 ASM
📖 第 1 页 / 共 4 页
字号:
        .asg            B0,         B_len_cw        .asg            A1,         A_len_val        .asg            A23,        A_temp_ac        .asg            B0,         B_sgn        .asg            B26,        B_Neg_AC        .asg            A18,        A_shift        .asg            A3,         A_level_val        .asg            B0,         B_Neg_s        .asg            B26,        B_run_temp        .asg            B0,         B_st1        .asg            B0,         B_data_word_cpy_s        .asg            A3,         A_bytes        .asg            A19,        A_num_bytes        .asg            A1,         A_data_sh        .asg            A0,         A_data_sl        .asg            B26,        B_data_sl        .asg            B7,         B_K_63        .asg            B3,         B_return; ============================================================================; START:; ============================ PIPE LOOP PROLOG ==============================; PROLOG:        LMBD    .L1   0,                   A_data_word_val,A_lmbd_val  ;[ 1,1]        SHRU    .S2X  A_data_word_val,     26,             B_t02_ofs   ;[ 2,1]||      CMPLTU  .L1   A_lmbd_val, 3,       A_st3                       ;[ 2,1]||      LDNDW   .D    *+A_data_pointer(1), A_temp_h:A_temp_l           ;[ 2,1]        LMBD    .L2   0,                   B_data_word_cpy,B_lmbd_val  ;[ 3,1]||      EXTU    .S2   B_data_word_cpy,     3,  26,         B_ofs       ;[ 3,1]||      LDBU    .D1T1 *A_data_pointer,     A_new_hi                    ;[ 3,1]        CMPGTU  .L2   B_lmbd_val,          5,              B_st5       ;[ 4,1]||      EXTU    .S2   B_data_word_cpy,     5,  25,         B_t68_ofs   ;[ 4,1]||[ A_st3]SUBAW .D2   B_t02_ofs,  14,      B_ofs                       ;[ 4,1]  [ B_st5]MV    .D2   B_t68_ofs,           B_ofs                       ;[ 5,1]||      EXTU    .S2   B_data_word_cpy,     8,  24,         B_t9x_ofs   ;[ 5,1]||      CMPGTU  .L1   A_lmbd_val,          8,              A_st8       ;[ 5,1]  [ A_st8]MV    .D2   B_t9x_ofs,           B_ofs                       ;[ 6,1]        LDBU    .D2T1 *+B_shf_tbl[B_ofs],  A_len_cw                    ;[ 7,1]||      SWAP4   .L1   A_temp_l,            A_temp_swap_l               ;[ 7,1]        PACKLH2 .L1   A_temp_swap_l,       A_temp_swap_l,  A_new_lo    ;[ 8,1]||      LDBU    .D2T2 *+B_sze_tbl[B_ofs],  B_size_val                  ;[ 8,1]        LDBU    .D2T2 *+B_run_tbl[B_ofs],  B_run_val                   ;[ 9,1]        NOP           2        SUB     .D1   A_bit_pos_val,       A_len_cw,   A_bit_pos_val   ;[12,1]||      SHL     .S1   A_data_word_val,     A_len_cw,   A_data_word_val ;[12,1]||      SUB     .L1   A_shift_new,         A_len_cw,   A_shift_new     ;[12,1]; ============================ PIPE LOOP KERNEL ==============================LOOP:        SUB     .L1   A_const_32,        A_bit_pos_val,   A_bytes      ;[13,1]||      SHRU    .S1   A_new_hi:A_new_lo, A_shift_new,A_data_sh:A_data_sl;[13,1||      MV      .D2X  A_len_cw,          B_len_cw                      ;[13,1]        ADD     .L2   B_run_val,         1,               B_run_temp   ;[14,1]||      MV      .D2X  A_data_word_val,   B_data_word_cpy_s             ;[14,1]||      SUB     .L1X  A_len_cw,          B_size_val,      A_len_val    ;[14,1]||      SHRU    .S1   A_bytes,           3,               A_num_bytes  ;[14,1]||      OR      .D1   A_data_word_val,   A_data_sl,     A_data_word_val;[14,1]||      AND     .S2   B_data_word_cpy,   B_EOB_MASK,      B_EOB_VAL    ;[14,1]        ADD     .D1   A_used_bytes_val,  A_num_bytes,  A_used_bytes_val;[15,1]||      ADD     .S2   B_num_coeffs,      B_run_temp,   B_num_coeffs    ;[15,1]||      ADD     .S1   A_data_pointer,    A_num_bytes,  A_data_pointer  ;[15,1]||      MV      .D2X  A_data_sl,         B_data_sl                     ;[15,1]||      LMBD    .L1   0,                 A_data_word_val, A_lmbd_val   ;[ 1,2]        SHL     .S1X  B_data_word_cpy,  A_len_val,       A_temp_ac     ;[16,1]||      OR      .D2   B_data_word_cpy_s,B_data_sl,     B_data_word_cpy ;[16,1]||      CMPGT   .L2   B_num_coeffs,     B_K_62,          B_st1         ;[16,1]||      SHRU    .S2X  A_data_word_val,  26,              B_t02_ofs     ;[ 2,2]||      CMPLTU  .L1   A_lmbd_val, 3,     A_st3                         ;[ 2,2]||      LDNDW   .D    *+A_data_pointer(1),A_temp_h:A_temp_l            ;[ 2,2]        SUB     .S1X  A_const_32,        B_size_val,     A_shift       ;[17,1]||      LMBD    .L2   0,                 B_data_word_cpy,B_lmbd_val    ;[ 3,2]||      EXTU    .S2   B_data_word_cpy,   3, 26,          B_ofs         ;[ 3,2]||      LDBU    .D1T1 *A_data_pointer,   A_new_hi                      ;[ 3,2]        CMPGTU  .L2   B_lmbd_val,        5,             B_st5          ;[ 4,2]||      EXTU    .S2   B_data_word_cpy,   5,25,          B_t68_ofs      ;[ 4,2]||[ A_st3]SUBAW .D2   B_t02_ofs,         14,            B_ofs          ;[ 4,2]        CMPEQ   .L2X  B_EOB_VAL,         A_EOB_CODE,    B_EOB          ;[19,1]||      MPY     .M1   A_num_bytes,       8,             A_num_bytes    ;[19,1]||[ B_st5]MV    .D2   B_t68_ofs,         B_ofs                         ;[ 5,2]||      EXTU    .S2   B_data_word_cpy,   8,24,          B_t9x_ofs      ;[ 5,2]||      CMPGTU  .L1   A_lmbd_val,        8,             A_st8          ;[ 5,2]        SHR     .S2X  A_temp_ac,         31,            B_sgn          ;[20,1]||      STH     .D1T2 B_run_val,         *A_run++[2]                   ;[20,1]||[ B_st1]MV    .L2   B_st1,             B_EOB                         ;[20,1]||[ A_st8]MV    .D2   B_t9x_ofs,         B_ofs                         ;[ 6,2]  [!B_EOB]B     .S2   LOOP                                             ;[21,1]||      ADD     .L2   B_sgn,             1,             B_Neg_AC       ;[21,1]||      LDBU    .D2T1 *+B_shf_tbl[B_ofs],A_len_cw                      ;[ 7,2]||      SWAP4   .L1   A_temp_l,          A_temp_swap_l                 ;[ 7,2]        SHL     .S2   B_Neg_AC,          B_size_val,    B_Neg_s        ;[22,1]||      SHRU    .S1   A_temp_ac,         A_shift,       A_level_val    ;[22,1]||      PACKLH2 .L1   A_temp_swap_l,     A_temp_swap_l, A_new_lo       ;[ 8,2]||      LDBU    .D2T2 *+B_sze_tbl[B_ofs],B_size_val                    ;[ 8,2]        ADD     .S1X  A_level_val,       B_Neg_AC,      A_level_val    ;[23,1]||      LDBU    .D2T2 *+B_run_tbl[B_ofs],B_run_val                     ;[ 9,2]        SUB     .S1X  A_level_val,       B_Neg_s,       A_level_val    ;[24,1]||[B_EOB]STW    .D1T1 A_data_pointer,    *A_data_ptr                   ;[ 4,0]||[B_EOB]B      .S2   B_return                                         ;[ 4,0]        STH     .D2T1 A_level_val,       *B_level++[2]                 ;[25,1]||      ADD     .D1   A_bit_pos_val,     A_num_bytes,   A_bit_pos_val  ;[25,1]||      ADD     .L1   A_shift_new,       A_num_bytes,   A_shift_new    ;[25,1]||      ADD     .L2   B_numberval,       1,             B_numberval    ;[25,1]||[B_EOB]MVK    .S2   63,                B_K_63                        ;[ 5,0]  [!B_EOB]SUB   .D1   A_bit_pos_val,     A_len_cw,      A_bit_pos_val  ;[12,2]||[!B_EOB]SHL   .S1   A_data_word_val,   A_len_cw,      A_data_word_val;[12,2]||[!B_EOB]SUB   .L1   A_shift_new,       A_len_cw,      A_shift_new    ;[12,2]||[B_EOB] STW   .D2T1 A_data_word_val,   *B_data_word                  ;[ 5,0]; ============================ PIPE LOOP EPILOG ==============================; EPILOG:; ====================== SYMBOLIC REGISTER ASSIGNMENTS =======================        .asg            B22,        B_numberval        .asg            A21,        A_bit_pos_val        .asg            A9,         A_used_bytes_val        .asg            A20,        A_data_word_val        .asg            A16,        A_data_pointer        .asg            B24,        B_num_coeffs        .asg            B6,         B_num_of_rles        .asg            A8,         A_bit_position        .asg            B8,         B_used_up_bytes        .asg            B4,         B_data_word        .asg            A4,         A_data_ptr        .asg            B3,         B_return        .asg            A4,         A_fun_ret        .asg            B7,         B_store        .asg            B7,         B_K_63        .asg            B5,         B_st1; ============================================================================        STW     .D2T1 A_used_bytes_val,      *B_used_up_bytes       ;[ 6,0]||      CMPGT   .L2   B_num_coeffs,           B_K_63,     B_st1     ;[ 6,0]        STB     .D1T1 A_bit_pos_val,          *A_bit_position       ;[ 7,0]||      SUB     .D2   B_numberval,            1,          B_store   ;[ 7,0]        STB     .D2T2 B_store,    *B_num_of_rles                    ;[ 8,0]||      MV      .L1X  B_st1,      A_fun_ret                         ;[ 8,0]        ;==== Branch occurs*==============================================================================**=  End of file:  ac_vld_decode_h.asm                                         =**==============================================================================**      Copyright (C) 1997-1999 Texas Instruments Incorporated.                 **                           All Rights Reserved                                **==============================================================================*

⌨️ 快捷键说明

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