psxstr.s
来自「君正早期ucos系统(只有早期的才不没有打包成库),MPLAYER,文件系统,图」· S 代码 · 共 1,000 行
S
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 nomacroaddiu $sp,$sp,-24sw $31,16($sp)lw $2,12($4)jal av_freelw $4,1040($2)lw $31,16($sp)move $2,$0j $31addiu $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 nomacroaddiu $sp,$sp,-2432sw $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 # 0xffffffffffffffffaddiu $17,$4,16move $5,$0move $18,$4addiu $19,$sp,32move $4,$0sw $4,1032($16)sw $5,1036($16)sw $2,1024($16)sw $2,1028($16)sw $0,1040($16)move $4,$17move $5,$19jal get_bufferli $6,44 # 0x2cli $3,44 # 0x2cbeq $2,$3,$L48lbu $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 $31addiu $sp,$sp,2432$L48:lbu $2,34($sp)sll $3,$3,24sll $2,$2,16lbu $4,33($sp)lbu $5,32($sp)or $3,$3,$2or $3,$3,$5sll $4,$4,8li $2,1178992640 # 0x46460000or $4,$4,$3ori $2,$2,0x4952beq $4,$2,$L49nopmove $22,$0move $23,$0$L8:move $4,$17move $6,$22move $7,$23sw $0,16($sp)jal url_fseekmove $20,$0j $L52move $4,$17$L51:beq $4,$2,$L15li $2,2 # 0x2beq $4,$2,$L15nop$L14:addiu $20,$20,1$L53:li $2,32 # 0x20beq $20,$2,$L50move $4,$17$L52:move $5,$19jal get_bufferli $6,2352 # 0x930li $3,2352 # 0x930bne $2,$3,$L13li $2,-5 # 0xfffffffffffffffblbu $6,49($sp)slt $2,$6,32beq $2,$0,$L44li $3,4 # 0x4lbu $2,50($sp)andi $4,$2,0xebne $4,$3,$L51li $2,8 # 0x8lw $3,1028($16)li $2,-1 # 0xffffffffffffffffbne $3,$2,$L53addiu $20,$20,1addiu $20,$20,-1sll $2,$6,5addu $fp,$2,$16sw $6,1028($16)sw $0,0($fp)lbu $2,51($sp)li $5,2 # 0x2andi $2,$2,0x1move $3,$5li $6,1 # 0x1movz $3,$6,$2sw $3,20($fp)lbu $2,51($sp)sw $5,2384($sp)andi $2,$2,0x4li $3,18900 # 0x49d4li $5,37800 # 0x93a8sw $3,2388($sp)movz $3,$5,$2sw $3,16($fp)lbu $2,51($sp)li $3,8 # 0x8andi $2,$2,0x10movz $3,$4,$2sw $3,24($fp)move $4,$18jal av_new_streammove $5,$0beq $2,$0,$L19move $21,$2lw $7,16($fp)move $4,$2li $5,64 # 0x40jal av_set_pts_infoli $6,128 # 0x80lw $3,0($21)lw $6,2384($sp)sw $3,28($fp)lbu $2,51($sp)li $3,1 # 0x1andi $5,$2,0x4andi $2,$2,0x1movz $6,$3,$2lw $4,8($21)sw $6,2384($sp)lw $6,2388($sp)li $2,37800 # 0x93a8li $3,128 # 0x80movz $6,$2,$5sw $3,272($4)li $2,65536 # 0x10000lw $3,2384($sp)ori $2,$2,0x1008li $5,1 # 0x1sw $2,228($4)sw $3,68($4)sw $6,64($4)sw $5,224($4)j $L14sw $0,232($4)$L15:lw $3,1024($16)li $2,-1 # 0xffffffffffffffffbne $3,$2,$L14lbu $3,59($sp)lbu $2,58($sp)sll $3,$3,24sll $2,$2,16lbu $4,57($sp)lbu $5,56($sp)or $3,$3,$2or $3,$3,$5sll $4,$4,8li $2,-2147418112 # 0xffffffff80010000or $4,$4,$3ori $2,$2,0x160bne $4,$2,$L53addiu $20,$20,1addiu $20,$20,-1sll $2,$6,5addu $fp,$2,$16li $3,1 # 0x1sw $6,1024($16)sw $3,0($fp)lbu $2,73($sp)lbu $3,72($sp)sll $2,$2,8or $2,$2,$3sw $2,4($fp)lbu $3,75($sp)lbu $2,74($sp)sll $3,$3,8or $3,$3,$2sw $3,8($fp)move $4,$18jal av_new_streammove $5,$0beq $2,$0,$L19move $21,$2move $4,$2li $5,64 # 0x40li $6,1 # 0x1jal av_set_pts_infoli $7,15 # 0xflw $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 # 0x26sw $4,40($3)sw $2,228($3)lw $2,8($fp)j $L14sw $2,44($3)$L50:lw $7,1024($16)li $19,-1 # 0xffffffffffffffffbeq $7,$19,$L39sll $3,$7,5addu $3,$3,$16lw $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,$18li $5,2 # 0x2jal av_logsw $2,24($sp)$L39:lw $7,1028($16)beq $7,$19,$L41sll $3,$7,5addu $3,$3,$16lw $2,16($3)lui $6,%hi($LC1)sw $2,16($sp)lw $5,20($3)move $4,$18sw $5,20($sp)lw $2,24($3)addiu $6,$6,%lo($LC1)sw $2,24($sp)lw $8,28($3)li $5,2 # 0x2jal av_logsw $8,28($sp)$L41:move $4,$17move $6,$22move $7,$23jal url_fseeksw $0,16($sp)j $L13move $2,$0$L49:li $22,44 # 0x2cj $L8move $23,$0$L44:j $L13li $2,-22 # 0xffffffffffffffea$L19:j $L13li $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 nomacroaddiu $sp,$sp,-24sw $31,16($sp)lw $2,8($4)slt $2,$2,56bne $2,$0,$L62move $3,$0lw $6,4($4)lbu $3,3($6)lbu $2,2($6)sll $3,$3,24sll $2,$2,16lbu $4,1($6)lbu $5,0($6)or $3,$3,$2or $3,$3,$5sll $4,$4,8li $2,1178992640 # 0x46460000or $4,$4,$3ori $2,$2,0x4952beq $4,$2,$L64move $7,$0lui $5,%hi(sync_header)$L65:addu $4,$6,$7addiu $5,$5,%lo(sync_header)jal memcmpli $6,12 # 0xcbeq $2,$0,$L62li $3,50 # 0x32move $3,$0$L62:lw $31,16($sp)move $2,$3j $31addiu $sp,$sp,24$L64:lbu $3,11($6)lbu $2,10($6)sll $3,$3,24sll $2,$2,16lbu $4,9($6)lbu $5,8($6)or $3,$3,$2or $3,$3,$5sll $4,$4,8li $2,1096286208 # 0x41580000or $4,$4,$3ori $2,$2,0x4443bne $4,$2,$L65lui $5,%hi(sync_header)j $L65li $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,0addiu $sp,$sp,-2416sw $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,72andi $2,$23,0x3addiu $17,$4,16addiu $21,$sp,16addiu $22,$18,1048sw $5,2420($sp).set noreorder.set nomacroj $L67sw $2,2368($sp).set macro.set reorder$L116:.set noreorder.set nomacrobeq $4,$2,$L73li $2,2 # 0x2.set macro.set reorderbeq $4,$2,$L73$L72:.set noreorder.set nomacrojal url_feofmove $4,$17.set macro.set reorder.set noreorder.set nomacrobne $2,$0,$L71li $5,-5 # 0xfffffffffffffffb.set macro.set reorder$L67:move $4,$17move $5,$21.set noreorder.set nomacrojal get_bufferli $6,2352 # 0x930.set macro.set reorderli $3,2352 # 0x930.set noreorder.set nomacrobne $2,$3,$L78lbu $16,33($sp).set macro.set reorderslt $2,$16,32.set noreorder.set nomacrobeq $2,$0,$L115lbu $2,34($sp).set macro.set reorderli $3,4 # 0x4andi $4,$2,0xe.set noreorder.set nomacrobne $4,$3,$L116li $2,8 # 0x8.set macro.set reorderlw $2,1028($18).set noreorder.set nomacrobne $16,$2,$L72lw $4,2420($sp).set macro.set reorder.set noreorder.set nomacrojal av_new_packetli $5,2304 # 0x900.set macro.set reorder.set noreorder.set nomacrobne $2,$0,$L78lw $2,2420($sp).set macro.set reorderlw $4,16($2)andi $2,$4,0x3.set noreorder.set nomacrobne $2,$0,$L107addiu $5,$sp,40.set macro.set reorderaddiu $5,$4,2300addiu $4,$4,-4sltu $2,$4,$5.set noreorder.set nomacrobeq $2,$0,$L103addiu $3,$sp,36.set macro.set reorder$L105:#APP.word 0b01110000011000000000010001010100 #S32LDI XR1,$3,4.word 0b01110000011000000000010010010100 #S32LDI XR2,$3,4.word 0b01110000011000000000010011010100 #S32LDI XR3,$3,4.word 0b01110000011000000000010100010100 #S32LDI XR4,$3,4.word 0b01110000011000000000010101010100 #S32LDI XR5,$3,4.word 0b01110000011000000000010110010100 #S32LDI XR6,$3,4.word 0b01110000011000000000010111010100 #S32LDI XR7,$3,4.word 0b01110000011000000000011000010100 #S32LDI XR8,$3,4.word 0b01110000100000000000010001010101 #S32SDI XR1,$4,4.word 0b01110000100000000000010010010101 #S32SDI XR2,$4,4.word 0b01110000100000000000010011010101 #S32SDI XR3,$4,4.word 0b01110000100000000000010100010101 #S32SDI XR4,$4,4.word 0b01110000100000000000010101010101 #S32SDI XR5,$4,4.word 0b01110000100000000000010110010101 #S32SDI XR6,$4,4.word 0b01110000100000000000010111010101 #S32SDI XR7,$4,4.word 0b01110000100000000000011000010101 #S32SDI XR8,$4,4#NO_APPsltu $2,$4,$5bne $2,$0,$L105$L103:sll $2,$16,5$L122:addu $2,$2,$18lw $3,28($2)lw $2,2420($sp)move $5,$0.set noreorder.set nomacroj $L71sw $3,24($2).set macro.set reorder$L73:lw $2,1024($18).set noreorder.set nomacrobne $16,$2,$L72lbu $2,55($sp).set macro.set reorderlbu $3,54($sp)lbu $5,45($sp)sll $3,$3,16sll $2,$2,24lbu $7,44($sp)lbu $4,53($sp)lbu $6,52($sp)or $2,$2,$3sll $5,$5,8lbu $3,47($sp)or $2,$2,$6sll $4,$4,8or $19,$5,$7or $20,$4,$2sw $3,2372($sp).set noreorder.set nomacrobeq $19,$0,$L117lbu $fp,46($sp).set macro.set reorder$L76:sll $3,$19,5sll $2,$19,11subu $4,$2,$3subu $6,$20,$4.set noreorder.set nomacroblez $6,$L81slt $2,$6,2017.set macro.set reorder.set noreorder.set nomacrobne $2,$0,$L118sltu $3,$6,32.set macro.set reorderlw $2,16($22)li $6,2016 # 0x7e0addu $4,$4,$2$L86:andi $2,$4,0x3.set noreorder.set nomacrobne $2,$0,$L85lw $2,2368($sp).set macro.set reorder.set noreorder.set nomacrobne $2,$0,$L85li $2,-32 # 0xffffffffffffffe0.set macro.set reorderaddiu $4,$4,-4and $2,$6,$2addu $8,$4,$2sltu $3,$4,$8.set noreorder.set nomacrobeq $3,$0,$L89addiu $7,$23,-4.set macro.set reorder$L108:#APP.word 0b01110000111000000000010001010100 #S32LDI XR1,$7,4.word 0b01110000111000000000010010010100 #S32LDI XR2,$7,4.word 0b01110000111000000000010011010100 #S32LDI XR3,$7,4.word 0b01110000111000000000010100010100 #S32LDI XR4,$7,4.word 0b01110000111000000000010101010100 #S32LDI XR5,$7,4.word 0b01110000111000000000010110010100 #S32LDI XR6,$7,4.word 0b01110000111000000000010111010100 #S32LDI XR7,$7,4.word 0b01110000111000000000011000010100 #S32LDI XR8,$7,4.word 0b01110000100000000000010001010101 #S32SDI XR1,$4,4.word 0b01110000100000000000010010010101 #S32SDI XR2,$4,4.word 0b01110000100000000000010011010101 #S32SDI XR3,$4,4.word 0b01110000100000000000010100010101 #S32SDI XR4,$4,4.word 0b01110000100000000000010101010101 #S32SDI XR5,$4,4.word 0b01110000100000000000010110010101 #S32SDI XR6,$4,4.word 0b01110000100000000000010111010101 #S32SDI XR7,$4,4.word 0b01110000100000000000011000010101 #S32SDI XR8,$4,4#NO_APPsltu $2,$4,$8bne $2,$0,$L108$L89:andi $2,$6,0x1caddu $8,$8,$2sltu $3,$4,$8.set noreorder.set nomacrobeq $3,$0,$L123andi $3,$6,0x3.set macro.set reorder$L109:#APP.word 0b01110000111000000000010001010100 #S32LDI XR1,$7,4.word 0b01110000100000000000010001010101 #S32SDI XR1,$4,4#NO_APPsltu $2,$4,$8.set noreorder.set nomacrobne $2,$0,$L109andi $3,$6,0x3.set macro.set reorder$L123:li $2,2 # 0x2.set noreorder.set nomacrobeq $3,$2,$L94li $2,3 # 0x3.set macro.set reorder.set noreorder.set nomacrobeq $3,$2,$L95li $2,1 # 0x1.set macro.set reorderbeq $3,$2,$L119$L81:lw $3,2372($sp)sll $2,$3,8or $2,$2,$fpaddiu $2,$2,-1.set noreorder.set nomacrobne $19,$2,$L72lw $7,2420($sp).set macro.set reordermove $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,16sw $2,0($7)sw $3,4($7)sw $4,8($7)sw $5,12($7).set noreorder.set nomacrobne $6,$8,$L97addiu $7,$7,16.set macro.set reorderlw $2,4($6)lw $3,0($6)move $5,$0sw $2,4($7).set noreorder.set nomacroj $L71sw $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 nomacroj $31addiu $sp,$sp,2416.set macro.set reorder$L118:lw $2,16($22).set noreorder.set nomacrobeq $3,$0,$L86addu $4,$4,$2.set macro.set reorder$L85:.set noreorder.set nomacrojal memcpymove $5,$23.set macro.set reorderlw $3,2372($sp)sll $2,$3,8or $2,$2,$fpaddiu $2,$2,-1.set noreorder.set nomacrobne $19,$2,$L72lw $7,2420($sp).set macro.set reorder.set noreorder.set nomacroj $L124move $6,$22.set macro.set reorder$L115:li $5,-22 # 0xffffffffffffffealw $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 nomacroj $31addiu $sp,$sp,2416.set macro.set reorder$L119:lbu $2,4($7).set noreorder.set nomacroj $L81sb $2,4($4).set macro.set reorder$L94:lbu $2,4($7)sb $2,4($4)lbu $3,5($7).set noreorder.set nomacroj $L81sb $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 nomacroj $L81sb $2,6($4).set macro.set reorder$L117:move $4,$22.set noreorder.set nomacrojal av_new_packetmove $5,$20.set macro.set reorder.set noreorder.set nomacrobne $2,$0,$L71li $5,-5 # 0xfffffffffffffffb.set macro.set reorder.set noreorder.set nomacrojal url_ftellmove $4,$17.set macro.set reordersll $6,$16,5addu $6,$6,$18lw $7,12($6)addiu $4,$2,-2352sw $7,24($22)sltu $6,$4,$2addiu $5,$3,-1lw $3,1028($18)addu $5,$6,$5li $2,-1 # 0xffffffffffffffffsw $4,48($22).set noreorder.set nomacrobeq $3,$2,$L76sw $5,52($22).set macro.set reorderlw $2,1032($18)lw $3,1036($18)addiu $4,$2,6000sltu $6,$4,$2addu $5,$6,$3sw $4,1032($18).set noreorder.set nomacroj $L76sw $5,1036($18).set macro.set reorder$L107:.set noreorder.set nomacrojal memcpyli $6,2304 # 0x900.set macro.set reorder.set noreorder.set nomacroj $L122sll $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 + -
显示快捷键?