ao_null.mid
来自「君正早期ucos系统(只有早期的才不没有打包成库),MPLAYER,文件系统,图」· MID 代码 · 共 377 行
MID
377 行
.file 1 "ao_null.c" .section .mdebug.abi32 .previous .section .text.control,"ax",@progbits .align 2 .align 5 .ent control .type control, @functioncontrol: .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 li $2,-1 # 0xffffffffffffffff .set macro .set reorder .end control .section .text.uninit,"ax",@progbits .align 2 .align 5 .ent uninit .type uninit, @functionuninit: .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 nop .set macro .set reorder .end uninit .section .text.reset,"ax",@progbits .align 2 .align 5 .ent reset .type reset, @functionreset: .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(buffer) j $31 sw $0,%lo(buffer)($2) .set macro .set reorder .end reset .section .text.audio_resume,"ax",@progbits .align 2 .align 5 .ent audio_resume .type audio_resume, @functionaudio_resume: .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 nop .set macro .set reorder .end audio_resume .section .text.play,"ax",@progbits .align 2 .align 5 .ent play .type play, @functionplay: .frame $sp,0,$31 # vars= 0, regs= 0/0, args= 0, gp= 0 .mask 0x00000000,0 .fmask 0x00000000,0 .set noreorder .set nomacro lui $4,%hi(ao_data) addiu $4,$4,%lo(ao_data) lui $7,%hi(buffer) lw $6,%lo(buffer)($7) lw $3,20($4) lw $2,16($4) subu $3,$3,$6 div $0,$3,$2 teq $2,$0,7 mflo $3 div $0,$5,$2 teq $2,$0,7 mflo $5 slt $4,$5,$3 movz $5,$3,$4 mul $2,$2,$5 addu $6,$6,$2 j $31 sw $6,%lo(buffer)($7) .set macro .set reorder .end play .section .text.init,"ax",@progbits .align 2 .align 5 .ent init .type init, @functioninit: .frame $sp,24,$31 # vars= 0, regs= 1/0, args= 16, gp= 0 .mask 0x80000000,-8 .fmask 0x00000000,0 .set noreorder .set nomacro mul $11,$5,$4 lui $7,%hi(ao_data) addiu $10,$7,%lo(ao_data) li $2,65536 # 0x10000 move $8,$4 move $9,$5 addiu $sp,$sp,-24 lui $4,%hi(last_tv) sw $2,20($10) li $3,1024 # 0x400 li $2,3 # 0x3 sw $31,16($sp) addiu $4,$4,%lo(last_tv) move $5,$0 sw $3,16($10) sw $8,%lo(ao_data)($7) sw $11,12($10) sw $9,4($10) beq $6,$2,$L12 sw $6,8($10) li $2,1 # 0x1 beq $6,$2,$L12 sll $9,$11,1 sw $9,12($10)$L12: lui $2,%hi(buffer) jal gettimeofday sw $0,%lo(buffer)($2) lw $31,16($sp) li $2,1 # 0x1 j $31 addiu $sp,$sp,24 .set macro .set reorder .end init .section .text.get_space,"ax",@progbits .align 2 .align 5 .ent get_space .type get_space, @functionget_space: .frame $sp,32,$31 # vars= 8, regs= 1/0, args= 16, gp= 0 .mask 0x80000000,-8 .fmask 0x00000000,0 .set noreorder .set nomacro addiu $sp,$sp,-32 addiu $4,$sp,16 sw $31,24($sp) jal gettimeofday move $5,$0 lui $8,%hi(last_tv) addiu $10,$8,%lo(last_tv) lw $2,4($10) lw $5,20($sp) li $4,274857984 # 0x10620000 subu $5,$5,$2 ori $4,$4,0x4dd3 mult $5,$4 lui $3,%hi(ao_data) mfhi $2 addiu $9,$3,%lo(ao_data) sra $5,$5,31 lw $6,12($9) sra $2,$2,6 subu $2,$2,$5 mul $2,$6,$2 lw $5,%lo(last_tv)($8) lw $3,16($sp) mult $2,$4 subu $3,$3,$5 mfhi $4 mul $11,$3,$6 sra $2,$2,31 lui $7,%hi(buffer) sra $4,$4,6 lw $5,%lo(buffer)($7) subu $4,$4,$2 addu $2,$11,$4 subu $5,$5,$2 bltz $5,$L23 sw $5,%lo(buffer)($7)$L18: blez $2,$L20 lw $2,16($sp) lw $3,20($sp) sw $2,%lo(last_tv)($8) sw $3,4($10)$L20: lw $2,20($9) lw $31,24($sp) subu $2,$2,$5 j $31 addiu $sp,$sp,32$L23: move $5,$0 j $L18 sw $0,%lo(buffer)($7) .set macro .set reorder .end get_space .section .text.audio_pause,"ax",@progbits .align 2 .align 5 .ent audio_pause .type audio_pause, @functionaudio_pause: .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(buffer) j $31 sw $0,%lo(buffer)($2) .set macro .set reorder .end audio_pause .globl __floatsisf .globl __divsf3 .section .text.get_delay,"ax",@progbits .align 2 .align 5 .ent get_delay .type get_delay, @functionget_delay: .frame $sp,40,$31 # vars= 8, regs= 3/0, args= 16, gp= 0 .mask 0x80030000,-8 .fmask 0x00000000,0 .set noreorder .set nomacro addiu $sp,$sp,-40 move $5,$0 addiu $4,$sp,16 sw $17,28($sp) sw $31,32($sp) jal gettimeofday sw $16,24($sp) lui $8,%hi(last_tv) addiu $10,$8,%lo(last_tv) lw $5,4($10) lw $9,20($sp) li $4,274857984 # 0x10620000 ori $4,$4,0x4dd3 subu $5,$9,$5 mult $5,$4 lui $3,%hi(ao_data+12) mfhi $2 lw $17,%lo(ao_data+12)($3) sra $5,$5,31 sra $2,$2,6 subu $2,$2,$5 mul $2,$17,$2 lw $5,%lo(last_tv)($8) lw $7,16($sp) mult $2,$4 subu $5,$7,$5 mfhi $4 mul $3,$5,$17 sra $2,$2,31 lui $6,%hi(buffer) sra $4,$4,6 subu $4,$4,$2 lw $2,%lo(buffer)($6) addu $5,$3,$4 subu $2,$2,$5 slt $3,$2,0 movn $2,$0,$3 sw $2,%lo(buffer)($6) blez $5,$L29 move $4,$2 sw $7,%lo(last_tv)($8) sw $9,4($10)$L29: jal __floatsisf nop move $4,$17 jal __floatsisf move $16,$2 move $5,$2 jal __divsf3 move $4,$16 lw $31,32($sp) lw $17,28($sp) lw $16,24($sp) j $31 addiu $sp,$sp,40 .set macro .set reorder .end get_delay .globl audio_out_null .data .align 2 .type audio_out_null, @object .size audio_out_null, 40audio_out_null: .word info .word control .word init .word uninit .word reset .word get_space .word play .word get_delay .word audio_pause .word audio_resume .comm last_tv,8,4 .comm buffer,4,4 .section .rodata.str1.4,"aMS",@progbits,1 .align 2$LC0: .ascii "Null audio output\000" .align 2$LC1: .ascii "null\000" .align 2$LC2: .ascii "Tobias Diedrich <ranma+mplayer@tdiedrich.de>\000" .subsection -1 .align 2$LC3: .ascii "\000" .data .align 2 .type info, @object .size info, 16info: .word $LC0 .word $LC1 .word $LC2 .word $LC3 .ident "GCC: (GNU) 4.1.2"
⌨️ 快捷键说明
复制代码Ctrl + C
搜索代码Ctrl + F
全屏模式F11
增大字号Ctrl + =
减小字号Ctrl + -
显示快捷键?