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

📄 g711.asm

📁 在SPI 平台优化好的G.711代码,保证好用
💻 ASM
📖 第 1 页 / 共 5 页
字号:
# 65: 
{
    Q2 :           PASSV C0              # 65: Q2: PASSV(_v52 | _v52) inserted
}
# 66: 
{
    Q2.Y -->       U2.M2.C0              # 65: Q2: PASSV(_v52 | *_v52*) inserted
    U4.Y -->       U0.M1.A1              # 64: U4: SHIFT32V(_v34, _v21, *_v35*) line: 269 idx: 32
}
# 67: 
{
    Q2 :           PASSV C0              # 67: Q2: PASSV(_v52 | _v52) inserted
    U0 :           ORV A1, B1            # 67: U0: ORV(_v35, _v36, _v37) line: 273 idx: 34
}
# 68: 
{
    Q2.Y -->       U2.M2.C0              # 67: Q2: PASSV(_v52 | *_v52*) inserted
    U0.Y -->       U2.M1.A0              # 67: U0: ORV(_v35, _v36, *_v37*) line: 273 idx: 34
    U0.Y -->       U3.M1.B0              # 67: U0: ORV(_v35, _v36, *_v37*) line: 273 idx: 34
}
# 69: 
{
    Q2 :           PASSV C0              # 69: Q2: PASSV(_v52 | _v52) inserted
    U2 :           SHIFT32V A0, B0       # 69: U2: SHIFT32V(_v37, _v41, _v42) line: 283 idx: 39
}
# 70: 
{
    Q2.Y -->       U2.M2.C0              # 69: Q2: PASSV(_v52 | *_v52*) inserted
}
# 71: 
{
    Q2 :           PASSV C0              # 71: Q2: PASSV(_v52 | _v52) inserted
    U2.Y -->       U3.M1.A0              # 69: U2: SHIFT32V(_v37, _v41, *_v42*) line: 283 idx: 39
}
# 72: 
{
    U3 :           SELECTV C0, A0, B0    # 72: U3: SELECTV(_v43, _v42, _v37, _v44) line: 287 idx: 41
    Q2.Y -->       U2.M2.C0              # 71: Q2: PASSV(_v52 | *_v52*) inserted
}
# 73: 
{
    Q2 :           PASSV C0              # 73: Q2: PASSV(_v52 | _v52) inserted
    U3.Y -->       U1.M1.B0              # 72: U3: SELECTV(_v43, _v42, _v37, *_v44*) line: 287 idx: 41
    U3.Y -->       U4.M1.B0              # 72: U3: SELECTV(_v43, _v42, _v37, *_v44*) line: 287 idx: 41
}
# 74: 
{
    U1 :           SUBU32V A0, B0        # 74: U1: SUBU32V(_v51, _v44, _v50) line: 299 idx: 47
    Q2.Y -->       U1.M1.B0              # 73: Q2: PASSV(_v52 | *_v52*) inserted
}
# 75: 
{
}
# 76: 
{
    U1.X -->       U4.M1.A0              # 74: U1: SUBU32V(_v51, _v44, *_v50*) line: 299 idx: 47
}
# 77: 
{
    BRU :          BLR -59, C0           # 77: BRU: BNZ(-59, _s61) line: 325 idx: 60
    U4 :           SELECTV C1, A0, B0    # 77: U4: SELECTV(_v48, _v50, _v44, _v49) line: 301 idx: 48
}
# 78: 
{
    U4.Y -->       U1.M1.A0              # 77: U4: SELECTV(_v48, _v50, _v44, *_v49*) line: 301 idx: 48
}
# 79: 
{
    U1 :           SHIFT32V A0, B0       # 79: U1: SHIFT32V(_v49, _v52, _v53) line: 305 idx: 50
}
# 80: 
{
}
# 81: 
{
    S1 :           SEQWR                 # 81: S1: SEQWR(_v53) line: 307 idx: 51
    U1.Y -->       S1.0                  # 79: U1: SHIFT32V(_v49, _v52, *_v53*) line: 305 idx: 50
}

#-----------------------------------------------------------
# BLOCK 2
#-----------------------------------------------------------
# 82: 
{
    FLAGS :        END                 
}


#***********************************************************
il_wrapper = @
extern void g711_decode_stream(
    ci_stream instream,
    i_scalar _instream_jb,
    o_stream outstream,
    i_scalar count
    );

void g711_decode_stream_wrapper(
    SPI_STREAM_T* instream,
    SPI_STREAM_T* outstream,
    unsigned int count
    )
{
    unsigned int _instream_jb[1];
    *_instream_jb = instream->length;
    g711_decode_stream(instream, _instream_jb, outstream, &count);
}
@

