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

📄 g711.asm

📁 在SPI 平台优化好的G.711代码,保证好用
💻 ASM
📖 第 1 页 / 共 5 页
字号:
############################################################
kernel = "g711_decode_stream"
num_instrs = "83"
############################################################

#***********************************************************
results = @
Block | Critical path | Achieved
------|---------------|---------
    0 |            22 |       22
    1 |            59 |       60
    2 |             1 |        1
@

#***********************************************************
code =
#-----------------------------------------------------------
# BLOCK 0
#-----------------------------------------------------------
# 0: 
{
    COM :          LIMMLV 0x4            # 0: COM: LIMMLV(0x4, _v22) line: 109 idx: 19
    U0 :           LIMMLV 0x0            # 0: U0: LIMMLV(0x0, _v9) line: 83 idx: 6
    U1 :           LIMMLV 0x0            # 0: U1: LIMMLV(0x0, _v10) line: 85 idx: 7
    U2 :           LIMMLV 0x3            # 0: U2: LIMMLV(0x3, _v13) line: 91 idx: 10
    U3 :           LIMMLV 0x2            # 0: U3: LIMMLV(0x2, _v15) line: 95 idx: 12
    U4 :           LIMMLV 0x0            # 0: U4: LIMMLV(0x0, _v17) line: 97 idx: 13
    UC :           PASSB B0              # 0: UC: PASS(_instream_jb, _s1) line: 69 idx: 0
}
# 1: 
{
    U0 :           LIMMLV 0x1            # 1: U0: LIMMLV(0x1, _v25) line: 113 idx: 21
    UC :           PASSB B1              # 1: UC: PASS(count, _s3) line: 73 idx: 2
    COM.Y -->      U3.M1.B0              # 0: COM: LIMMLV(0x4, *_v22*) line: 109 idx: 19
    U0.Y -->       U0.M1.A0              # 0: U0: LIMMLV(0x0, *_v9*) line: 83 idx: 6
    U1.Y -->       U0.M2.B0              # 0: U1: LIMMLV(0x0, *_v10*) line: 85 idx: 7
    U2.Y -->       U1.M1.B0              # 0: U2: LIMMLV(0x3, *_v13*) line: 91 idx: 10
    U3.Y -->       U2.M2.B0              # 0: U3: LIMMLV(0x2, *_v15*) line: 95 idx: 12
    U4.Y -->       U2.M1.A0              # 0: U4: LIMMLV(0x0, *_v17*) line: 97 idx: 13
    UC.Y -->       UC.M1.A0              # 0: UC: PASS(_instream_jb, *_s1*) line: 69 idx: 0
}
# 2: 
{
    U0 :           ADDI32V A0, B0        # 2: U0: ADDI32V(_v9, _v10, _v11) line: 87 idx: 8
    U2 :           SUBI32V A0, B0        # 2: U2: SUBI32V(_v17, _v15, _v16) line: 99 idx: 14
    UC :           PASSA A0              # 2: UC: PASS(_s1, _gs13) line: 71 idx: 1
    U0.Y -->       U4.M1.B0              # 1: U0: LIMMLV(0x1, *_v25*) line: 113 idx: 21
    UC.Y -->       UC.M1.A0              # 1: UC: PASS(count, *_s3*) line: 73 idx: 2
    UC.Y -->       UC.M2.B0              # 1: UC: PASS(count, *_s3*) line: 73 idx: 2
}
# 3: 
{
    UC :           PASSA A0              # 3: UC: PASS(_s3, _gs15) line: 75 idx: 3
    UC.Y -->       UC.M2.C1              # 2: UC: PASS(_s1, *_gs13*) line: 71 idx: 1
}
# 4: 
{
    UC :           LIMML 0x0             # 4: UC: LIMML(0x0, _s5) line: 79 idx: 4
    U0.X -->       SI.M.I0               # 2: U0: ADDI32V(_v9, _v10, *_v11*) line: 87 idx: 8
    U2.X -->       U0.M1.B0              # 2: U2: SUBI32V(_v17, _v15, *_v16*) line: 99 idx: 14
    UC.Y -->       UC.M1.B1              # 3: UC: PASS(_s3, *_gs15*) line: 75 idx: 3
}
# 5: 
{
    SI :           LDIDX1 0x0, I0        # 5: SI: LDIDX1(0x0, _v11, _v12) line: 89 idx: 9
    UC.Y -->       UC.M1.A0              # 4: UC: LIMML(0x0, *_s5*) line: 79 idx: 4
}
# 6: 
{
    UC :           PASSA A0              # 6: UC: PASS(_s5, _gs10) line: 81 idx: 5
}
# 7: 
{
    UC :           LIMML 0x0             # 7: UC: LIMML(0x0, _s28) line: 119 idx: 24
    UC.Y -->       UC.M1.A1              # 6: UC: PASS(_s5, *_gs10*) line: 81 idx: 5
}
# 8: 
{
    UC :           LIMML 0x1             # 8: UC: LIMML(0x1, _s30) line: 123 idx: 26
    UC.Y -->       UC.M1.A0              # 7: UC: LIMML(0x0, *_s28*) line: 119 idx: 24
}
# 9: 
{
    UC :           LTI32 B0, A0          # 9: UC: GTI32(_s3, _s28, _s27) line: 121 idx: 25
    UC.Y -->       UC.M1.B0              # 8: UC: LIMML(0x1, *_s30*) line: 123 idx: 26
}
# 10: 
{
}
# 11: 
{
    SI.Y -->       U0.M1.A0              # 5: SI: LDIDX1(0x0, _v11, *_v12*) line: 89 idx: 9
    SI.Y -->       U1.M1.A0              # 5: SI: LDIDX1(0x0, _v11, *_v12*) line: 89 idx: 9
    SI.Y -->       U3.M1.A0              # 5: SI: LDIDX1(0x0, _v11, *_v12*) line: 89 idx: 9
    UC.X -->       UC.M1.A0              # 9: UC: GTI32(_s3, _s28, *_s27*) line: 121 idx: 25
}
# 12: 
{
    U0 :           SHIFTA32V A0, B0      # 12: U0: SHIFTA32V(_v12, _v16, _v18) line: 101 idx: 15
    U1 :           ANDV A0, B0           # 12: U1: ANDV(_v12, _v13, _v14) line: 93 idx: 11
    U3 :           LTI32V A0, B0         # 12: U3: LTI32V(_v12, _v22, _v23) line: 111 idx: 20
    UC :           AND A0, B0            # 12: UC: AND(_s27, _s30, _s29) line: 125 idx: 27
}
# 13: 
{
    U1.Y -->       U0.M1.B0              # 12: U1: ANDV(_v12, _v13, *_v14*) line: 93 idx: 11
    UC.Y -->       UC.M2.C0              # 12: UC: AND(_s27, _s30, *_s29*) line: 125 idx: 27
}
# 14: 
{
    U0.Y -->       U2.M1.A0              # 12: U0: SHIFTA32V(_v12, _v16, *_v18*) line: 101 idx: 15
    U3.X -->       U4.M1.A0              # 12: U3: LTI32V(_v12, _v22, *_v23*) line: 111 idx: 20
}
# 15: 
{
    U2 :           SHIFT32V A0, B0       # 15: U2: SHIFT32V(_v18, _v15, _v19) line: 103 idx: 16
    U4 :           ANDV A0, B0           # 15: U4: ANDV(_v23, _v25, _v24) line: 115 idx: 22
}
# 16: 
{
    U4.Y -->       U0.M1.A0              # 15: U4: ANDV(_v23, _v25, *_v24*) line: 115 idx: 22
}
# 17: 
{
    BRU :          BZ 61, C0             # 17: BRU: BZ(61, _s29) line: 127 idx: 28
    U0 :           PASSAV A0             # 17: U0: PASSV(_v24, _gv14) line: 117 idx: 23
    U2.Y -->       U0.M1.A0              # 15: U2: SHIFT32V(_v18, _v15, *_v19*) line: 103 idx: 16
}
# 18: 
{
    U0 :           ORV A0, B0            # 18: U0: ORV(_v19, _v14, _v20) line: 105 idx: 17
    U0.Y -->       COM.M2.C0             # 17: U0: PASSV(_v24, *_gv14*) line: 117 idx: 23
}
# 19: 
{
    U0.Y -->       U0.M1.A0              # 18: U0: ORV(_v19, _v14, *_v20*) line: 105 idx: 17
}
# 20: 
{
    U0 :           PASSAV A0             # 20: U0: PASSV(_v20, _gv11) line: 107 idx: 18
}
# 21: 
{
    U0.Y -->       SI.M.I0               # 20: U0: PASSV(_v20, *_gv11*) line: 107 idx: 18
}

