📄 ac3_parser.mid
字号:
.file 1 "ac3_parser.c" .section .mdebug.abi32 .previous .section .text.ac3_parse_init,"ax",@progbits .align 2 .align 5 .ent ac3_parse_init .type ac3_parse_init, @functionac3_parse_init: .frame $sp,0,$31 # vars= 0, regs= 0/0, args= 0, gp= 0 .mask 0x00000000,0 .fmask 0x00000000,0 .set noreorder .set nomacro lw $3,0($4) lui $2,%hi(ac3_sync) addiu $2,$2,%lo(ac3_sync) sw $2,12($3) li $2,7 # 0x7 addiu $4,$3,16 sw $2,8($3) move $2,$0 j $31 sw $4,0($3) .set macro .set reorder .end ac3_parse_init .section .text.ff_ac3_parse_header,"ax",@progbits .align 2 .align 5 .globl ff_ac3_parse_header .ent ff_ac3_parse_header .type ff_ac3_parse_header, @functionff_ac3_parse_header: .frame $sp,32,$31 # vars= 0, regs= 3/0, args= 16, gp= 0 .mask 0x80030000,-8 .fmask 0x00000000,0 .set noreorder .set nomacro addiu $sp,$sp,-32 sw $17,20($sp) move $17,$5 sw $16,16($sp) move $5,$0 move $16,$4 li $6,24 # 0x18 sw $31,24($sp) jal memset move $4,$17 lbu $3,0($16) lbu $2,1($16) sll $3,$3,24 sll $2,$2,16 or $3,$3,$2 srl $3,$3,16 li $2,2935 # 0xb77 beq $3,$2,$L4 sh $3,0($17) li $2,-1 # 0xffffffffffffffff$L6: lw $31,24($sp) lw $17,20($sp) lw $16,16($sp) j $31 addiu $sp,$sp,32$L4: lbu $2,5($16) addiu $4,$16,6 srl $2,$2,3 sltu $3,$2,11 sb $2,6($17) bne $3,$0,$L7 addiu $6,$16,7 j $L6 li $2,-2 # 0xfffffffffffffffe$L7: lbu $2,2($16) lbu $3,3($16) sll $2,$2,24 sll $3,$3,16 or $2,$2,$3 srl $2,$2,16 sh $2,2($17) lbu $3,4($16) li $2,3 # 0x3 srl $3,$3,6 bne $3,$2,$L9 sb $3,4($17) j $L6 li $2,-3 # 0xfffffffffffffffd$L9: lbu $2,4($16) andi $2,$2,0x3f sltu $3,$2,38 beq $3,$0,$L28 sb $2,5($17) lbu $2,5($16) move $5,$4 andi $2,$2,0x7 sb $2,7($17) lbu $3,6($16) addiu $11,$16,8 srl $3,$3,5 andi $2,$3,0x1 sb $3,8($17) bne $2,$0,$L13 addiu $9,$16,9 li $7,51 # 0x33 li $8,3 # 0x3$L15: lbu $10,8($17) andi $2,$10,0x4 beq $2,$0,$L30 li $2,2 # 0x2 lbu $2,0($4) lbu $4,0($6) lbu $3,0($11) lbu $5,0($9) sll $2,$2,24 sll $4,$4,16 or $2,$2,$4 or $2,$2,$5 sll $3,$3,8 or $3,$3,$2 sll $3,$3,$8 addiu $7,$7,2 srl $3,$3,30 sb $3,10($17) andi $8,$7,0x7 li $2,2 # 0x2$L30: beq $10,$2,$L21 sra $2,$7,3 addu $5,$16,$2 andi $4,$7,0x7$L18: lbu $2,0($5) lbu $5,6($17) sll $2,$2,$4 andi $2,$2,0x00ff srl $2,$2,7 sltu $3,$5,9 beq $3,$0,$L23 sb $2,12($17) move $11,$0 move $9,$0$L25: lbu $3,5($17) lui $2,%hi(ff_ac3_bitratetab) andi $5,$3,0xfe addiu $2,$2,%lo(ff_ac3_bitratetab) lbu $6,4($17) sll $4,$3,1 addu $5,$5,$2 addu $4,$4,$3 lui $2,%hi(ff_ac3_freqs) addu $4,$4,$6 addiu $2,$2,%lo(ff_ac3_freqs) sll $6,$6,1 lhu $8,0($5) addu $6,$6,$2 lui $2,%hi(ff_ac3_frame_sizes) addiu $2,$2,%lo(ff_ac3_frame_sizes) sll $4,$4,1 lui $3,%hi(ff_ac3_channels) sll $7,$8,2 sll $5,$8,7 addu $4,$4,$2 addiu $3,$3,%lo(ff_ac3_channels) subu $5,$5,$7 addu $3,$10,$3 lhu $2,0($4) addu $5,$5,$8 lhu $7,0($6) lbu $8,0($3) lbu $4,12($17) sll $2,$2,1 andi $3,$11,0x00ff sll $5,$5,3 sra $7,$7,$9 sra $5,$5,$3 addu $8,$8,$4 sh $2,22($17) move $2,$0 sb $11,13($17) sh $7,14($17) sw $5,16($17) j $L6 sb $8,20($17)$L13: li $2,1 # 0x1 beq $3,$2,$L29 li $7,53 # 0x35 lbu $2,6($16) srl $2,$2,3 andi $2,$2,0x3 li $8,5 # 0x5 j $L15 sb $2,9($17)$L28: j $L6 li $2,-4 # 0xfffffffffffffffc$L29: lbu $10,8($17) j $L18 li $4,3 # 0x3$L23: addiu $2,$5,-8 andi $9,$2,0x00ff j $L25 move $11,$9$L21: sra $4,$7,3 addu $4,$16,$4 lbu $3,0($4) lbu $5,1($4) lbu $6,3($4) lbu $2,2($4) sll $5,$5,16 sll $3,$3,24 or $3,$3,$5 or $3,$3,$6 sll $2,$2,8 or $2,$2,$3 addiu $4,$7,2 sra $3,$4,3 sll $2,$2,$8 srl $2,$2,30 addu $5,$16,$3 andi $4,$4,0x7 j $L18 sb $2,11($17) .set macro .set reorder .end ff_ac3_parse_header .section .text.ac3_sync,"ax",@progbits .align 2 .align 5 .ent ac3_sync .type ac3_sync, @functionac3_sync: .frame $sp,64,$31 # vars= 24, regs= 6/0, args= 16, gp= 0 .mask 0x801f0000,-4 .fmask 0x00000000,0 .set noreorder .set nomacro addiu $sp,$sp,-64 sw $20,56($sp) move $20,$5 addiu $5,$sp,16 sw $19,52($sp) sw $18,48($sp) sw $17,44($sp) sw $16,40($sp) sw $31,60($sp) move $17,$6 move $19,$7 move $16,$4 jal ff_ac3_parse_header lw $18,80($sp) bltz $2,$L46 move $3,$2 lbu $3,22($sp)$L49: sltu $2,$3,11 bne $2,$0,$L47 lhu $2,30($sp) addiu $2,$3,-11 sltu $2,$2,6 beq $2,$0,$L34 addiu $5,$16,2 lbu $2,2($16) lbu $4,1($5) sll $2,$2,24 sll $4,$4,16 lbu $6,3($5) lbu $3,2($5) or $2,$2,$4 or $2,$2,$6 sll $3,$3,8 or $7,$3,$2 srl $4,$7,30 bne $4,$0,$L34 sll $2,$7,2 srl $2,$2,29 bne $2,$0,$L34 nop lbu $2,4($16) lbu $4,5($16) lbu $5,7($16) sll $2,$2,24 sll $4,$4,16 lbu $3,6($16) or $2,$2,$4 or $2,$2,$5 sll $3,$3,8 or $6,$3,$2 srl $3,$6,30 li $2,3 # 0x3 beq $3,$2,$L48 addiu $5,$16,4 lui $2,%hi(ff_ac3_freqs) addiu $2,$2,%lo(ff_ac3_freqs) sll $3,$3,1 addu $3,$3,$2 lhu $4,0($3) sll $2,$6,2 sw $4,0($17) srl $3,$2,30$L44: lui $2,%hi(eac3_blocks) addiu $2,$2,%lo(eac3_blocks) addu $2,$3,$2 lbu $6,0($2) lbu $3,0($5) sll $6,$6,8 sw $6,0($18) lw $4,0($17) sll $7,$7,5 srl $7,$7,21 addiu $7,$7,1 sll $4,$4,4 mul $4,$7,$4 srl $5,$3,1 divu $0,$4,$6 teq $6,$0,7 lui $2,%hi(ff_ac3_channels) addiu $2,$2,%lo(ff_ac3_channels) andi $5,$5,0x7 addu $5,$5,$2 sll $3,$3,7 lbu $2,0($5) andi $3,$3,0x00ff sltu $3,$0,$3 addu $3,$3,$2 sll $7,$7,1 move $2,$7 mflo $4 sw $4,0($19) sw $3,0($20) lw $31,60($sp) lw $20,56($sp) lw $19,52($sp) lw $18,48($sp) lw $17,44($sp) lw $16,40($sp) j $31 addiu $sp,$sp,64$L47: lw $3,32($sp) lbu $4,36($sp) sw $2,0($17) li $2,1536 # 0x600 sw $3,0($19) lhu $7,38($sp) sw $4,0($20) sw $2,0($18) lw $31,60($sp) lw $20,56($sp) lw $19,52($sp) lw $18,48($sp) lw $17,44($sp) lw $16,40($sp) move $2,$7 j $31 addiu $sp,$sp,64$L46: li $2,-2 # 0xfffffffffffffffe beq $3,$2,$L49 lbu $3,22($sp)$L34: move $7,$0 lw $31,60($sp) lw $20,56($sp) lw $19,52($sp) lw $18,48($sp) lw $17,44($sp) lw $16,40($sp) move $2,$7 j $31 addiu $sp,$sp,64$L48: sll $2,$6,2 srl $2,$2,30 beq $2,$3,$L34 lui $3,%hi(ff_ac3_freqs) addiu $3,$3,%lo(ff_ac3_freqs) sll $2,$2,1 addu $2,$2,$3 lhu $4,0($2) li $3,3 # 0x3 srl $4,$4,1 j $L44 sw $4,0($17) .set macro .set reorder .end ac3_sync .globl ac3_parser .data .align 2 .type ac3_parser, @object .size ac3_parser, 44ac3_parser: .word 86020 .space 16 .word 8208 .word ac3_parse_init .word ff_aac_ac3_parse .word 0 .space 8 .rdata .align 2 .type eac3_blocks, @object .size eac3_blocks, 4eac3_blocks: .byte 1 .byte 2 .byte 3 .byte 6 .ident "GCC: (GNU) 4.1.2"
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -