bitwise.mid
来自「君正早期ucos系统(只有早期的才不没有打包成库),MPLAYER,文件系统,图」· MID 代码 · 共 1,773 行 · 第 1/2 页
MID
1,773 行
.file 1 "bitwise.c" .section .mdebug.abi32 .previous .section .text.oggpack_writetrunc,"ax",@progbits .align 2 .align 5 .globl oggpack_writetrunc .ent oggpack_writetrunc .type oggpack_writetrunc, @functionoggpack_writetrunc: .frame $sp,0,$31 # vars= 0, regs= 0/0, args= 0, gp= 0 .mask 0x00000000,0 .fmask 0x00000000,0 .set noreorder .set nomacro lw $7,8($4) andi $3,$5,0x7 lui $2,%hi(mask) sra $5,$5,3 addu $7,$7,$5 sll $6,$3,2 addiu $2,$2,%lo(mask) sw $5,0($4) sw $7,12($4) sw $3,4($4) addu $6,$6,$2 lbu $3,0($7) lw $2,0($6) and $2,$2,$3 j $31 sb $2,0($7) .set macro .set reorder .end oggpack_writetrunc .section .text.oggpackB_writetrunc,"ax",@progbits .align 2 .align 5 .globl oggpackB_writetrunc .ent oggpackB_writetrunc .type oggpackB_writetrunc, @functionoggpackB_writetrunc: .frame $sp,0,$31 # vars= 0, regs= 0/0, args= 0, gp= 0 .mask 0x00000000,0 .fmask 0x00000000,0 .set noreorder .set nomacro lw $7,8($4) andi $3,$5,0x7 lui $2,%hi(mask8B) sra $5,$5,3 addu $7,$7,$5 sll $6,$3,2 addiu $2,$2,%lo(mask8B) sw $5,0($4) sw $7,12($4) sw $3,4($4) addu $6,$6,$2 lbu $3,0($7) lw $2,0($6) and $2,$2,$3 j $31 sb $2,0($7) .set macro .set reorder .end oggpackB_writetrunc .section .text.oggpack_reset,"ax",@progbits .align 2 .align 5 .globl oggpack_reset .ent oggpack_reset .type oggpack_reset, @functionoggpack_reset: .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,8($4) sw $2,12($4) sb $0,0($2) sw $0,4($4) j $31 sw $0,0($4) .set macro .set reorder .end oggpack_reset .section .text.oggpack_look,"ax",@progbits .align 2 .align 5 .globl oggpack_look .ent oggpack_look .type oggpack_look, @functionoggpack_look: .frame $sp,0,$31 # vars= 0, regs= 0/0, args= 0, gp= 0 .mask 0x00000000,0 .fmask 0x00000000,0 .set noreorder .set nomacro lw $9,0($4) lw $8,16($4) lui $2,%hi(mask) sll $3,$5,2 lw $7,4($4) move $6,$4 addiu $2,$2,%lo(mask) addiu $4,$9,4 addu $3,$3,$2 slt $4,$4,$8 lw $10,0($3) beq $4,$0,$L20 addu $5,$5,$7$L8: lw $8,12($6) slt $3,$5,9 lbu $2,0($8) bne $3,$0,$L12 sra $6,$2,$7 lbu $2,1($8) li $3,8 # 0x8 subu $3,$3,$7 sll $2,$2,$3 slt $4,$5,17 bne $4,$0,$L12 or $6,$6,$2 lbu $2,2($8) li $3,16 # 0x10 subu $3,$3,$7 sll $2,$2,$3 slt $4,$5,25 bne $4,$0,$L12 or $6,$6,$2 lbu $2,3($8) li $3,24 # 0x18 subu $3,$3,$7 sll $2,$2,$3 slt $4,$5,33 bne $4,$0,$L12 or $6,$6,$2 bne $7,$0,$L21 subu $3,$0,$7$L12: j $31 and $2,$6,$10$L21: lbu $2,4($8) sll $2,$2,$3 j $L12 or $6,$6,$2$L20: sll $2,$9,3 addu $2,$5,$2 sll $3,$8,3 slt $2,$3,$2 beq $2,$0,$L8 li $2,-1 # 0xffffffffffffffff j $31 nop .set macro .set reorder .end oggpack_look .section .text.oggpackB_look,"ax",@progbits .align 2 .align 5 .globl oggpackB_look .ent oggpackB_look .type oggpackB_look, @functionoggpackB_look: .frame $sp,0,$31 # vars= 0, regs= 0/0, args= 0, gp= 0 .mask 0x00000000,0 .fmask 0x00000000,0 .set noreorder .set nomacro lw $6,0($4) lw $3,16($4) lw $7,4($4) addiu $2,$6,4 slt $2,$2,$3 beq $2,$0,$L34 addu $9,$5,$7$L23: lw $8,12($4) addiu $2,$7,24 lbu $3,0($8) slt $4,$9,9 bne $4,$0,$L27 sll $6,$3,$2 lbu $2,1($8) addiu $3,$7,16 sll $2,$2,$3 slt $4,$9,17 bne $4,$0,$L27 or $6,$6,$2 lbu $2,2($8) addiu $3,$7,8 sll $2,$2,$3 slt $4,$9,25 bne $4,$0,$L27 or $6,$6,$2 lbu $2,3($8) slt $3,$9,33 sll $2,$2,$7 bne $3,$0,$L27 or $6,$6,$2 bne $7,$0,$L35 nop$L27: li $2,32 # 0x20 subu $2,$2,$5 addiu $3,$2,1 sra $2,$2,1 srl $2,$6,$2 sra $3,$3,1 j $31 srl $2,$2,$3$L35: lbu $3,4($8) li $2,8 # 0x8 subu $2,$2,$7 sra $3,$3,$2 j $L27 or $6,$6,$3$L34: sll $2,$6,3 addu $2,$9,$2 sll $3,$3,3 slt $2,$3,$2 beq $2,$0,$L23 li $2,-1 # 0xffffffffffffffff j $31 nop .set macro .set reorder .end oggpackB_look .section .text.oggpack_look1,"ax",@progbits .align 2 .align 5 .globl oggpack_look1 .ent oggpack_look1 .type oggpack_look1, @functionoggpack_look1: .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,0($4) lw $3,16($4) slt $2,$2,$3 beq $2,$0,$L39 li $5,-1 # 0xffffffffffffffff lw $2,12($4) lw $4,4($4) lbu $3,0($2) sra $3,$3,$4 andi $5,$3,0x1$L39: j $31 move $2,$5 .set macro .set reorder .end oggpack_look1 .section .text.oggpackB_look1,"ax",@progbits .align 2 .align 5 .globl oggpackB_look1 .ent oggpackB_look1 .type oggpackB_look1, @functionoggpackB_look1: .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,16($4) lw $2,0($4) slt $2,$2,$3 beq $2,$0,$L44 li $3,-1 # 0xffffffffffffffff lw $5,12($4) lw $4,4($4) li $3,7 # 0x7 lbu $2,0($5) subu $3,$3,$4 sra $2,$2,$3 andi $3,$2,0x1$L44: j $31 move $2,$3 .set macro .set reorder .end oggpackB_look1 .section .text.oggpack_adv,"ax",@progbits .align 2 .align 5 .globl oggpack_adv .ent oggpack_adv .type oggpack_adv, @functionoggpack_adv: .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,4($4) move $6,$4 addu $5,$5,$2 andi $7,$5,0x7 bltz $5,$L49 move $3,$5 lw $2,12($6) lw $4,0($6) sra $3,$3,3 addu $4,$4,$3 addu $2,$2,$3 sw $7,4($6) sw $2,12($6) j $31 sw $4,0($6)$L49: lw $2,12($6) lw $4,0($6) addiu $3,$5,7 sra $3,$3,3 addu $4,$4,$3 addu $2,$2,$3 sw $7,4($6) sw $2,12($6) j $31 sw $4,0($6) .set macro .set reorder .end oggpack_adv .section .text.oggpack_adv1,"ax",@progbits .align 2 .align 5 .globl oggpack_adv1 .ent oggpack_adv1 .type oggpack_adv1, @functionoggpack_adv1: .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,4($4) addiu $2,$2,1 slt $3,$2,8 bne $3,$0,$L54 sw $2,4($4) lw $3,12($4) lw $2,0($4) addiu $3,$3,1 addiu $2,$2,1 sw $2,0($4) sw $3,12($4) sw $0,4($4)$L54: j $31 nop .set macro .set reorder .end oggpack_adv1 .section .text.oggpack_read,"ax",@progbits .align 2 .align 5 .globl oggpack_read .ent oggpack_read .type oggpack_read, @functionoggpack_read: .frame $sp,0,$31 # vars= 0, regs= 0/0, args= 0, gp= 0 .mask 0x00000000,0 .fmask 0x00000000,0 .set noreorder .set nomacro lw $10,0($4) lw $6,16($4) lui $2,%hi(mask) sll $3,$5,2 lw $7,4($4) move $9,$4 addiu $2,$2,%lo(mask) addiu $4,$10,4 addu $3,$3,$2 slt $4,$4,$6 lw $11,0($3) beq $4,$0,$L68 addu $5,$5,$7$L56: lw $8,12($9) slt $3,$5,9 lbu $2,0($8) beq $3,$0,$L69 sra $6,$2,$7$L60: and $6,$11,$6$L59: bltz $5,$L70 move $2,$5 sra $2,$2,3 addu $4,$10,$2 addu $2,$8,$2 andi $3,$5,0x7 sw $2,12($9) move $2,$6 sw $3,4($9) j $31 sw $4,0($9)$L69: lbu $2,1($8) li $3,8 # 0x8 subu $3,$3,$7 sll $2,$2,$3 slt $4,$5,17 bne $4,$0,$L60 or $6,$6,$2 lbu $2,2($8) li $3,16 # 0x10 subu $3,$3,$7 sll $2,$2,$3 slt $4,$5,25 bne $4,$0,$L60 or $6,$6,$2 lbu $2,3($8) li $3,24 # 0x18 subu $3,$3,$7 sll $2,$2,$3 slt $4,$5,33 bne $4,$0,$L60 or $6,$6,$2 beq $7,$0,$L60 subu $3,$0,$7 lbu $2,4($8) sll $2,$2,$3 j $L60 or $6,$6,$2$L70: addiu $2,$5,7 sra $2,$2,3 addu $4,$10,$2 addu $2,$8,$2 andi $3,$5,0x7 sw $2,12($9) move $2,$6 sw $3,4($9) j $31 sw $4,0($9)$L68: sll $2,$10,3 addu $2,$5,$2 sll $3,$6,3 slt $2,$3,$2 beq $2,$0,$L56 nop lw $8,12($9) j $L59 li $6,-1 # 0xffffffffffffffff .set macro .set reorder .end oggpack_read .section .text.oggpackB_read,"ax",@progbits .align 2 .align 5 .globl oggpackB_read .ent oggpackB_read .type oggpackB_read, @functionoggpackB_read: .frame $sp,0,$31 # vars= 0, regs= 0/0, args= 0, gp= 0 .mask 0x00000000,0 .fmask 0x00000000,0 .set noreorder .set nomacro lw $11,0($4) lw $3,16($4) lw $8,4($4) addiu $2,$11,4 slt $2,$2,$3 move $10,$4 beq $2,$0,$L84 addu $6,$5,$8$L72: lw $9,12($10) addiu $2,$8,24 lbu $3,0($9) slt $4,$6,9 beq $4,$0,$L85 sll $7,$3,$2$L76: li $2,32 # 0x20 subu $2,$2,$5 addiu $3,$2,1 sra $2,$2,1 srl $2,$7,$2 sra $3,$3,1 srl $5,$2,$3$L75: bltz $6,$L86 move $2,$6 sra $2,$2,3 addu $4,$11,$2 addu $2,$9,$2 andi $3,$6,0x7 sw $2,12($10) move $2,$5 sw $3,4($10) j $31 sw $4,0($10)$L85: lbu $2,1($9) addiu $3,$8,16 sll $2,$2,$3 slt $4,$6,17 bne $4,$0,$L76 or $7,$7,$2 lbu $2,2($9) addiu $3,$8,8 sll $2,$2,$3 slt $4,$6,25 bne $4,$0,$L76 or $7,$7,$2 lbu $2,3($9) slt $3,$6,33 sll $2,$2,$8 bne $3,$0,$L76 or $7,$7,$2 beq $8,$0,$L76 nop lbu $3,4($9) li $2,8 # 0x8 subu $2,$2,$8 sra $3,$3,$2 j $L76 or $7,$7,$3$L86: addiu $2,$6,7 sra $2,$2,3 addu $4,$11,$2 addu $2,$9,$2 andi $3,$6,0x7 sw $2,12($10) move $2,$5 sw $3,4($10) j $31 sw $4,0($10)$L84: sll $2,$11,3 addu $2,$6,$2 sll $3,$3,3 slt $2,$3,$2 beq $2,$0,$L72 nop lw $9,12($4) j $L75 li $5,-1 # 0xffffffffffffffff .set macro .set reorder .end oggpackB_read .section .text.oggpack_read1,"ax",@progbits .align 2 .align 5 .globl oggpack_read1 .ent oggpack_read1 .type oggpack_read1, @functionoggpack_read1: .frame $sp,0,$31 # vars= 0, regs= 0/0, args= 0, gp= 0 .mask 0x00000000,0 .fmask 0x00000000,0 .set noreorder .set nomacro lw $6,0($4) lw $2,16($4) slt $2,$6,$2 bne $2,$0,$L88 li $7,-1 # 0xffffffffffffffff lw $5,4($4)$L90: addiu $5,$5,1 slt $3,$5,8 addiu $6,$6,1 sw $5,4($4) bne $3,$0,$L94 move $2,$7 lw $3,12($4) sw $6,0($4) addiu $3,$3,1 sw $0,4($4) sw $3,12($4)$L94: j $31 nop$L88: lw $3,12($4) lw $5,4($4) lbu $2,0($3) sra $2,$2,$5 j $L90 andi $7,$2,0x1 .set macro .set reorder .end oggpack_read1 .section .text.oggpackB_read1,"ax",@progbits .align 2 .align 5 .globl oggpackB_read1 .ent oggpackB_read1 .type oggpackB_read1, @functionoggpackB_read1: .frame $sp,0,$31 # vars= 0, regs= 0/0, args= 0, gp= 0 .mask 0x00000000,0 .fmask 0x00000000,0 .set noreorder .set nomacro lw $7,0($4) lw $2,16($4) move $6,$4 slt $2,$7,$2 bne $2,$0,$L96 li $8,-1 # 0xffffffffffffffff lw $5,4($4)$L98: addiu $5,$5,1 slt $3,$5,8 addiu $4,$7,1 sw $5,4($6) bne $3,$0,$L102 move $2,$8 lw $3,12($6) sw $4,0($6) addiu $3,$3,1 sw $0,4($6) sw $3,12($6)$L102: j $31 nop$L96: lw $4,12($4) lw $5,4($6) li $3,7 # 0x7 lbu $2,0($4) subu $3,$3,$5 sra $2,$2,$3 j $L98 andi $8,$2,0x1 .set macro .set reorder .end oggpackB_read1 .section .text.oggpack_bytes,"ax",@progbits .align 2 .align 5 .globl oggpack_bytes .ent oggpack_bytes .type oggpack_bytes, @functionoggpack_bytes: .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,4($4) lw $5,0($4) addiu $2,$3,7 slt $4,$2,0 addiu $3,$3,14 movn $2,$3,$4 sra $2,$2,3 j $31 addu $2,$2,$5 .set macro .set reorder .end oggpack_bytes .section .text.oggpack_bits,"ax",@progbits .align 2 .align 5 .globl oggpack_bits .ent oggpack_bits .type oggpack_bits, @functionoggpack_bits: .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,0($4) lw $3,4($4) sll $2,$2,3 j $31 addu $2,$2,$3 .set macro .set reorder .end oggpack_bits .section .text.oggpack_get_buffer,"ax",@progbits .align 2 .align 5 .globl oggpack_get_buffer .ent oggpack_get_buffer .type oggpack_get_buffer, @functionoggpack_get_buffer: .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 lw $2,8($4) .set macro .set reorder .end oggpack_get_buffer .section .text.oggpackB_write,"ax",@progbits .align 2 .align 5 .globl oggpackB_write .ent oggpackB_write .type oggpackB_write, @functionoggpackB_write: .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 $2,0($4) lw $3,16($4) addiu $2,$2,4 slt $2,$2,$3 move $16,$4 move $18,$5 beq $2,$0,$L122 move $17,$6$L111: lui $2,%hi(mask) addiu $2,$2,%lo(mask) sll $3,$17,2 addu $3,$3,$2 lw $4,0($3) lw $5,4($16) lw $6,12($16) and $4,$18,$4 subu $2,$0,$17 sll $8,$4,$2 addiu $3,$5,24 lbu $4,0($6) addu $7,$17,$5 srl $3,$8,$3 or $3,$3,$4 slt $2,$7,8 bne $2,$0,$L113 sb $3,0($6) lw $2,4($16) lw $4,12($16) addiu $2,$2,16 srl $2,$8,$2 slt $3,$7,16 bne $3,$0,$L113 sb $2,1($4) lw $2,4($16) lw $4,12($16) addiu $2,$2,8 srl $2,$8,$2 slt $3,$7,24 bne $3,$0,$L113 sb $2,2($4) lw $2,4($16) lw $4,12($16) srl $2,$8,$2 slt $3,$7,32 bne $3,$0,$L113 sb $2,3($4) lw $3,4($16) bne $3,$0,$L123 li $2,8 # 0x8 lw $2,12($16) sb $0,4($2)$L113: bltz $7,$L124 move $3,$7 lw $4,0($16) lw $5,12($16) sra $3,$3,3 addu $5,$5,$3 addu $4,$4,$3 andi $2,$7,0x7 sw $2,4($16) sw $4,0($16) sw $5,12($16) lw $31,28($sp) lw $18,24($sp) lw $17,20($sp) lw $16,16($sp) j $31 addiu $sp,$sp,32$L122: lw $4,8($4)
⌨️ 快捷键说明
复制代码Ctrl + C
搜索代码Ctrl + F
全屏模式F11
增大字号Ctrl + =
减小字号Ctrl + -
显示快捷键?