decode.mid
来自「君正早期ucos系统(只有早期的才不没有打包成库),MPLAYER,文件系统,图」· MID 代码 · 共 1,767 行 · 第 1/2 页
MID
1,767 行
.file 1 "decode.c" .section .mdebug.abi32 .previous .section .text.mpeg2_info,"ax",@progbits .align 2 .align 5 .globl mpeg2_info .ent mpeg2_info .type mpeg2_info, @functionmpeg2_info: .frame $sp,0,$31 # vars= 0, regs= 0/0, args= 0, gp= 0 .mask 0x00000000,0 .fmask 0x00000000,0 .set noreorder .set nomacro j $31 addiu $2,$4,16976 .set macro .set reorder .end mpeg2_info .section .text.mpeg2_buffer,"ax",@progbits .align 2 .align 5 .globl mpeg2_buffer .ent mpeg2_buffer .type mpeg2_buffer, @functionmpeg2_buffer: .frame $sp,0,$31 # vars= 0, regs= 0/0, args= 0, gp= 0 .mask 0x00000000,0 .fmask 0x00000000,0 .set noreorder .set nomacro sw $6,17588($4) j $31 sw $5,17584($4) .set macro .set reorder .end mpeg2_buffer .section .text.mpeg2_getpos,"ax",@progbits .align 2 .align 5 .globl mpeg2_getpos .ent mpeg2_getpos .type mpeg2_getpos, @functionmpeg2_getpos: .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,17584($4) lw $2,17588($4) j $31 subu $2,$2,$3 .set macro .set reorder .end mpeg2_getpos .section .text.seek_chunk,"ax",@progbits .align 2 .align 5 .ent seek_chunk .type seek_chunk, @functionseek_chunk: .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,17584($4) lw $2,17588($4) subu $8,$2,$3 beq $8,$0,$L8 move $10,$3 lw $5,17020($4) addu $7,$3,$8 li $9,256 # 0x100$L10: lbu $2,0($3) addiu $3,$3,1 or $2,$5,$2 beq $5,$9,$L21 sltu $6,$3,$7 bne $6,$0,$L10 sll $5,$2,8 sw $5,17020($4) sw $3,17584($4)$L8: lw $2,17076($4) move $5,$0 addu $2,$2,$8 sw $2,17076($4) j $31 move $2,$5$L21: li $2,-256 # 0xffffffffffffff00 subu $6,$3,$10 sw $2,17020($4) beq $6,$0,$L8 sw $3,17584($4) lw $2,17076($4) li $5,-1 # 0xffffffffffffffff addu $2,$2,$6 sw $2,17076($4) lbu $3,-1($3) move $2,$5 j $31 sb $3,17052($4) .set macro .set reorder .end seek_chunk .section .text.mpeg2_convert,"ax",@progbits .align 2 .align 5 .globl mpeg2_convert .ent mpeg2_convert .type mpeg2_convert, @functionmpeg2_convert: .frame $sp,72,$31 # vars= 24, regs= 4/0, args= 32, gp= 0 .mask 0x80070000,-4 .fmask 0x00000000,0 .set noreorder .set nomacro addiu $sp,$sp,-72 sw $18,64($sp) sw $17,60($sp) sw $16,56($sp) lui $2,%hi(mpeg2_accels) sw $31,68($sp) lw $3,%lo(mpeg2_accels)($2) move $16,$4 move $18,$6 addiu $2,$sp,32 move $17,$5 move $4,$0 move $5,$0 addiu $6,$16,17160 move $7,$0 sw $3,16($sp) sw $2,24($sp) jal $17 sw $18,20($sp) bne $2,$0,$L23 lw $3,32($sp) sw $17,17564($16) sw $18,17568($16) sw $3,17572($16) sw $0,17576($16)$L23: lw $31,68($sp) lw $18,64($sp) lw $17,60($sp) lw $16,56($sp) j $31 addiu $sp,$sp,72 .set macro .set reorder .end mpeg2_convert .section .text.mpeg2_stride,"ax",@progbits .align 2 .align 5 .globl mpeg2_stride .ent mpeg2_stride .type mpeg2_stride, @functionmpeg2_stride: .frame $sp,64,$31 # vars= 24, regs= 2/0, args= 32, gp= 0 .mask 0x80010000,-4 .fmask 0x00000000,0 .set noreorder .set nomacro addiu $sp,$sp,-64 sw $16,56($sp) sw $31,60($sp) move $16,$4 lw $9,17564($16) addiu $6,$4,17160 move $8,$5 move $7,$5 li $4,1 # 0x1 beq $9,$0,$L31 move $5,$0 lui $2,%hi(mpeg2_accels) lw $3,%lo(mpeg2_accels)($2) lw $8,17568($16) addiu $2,$sp,32 sw $2,24($sp) sw $3,16($sp) jal $9 sw $8,20($sp) move $5,$2 lw $2,32($sp) sw $5,17576($16) sw $2,17572($16) lw $31,60($sp) lw $16,56($sp) move $2,$5 j $31 addiu $sp,$sp,64$L31: lw $3,17160($16) slt $2,$8,$3 move $5,$3 movz $5,$8,$2 sw $5,44($16) lw $31,60($sp) lw $16,56($sp) move $2,$5 j $31 addiu $sp,$sp,64 .set macro .set reorder .end mpeg2_stride .section .text.mpeg2_custom_fbuf,"ax",@progbits .align 2 .align 5 .globl mpeg2_custom_fbuf .ent mpeg2_custom_fbuf .type mpeg2_custom_fbuf, @functionmpeg2_custom_fbuf: .frame $sp,0,$31 # vars= 0, regs= 0/0, args= 0, gp= 0 .mask 0x00000000,0 .fmask 0x00000000,0 .set noreorder .set nomacro j $31 sw $5,17520($4) .set macro .set reorder .end mpeg2_custom_fbuf .section .text.mpeg2_skip,"ax",@progbits .align 2 .align 5 .globl mpeg2_skip .ent mpeg2_skip .type mpeg2_skip, @functionmpeg2_skip: .frame $sp,0,$31 # vars= 0, regs= 0/0, args= 0, gp= 0 .mask 0x00000000,0 .fmask 0x00000000,0 .set noreorder .set nomacro li $2,175 # 0xaf movn $2,$0,$5 li $3,1 sb $2,17093($4) j $31 sb $3,17092($4) .set macro .set reorder .end mpeg2_skip .section .text.mpeg2_slice_region,"ax",@progbits .align 2 .align 5 .globl mpeg2_slice_region .ent mpeg2_slice_region .type mpeg2_slice_region, @functionmpeg2_slice_region: .frame $sp,0,$31 # vars= 0, regs= 0/0, args= 0, gp= 0 .mask 0x00000000,0 .fmask 0x00000000,0 .set noreorder .set nomacro li $7,176 # 0xb0 slt $2,$5,177 movn $7,$5,$2 li $9,1 # 0x1 blez $5,$L47 move $8,$4 andi $9,$7,0x00ff$L42: slt $3,$6,177 li $2,176 # 0xb0 movn $2,$6,$3 slt $4,$6,$7 subu $2,$2,$7 bne $4,$0,$L45 move $3,$0 andi $3,$2,0x00ff$L45: sb $3,17093($8) j $31 sb $9,17092($8)$L47: j $L42 li $7,1 # 0x1 .set macro .set reorder .end mpeg2_slice_region .section .text.mpeg2_tag_picture,"ax",@progbits .align 2 .align 5 .globl mpeg2_tag_picture .ent mpeg2_tag_picture .type mpeg2_tag_picture, @functionmpeg2_tag_picture: .frame $sp,0,$31 # vars= 0, regs= 0/0, args= 0, gp= 0 .mask 0x00000000,0 .fmask 0x00000000,0 .set noreorder .set nomacro lw $2,17072($4) lw $3,17056($4) lw $7,17060($4) addiu $2,$2,1 sw $3,17064($4) sw $7,17068($4) sw $5,17056($4) sw $6,17060($4) sw $2,17072($4) j $31 sw $0,17076($4) .set macro .set reorder .end mpeg2_tag_picture .section .text.mpeg2_init_var,"ax",@progbits .align 2 .align 5 .globl mpeg2_init_var .ent mpeg2_init_var .type mpeg2_init_var, @functionmpeg2_init_var: .frame $sp,0,$31 # vars= 0, regs= 0/0, args= 0, gp= 0 .mask 0x00000000,0 .fmask 0x00000000,0 .set noreorder .set nomacro lui $2,%hi(mpeg2_accels) j $31 sw $0,%lo(mpeg2_accels)($2) .set macro .set reorder .end mpeg2_init_var .section .text.mpeg2_close,"ax",@progbits .align 2 .align 5 .globl mpeg2_close .ent mpeg2_close .type mpeg2_close, @functionmpeg2_close: .frame $sp,24,$31 # vars= 0, regs= 2/0, args= 16, gp= 0 .mask 0x80010000,-4 .fmask 0x00000000,0 .set noreorder .set nomacro addiu $sp,$sp,-24 sw $16,16($sp) sw $31,20($sp) jal mpeg2_header_state_init move $16,$4 jal mpeg2_free lw $4,17040($16) move $4,$16 lw $31,20($sp) lw $16,16($sp) j mpeg2_free addiu $sp,$sp,24 .set macro .set reorder .end mpeg2_close .section .text.mpeg2_reset,"ax",@progbits .align 2 .align 5 .globl mpeg2_reset .ent mpeg2_reset .type mpeg2_reset, @functionmpeg2_reset: .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 li $2,-256 # 0xffffffffffffff00 sw $17,20($sp) sw $16,16($sp) sw $31,24($sp) sw $2,17020($4) lui $2,%hi(mpeg2_seek_header) li $3,-76 addiu $2,$2,%lo(mpeg2_seek_header) sb $3,17052($4) sw $2,17028($4) li $3,9 # 0x9 li $2,1 # 0x1 move $17,$4 sw $3,17032($4) sw $2,17080($4) sw $0,17588($4) sw $0,17584($4) sw $0,17072($4) move $16,$5 jal mpeg2_reset_info addiu $4,$4,16976 move $4,$17 sw $0,16980($17) sw $0,17012($17) bne $16,$0,$L58 sw $0,17016($17) lw $31,24($sp) lw $17,20($sp) lw $16,16($sp) j $31 addiu $sp,$sp,32$L58: sw $0,16976($17) lw $31,24($sp) lw $17,20($sp) lw $16,16($sp) j mpeg2_header_state_init addiu $sp,$sp,32 .set macro .set reorder .end mpeg2_reset .section .text.mpeg2_accel,"ax",@progbits .align 2 .align 5 .globl mpeg2_accel .ent mpeg2_accel .type mpeg2_accel, @functionmpeg2_accel: .frame $sp,32,$31 # vars= 0, regs= 4/0, args= 16, gp= 0 .mask 0x80070000,-4 .fmask 0x00000000,0 .set noreorder .set nomacro addiu $sp,$sp,-32 sw $18,24($sp) lui $18,%hi(mpeg2_accels) sw $17,20($sp) sw $31,28($sp) sw $16,16($sp) move $17,$4 bltz $4,$L63 sw $0,%lo(mpeg2_accels)($18) li $16,-2147483648 # 0xffffffff80000000$L64: or $16,$17,$16 move $4,$16 jal mpeg2_cpu_state_init sw $16,%lo(mpeg2_accels)($18) jal mpeg2_idct_init move $4,$16 jal mpeg2_mc_init move $4,$16 lw $3,%lo(mpeg2_accels)($18) li $2,2147418112 # 0x7fff0000 ori $2,$2,0xffff lw $31,28($sp) lw $18,24($sp) lw $17,20($sp) lw $16,16($sp) and $2,$3,$2 j $31 addiu $sp,$sp,32$L63: jal mpeg2_detect_accel li $16,-2147483648 # 0xffffffff80000000 j $L64 or $17,$17,$2 .set macro .set reorder .end mpeg2_accel .section .text.mpeg2_set_buf,"ax",@progbits .align 2 .align 5 .globl mpeg2_set_buf .ent mpeg2_set_buf .type mpeg2_set_buf, @functionmpeg2_set_buf: .frame $sp,32,$31 # vars= 0, regs= 4/0, args= 16, gp= 0 .mask 0x80070000,-4 .fmask 0x00000000,0 .set noreorder .set nomacro addiu $sp,$sp,-32 sw $18,24($sp) sw $17,20($sp) sw $16,16($sp) sw $31,28($sp) lw $7,17520($4) move $16,$4 move $17,$5 beq $7,$0,$L66 move $18,$6 lw $3,17032($4) li $2,1 # 0x1 beq $3,$2,$L77 nop$L68: lw $5,16788($16) xori $5,$5,0x3 jal mpeg2_set_fbuf sltu $5,$5,1 lw $5,17460($16) lw $2,0($17) lw $4,17464($16) sw $2,0($5) lw $3,4($17) lw $7,17520($16) sw $3,4($5) lw $2,8($17) sw $18,12($5) beq $4,$0,$L78 sw $2,8($5)$L71: beq $7,$0,$L80 lw $31,28($sp) lw $4,17464($16) lw $2,0($4) beq $2,$0,$L79 nop$L80: lw $18,24($sp) lw $17,20($sp) lw $16,16($sp) j $31 addiu $sp,$sp,32$L66: lw $2,17088($4) sll $3,$2,4 addiu $2,$2,1 addiu $3,$3,17472 sw $2,17084($4) sw $2,17088($4) lw $2,0($17) addu $5,$4,$3 sw $2,0($5) lw $3,4($17) lw $4,17464($16) sw $3,4($5) lw $2,8($17) sw $18,12($5) bne $4,$0,$L71 sw $2,8($5)$L78: lw $2,17460($16) sw $0,17468($16) j $L71 sw $2,17464($16)$L79: lw $2,0($17) sw $0,12($4) sw $2,0($4) lw $3,4($17) sw $3,4($4) lw $2,8($17) sw $2,8($4) lw $31,28($sp) lw $18,24($sp) lw $17,20($sp) lw $16,16($sp) j $31 addiu $sp,$sp,32$L77: lw $2,17464($4) lw $3,17460($4) sw $2,17468($4) j $L68 sw $3,17464($4) .set macro .set reorder .end mpeg2_set_buf .section .text.mpeg2_parse_header,"ax",@progbits .align 2 .align 5 .globl mpeg2_parse_header .ent mpeg2_parse_header .type mpeg2_parse_header, @functionmpeg2_parse_header: .frame $sp,24,$31 # vars= 0, regs= 2/0, args= 16, gp= 0 .mask 0x80010000,-4 .fmask 0x00000000,0 .set noreorder .set nomacro addiu $sp,$sp,-24 sw $16,16($sp) sw $31,20($sp) lui $2,%hi(mpeg2_parse_header) addiu $2,$2,%lo(mpeg2_parse_header) lw $8,17584($4) lw $7,17048($4) move $16,$4 sw $2,17028($4) sw $0,17012($4) sw $0,17016($4)$L82: lw $3,17040($16) lw $4,17588($16) li $2,1179648 # 0x120000 ori $2,$2,0xa800 subu $3,$3,$7 addu $9,$3,$2 subu $4,$4,$8 slt $2,$9,$4 move $5,$8 bne $2,$0,$L83 move $6,$7 beq $4,$0,$L90 move $11,$0 lw $3,17020($16) move $11,$4 addu $9,$8,$4 li $10,256 # 0x100$L87: lbu $2,0($5) addiu $5,$5,1 or $7,$3,$2 beq $3,$10,$L117 sltu $8,$5,$9 sb $2,0($6) sll $3,$7,8 bne $8,$0,$L87 addiu $6,$6,1 lw $7,17048($16) sw $3,17020($16) sw $5,17584($16)$L90: lw $2,17076($16) addu $7,$7,$11 addu $2,$2,$4 sw $2,17076($16) sw $7,17048($16) move $4,$0 lw $31,20($sp) lw $16,16($sp) move $2,$4 j $31 addiu $sp,$sp,24$L83: beq $9,$0,$L95 nop lw $2,17020($16) addu $8,$8,$9 li $10,256 # 0x100$L97: lbu $3,0($5) addiu $5,$5,1 or $4,$2,$3 beq $2,$10,$L118 sltu $7,$5,$8 sb $3,0($6) sll $2,$4,8 bne $7,$0,$L97 addiu $6,$6,1 sw $2,17020($16) sw $5,17584($16)$L95: lw $2,17076($16) lui $3,%hi(mpeg2_seek_header) addiu $3,$3,%lo(mpeg2_seek_header) addu $2,$2,$9 sw $3,17028($16) li $3,-76 li $4,9 # 0x9 sw $2,17076($16) sb $3,17052($16)$L94: lw $31,20($sp) lw $16,16($sp) move $2,$4 j $31 addiu $sp,$sp,24$L118: lw $3,17584($16) addiu $7,$6,1 li $2,-256 # 0xffffffffffffff00 subu $6,$5,$3 sw $2,17020($16) sw $7,17048($16) beq $6,$0,$L95 sw $5,17584($16)$L91: lbu $3,17052($16) lui $2,%hi(process_header.3277) andi $3,$3,0xb lw $4,17076($16) addiu $2,$2,%lo(process_header.3277) sll $3,$3,2 addu $3,$3,$2 addu $4,$4,$6 lw $2,0($3) sw $4,17076($16) jal $2 move $4,$16 bne $2,$0,$L116 lui $3,%hi(mpeg2_seek_header) lw $8,17584($16) lw $2,17032($16) lbu $3,-1($8) sll $2,$2,8 addu $4,$2,$3 li $2,946 # 0x3b2 beq $4,$2,$L106 sb $3,17052($16) sltu $2,$4,947 beq $2,$0,$L110 li $2,1205 # 0x4b5 li $2,437 # 0x1b5 beq $4,$2,$L106 sltu $2,$4,438 bne $2,$0,$L119 li $2,256 # 0x100 li $2,440 # 0x1b8 beq $4,$2,$L107 nop li $2,768 # 0x300 bne $4,$2,$L122 lui $2,%hi(mpeg2_seek_header) jal mpeg2_header_gop_finalize move $4,$16 lui $2,%hi(mpeg2_header_picture_start) addiu $2,$2,%lo(mpeg2_header_picture_start) j $L113 sw $2,17028($16)$L119: beq $4,$2,$L105 lui $2,%hi(mpeg2_header_picture_start) li $2,434 # 0x1b2 bne $4,$2,$L122 lui $2,%hi(mpeg2_seek_header)$L106: lw $7,17044($16) j $L82 sw $7,17048($16)$L117: lw $3,17584($16) addiu $7,$6,1 li $2,-256 # 0xffffffffffffff00 subu $6,$5,$3 sw $2,17020($16) sw $7,17048($16) bne $6,$0,$L91 sw $5,17584($16) j $L90 lw $7,17048($16)$L110: beq $4,$2,$L106 sltu $2,$4,1206 bne $2,$0,$L120 li $2,1025 # 0x401 li $2,1714 # 0x6b2 beq $4,$2,$L106 li $2,1717 # 0x6b5 beq $4,$2,$L106 li $2,1537 # 0x601 bne $4,$2,$L122 lui $2,%hi(mpeg2_seek_header)$L109: lui $2,%hi(mpeg2_accels) lw $5,%lo(mpeg2_accels)($2) jal mpeg2_header_picture_finalize move $4,$16 lui $2,%hi(mpeg2_header_slice_start) addiu $2,$2,%lo(mpeg2_header_slice_start) sw $2,17028($16)$L113: lw $2,17040($16)$L121: lw $4,17032($16) sw $0,17096($16) sw $2,17044($16) j $L94 sw $2,17048($16)$L120: beq $4,$2,$L109 li $2,1202 # 0x4b2 beq $4,$2,$L106 lui $2,%hi(mpeg2_seek_header)$L122: addiu $2,$2,%lo(mpeg2_seek_header) li $4,9 # 0x9 j $L94 sw $2,17028($16)$L105: addiu $2,$2,%lo(mpeg2_header_picture_start) sw $2,17028($16)$L107: jal mpeg2_header_sequence_finalize move $4,$16 j $L121 lw $2,17040($16)$L116: lw $2,17584($16)
⌨️ 快捷键说明
复制代码Ctrl + C
搜索代码Ctrl + F
全屏模式F11
增大字号Ctrl + =
减小字号Ctrl + -
显示快捷键?