bitwise.s
来自「君正早期ucos系统(只有早期的才不没有打包成库),MPLAYER,文件系统,图」· S 代码 · 共 1,773 行 · 第 1/2 页
S
1,773 行
jal uc_reallocaddiu $5,$3,256lw $3,16($16)lw $4,0($16)addiu $3,$3,256addu $4,$2,$4sw $3,16($16)sw $4,12($16)j $L111sw $2,8($16)$L124:lw $4,0($16)lw $5,12($16)addiu $3,$7,7sra $3,$3,3addu $5,$5,$3addu $4,$4,$3andi $2,$7,0x7sw $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 $31addiu $sp,$sp,32$L123:subu $2,$2,$3lw $3,12($16)sll $2,$8,$2j $L113sb $2,4($3).set macro.set reorder.end oggpackB_write.section .text.oggpackB_writealign,"ax",@progbits.align 2.align 5.globl oggpackB_writealign.ent oggpackB_writealign.type oggpackB_writealign, @functionoggpackB_writealign:.frame $sp,0,$31 # vars= 0, regs= 0/0, args= 0, gp= 0.mask 0x00000000,0.fmask 0x00000000,0.set noreorder.set nomacrolw $3,4($4)li $2,8 # 0x8subu $2,$2,$3move $6,$2slt $2,$2,8bne $2,$0,$L129move $5,$0j $31nop$L129:j oggpackB_writenop.set macro.set reorder.end oggpackB_writealign.section .text.oggpack_write,"ax",@progbits.align 2.align 5.globl oggpack_write.ent oggpack_write.type oggpack_write, @functionoggpack_write:.frame $sp,32,$31 # vars= 0, regs= 4/0, args= 16, gp= 0.mask 0x80070000,-4.fmask 0x00000000,0.set noreorder.set nomacroaddiu $sp,$sp,-32sw $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,4slt $2,$2,$3move $16,$4move $18,$5beq $2,$0,$L144move $17,$6$L133:lui $2,%hi(mask)addiu $2,$2,%lo(mask)sll $3,$17,2addu $3,$3,$2lw $4,0($3)lw $6,12($16)lw $2,4($16)lbu $5,0($6)and $8,$18,$4addu $7,$17,$2sll $2,$8,$2or $2,$2,$5slt $3,$7,8bne $3,$0,$L135sb $2,0($6)lw $3,4($16)li $2,8 # 0x8subu $2,$2,$3lw $4,12($16)srl $2,$8,$2slt $3,$7,16bne $3,$0,$L135sb $2,1($4)lw $3,4($16)li $2,16 # 0x10subu $2,$2,$3lw $4,12($16)srl $2,$8,$2slt $3,$7,24bne $3,$0,$L135sb $2,2($4)lw $3,4($16)li $2,24 # 0x18subu $2,$2,$3lw $4,12($16)srl $2,$8,$2slt $3,$7,32bne $3,$0,$L135sb $2,3($4)lw $2,4($16)bne $2,$0,$L145subu $2,$0,$2lw $2,12($16)sb $0,4($2)$L135:bltz $7,$L146move $3,$7lw $4,0($16)lw $5,12($16)sra $3,$3,3addu $5,$5,$3addu $4,$4,$3andi $2,$7,0x7sw $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 $31addiu $sp,$sp,32$L144:lw $4,8($4)jal uc_reallocaddiu $5,$3,256lw $3,16($16)lw $4,0($16)addiu $3,$3,256addu $4,$2,$4sw $3,16($16)sw $4,12($16)j $L133sw $2,8($16)$L146:lw $4,0($16)lw $5,12($16)addiu $3,$7,7sra $3,$3,3addu $5,$5,$3addu $4,$4,$3andi $2,$7,0x7sw $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 $31addiu $sp,$sp,32$L145:lw $3,12($16)srl $2,$8,$2j $L135sb $2,4($3).set macro.set reorder.end oggpack_write.section .text.oggpack_writealign,"ax",@progbits.align 2.align 5.globl oggpack_writealign.ent oggpack_writealign.type oggpack_writealign, @functionoggpack_writealign:.frame $sp,0,$31 # vars= 0, regs= 0/0, args= 0, gp= 0.mask 0x00000000,0.fmask 0x00000000,0.set noreorder.set nomacrolw $3,4($4)li $2,8 # 0x8subu $2,$2,$3move $6,$2slt $2,$2,8bne $2,$0,$L151move $5,$0j $31nop$L151:j oggpack_writenop.set macro.set reorder.end oggpack_writealign.section .text.oggpack_writecopy_helper,"ax",@progbits.align 2.align 5.ent oggpack_writecopy_helper.type oggpack_writecopy_helper, @functionoggpack_writecopy_helper:.frame $sp,48,$31 # vars= 0, regs= 8/0, args= 16, gp= 0.mask 0x807f0000,-4.fmask 0x00000000,0.set noreorder.set nomacroaddiu $sp,$sp,-48sw $22,40($sp)sw $20,32($sp)sw $19,28($sp)sw $17,20($sp)sw $31,44($sp)sw $21,36($sp)sw $18,24($sp)sw $16,16($sp)move $17,$4move $19,$5move $20,$7lw $22,64($sp)bltz $6,$L170move $2,$6$L155:sra $18,$2,3lw $3,4($17)sll $2,$18,3beq $3,$0,$L156subu $21,$6,$2blez $18,$L158nopmove $16,$0addu $2,$19,$16$L174:lbu $5,0($2)addiu $16,$16,1move $4,$17jal $20li $6,8 # 0x8bne $18,$16,$L174addu $2,$19,$16$L158:beq $21,$0,$L175lw $31,44($sp)$L172:beq $22,$0,$L165addu $2,$19,$18lbu $3,0($2)li $5,8 # 0x8subu $5,$5,$21move $4,$17move $6,$21move $25,$20lw $31,44($sp)lw $22,40($sp)lw $21,36($sp)lw $20,32($sp)lw $19,28($sp)lw $18,24($sp)lw $17,20($sp)lw $16,16($sp)sra $5,$3,$5jr $25addiu $sp,$sp,48$L156:lw $2,0($17)lw $4,16($17)addu $5,$18,$2addiu $3,$5,1slt $3,$3,$4beq $3,$0,$L171addiu $5,$5,256lw $4,12($17)move $5,$19jal memmovemove $6,$18lw $3,12($17)lw $2,0($17)addu $3,$3,$18addu $2,$2,$18sw $2,0($17)sw $3,12($17)sb $0,0($3)$L173:bne $21,$0,$L172lw $31,44($sp)$L175:lw $22,40($sp)lw $21,36($sp)lw $20,32($sp)lw $19,28($sp)lw $18,24($sp)lw $17,20($sp)lw $16,16($sp)j $31addiu $sp,$sp,48$L165:lbu $5,0($2)move $4,$17move $6,$21move $25,$20lw $31,44($sp)lw $22,40($sp)lw $21,36($sp)lw $20,32($sp)lw $19,28($sp)lw $18,24($sp)lw $17,20($sp)lw $16,16($sp)jr $25addiu $sp,$sp,48$L170:j $L155addiu $2,$6,7$L171:lw $4,8($17)jal uc_reallocsw $5,16($17)lw $3,0($17)sw $2,8($17)addu $2,$2,$3sw $2,12($17)lw $4,12($17)move $5,$19jal memmovemove $6,$18lw $3,12($17)lw $2,0($17)addu $3,$3,$18addu $2,$2,$18sw $2,0($17)sw $3,12($17)j $L173sb $0,0($3).set macro.set reorder.end oggpack_writecopy_helper.section .text.oggpackB_writecopy,"ax",@progbits.align 2.align 5.globl oggpackB_writecopy.ent oggpackB_writecopy.type oggpackB_writecopy, @functionoggpackB_writecopy:.frame $sp,32,$31 # vars= 0, regs= 1/0, args= 24, gp= 0.mask 0x80000000,-8.fmask 0x00000000,0.set noreorder.set nomacrolui $7,%hi(oggpackB_write)addiu $sp,$sp,-32li $2,1 # 0x1addiu $7,$7,%lo(oggpackB_write)sw $31,24($sp)jal oggpack_writecopy_helpersw $2,16($sp)lw $31,24($sp)j $31addiu $sp,$sp,32.set macro.set reorder.end oggpackB_writecopy.section .text.oggpack_writecopy,"ax",@progbits.align 2.align 5.globl oggpack_writecopy.ent oggpack_writecopy.type oggpack_writecopy, @functionoggpack_writecopy:.frame $sp,32,$31 # vars= 0, regs= 1/0, args= 24, gp= 0.mask 0x80000000,-8.fmask 0x00000000,0.set noreorder.set nomacrolui $7,%hi(oggpack_write)addiu $sp,$sp,-32addiu $7,$7,%lo(oggpack_write)sw $31,24($sp)jal oggpack_writecopy_helpersw $0,16($sp)lw $31,24($sp)j $31addiu $sp,$sp,32.set macro.set reorder.end oggpack_writecopy.section .text.oggpackB_get_buffer,"ax",@progbits.align 2.align 5.globl oggpackB_get_buffer.ent oggpackB_get_buffer.type oggpackB_get_buffer, @functionoggpackB_get_buffer:.frame $sp,0,$31 # vars= 0, regs= 0/0, args= 0, gp= 0.mask 0x00000000,0.fmask 0x00000000,0.set noreorder.set nomacroj $31lw $2,8($4).set macro.set reorder.end oggpackB_get_buffer.section .text.oggpackB_bits,"ax",@progbits.align 2.align 5.globl oggpackB_bits.ent oggpackB_bits.type oggpackB_bits, @functionoggpackB_bits:.frame $sp,0,$31 # vars= 0, regs= 0/0, args= 0, gp= 0.mask 0x00000000,0.fmask 0x00000000,0.set noreorder.set nomacrolw $2,0($4)lw $3,4($4)sll $2,$2,3j $31addu $2,$2,$3.set macro.set reorder.end oggpackB_bits.section .text.oggpackB_reset,"ax",@progbits.align 2.align 5.globl oggpackB_reset.ent oggpackB_reset.type oggpackB_reset, @functionoggpackB_reset:.frame $sp,0,$31 # vars= 0, regs= 0/0, args= 0, gp= 0.mask 0x00000000,0.fmask 0x00000000,0.set noreorder.set nomacrolw $2,8($4)sw $2,12($4)sb $0,0($2)sw $0,4($4)j $31sw $0,0($4).set macro.set reorder.end oggpackB_reset.section .text.oggpackB_adv1,"ax",@progbits.align 2.align 5.globl oggpackB_adv1.ent oggpackB_adv1.type oggpackB_adv1, @functionoggpackB_adv1:.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)addiu $2,$2,1slt $3,$2,8bne $3,$0,$L190sw $2,4($4)lw $3,12($4)lw $2,0($4)addiu $3,$3,1addiu $2,$2,1sw $2,0($4)sw $3,12($4)sw $0,4($4)$L190:j $31nop.set macro.set reorder.end oggpackB_adv1.section .text.oggpackB_bytes,"ax",@progbits.align 2.align 5.globl oggpackB_bytes.ent oggpackB_bytes.type oggpackB_bytes, @functionoggpackB_bytes:.frame $sp,0,$31 # vars= 0, regs= 0/0, args= 0, gp= 0.mask 0x00000000,0.fmask 0x00000000,0.set noreorder.set nomacrolw $3,4($4)lw $5,0($4)addiu $2,$3,7slt $4,$2,0addiu $3,$3,14movn $2,$3,$4sra $2,$2,3j $31addu $2,$2,$5.set macro.set reorder.end oggpackB_bytes.section .text.oggpackB_adv,"ax",@progbits.align 2.align 5.globl oggpackB_adv.ent oggpackB_adv.type oggpackB_adv, @functionoggpackB_adv:.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)move $6,$4addu $5,$5,$2andi $7,$5,0x7bltz $5,$L197move $3,$5lw $2,12($6)lw $4,0($6)sra $3,$3,3addu $4,$4,$3addu $2,$2,$3sw $7,4($6)sw $2,12($6)j $31sw $4,0($6)$L197:lw $2,12($6)lw $4,0($6)addiu $3,$5,7sra $3,$3,3addu $4,$4,$3addu $2,$2,$3sw $7,4($6)sw $2,12($6)j $31sw $4,0($6).set macro.set reorder.end oggpackB_adv.section .text.oggpackB_writeinit,"ax",@progbits.align 2.align 5.globl oggpackB_writeinit.ent oggpackB_writeinit.type oggpackB_writeinit, @functionoggpackB_writeinit:.frame $sp,24,$31 # vars= 0, regs= 2/0, args= 16, gp= 0.mask 0x80010000,-4.fmask 0x00000000,0.set noreorder.set nomacroaddiu $sp,$sp,-24move $5,$0li $6,20 # 0x14sw $31,20($sp)sw $16,16($sp)jal memsetmove $16,$4jal uc_mallocli $4,256 # 0x100sw $2,8($16)sw $2,12($16)sb $0,0($2)li $2,256 # 0x100sw $2,16($16)lw $31,20($sp)lw $16,16($sp)j $31addiu $sp,$sp,24.set macro.set reorder.end oggpackB_writeinit.section .text.oggpack_readinit,"ax",@progbits.align 2.align 5.globl oggpack_readinit.ent oggpack_readinit.type oggpack_readinit, @functionoggpack_readinit:.frame $sp,32,$31 # vars= 0, regs= 4/0, args= 16, gp= 0.mask 0x80070000,-4.fmask 0x00000000,0.set noreorder.set nomacroaddiu $sp,$sp,-32sw $18,24($sp)sw $17,20($sp)move $18,$5sw $16,16($sp)move $17,$6move $16,$4move $5,$0sw $31,28($sp)jal memsetli $6,20 # 0x14sw $17,16($16)sw $18,8($16)sw $18,12($16)lw $31,28($sp)lw $18,24($sp)lw $17,20($sp)lw $16,16($sp)j $31addiu $sp,$sp,32.set macro.set reorder.end oggpack_readinit.section .text.oggpack_writeclear,"ax",@progbits.align 2.align 5.globl oggpack_writeclear.ent oggpack_writeclear.type oggpack_writeclear, @functionoggpack_writeclear:.frame $sp,24,$31 # vars= 0, regs= 2/0, args= 16, gp= 0.mask 0x80010000,-4.fmask 0x00000000,0.set noreorder.set nomacroaddiu $sp,$sp,-24sw $31,20($sp)sw $16,16($sp)move $16,$4jal uc_freelw $4,8($4)move $4,$16lw $31,20($sp)lw $16,16($sp)move $5,$0li $6,20 # 0x14j memsetaddiu $sp,$sp,24.set macro.set reorder.end oggpack_writeclear.section .text.oggpack_writeinit,"ax",@progbits.align 2.align 5.globl oggpack_writeinit.ent oggpack_writeinit.type oggpack_writeinit, @functionoggpack_writeinit:.frame $sp,24,$31 # vars= 0, regs= 2/0, args= 16, gp= 0.mask 0x80010000,-4.fmask 0x00000000,0.set noreorder.set nomacroaddiu $sp,$sp,-24move $5,$0li $6,20 # 0x14sw $31,20($sp)sw $16,16($sp)jal memsetmove $16,$4jal uc_mallocli $4,256 # 0x100sw $2,8($16)sw $2,12($16)sb $0,0($2)li $2,256 # 0x100sw $2,16($16)lw $31,20($sp)lw $16,16($sp)j $31addiu $sp,$sp,24.set macro.set reorder.end oggpack_writeinit.section .text.oggpackB_readinit,"ax",@progbits.align 2.align 5.globl oggpackB_readinit.ent oggpackB_readinit.type oggpackB_readinit, @functionoggpackB_readinit:.frame $sp,32,$31 # vars= 0, regs= 4/0, args= 16, gp= 0.mask 0x80070000,-4.fmask 0x00000000,0.set noreorder.set nomacroaddiu $sp,$sp,-32sw $18,24($sp)sw $17,20($sp)move $18,$5sw $16,16($sp)move $17,$6move $16,$4move $5,$0sw $31,28($sp)jal memsetli $6,20 # 0x14sw $17,16($16)sw $18,8($16)sw $18,12($16)lw $31,28($sp)lw $18,24($sp)lw $17,20($sp)lw $16,16($sp)j $31addiu $sp,$sp,32.set macro.set reorder.end oggpackB_readinit.section .text.oggpackB_writeclear,"ax",@progbits.align 2.align 5.globl oggpackB_writeclear.ent oggpackB_writeclear.type oggpackB_writeclear, @functionoggpackB_writeclear:.frame $sp,24,$31 # vars= 0, regs= 2/0, args= 16, gp= 0.mask 0x80010000,-4.fmask 0x00000000,0.set noreorder.set nomacroaddiu $sp,$sp,-24sw $31,20($sp)sw $16,16($sp)move $16,$4jal uc_freelw $4,8($4)move $4,$16lw $31,20($sp)lw $16,16($sp)move $5,$0li $6,20 # 0x14j memsetaddiu $sp,$sp,24.set macro.set reorder.end oggpackB_writeclear.rdata.align 2.type mask, @object.size mask, 132mask:.word 0.word 1.word 3.word 7.word 15.word 31.word 63.word 127.word 255.word 511.word 1023.word 2047.word 4095.word 8191.word 16383.word 32767.word 65535.word 131071.word 262143.word 524287.word 1048575.word 2097151.word 4194303.word 8388607.word 16777215.word 33554431.word 67108863.word 134217727.word 268435455.word 536870911.word 1073741823.word 2147483647.word -1.align 2.type mask8B, @object.size mask8B, 36mask8B:.word 0.word 128.word 192.word 224.word 240.word 248.word 252.word 254.word 255.ident "GCC: (GNU) 4.1.2"
⌨️ 快捷键说明
复制代码Ctrl + C
搜索代码Ctrl + F
全屏模式F11
增大字号Ctrl + =
减小字号Ctrl + -
显示快捷键?