psxstr.mid
来自「君正早期ucos系统(只有早期的才不没有打包成库),MPLAYER,文件系统,图」· MID 代码 · 共 1,000 行
MID
1,000 行
.file 1 "psxstr.c" .section .mdebug.abi32 .previous .section .text.str_read_close,"ax",@progbits .align 2 .align 5 .ent str_read_close .type str_read_close, @functionstr_read_close: .frame $sp,24,$31 # vars= 0, regs= 1/0, args= 16, gp= 0 .mask 0x80000000,-8 .fmask 0x00000000,0 .set noreorder .set nomacro addiu $sp,$sp,-24 sw $31,16($sp) lw $2,12($4) jal av_free lw $4,1040($2) lw $31,16($sp) move $2,$0 j $31 addiu $sp,$sp,24 .set macro .set reorder .end str_read_close .section .rodata.str1.4,"aMS",@progbits,1 .align 2$LC0: .ascii " video channel = %d, %d x %d %d\012\000" .align 2$LC1: .ascii " audio channel = %d, %d Hz, %d channels, %d bits/sample " .ascii "%d\012\000" .section .text.str_read_header,"ax",@progbits .align 2 .align 5 .ent str_read_header .type str_read_header, @functionstr_read_header: .frame $sp,2432,$31 # vars= 2360, regs= 10/0, args= 32, gp= 0 .mask 0xc0ff0000,-4 .fmask 0x00000000,0 .set noreorder .set nomacro addiu $sp,$sp,-2432 sw $19,2404($sp) sw $18,2400($sp) sw $17,2396($sp) sw $31,2428($sp) sw $fp,2424($sp) sw $23,2420($sp) sw $22,2416($sp) sw $21,2412($sp) sw $20,2408($sp) sw $16,2392($sp) lw $16,12($4) li $2,-1 # 0xffffffffffffffff addiu $17,$4,16 move $5,$0 move $18,$4 addiu $19,$sp,32 move $4,$0 sw $4,1032($16) sw $5,1036($16) sw $2,1024($16) sw $2,1028($16) sw $0,1040($16) move $4,$17 move $5,$19 jal get_buffer li $6,44 # 0x2c li $3,44 # 0x2c beq $2,$3,$L48 lbu $3,35($sp) li $2,-5 # 0xfffffffffffffffb$L13: lw $31,2428($sp) lw $fp,2424($sp) lw $23,2420($sp) lw $22,2416($sp) lw $21,2412($sp) lw $20,2408($sp) lw $19,2404($sp) lw $18,2400($sp) lw $17,2396($sp) lw $16,2392($sp) j $31 addiu $sp,$sp,2432$L48: lbu $2,34($sp) sll $3,$3,24 sll $2,$2,16 lbu $4,33($sp) lbu $5,32($sp) or $3,$3,$2 or $3,$3,$5 sll $4,$4,8 li $2,1178992640 # 0x46460000 or $4,$4,$3 ori $2,$2,0x4952 beq $4,$2,$L49 nop move $22,$0 move $23,$0$L8: move $4,$17 move $6,$22 move $7,$23 sw $0,16($sp) jal url_fseek move $20,$0 j $L52 move $4,$17$L51: beq $4,$2,$L15 li $2,2 # 0x2 beq $4,$2,$L15 nop$L14: addiu $20,$20,1$L53: li $2,32 # 0x20 beq $20,$2,$L50 move $4,$17$L52: move $5,$19 jal get_buffer li $6,2352 # 0x930 li $3,2352 # 0x930 bne $2,$3,$L13 li $2,-5 # 0xfffffffffffffffb lbu $6,49($sp) slt $2,$6,32 beq $2,$0,$L44 li $3,4 # 0x4 lbu $2,50($sp) andi $4,$2,0xe bne $4,$3,$L51 li $2,8 # 0x8 lw $3,1028($16) li $2,-1 # 0xffffffffffffffff bne $3,$2,$L53 addiu $20,$20,1 addiu $20,$20,-1 sll $2,$6,5 addu $fp,$2,$16 sw $6,1028($16) sw $0,0($fp) lbu $2,51($sp) li $5,2 # 0x2 andi $2,$2,0x1 move $3,$5 li $6,1 # 0x1 movz $3,$6,$2 sw $3,20($fp) lbu $2,51($sp) sw $5,2384($sp) andi $2,$2,0x4 li $3,18900 # 0x49d4 li $5,37800 # 0x93a8 sw $3,2388($sp) movz $3,$5,$2 sw $3,16($fp) lbu $2,51($sp) li $3,8 # 0x8 andi $2,$2,0x10 movz $3,$4,$2 sw $3,24($fp) move $4,$18 jal av_new_stream move $5,$0 beq $2,$0,$L19 move $21,$2 lw $7,16($fp) move $4,$2 li $5,64 # 0x40 jal av_set_pts_info li $6,128 # 0x80 lw $3,0($21) lw $6,2384($sp) sw $3,28($fp) lbu $2,51($sp) li $3,1 # 0x1 andi $5,$2,0x4 andi $2,$2,0x1 movz $6,$3,$2 lw $4,8($21) sw $6,2384($sp) lw $6,2388($sp) li $2,37800 # 0x93a8 li $3,128 # 0x80 movz $6,$2,$5 sw $3,272($4) li $2,65536 # 0x10000 lw $3,2384($sp) ori $2,$2,0x1008 li $5,1 # 0x1 sw $2,228($4) sw $3,68($4) sw $6,64($4) sw $5,224($4) j $L14 sw $0,232($4)$L15: lw $3,1024($16) li $2,-1 # 0xffffffffffffffff bne $3,$2,$L14 lbu $3,59($sp) lbu $2,58($sp) sll $3,$3,24 sll $2,$2,16 lbu $4,57($sp) lbu $5,56($sp) or $3,$3,$2 or $3,$3,$5 sll $4,$4,8 li $2,-2147418112 # 0xffffffff80010000 or $4,$4,$3 ori $2,$2,0x160 bne $4,$2,$L53 addiu $20,$20,1 addiu $20,$20,-1 sll $2,$6,5 addu $fp,$2,$16 li $3,1 # 0x1 sw $6,1024($16) sw $3,0($fp) lbu $2,73($sp) lbu $3,72($sp) sll $2,$2,8 or $2,$2,$3 sw $2,4($fp) lbu $3,75($sp) lbu $2,74($sp) sll $3,$3,8 or $3,$3,$2 sw $3,8($fp) move $4,$18 jal av_new_stream move $5,$0 beq $2,$0,$L19 move $21,$2 move $4,$2 li $5,64 # 0x40 li $6,1 # 0x1 jal av_set_pts_info li $7,15 # 0xf lw $3,8($21) lw $2,0($21) sw $0,224($3) sw $2,12($fp) sw $0,232($3) lw $4,4($fp) li $2,38 # 0x26 sw $4,40($3) sw $2,228($3) lw $2,8($fp) j $L14 sw $2,44($3)$L50: lw $7,1024($16) li $19,-1 # 0xffffffffffffffff beq $7,$19,$L39 sll $3,$7,5 addu $3,$3,$16 lw $2,4($3) lui $6,%hi($LC0) sw $2,16($sp) lw $4,8($3) addiu $6,$6,%lo($LC0) sw $4,20($sp) lw $2,12($3) move $4,$18 li $5,2 # 0x2 jal av_log sw $2,24($sp)$L39: lw $7,1028($16) beq $7,$19,$L41 sll $3,$7,5 addu $3,$3,$16 lw $2,16($3) lui $6,%hi($LC1) sw $2,16($sp) lw $5,20($3) move $4,$18 sw $5,20($sp) lw $2,24($3) addiu $6,$6,%lo($LC1) sw $2,24($sp) lw $8,28($3) li $5,2 # 0x2 jal av_log sw $8,28($sp)$L41: move $4,$17 move $6,$22 move $7,$23 jal url_fseek sw $0,16($sp) j $L13 move $2,$0$L49: li $22,44 # 0x2c j $L8 move $23,$0$L44: j $L13 li $2,-22 # 0xffffffffffffffea$L19: j $L13 li $2,-12 # 0xfffffffffffffff4 .set macro .set reorder .end str_read_header .section .text.str_probe,"ax",@progbits .align 2 .align 5 .ent str_probe .type str_probe, @functionstr_probe: .frame $sp,24,$31 # vars= 0, regs= 1/0, args= 16, gp= 0 .mask 0x80000000,-8 .fmask 0x00000000,0 .set noreorder .set nomacro addiu $sp,$sp,-24 sw $31,16($sp) lw $2,8($4) slt $2,$2,56 bne $2,$0,$L62 move $3,$0 lw $6,4($4) lbu $3,3($6) lbu $2,2($6) sll $3,$3,24 sll $2,$2,16 lbu $4,1($6) lbu $5,0($6) or $3,$3,$2 or $3,$3,$5 sll $4,$4,8 li $2,1178992640 # 0x46460000 or $4,$4,$3 ori $2,$2,0x4952 beq $4,$2,$L64 move $7,$0 lui $5,%hi(sync_header)$L65: addu $4,$6,$7 addiu $5,$5,%lo(sync_header) jal memcmp li $6,12 # 0xc beq $2,$0,$L62 li $3,50 # 0x32 move $3,$0$L62: lw $31,16($sp) move $2,$3 j $31 addiu $sp,$sp,24$L64: lbu $3,11($6) lbu $2,10($6) sll $3,$3,24 sll $2,$2,16 lbu $4,9($6) lbu $5,8($6) or $3,$3,$2 or $3,$3,$5 sll $4,$4,8 li $2,1096286208 # 0x41580000 or $4,$4,$3 ori $2,$2,0x4443 bne $4,$2,$L65 lui $5,%hi(sync_header) j $L65 li $7,44 # 0x2c .set macro .set reorder .end str_probe .section .text.str_read_packet,"ax",@progbits .align 2 .align 5 .ent str_read_packet .type str_read_packet, @functionstr_read_packet: .frame $sp,2416,$31 # vars= 2360, regs= 10/0, args= 16, gp= 0 .mask 0xc0ff0000,-4 .fmask 0x00000000,0 addiu $sp,$sp,-2416 sw $23,2404($sp) sw $22,2400($sp) sw $21,2396($sp) sw $17,2380($sp) sw $31,2412($sp) sw $fp,2408($sp) sw $20,2392($sp) sw $19,2388($sp) sw $18,2384($sp) sw $16,2376($sp) lw $18,12($4) addiu $23,$sp,72 andi $2,$23,0x3 addiu $17,$4,16 addiu $21,$sp,16 addiu $22,$18,1048 sw $5,2420($sp) .set noreorder .set nomacro j $L67 sw $2,2368($sp) .set macro .set reorder$L116: .set noreorder .set nomacro beq $4,$2,$L73 li $2,2 # 0x2 .set macro .set reorder beq $4,$2,$L73$L72: .set noreorder .set nomacro jal url_feof move $4,$17 .set macro .set reorder .set noreorder .set nomacro bne $2,$0,$L71 li $5,-5 # 0xfffffffffffffffb .set macro .set reorder$L67: move $4,$17 move $5,$21 .set noreorder .set nomacro jal get_buffer li $6,2352 # 0x930 .set macro .set reorder li $3,2352 # 0x930 .set noreorder .set nomacro bne $2,$3,$L78 lbu $16,33($sp) .set macro .set reorder slt $2,$16,32 .set noreorder .set nomacro beq $2,$0,$L115 lbu $2,34($sp) .set macro .set reorder li $3,4 # 0x4 andi $4,$2,0xe .set noreorder .set nomacro bne $4,$3,$L116 li $2,8 # 0x8 .set macro .set reorder lw $2,1028($18) .set noreorder .set nomacro bne $16,$2,$L72 lw $4,2420($sp) .set macro .set reorder .set noreorder .set nomacro jal av_new_packet li $5,2304 # 0x900 .set macro .set reorder .set noreorder .set nomacro bne $2,$0,$L78 lw $2,2420($sp) .set macro .set reorder lw $4,16($2) andi $2,$4,0x3 .set noreorder .set nomacro bne $2,$0,$L107 addiu $5,$sp,40 .set macro .set reorder addiu $5,$4,2300 addiu $4,$4,-4 sltu $2,$4,$5 .set noreorder .set nomacro beq $2,$0,$L103 addiu $3,$sp,36 .set macro .set reorder$L105:#APP S32LDI xr1,$3,4 S32LDI xr2,$3,4 S32LDI xr3,$3,4 S32LDI xr4,$3,4 S32LDI xr5,$3,4 S32LDI xr6,$3,4 S32LDI xr7,$3,4 S32LDI xr8,$3,4 S32SDI xr1,$4,4 S32SDI xr2,$4,4 S32SDI xr3,$4,4 S32SDI xr4,$4,4 S32SDI xr5,$4,4 S32SDI xr6,$4,4 S32SDI xr7,$4,4 S32SDI xr8,$4,4#NO_APP sltu $2,$4,$5 bne $2,$0,$L105$L103: sll $2,$16,5$L122: addu $2,$2,$18 lw $3,28($2) lw $2,2420($sp) move $5,$0 .set noreorder .set nomacro j $L71 sw $3,24($2) .set macro .set reorder$L73: lw $2,1024($18) .set noreorder .set nomacro bne $16,$2,$L72 lbu $2,55($sp) .set macro .set reorder lbu $3,54($sp) lbu $5,45($sp) sll $3,$3,16 sll $2,$2,24 lbu $7,44($sp) lbu $4,53($sp) lbu $6,52($sp) or $2,$2,$3 sll $5,$5,8 lbu $3,47($sp) or $2,$2,$6 sll $4,$4,8 or $19,$5,$7 or $20,$4,$2 sw $3,2372($sp) .set noreorder .set nomacro beq $19,$0,$L117 lbu $fp,46($sp) .set macro .set reorder$L76: sll $3,$19,5 sll $2,$19,11 subu $4,$2,$3 subu $6,$20,$4 .set noreorder .set nomacro blez $6,$L81 slt $2,$6,2017 .set macro .set reorder .set noreorder .set nomacro bne $2,$0,$L118 sltu $3,$6,32 .set macro .set reorder lw $2,16($22) li $6,2016 # 0x7e0 addu $4,$4,$2$L86: andi $2,$4,0x3 .set noreorder .set nomacro bne $2,$0,$L85 lw $2,2368($sp) .set macro .set reorder .set noreorder .set nomacro bne $2,$0,$L85 li $2,-32 # 0xffffffffffffffe0 .set macro .set reorder addiu $4,$4,-4 and $2,$6,$2 addu $8,$4,$2 sltu $3,$4,$8 .set noreorder .set nomacro beq $3,$0,$L89 addiu $7,$23,-4 .set macro .set reorder$L108:#APP S32LDI xr1,$7,4 S32LDI xr2,$7,4 S32LDI xr3,$7,4 S32LDI xr4,$7,4 S32LDI xr5,$7,4 S32LDI xr6,$7,4 S32LDI xr7,$7,4 S32LDI xr8,$7,4 S32SDI xr1,$4,4 S32SDI xr2,$4,4 S32SDI xr3,$4,4 S32SDI xr4,$4,4 S32SDI xr5,$4,4 S32SDI xr6,$4,4 S32SDI xr7,$4,4 S32SDI xr8,$4,4#NO_APP sltu $2,$4,$8 bne $2,$0,$L108$L89: andi $2,$6,0x1c addu $8,$8,$2 sltu $3,$4,$8 .set noreorder .set nomacro beq $3,$0,$L123 andi $3,$6,0x3 .set macro .set reorder$L109:#APP S32LDI xr1,$7,4 S32SDI xr1,$4,4#NO_APP sltu $2,$4,$8 .set noreorder .set nomacro bne $2,$0,$L109 andi $3,$6,0x3 .set macro .set reorder$L123: li $2,2 # 0x2 .set noreorder .set nomacro beq $3,$2,$L94 li $2,3 # 0x3 .set macro .set reorder .set noreorder .set nomacro beq $3,$2,$L95 li $2,1 # 0x1 .set macro .set reorder beq $3,$2,$L119$L81: lw $3,2372($sp) sll $2,$3,8 or $2,$2,$fp addiu $2,$2,-1 .set noreorder .set nomacro bne $19,$2,$L72 lw $7,2420($sp) .set macro .set reorder move $6,$22$L124: addiu $8,$22,48$L97: lw $2,0($6) lw $3,4($6) lw $4,8($6) lw $5,12($6) addiu $6,$6,16 sw $2,0($7) sw $3,4($7) sw $4,8($7) sw $5,12($7) .set noreorder .set nomacro bne $6,$8,$L97 addiu $7,$7,16 .set macro .set reorder lw $2,4($6) lw $3,0($6) move $5,$0 sw $2,4($7) .set noreorder .set nomacro j $L71 sw $3,0($7) .set macro .set reorder$L78: li $5,-5 # 0xfffffffffffffffb$L71: lw $31,2412($sp) lw $fp,2408($sp) lw $23,2404($sp) lw $22,2400($sp) lw $21,2396($sp) lw $20,2392($sp) lw $19,2388($sp) lw $18,2384($sp) lw $17,2380($sp) lw $16,2376($sp) move $2,$5 .set noreorder .set nomacro j $31 addiu $sp,$sp,2416 .set macro .set reorder$L118: lw $2,16($22) .set noreorder .set nomacro beq $3,$0,$L86 addu $4,$4,$2 .set macro .set reorder$L85: .set noreorder .set nomacro jal memcpy move $5,$23 .set macro .set reorder lw $3,2372($sp) sll $2,$3,8 or $2,$2,$fp addiu $2,$2,-1 .set noreorder .set nomacro bne $19,$2,$L72 lw $7,2420($sp) .set macro .set reorder .set noreorder .set nomacro j $L124 move $6,$22 .set macro .set reorder$L115: li $5,-22 # 0xffffffffffffffea lw $31,2412($sp) lw $fp,2408($sp) lw $23,2404($sp) lw $22,2400($sp) lw $21,2396($sp) lw $20,2392($sp) lw $19,2388($sp) lw $18,2384($sp) lw $17,2380($sp) lw $16,2376($sp) move $2,$5 .set noreorder .set nomacro j $31 addiu $sp,$sp,2416 .set macro .set reorder$L119: lbu $2,4($7) .set noreorder .set nomacro j $L81 sb $2,4($4) .set macro .set reorder$L94: lbu $2,4($7) sb $2,4($4) lbu $3,5($7) .set noreorder .set nomacro j $L81 sb $3,5($4) .set macro .set reorder$L95: lbu $2,4($7) sb $2,4($4) lbu $3,5($7) sb $3,5($4) lbu $2,6($7) .set noreorder .set nomacro j $L81 sb $2,6($4) .set macro .set reorder$L117: move $4,$22 .set noreorder .set nomacro jal av_new_packet move $5,$20 .set macro .set reorder .set noreorder .set nomacro bne $2,$0,$L71 li $5,-5 # 0xfffffffffffffffb .set macro .set reorder .set noreorder .set nomacro jal url_ftell move $4,$17 .set macro .set reorder sll $6,$16,5 addu $6,$6,$18 lw $7,12($6) addiu $4,$2,-2352 sw $7,24($22) sltu $6,$4,$2 addiu $5,$3,-1 lw $3,1028($18) addu $5,$6,$5 li $2,-1 # 0xffffffffffffffff sw $4,48($22) .set noreorder .set nomacro beq $3,$2,$L76 sw $5,52($22) .set macro .set reorder lw $2,1032($18) lw $3,1036($18) addiu $4,$2,6000 sltu $6,$4,$2 addu $5,$6,$3 sw $4,1032($18) .set noreorder .set nomacro j $L76 sw $5,1036($18) .set macro .set reorder$L107: .set noreorder .set nomacro jal memcpy li $6,2304 # 0x900 .set macro .set reorder .set noreorder .set nomacro j $L122 sll $2,$16,5 .set macro .set reorder .end str_read_packet .globl str_demuxer .section .rodata.str1.4 .align 2$LC2: .ascii "psxstr\000" .align 2$LC3: .ascii "Sony Playstation STR format\000" .data .align 2 .type str_demuxer, @object .size str_demuxer, 64str_demuxer: .word $LC2 .word $LC3 .word 1104 .word str_probe .word str_read_header .word str_read_packet .word str_read_close .space 36 .rdata .align 2 .type sync_header, @object .size sync_header, 12sync_header: .byte 0 .byte -1 .byte -1 .byte -1 .byte -1 .byte -1 .byte -1 .byte -1 .byte -1 .byte -1 .byte -1 .byte 0 .ident "GCC: (GNU) 4.1.2"
⌨️ 快捷键说明
复制代码Ctrl + C
搜索代码Ctrl + F
全屏模式F11
增大字号Ctrl + =
减小字号Ctrl + -
显示快捷键?