#***********************************************************
wrapper = @
#include "spi_kernel_wrappers.h"
extern void g711_decode_stream(
    ci_stream instream,
    i_scalar _instream_jb,
    o_stream outstream,
    i_scalar count
    );

void g711_decode_stream_wrapper(struct sc_kernel_t_struct* il_kernel, struct stream_cmd_struct* scmd, int* stream_arg_rec_lengths) {
    static SPI_STREAM_TYPE_E stream_arg_types[] = {STREAM_COND_IN, STREAM_SEQ_OUT};
    static SC_SCALAR_TYPE_E scalar_arg_types[] = {SC_SCALAR_COND_IN, SC_SCALAR_IN};
    sc_kernel_wrapper_pre(il_kernel, scmd, "g711_decode_stream", 
            2, stream_arg_types, stream_arg_rec_lengths, 
            2, scalar_arg_types);
    if (_g_il_kernels) {
        sc_kernel_wrapper_pre_il(il_kernel);
        g711_decode_stream(&il_kernel->stream_args[0], &il_kernel->scalar_args[0].value, 
                &il_kernel->stream_args[1], &il_kernel->scalar_args[1].value);
        sc_kernel_wrapper_post_il(il_kernel);
    }
}
@

#***********************************************************
reg_info = @
<?xml version="1.0" encoding="ISO-8859-1" ?>
<Reg>
<Instr index="0" regs="26 0 _instream_jb 26 1 count "/>
<Instr index="1" regs="26 1 count "/>
<Instr index="2" regs="25 0 _s1 0 0 _v9 5 0 _v10 6 0 _v13 2 0 _v17 7 0 _v15 7 0 _v15 8 0 _v22 "/>
<Instr index="3" regs="25 0 _s3 6 0 _v13 7 0 _v15 8 0 _v22 9 0 _v25 26 0 _s3 "/>
<Instr index="4" regs="27 1 _gs13 6 0 _v13 7 0 _v15 8 0 _v22 9 0 _v25 26 0 _s3 "/>
<Instr index="5" regs="27 1 _gs13 26 1 _gs15 19 0 _v11 6 0 _v13 5 0 _v16 7 0 _v15 8 0 _v22 9 0 _v25 26 0 _s3 "/>
<Instr index="6" regs="27 1 _gs13 26 1 _gs15 25 0 _s5 6 0 _v13 5 0 _v16 7 0 _v15 8 0 _v22 9 0 _v25 26 0 _s3 "/>
<Instr index="7" regs="27 1 _gs13 26 1 _gs15 6 0 _v13 5 0 _v16 7 0 _v15 8 0 _v22 9 0 _v25 26 0 _s3 "/>
<Instr index="8" regs="27 1 _gs13 26 1 _gs15 25 1 _gs10 6 0 _v13 5 0 _v16 7 0 _v15 8 0 _v22 9 0 _v25 26 0 _s3 "/>
<Instr index="9" regs="27 1 _gs13 26 1 _gs15 25 1 _gs10 6 0 _v13 5 0 _v16 7 0 _v15 8 0 _v22 9 0 _v25 26 0 _s3 25 0 _s28 "/>
<Instr index="10" regs="27 1 _gs13 26 1 _gs15 25 1 _gs10 6 0 _v13 5 0 _v16 7 0 _v15 8 0 _v22 9 0 _v25 26 0 _s30 "/>
<Instr index="11" regs="27 1 _gs13 26 1 _gs15 25 1 _gs10 6 0 _v13 5 0 _v16 7 0 _v15 8 0 _v22 9 0 _v25 26 0 _s30 "/>
<Instr index="12" regs="27 1 _gs13 26 1 _gs15 25 1 _gs10 1 0 _v12 6 0 _v13 0 0 _v12 5 0 _v16 7 0 _v15 3 0 _v12 8 0 _v22 9 0 _v25 25 0 _s27 26 0 _s30 "/>
<Instr index="13" regs="27 1 _gs13 26 1 _gs15 25 1 _gs10 7 0 _v15 9 0 _v25 "/>
<Instr index="14" regs="27 1 _gs13 26 1 _gs15 25 1 _gs10 7 0 _v15 5 0 _v14 9 0 _v25 27 0 _s29 "/>
<Instr index="15" regs="27 1 _gs13 26 1 _gs15 25 1 _gs10 2 0 _v18 7 0 _v15 5 0 _v14 4 0 _v23 9 0 _v25 27 0 _s29 "/>
<Instr index="16" regs="27 1 _gs13 26 1 _gs15 25 1 _gs10 5 0 _v14 27 0 _s29 "/>
<Instr index="17" regs="27 1 _gs13 26 1 _gs15 25 1 _gs10 5 0 _v14 0 0 _v24 27 0 _s29 "/>
<Instr index="18" regs="27 1 _gs13 26 1 _gs15 25 1 _gs10 0 0 _v19 5 0 _v14 "/>
<Instr index="19" regs="27 1 _gs13 26 1 _gs15 25 1 _gs10 24 0 _gv14 "/>
<Instr index="20" regs="27 1 _gs13 26 1 _gs15 25 1 _gs10 0 0 _v20 24 0 _gv14 "/>
<Instr index="21" regs="27 1 _gs13 26 1 _gs15 25 1 _gs10 24 0 _gv14 "/>
<Instr index="22" regs="25 1 _gs10 19 0 _gv11 24 0 _gv14 24 0 _gv14 27 1 _gs13 0 0 _gv12 19 0 _gv11 25 1 _gs10 26 1 _gs15 "/>
<Instr index="23" regs="25 1 _gs10 19 0 _gv11 24 0 _gv14 25 1 _gs10 26 1 _gs15 "/>
<Instr index="24" regs="25 1 _gs10 19 0 _gv11 24 0 _gv14 24 1 _v2 26 2 _s3 5 0 _v8 22 1 _v13 6 0 _v15 7 0 _v17 8 0 _v19 9 0 _v21 19 1 _v21 26 1 _gs15 "/>
<Instr index="25" regs="25 1 _gs10 19 0 _gv11 24 0 _gv14 26 2 _s3 5 0 _v8 22 1 _v13 25 2 _s14 6 0 _v15 7 0 _v17 8 0 _v19 4 0 _v23 9 0 _v21 1 1 _v25 2 1 _v27 3 1 _v30 23 1 _v31 4 0 _v23 19 1 _v21 5 1 _v36 22 2 _v30 4 0 _v23 3 1 _v30 4 0 _v23 "/>
<Instr index="26" regs="25 1 _gs10 19 0 _gv11 24 0 _gv14 26 2 _s3 5 0 _v8 22 1 _v13 25 2 _s14 6 0 _v15 7 0 _v17 8 0 _v19 1 1 _v25 2 1 _v27 3 1 _v30 23 1 _v31 4 0 _v23 5 1 _v36 0 1 _v38 22 2 _v30 0 1 _v38 4 0 _v23 6 1 _v45 3 1 _v30 4 0 _v23 19 1 _v51 25 0 _s56 24 1 _v52 "/>
<Instr index="27" regs="25 1 _gs10 19 0 _gv11 24 0 _gv14 26 2 _s3 5 0 _v8 22 1 _v13 25 2 _s14 6 0 _v15 7 0 _v17 8 0 _v19 1 1 _v25 2 1 _v27 3 1 _v30 23 1 _v31 4 0 _v23 0 0 _v21 5 1 _v36 0 1 _v38 22 2 _v30 0 1 _v38 4 0 _v23 6 1 _v45 3 1 _v30 4 0 _v23 25 0 _s56 26 0 _s57 "/>
<Instr index="28" regs="25 1 _gs10 19 0 _gv11 24 0 _gv14 26 2 _s3 5 0 _v8 22 1 _v13 25 2 _s14 6 0 _v15 7 0 _v17 8 0 _v19 9 0 _v22 1 1 _v25 2 1 _v27 3 1 _v30 23 1 _v31 4 0 _v23 5 1 _v36 0 1 _v38 22 2 _v30 0 1 _v38 4 0 _v23 6 1 _v45 3 1 _v30 4 0 _v23 19 1 _v51 25 0 _s60 24 1 _v52 "/>
<Instr index="29" regs="25 1 _gs10 19 0 _gv11 24 0 _gv14 26 2 _s3 5 0 _v8 22 1 _v13 25 2 _s14 6 0 _v15 7 0 _v17 8 0 _v19 9 0 _v22 1 1 _v25 2 1 _v27 3 1 _v30 23 1 _v31 4 0 _v23 9 1 _v21 5 1 _v36 0 1 _v38 22 2 _v30 0 1 _v38 4 0 _v23 6 1 _v45 3 1 _v30 4 0 _v23 25 0 _s60 "/>
<Instr index="30" regs="25 1 _gs10 19 0 _gv11 24 0 _gv14 5 0 _v8 22 1 _v13 25 2 _s14 6 0 _v15 7 0 _v17 8 0 _v19 9 0 _v22 1 1 _v25 2 1 _v27 3 1 _v30 23 1 _v31 4 0 _v23 5 1 _v36 0 1 _v38 22 2 _v30 0 1 _v38 4 0 _v23 6 1 _v45 3 1 _v30 4 0 _v23 19 1 _v51 26 0 _s55 26 0 _s55 25 0 _s60 24 1 _v52 "/>
<Instr index="31" regs="25 1 _gs10 19 0 _gv11 24 0 _gv14 26 2 _s4 26 2 _s4 10 0 _v1 5 0 _v8 23 0 _v1 22 1 _v13 25 2 _s14 6 0 _v15 7 0 _v17 8 0 _v19 9 0 _v22 1 1 _v25 2 1 _v27 3 1 _v30 23 1 _v31 4 0 _v23 0 0 _v21 5 1 _v36 0 1 _v38 22 2 _v30 0 1 _v38 4 0 _v23 6 1 _v45 3 1 _v30 4 0 _v23 26 0 _s55 25 0 _s60 "/>
<Instr index="32" regs="25 1 _gs10 19 0 _gv11 24 0 _gv14 26 2 _s4 10 0 _v1 5 0 _v8 23 0 _v1 22 1 _v13 25 2 _s14 6 0 _v15 7 0 _v17 8 0 _v19 9 0 _v22 1 1 _v25 2 1 _v27 3 1 _v30 23 1 _v31 4 0 _v23 5 1 _v36 0 1 _v38 22 2 _v30 0 1 _v38 4 0 _v23 6 1 _v45 3 1 _v30 19 1 _v51 26 1 _gs15 26 0 _s55 25 0 _s60 24 1 _v52 "/>
<Instr index="33" regs="25 1 _gs10 19 0 _gv11 24 0 _gv14 27 1 _gs13 10 0 _v1 5 0 _v8 23 0 _v1 22 1 _v13 25 2 _s14 6 0 _v15 7 0 _v17 8 0 _v19 9 0 _v22 1 1 _v25 2 1 _v27 3 1 _v30 23 1 _v31 4 0 _v23 0 0 _v21 5 1 _v36 0 1 _v38 22 2 _v30 0 1 _v38 4 0 _v23 6 1 _v45 3 1 _v30 4 0 _v23 26 1 _gs15 26 0 _s55 25 0 _s60 "/>
<Instr index="34" regs="25 1 _gs10 19 0 _gv11 24 0 _gv14 27 1 _gs13 10 0 _v1 0 0 _v6 5 0 _v8 23 0 _v1 22 1 _v13 25 2 _s14 6 0 _v15 7 0 _v17 8 0 _v19 9 0 _v22 1 1 _v25 2 1 _v27 3 1 _v30 23 1 _v31 4 0 _v23 5 1 _v36 0 1 _v38 22 2 _v30 0 1 _v38 4 0 _v23 6 1 _v45 3 1 _v30 9 1 _v51 26 1 _gs15 24 1 _v52 "/>
<Instr index="35" regs="25 1 _gs10 19 0 _gv11 24 0 _gv14 27 1 _gs13 23 0 _v1 22 1 _v13 25 2 _s14 6 0 _v15 7 0 _v17 8 0 _v19 9 0 _v22 1 1 _v25 2 1 _v27 3 1 _v30 23 1 _v31 4 0 _v23 9 1 _v21 5 1 _v36 0 1 _v38 22 2 _v30 0 1 _v38 4 0 _v23 6 1 _v45 3 1 _v30 4 0 _v23 26 1 _gs15 "/>
<Instr index="36" regs="25 1 _gs10 19 0 _gv11 24 0 _gv14 27 1 _gs13 0 0 _v7 22 0 _v9 23 0 _v1 22 1 _v13 25 2 _s14 6 0 _v15 7 0 _v17 8 0 _v19 9 0 _v22 1 1 _v25 2 1 _v27 3 1 _v30 23 1 _v31 4 0 _v23 9 1 _v21 5 1 _v36 0 1 _v38 22 2 _v30 4 0 _v23 6 1 _v45 3 1 _v30 14 0 _v51 26 1 _gs15 25 0 _s59 13 0 _v52 "/>
<Instr index="37" regs="25 1 _gs10 19 0 _gv11 24 0 _gv14 27 1 _gs13 22 1 _v13 25 2 _s14 6 0 _v15 7 0 _v17 8 0 _v19 9 0 _v22 1 1 _v25 2 1 _v27 3 1 _v30 23 1 _v31 4 0 _v23 9 1 _v21 5 1 _v36 0 1 _v38 22 2 _v30 0 1 _v38 4 0 _v23 6 1 _v45 3 1 _v30 4 0 _v23 26 1 _gs15 25 0 _s59 26 0 _s62 "/>

⌨️ 快捷键说明

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