#-----------------------------------------------------------
# BLOCK 1
#-----------------------------------------------------------
# 22: 
{
    BRU :          PASS C1               # 22: BRU: PASS(_gs13, _s3) line: 207 idx: 1
    CON :          PASSV C0              # 22: CON: PASSV(_gv14, _v2) line: 205 idx: 0
    SI :           PASSV I0              # 22: SI: PASSV(_gv11, _v13) line: 223 idx: 9
    U0 :           PASSAV A0             # 22: U0: PASSV(_gv12, _v8) line: 215 idx: 5
    U1 :           LIMMLV 0xFF           # 22: U1: LIMMLV(0xFF, _v15) line: 229 idx: 12
    U2 :           LIMMLV 0x55           # 22: U2: LIMMLV(0x55, _v17) line: 233 idx: 14
    U3 :           LIMMLV 0x7F           # 22: U3: LIMMLV(0x7F, _v19) line: 237 idx: 16
    U4 :           LIMMLV 0x4            # 22: U4: LIMMLV(0x4, _v21) line: 241 idx: 18
}
# 23: 
{
    COM :          LIMMLV 0x8            # 23: COM: LIMMLV(0x8, _v36) line: 271 idx: 33
    U0 :           LIMMLV 0x0            # 23: U0: LIMMLV(0x0, _v23) line: 243 idx: 19
    U1 :           LIMMLV 0xF            # 23: U1: LIMMLV(0xF, _v25) line: 249 idx: 22
    U2 :           LIMMLV 0x0            # 23: U2: LIMMLV(0x0, _v27) line: 253 idx: 24
    U3 :           LIMMLV 0x1            # 23: U3: LIMMLV(0x1, _v30) line: 257 idx: 26
    U4 :           LIMMLV 0x10           # 23: U4: LIMMLV(0x10, _v31) line: 261 idx: 28
    UC :           PASSA A1              # 23: UC: PASS(_gs10, _s14) line: 225 idx: 10
    BRU.X -->      UC.M1.B2              # 22: BRU: PASS(_gs13, *_s3*) line: 207 idx: 1
    CON.Y -->      COM.M2.C1             # 22: CON: PASSV(_gv14, *_v2*) line: 205 idx: 0
    SI.Y -->       COM.M1.A1             # 22: SI: PASSV(_gv11, *_v13*) line: 223 idx: 9
    U0.Y -->       U0.M1.B0              # 22: U0: PASSV(_gv12, *_v8*) line: 215 idx: 5
    U1.Y -->       U1.M1.B0              # 22: U1: LIMMLV(0xFF, *_v15*) line: 229 idx: 12
    U2.Y -->       U2.M1.B0              # 22: U2: LIMMLV(0x55, *_v17*) line: 233 idx: 14
    U3.Y -->       U3.M1.B0              # 22: U3: LIMMLV(0x7F, *_v19*) line: 237 idx: 16

⌨️ 快捷键说明

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