bethsoftvid.s
来自「君正早期ucos系统(只有早期的才不没有打包成库),MPLAYER,文件系统,图」· S 代码 · 共 876 行
S
876 行
.file 1 "bethsoftvid.c".section .mdebug.abi32.previous.section .text.vid_probe,"ax",@progbits.align 2.align 5.ent vid_probe.type vid_probe, @functionvid_probe:.frame $sp,0,$31 # vars= 0, regs= 0/0, args= 0, gp= 0.mask 0x00000000,0.fmask 0x00000000,0.set noreorder.set nomacrolw $2,4($4)lbu $3,3($2)lbu $5,2($2)lbu $6,0($2)lbu $4,1($2)sll $5,$5,16sll $3,$3,24or $3,$3,$5or $3,$3,$6sll $4,$4,8li $2,4456448 # 0x440000or $4,$4,$3ori $2,$2,0x4956xor $4,$4,$2li $2,100 # 0x64j $31movn $2,$0,$4.set macro.set reorder.end vid_probe.section .rodata.str1.4,"aMS",@progbits,1.align 2$LC0:.ascii "reached terminating character but not all frames read.\012".ascii "\000".align 2$LC1:.ascii "unknown block (character = %c, decimal = %d, hex = %x)!!".ascii "!\012\000".section .text.vid_read_packet,"ax",@progbits.align 2.align 5.ent vid_read_packet.type vid_read_packet, @functionvid_read_packet:.frame $sp,88,$31 # vars= 24, regs= 10/0, args= 24, gp= 0.mask 0xc0ff0000,-4.fmask 0x00000000,0addiu $sp,$sp,-88sw $19,60($sp)sw $17,52($sp)sw $31,84($sp)sw $fp,80($sp)sw $23,76($sp)sw $22,72($sp)sw $21,68($sp)sw $20,64($sp)sw $18,56($sp)sw $16,48($sp)lw $18,12($4)move $17,$4lw $2,12($18).set noreorder.set nomacrobeq $2,$0,$L65move $19,$5.set macro.set reorder$L7:li $16,-5 # 0xfffffffffffffffb$L21:move $2,$16$L73:lw $31,84($sp)lw $fp,80($sp)lw $23,76($sp)lw $22,72($sp)lw $21,68($sp)lw $20,64($sp)lw $19,60($sp)lw $18,56($sp)lw $17,52($sp)lw $16,48($sp).set noreorder.set nomacroj $31addiu $sp,$sp,88.set macro.set reorder$L65:addiu $20,$4,16.set noreorder.set nomacrojal url_feofmove $4,$20.set macro.set reorder.set noreorder.set nomacrobne $2,$0,$L21li $16,-5 # 0xfffffffffffffffb.set macro.set reorder.set noreorder.set nomacrojal get_bytemove $4,$20.set macro.set reorderandi $16,$2,0x00ffsltu $2,$16,5.set noreorder.set nomacrobeq $2,$0,$L16li $2,124 # 0x7c.set macro.set reordersltu $2,$16,3.set noreorder.set nomacrobeq $2,$0,$L11li $3,1 # 0x1.set macro.set reorder.set noreorder.set nomacrobeq $16,$3,$L11li $2,2 # 0x2.set macro.set reorder.set noreorder.set nomacrobeq $16,$2,$L66li $6,-1 # 0xffffffffffffffff.set macro.set reorderlui $6,%hi($LC1)$L74:move $7,$16move $4,$17addiu $6,$6,%lo($LC1)move $5,$0sw $16,16($sp).set noreorder.set nomacrojal av_logsw $16,20($sp).set macro.set reorder.set noreorder.set nomacroj $L21li $16,-1 # 0xffffffffffffffff.set macro.set reorder$L16:.set noreorder.set nomacrobeq $16,$2,$L14li $2,125 # 0x7d.set macro.set reorder.set noreorder.set nomacrobeq $16,$2,$L15li $2,20 # 0x14.set macro.set reorder.set noreorder.set nomacrobne $16,$2,$L74lui $6,%hi($LC1).set macro.set reorderlw $2,0($18).set noreorder.set nomacrobeq $2,$0,$L75li $2,1 # 0x1.set macro.set reorderlui $6,%hi($LC0)move $4,$17addiu $6,$6,%lo($LC0).set noreorder.set nomacrojal av_logli $5,1 # 0x1.set macro.set reorderli $2,1 # 0x1$L75:li $16,-5 # 0xfffffffffffffffb.set noreorder.set nomacroj $L21sw $2,12($18).set macro.set reorder$L11:lw $2,100($17)li $4,1000 # 0x3e8lw $3,8($2)li $2,1000 # 0x3e8lw $6,44($3)lw $5,40($3)sw $2,24($sp)mul $2,$5,$6.set noreorder.set nomacrojal av_mallocsw $2,32($sp).set macro.set reorder.set noreorder.set nomacrobeq $2,$0,$L23move $21,$2.set macro.set reordermove $4,$20.set noreorder.set nomacrojal url_ftellandi $fp,$16,0x00ff.set macro.set reordersw $2,40($sp)sw $3,44($sp)sb $fp,0($21)lw $16,8($18)lw $17,4($18).set noreorder.set nomacrojal get_le16move $4,$20.set macro.set reorderaddu $16,$16,$17addu $2,$2,$16sw $2,8($18)li $2,4 # 0x4.set noreorder.set nomacrobne $fp,$2,$L67move $4,$20.set macro.set reorderaddiu $5,$21,1.set noreorder.set nomacrojal get_bufferli $6,2 # 0x2.set macro.set reorderli $3,2 # 0x2beq $2,$3,$L68$L28:.set noreorder.set nomacrojal av_freemove $4,$21.set macro.set reorder.set noreorder.set nomacroj $L21li $16,-1 # 0xffffffffffffffff.set macro.set reorder$L14:.set noreorder.set nomacrojal get_le16move $4,$20.set macro.set reorderlw $3,104($17)move $4,$20.set noreorder.set nomacrojal get_bytelw $16,8($3).set macro.set reorderli $3,256 # 0x100subu $3,$3,$2li $2,983040 # 0xf0000ori $2,$2,0x4240div $0,$2,$3teq $3,$0,7lw $4,104($17)lw $5,8($4)lw $3,68($5)lw $6,392($5)mflo $2sw $2,64($16)lw $4,64($5)mul $3,$3,$4mul $3,$3,$6sw $3,4($5)$L15:.set noreorder.set nomacrojal get_le16move $4,$20.set macro.set reordermove $6,$2move $4,$20move $5,$19.set noreorder.set nomacrojal av_get_packetmove $16,$2.set macro.set reorderli $3,1 # 0x1.set noreorder.set nomacrobne $16,$2,$L7sw $3,24($19).set macro.set reorder.set noreorder.set nomacroj $L73move $2,$16.set macro.set reorder$L23:.set noreorder.set nomacroj $L21li $16,-12 # 0xfffffffffffffff4.set macro.set reorder$L68:li $16,3 # 0x3$L27:.set noreorder.set nomacroj $L30move $22,$0.set macro.set reorder$L71:li $2,3 # 0x3.set noreorder.set nomacrobeq $fp,$2,$L69move $4,$20.set macro.set reorder$L34:andi $2,$17,0x7f$L77:lw $3,32($sp)addu $22,$22,$2.set noreorder.set nomacrobeq $3,$22,$L70slt $2,$3,$22.set macro.set reorderbne $2,$0,$L28.set noreorder.set nomacrobeq $17,$0,$L76move $4,$19.set macro.set reorder$L30:move $4,$21addiu $6,$16,1000.set noreorder.set nomacrojal av_fast_reallocaddiu $5,$sp,24.set macro.set reordermove $23,$2move $4,$20.set noreorder.set nomacrobeq $2,$0,$L23move $21,$2.set macro.set reorderjal get_bytemove $17,$2slt $3,$17,128addu $2,$23,$16sb $17,0($2).set noreorder.set nomacrobeq $3,$0,$L71addiu $16,$16,1.set macro.set reorderaddu $5,$23,$16move $4,$20.set noreorder.set nomacrobeq $17,$0,$L34move $6,$17.set macro.set reorder.set noreorder.set nomacrojal get_bufferaddu $16,$16,$17.set macro.set reorder.set noreorder.set nomacrobeq $17,$2,$L77andi $2,$17,0x7f.set macro.set reorderj $L28$L70:.set noreorder.set nomacrojal get_bytemove $4,$20.set macro.set reorder.set noreorder.set nomacrobeq $2,$0,$L76move $4,$19.set macro.set reorderli $2,1 # 0x1move $4,$20li $6,-1 # 0xffffffffffffffffli $7,-1 # 0xffffffffffffffff.set noreorder.set nomacrojal url_fseeksw $2,16($sp).set macro.set reordermove $4,$19$L76:.set noreorder.set nomacrojal av_new_packetmove $5,$16.set macro.set reorder.set noreorder.set nomacrobltz $2,$L28sltu $2,$16,32.set macro.set reorder.set noreorder.set nomacrobne $2,$0,$L44lw $4,16($19).set macro.set reorderandi $2,$4,0x3.set noreorder.set nomacrobne $2,$0,$L44andi $2,$23,0x3.set macro.set reorder.set noreorder.set nomacrobne $2,$0,$L78move $5,$23.set macro.set reorderli $2,-32 # 0xffffffffffffffe0addiu $4,$4,-4and $2,$16,$2addu $6,$4,$2sltu $3,$4,$6.set noreorder.set nomacrobeq $3,$0,$L48addiu $5,$23,-4.set macro.set reorder$L59:#APP.word 0b01110000101000000000010001010100 #S32LDI XR1,$5,4.word 0b01110000101000000000010010010100 #S32LDI XR2,$5,4.word 0b01110000101000000000010011010100 #S32LDI XR3,$5,4.word 0b01110000101000000000010100010100 #S32LDI XR4,$5,4.word 0b01110000101000000000010101010100 #S32LDI XR5,$5,4.word 0b01110000101000000000010110010100 #S32LDI XR6,$5,4.word 0b01110000101000000000010111010100 #S32LDI XR7,$5,4.word 0b01110000101000000000011000010100 #S32LDI XR8,$5,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,$6bne $2,$0,$L59$L48:andi $2,$16,0x1caddu $6,$6,$2sltu $3,$4,$6.set noreorder.set nomacrobeq $3,$0,$L79andi $3,$16,0x3.set macro.set reorder$L60:#APP.word 0b01110000101000000000010001010100 #S32LDI XR1,$5,4.word 0b01110000100000000000010001010101 #S32SDI XR1,$4,4#NO_APPsltu $2,$4,$6.set noreorder.set nomacrobne $2,$0,$L60andi $3,$16,0x3.set macro.set reorder$L79:li $2,2 # 0x2.set noreorder.set nomacrobeq $3,$2,$L54li $2,3 # 0x3.set macro.set reorder.set noreorder.set nomacrobeq $3,$2,$L55li $2,1 # 0x1.set macro.set reorderbne $3,$2,$L52lbu $2,4($5)sb $2,4($4)$L52:.set noreorder.set nomacrojal av_freemove $4,$23.set macro.set reordersw $0,24($19)lw $3,40($sp)lw $6,8($18)lw $2,0($18)addiu $4,$3,-1sra $5,$4,31sra $3,$6,31addiu $2,$2,-1sw $3,4($19)sw $2,0($18)sw $5,52($19)sw $4,48($19).set noreorder.set nomacroj $L21sw $6,0($19).set macro.set reorder$L44:move $5,$23$L78:.set noreorder.set nomacrojal memcpymove $6,$16.set macro.set reorderj $L52$L67:.set noreorder.set nomacroj $L27li $16,1 # 0x1.set macro.set reorder$L66:li $7,-1 # 0xffffffffffffffffmove $4,$20.set noreorder.set nomacrojal url_fseeksw $3,16($sp).set macro.set reordermove $4,$20move $5,$19.set noreorder.set nomacrojal av_get_packetli $6,769 # 0x301.set macro.set reordermove $16,$2li $2,769 # 0x301bne $16,$2,$L72.set noreorder.set nomacroj $L21sw $0,24($19).set macro.set reorder$L69:jal get_byteaddu $3,$23,$16addiu $16,$16,1.set noreorder.set nomacroj $L34sb $2,0($3).set macro.set reorder$L72:.set noreorder.set nomacrobeq $19,$0,$L21li $16,-5 # 0xfffffffffffffffb.set macro.set reorderlw $2,36($19)beq $2,$0,$L21.set noreorder.set nomacrojal $2move $4,$19.set macro.set reorder.set noreorder.set nomacroj $L21li $16,-5 # 0xfffffffffffffffb.set macro.set reorder$L55:lbu $2,4($5)sb $2,4($4)lbu $3,5($5)sb $3,5($4)lbu $2,6($5).set noreorder.set nomacroj $L52sb $2,6($4).set macro.set reorder$L54:lbu $2,4($5)sb $2,4($4)lbu $3,5($5).set noreorder.set nomacroj $L52sb $3,5($4).set macro.set reorder.end vid_read_packet.section .text.vid_read_header,"ax",@progbits.align 2.align 5.ent vid_read_header.type vid_read_header, @functionvid_read_header:.frame $sp,56,$31 # vars= 0, regs= 7/0, args= 24, gp= 0.mask 0x803f0000,-8.fmask 0x00000000,0.set noreorder.set nomacroaddiu $sp,$sp,-56sw $21,44($sp)sw $18,32($sp)li $21,1 # 0x1addiu $18,$4,16sw $31,48($sp)li $6,5 # 0x5move $7,$0sw $19,36($sp)sw $17,28($sp)move $19,$4sw $20,40($sp)sw $16,24($sp)move $4,$18sw $21,16($sp)jal url_fseeklw $20,12($19)jal get_le16move $4,$18sw $2,0($20)move $4,$19jal av_new_streammove $5,$0move $17,$2li $6,1 # 0x1li $7,60 # 0x3cli $5,32 # 0x20bne $2,$0,$L86move $4,$2$L81:li $4,-12 # 0xfffffffffffffff4$L84:lw $31,48($sp)lw $21,44($sp)lw $20,40($sp)lw $19,36($sp)lw $18,32($sp)lw $17,28($sp)lw $16,24($sp)move $2,$4j $31addiu $sp,$sp,56$L86:jal av_set_pts_infonoplw $16,8($17)li $2,107 # 0x6bsw $2,228($16)sw $0,224($16)jal get_le16move $4,$18sw $2,40($16)move $4,$18jal get_le16lw $16,8($17)lw $3,8($17)sw $2,44($16)li $2,14 # 0xesw $2,52($3)jal get_le16move $4,$18sw $2,4($20)jal get_le16move $4,$18move $4,$19jal av_new_streammove $5,$0li $5,11025 # 0x2b11sll $3,$5,3beq $2,$0,$L81move $4,$0lw $2,8($2)sw $3,4($2)li $3,65536 # 0x10000ori $3,$3,0x5sw $3,228($2)li $3,8 # 0x8sw $21,68($2)sw $3,392($2)sw $21,224($2)j $L84sw $5,64($2).set macro.set reorder.end vid_read_header.globl bethsoftvid_demuxer.section .rodata.str1.4.align 2$LC2:.ascii "bethsoftvid\000".align 2$LC3:.ascii "Bethesda Softworks 'Daggerfall' VID format\000".data.align 2.type bethsoftvid_demuxer, @object.size bethsoftvid_demuxer, 64bethsoftvid_demuxer:.word $LC2.word $LC3.word 16.word vid_probe.word vid_read_header.word vid_read_packet.space 40.ident "GCC: (GNU) 4.1.2"
⌨️ 快捷键说明
复制代码Ctrl + C
搜索代码Ctrl + F
全屏模式F11
增大字号Ctrl + =
减小字号Ctrl + -
显示快捷键?