base64.mid
来自「君正早期ucos系统(只有早期的才不没有打包成库),MPLAYER,文件系统,图」· MID 代码 · 共 298 行
MID
298 行
.file 1 "base64.c" .section .mdebug.abi32 .previous .section .text.av_base64_decode,"ax",@progbits .align 2 .align 5 .globl av_base64_decode .ent av_base64_decode .type av_base64_decode, @functionav_base64_decode: .frame $sp,0,$31 # vars= 0, regs= 0/0, args= 0, gp= 0 .mask 0x00000000,0 .fmask 0x00000000,0 .set noreorder .set nomacro lb $3,0($5) beq $3,$0,$L2 move $12,$4 li $2,61 # 0x3d beq $3,$2,$L2 addiu $3,$3,-43 sltu $2,$3,80 beq $2,$0,$L5 nop lui $2,%hi(map2) addiu $4,$2,%lo(map2) addu $3,$3,$4 lbu $7,0($3) li $2,255 # 0xff beq $7,$2,$L5 move $15,$4 move $10,$0 move $4,$12 move $11,$0 li $24,6 # 0x6 li $13,61 # 0x3d j $L8 li $14,255 # 0xff$L21: beq $7,$13,$L19 nop beq $2,$0,$L5 nop lbu $7,0($3) beq $7,$14,$L5 nop$L8: subu $2,$4,$12 sll $3,$11,6 slt $9,$2,$6 andi $2,$10,0x3 addiu $10,$10,1 addu $8,$5,$10 beq $2,$0,$L11 addu $11,$3,$7 sll $2,$2,1 subu $2,$24,$2 beq $9,$0,$L11 sra $2,$11,$2 sb $2,0($4) addiu $4,$4,1$L11: lb $7,0($8) addiu $2,$7,-43 addu $3,$2,$15 bne $7,$0,$L21 sltu $2,$2,80$L19: j $31 subu $2,$4,$12$L5: j $31 li $2,-1 # 0xffffffffffffffff$L2: j $31 move $2,$0 .set macro .set reorder .end av_base64_decode .section .text.av_base64_encode,"ax",@progbits .align 2 .align 5 .globl av_base64_encode .ent av_base64_encode .type av_base64_encode, @functionav_base64_encode: .frame $sp,0,$31 # vars= 0, regs= 0/0, args= 0, gp= 0 .mask 0x00000000,0 .fmask 0x00000000,0 .set noreorder .set nomacro li $2,1073676288 # 0x3fff0000 ori $2,$2,0xfffe sltu $2,$2,$7 beq $2,$0,$L49 move $10,$4$L23: j $31 move $2,$0$L49: li $2,1431633920 # 0x55550000 sll $3,$7,2 ori $2,$2,0x5556 mult $3,$2 sra $3,$3,31 mfhi $2 subu $2,$2,$3 addiu $2,$2,12 slt $2,$5,$2 bne $2,$0,$L23 nop beq $7,$0,$L50 move $5,$4 lui $2,%hi(b64.3707) addiu $12,$2,%lo(b64.3707) move $8,$0 move $4,$0 move $11,$12 lbu $3,0($6)$L52: sll $2,$4,8 addu $4,$2,$3 addiu $7,$7,-1 addiu $6,$6,1 addiu $8,$8,8 bne $7,$0,$L41 sll $9,$4,6 move $6,$11$L48: srl $2,$9,$8$L53: andi $2,$2,0x3f addu $2,$2,$6 addiu $8,$8,-6 lbu $3,0($2) slt $4,$8,7 sb $3,0($5) beq $4,$0,$L48 addiu $5,$5,1 bgtz $8,$L53 srl $2,$9,$8 subu $3,$5,$10 andi $2,$3,0x3 beq $2,$0,$L54 move $2,$10 addiu $4,$3,1$L34: andi $3,$4,0x3 li $2,61 sb $2,0($5) addiu $4,$4,1 bne $3,$0,$L34 addiu $5,$5,1 j $L51 move $2,$10$L50: move $2,$10$L51:$L54: j $31 sb $0,0($5)$L41: srl $2,$9,$8 andi $2,$2,0x3f addu $2,$2,$12 lbu $3,0($2) addiu $8,$8,-6 slt $2,$8,7 sb $3,0($5) beq $2,$0,$L41 addiu $5,$5,1 j $L52 lbu $3,0($6) .set macro .set reorder .end av_base64_encode .rdata .align 2 .type b64.3707, @object .size b64.3707, 65b64.3707: .ascii "ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123" .ascii "456789+/\000" .align 2 .type map2, @object .size map2, 80map2: .byte 62 .byte -1 .byte -1 .byte -1 .byte 63 .byte 52 .byte 53 .byte 54 .byte 55 .byte 56 .byte 57 .byte 58 .byte 59 .byte 60 .byte 61 .byte -1 .byte -1 .byte -1 .byte -1 .byte -1 .byte -1 .byte -1 .byte 0 .byte 1 .byte 2 .byte 3 .byte 4 .byte 5 .byte 6 .byte 7 .byte 8 .byte 9 .byte 10 .byte 11 .byte 12 .byte 13 .byte 14 .byte 15 .byte 16 .byte 17 .byte 18 .byte 19 .byte 20 .byte 21 .byte 22 .byte 23 .byte 24 .byte 25 .byte -1 .byte -1 .byte -1 .byte -1 .byte -1 .byte -1 .byte 26 .byte 27 .byte 28 .byte 29 .byte 30 .byte 31 .byte 32 .byte 33 .byte 34 .byte 35 .byte 36 .byte 37 .byte 38 .byte 39 .byte 40 .byte 41 .byte 42 .byte 43 .byte 44 .byte 45 .byte 46 .byte 47 .byte 48 .byte 49 .byte 50 .byte 51 .ident "GCC: (GNU) 4.1.2"
⌨️ 快捷键说明
复制代码Ctrl + C
搜索代码Ctrl + F
全屏模式F11
增大字号Ctrl + =
减小字号Ctrl + -
显示快捷键?