bootrom_asm.txt
来自「bootrom: file format elf32-powerpcDisass」· 文本 代码 · 共 1,672 行 · 第 1/5 页
TXT
1,672 行
105c8: 7c 63 42 14 add r3,r3,r8
105cc: 89 84 00 0f lbz r12,15(r4)
105d0: 7d 08 52 14 add r8,r8,r10
105d4: 7c 63 42 14 add r3,r3,r8
105d8: 7d 08 5a 14 add r8,r8,r11
105dc: 7c 63 42 14 add r3,r3,r8
105e0: 7d 08 62 14 add r8,r8,r12
105e4: 7c 63 42 14 add r3,r3,r8
105e8: 40 80 ff 3c bge 10524 <adler32+0x4c>
105ec: 38 84 00 10 addi r4,r4,16
105f0: 38 e7 00 10 addi r7,r7,16
105f4: 2c 07 00 00 cmpwi r7,0
105f8: 41 82 00 20 beq 10618 <adler32+0x140>
105fc: 7c e9 03 a6 mtctr r7
10600: 38 84 ff ff addi r4,r4,-1
10604: 8d 84 00 01 lbzu r12,1(r4)
10608: 7d 08 62 14 add r8,r8,r12
1060c: 7c 63 42 14 add r3,r3,r8
10610: 42 00 ff f4 bdnz 10604 <adler32+0x12c>
10614: 38 84 00 01 addi r4,r4,1
10618: 7c 08 33 96 divwu r0,r8,r6
1061c: 7c 00 31 d6 mullw r0,r0,r6
10620: 7d 00 40 50 subf r8,r0,r8
10624: 7c 03 33 96 divwu r0,r3,r6
10628: 7c 00 31 d6 mullw r0,r0,r6
1062c: 7c 60 18 50 subf r3,r0,r3
10630: 2c 05 00 00 cmpwi r5,0
10634: 40 82 fe c8 bne 104fc <adler32+0x24>
10638: 54 6c 80 1e rlwinm r12,r3,16,0,15
1063c: 7d 03 63 78 or r3,r8,r12
10640: 4e 80 00 20 blr
00010644 <cksum>:
10644: 94 21 ff f0 stwu r1,-16(r1)
10648: 90 61 00 0c stw r3,12(r1)
1064c: 3c 60 00 00 lis r3,0
10650: a1 61 00 0c lhz r11,12(r1)
10654: 60 63 ff ff ori r3,r3,65535
10658: a1 41 00 0e lhz r10,14(r1)
1065c: 38 e0 00 00 li r7,0
10660: 7d 0b 52 14 add r8,r11,r10
10664: 7c 08 18 40 cmplw r8,r3
10668: 40 81 00 10 ble 10678 <cksum+0x34>
1066c: 3d 80 ff ff lis r12,-1
10670: 61 8c 00 01 ori r12,r12,1
10674: 7d 08 62 14 add r8,r8,r12
10678: 3c c0 00 05 lis r6,5
1067c: 38 c6 3f b4 addi r6,r6,16308
10680: 81 66 00 1c lwz r11,28(r6)
10684: 54 8c 07 fe clrlwi r12,r4,31
10688: 2c 0b 00 00 cmpwi r11,0
1068c: 41 82 00 2c beq 106b8 <cksum+0x74>
10690: 2c 0c 00 00 cmpwi r12,0
10694: 40 82 00 48 bne 106dc <cksum+0x98>
10698: b1 01 00 08 sth r8,8(r1)
1069c: 38 e0 00 01 li r7,1
106a0: 89 01 00 08 lbz r8,8(r1)
106a4: 89 41 00 09 lbz r10,9(r1)
106a8: 99 01 00 09 stb r8,9(r1)
106ac: 99 41 00 08 stb r10,8(r1)
106b0: a1 01 00 08 lhz r8,8(r1)
106b4: 48 00 00 88 b 1073c <cksum+0xf8>
106b8: 2c 0c 00 00 cmpwi r12,0
106bc: 41 82 00 80 beq 1073c <cksum+0xf8>
106c0: b1 01 00 08 sth r8,8(r1)
106c4: 89 01 00 08 lbz r8,8(r1)
106c8: 89 41 00 09 lbz r10,9(r1)
106cc: 99 01 00 09 stb r8,9(r1)
106d0: 99 41 00 08 stb r10,8(r1)
106d4: a1 01 00 08 lhz r8,8(r1)
106d8: 38 e0 00 01 li r7,1
106dc: 39 80 00 00 li r12,0
106e0: 99 81 00 08 stb r12,8(r1)
106e4: 89 64 00 00 lbz r11,0(r4)
106e8: 38 84 00 01 addi r4,r4,1
106ec: 99 61 00 09 stb r11,9(r1)
106f0: a1 21 00 08 lhz r9,8(r1)
106f4: 38 a5 ff ff addi r5,r5,-1
106f8: 7d 08 4a 14 add r8,r8,r9
106fc: 48 00 00 40 b 1073c <cksum+0xf8>
10700: 38 a5 ff fe addi r5,r5,-2
10704: a1 84 00 00 lhz r12,0(r4)
10708: 38 84 00 02 addi r4,r4,2
1070c: 54 a9 04 7d rlwinm. r9,r5,0,17,30
10710: 7d 08 62 14 add r8,r8,r12
10714: 40 82 00 28 bne 1073c <cksum+0xf8>
10718: 91 01 00 0c stw r8,12(r1)
1071c: a1 81 00 0c lhz r12,12(r1)
10720: a1 61 00 0e lhz r11,14(r1)
10724: 7d 0c 5a 14 add r8,r12,r11
10728: 7c 08 18 40 cmplw r8,r3
1072c: 40 81 00 10 ble 1073c <cksum+0xf8>
10730: 3d 80 ff ff lis r12,-1
10734: 61 8c 00 01 ori r12,r12,1
10738: 7d 08 62 14 add r8,r8,r12
1073c: 28 05 00 01 cmplwi r5,1
10740: 41 81 ff c0 bgt 10700 <cksum+0xbc>
10744: 2c 05 00 01 cmpwi r5,1
10748: 40 82 00 28 bne 10770 <cksum+0x12c>
1074c: 7c ec 38 f8 not r12,r7
10750: 39 40 00 00 li r10,0
10754: 55 8c 07 fe clrlwi r12,r12,31
10758: 91 86 00 1c stw r12,28(r6)
1075c: 89 64 00 00 lbz r11,0(r4)
10760: 99 41 00 09 stb r10,9(r1)
10764: 99 61 00 08 stb r11,8(r1)
10768: a1 21 00 08 lhz r9,8(r1)
1076c: 7d 08 4a 14 add r8,r8,r9
10770: 91 01 00 0c stw r8,12(r1)
10774: a1 81 00 0c lhz r12,12(r1)
10778: a1 61 00 0e lhz r11,14(r1)
1077c: 7c 8c 5a 14 add r4,r12,r11
10780: 7c 04 18 40 cmplw r4,r3
10784: 40 81 00 10 ble 10794 <cksum+0x150>
10788: 3d 80 ff ff lis r12,-1
1078c: 61 8c 00 01 ori r12,r12,1
10790: 7c 84 62 14 add r4,r4,r12
10794: 90 81 00 0c stw r4,12(r1)
10798: a1 81 00 0c lhz r12,12(r1)
1079c: a1 61 00 0e lhz r11,14(r1)
107a0: 7c 8c 5a 14 add r4,r12,r11
107a4: 7c 04 18 40 cmplw r4,r3
107a8: 40 81 00 10 ble 107b8 <cksum+0x174>
107ac: 3d 80 ff ff lis r12,-1
107b0: 61 8c 00 01 ori r12,r12,1
107b4: 7c 84 62 14 add r4,r4,r12
107b8: b0 81 00 08 sth r4,8(r1)
107bc: 2c 07 00 00 cmpwi r7,0
107c0: 41 82 00 14 beq 107d4 <cksum+0x190>
107c4: 89 61 00 09 lbz r11,9(r1)
107c8: 88 e1 00 08 lbz r7,8(r1)
107cc: 99 61 00 08 stb r11,8(r1)
107d0: 98 e1 00 09 stb r7,9(r1)
107d4: a0 61 00 08 lhz r3,8(r1)
107d8: 38 21 00 10 addi r1,r1,16
107dc: 4e 80 00 20 blr
000107e0 <zcalloc>:
107e0: 3c c0 00 05 lis r6,5
107e4: 7d 44 29 d6 mullw r10,r4,r5
107e8: 38 c6 3f b4 addi r6,r6,16308
107ec: 80 66 00 00 lwz r3,0(r6)
107f0: 81 66 00 18 lwz r11,24(r6)
107f4: 39 4a 00 03 addi r10,r10,3
107f8: 55 44 00 3a rlwinm r4,r10,0,0,29
107fc: 3d 40 00 01 lis r10,1
10800: 7d 83 22 14 add r12,r3,r4
10804: 61 4a 86 a0 ori r10,r10,34464
10808: 38 8c 00 08 addi r4,r12,8
1080c: 7d 6b 52 14 add r11,r11,r10
10810: 7c 0b 20 40 cmplw r11,r4
10814: 41 81 00 0c bgt 10820 <zcalloc+0x40>
10818: 38 60 00 00 li r3,0
1081c: 4e 80 00 20 blr
10820: 90 86 00 00 stw r4,0(r6)
10824: 90 83 ff fc stw r4,-4(r3)
10828: 90 64 ff f8 stw r3,-8(r4)
1082c: 4e 80 00 20 blr
00010830 <zcfree>:
10830: 3c c0 00 05 lis r6,5
10834: 38 c6 3f b4 addi r6,r6,16308
10838: 81 66 00 18 lwz r11,24(r6)
1083c: 7c 0b 20 40 cmplw r11,r4
10840: 41 82 00 14 beq 10854 <zcfree+0x24>
10844: 81 84 ff fc lwz r12,-4(r4)
10848: 81 8c ff f8 lwz r12,-8(r12)
1084c: 7c 0c 20 00 cmpw r12,r4
10850: 40 82 00 54 bne 108a4 <zcfree+0x74>
10854: 81 84 ff fc lwz r12,-4(r4)
10858: 61 8c 00 01 ori r12,r12,1
1085c: 91 84 ff fc stw r12,-4(r4)
10860: 80 86 00 00 lwz r4,0(r6)
10864: 80 84 ff f8 lwz r4,-8(r4)
10868: 2c 04 00 00 cmpwi r4,0
1086c: 41 82 00 38 beq 108a4 <zcfree+0x74>
10870: 81 84 ff fc lwz r12,-4(r4)
10874: 55 8c 07 ff clrlwi. r12,r12,31
10878: 41 82 00 2c beq 108a4 <zcfree+0x74>
1087c: 38 60 00 00 li r3,0
10880: 38 a4 00 00 addi r5,r4,0
10884: 90 64 ff fc stw r3,-4(r4)
10888: 80 84 ff f8 lwz r4,-8(r4)
1088c: 2c 04 00 00 cmpwi r4,0
10890: 41 82 00 10 beq 108a0 <zcfree+0x70>
10894: 81 84 ff fc lwz r12,-4(r4)
10898: 55 8c 07 ff clrlwi. r12,r12,31
1089c: 40 82 ff e4 bne 10880 <zcfree+0x50>
108a0: 90 a6 00 00 stw r5,0(r6)
108a4: 4e 80 00 20 blr
000108a8 <falloc>:
108a8: 81 83 00 00 lwz r12,0(r3)
108ac: 3d 60 00 05 lis r11,5
108b0: 39 6b 41 e4 addi r11,r11,16868
108b4: 7c 84 60 50 subf r4,r4,r12
108b8: 90 83 00 00 stw r4,0(r3)
108bc: 54 8a 18 38 rlwinm r10,r4,3,0,28
108c0: 7c 6b 52 14 add r3,r11,r10
108c4: 4e 80 00 20 blr
000108c8 <inflate_trees_free>:
108c8: 7c 08 02 a6 mflr r0
108cc: 94 21 ff f0 stwu r1,-16(r1)
108d0: 93 c1 00 08 stw r30,8(r1)
108d4: 90 01 00 14 stw r0,20(r1)
108d8: 93 e1 00 0c stw r31,12(r1)
108dc: 3b c4 00 00 addi r30,r4,0
108e0: 2c 03 00 00 cmpwi r3,0
108e4: 38 80 00 00 li r4,0
108e8: 3b e3 00 00 addi r31,r3,0
108ec: 41 82 00 48 beq 10934 <inflate_trees_free+0x6c>
108f0: 80 7f ff fc lwz r3,-4(r31)
108f4: 2c 03 00 00 cmpwi r3,0
108f8: 90 9f ff fc stw r4,-4(r31)
108fc: 38 9f 00 00 addi r4,r31,0
10900: 3b e3 00 00 addi r31,r3,0
10904: 40 82 ff ec bne 108f0 <inflate_trees_free+0x28>
10908: 2c 04 00 00 cmpwi r4,0
1090c: 41 82 00 28 beq 10934 <inflate_trees_free+0x6c>
10910: 81 7e 00 24 lwz r11,36(r30)
10914: 7d 69 03 a6 mtctr r11
10918: 83 e4 ff fc lwz r31,-4(r4)
1091c: 38 84 ff f8 addi r4,r4,-8
10920: 80 7e 00 28 lwz r3,40(r30)
10924: 4e 80 04 21 bctrl
10928: 2c 1f 00 00 cmpwi r31,0
1092c: 38 9f 00 00 addi r4,r31,0
10930: 40 82 ff e0 bne 10910 <inflate_trees_free+0x48>
10934: 80 01 00 14 lwz r0,20(r1)
10938: 38 60 00 00 li r3,0
1093c: 7c 08 03 a6 mtlr r0
10940: 83 c1 00 08 lwz r30,8(r1)
10944: 83 e1 00 0c lwz r31,12(r1)
10948: 38 21 00 10 addi r1,r1,16
1094c: 4e 80 00 20 blr
00010950 <huft_build>:
10950: 7c 08 02 a6 mflr r0
10954: 94 21 ff 80 stwu r1,-128(r1)
10958: bd c1 00 38 stmw r14,56(r1)
1095c: 3e 40 00 07 lis r18,7
10960: 90 81 00 1c stw r4,28(r1)
10964: 90 a1 00 20 stw r5,32(r1)
10968: 90 c1 00 24 stw r6,36(r1)
1096c: 90 e1 00 28 stw r7,40(r1)
10970: 91 21 00 2c stw r9,44(r1)
10974: 3a 52 d9 1c addi r18,r18,-9956
10978: 3b 00 00 00 li r24,0
1097c: 3a 2a 00 00 addi r17,r10,0
10980: 93 12 00 00 stw r24,0(r18)
10984: 93 12 00 04 stw r24,4(r18)
10988: 93 12 00 08 stw r24,8(r18)
1098c: 93 12 00 0c stw r24,12(r18)
10990: 93 12 00 10 stw r24,16(r18)
10994: 93 12 00 14 stw r24,20(r18)
10998: 93 12 00 18 stw r24,24(r18)
1099c: 93 12 00 1c stw r24,28(r18)
109a0: 93 12 00 20 stw r24,32(r18)
109a4: 93 12 00 24 stw r24,36(r18)
109a8: 93 12 00 28 stw r24,40(r18)
109ac: 93 12 00 2c stw r24,44(r18)
109b0: 93 12 00 30 stw r24,48(r18)
109b4: 93 12 00 34 stw r24,52(r18)
109b8: 93 12 00 38 stw r24,56(r18)
109bc: 93 12 00 3c stw r24,60(r18)
109c0: 81 41 00 1c lwz r10,28(r1)
109c4: 90 01 00 84 stw r0,132(r1)
109c8: 7d 49 03 a6 mtctr r10
109cc: 3b e3 00 00 addi r31,r3,0
109d0: 3a 08 00 00 addi r16,r8,0
109d4: 3b 03 ff fc addi r24,r3,-4
109d8: 85 98 00 04 lwzu r12,4(r24)
109dc: 55 8c 10 3a rlwinm r12,r12,2,0,29
109e0: 7f 72 62 14 add r27,r18,r12
109e4: 81 7b 00 00 lwz r11,0(r27)
109e8: 39 6b 00 01 addi r11,r11,1
109ec: 91 7b 00 00 stw r11,0(r27)
109f0: 42 00 ff e8 bdnz 109d8 <huft_build+0x88>
109f4: 81 92 00 00 lwz r12,0(r18)
109f8: 81 61 00 1c lwz r11,28(r1)
109fc: 7c 0c 58 40 cmplw r12,r11
10a00: 40 82 00 18 bne 10a18 <huft_build+0xc8>
10a04: 38 60 00 00 li r3,0
10a08: 90 68 00 00 stw r3,0(r8)
10a0c: 81 41 00 2c lwz r10,44(r1)
10a10: 90 6a 00 00 stw r3,0(r10)
10a14: 48 00 04 98 b 10eac <huft_build+0x55c>
10a18: 3a 80 00 01 li r20,1
10a1c: 81 52 00 04 lwz r10,4(r18)
10a20: 81 81 00 2c lwz r12,44(r1)
10a24: 2c 0a 00 00 cmpwi r10,0
10a28: 83 0c 00 00 lwz r24,0(r12)
10a2c: 40 82 00 20 bne 10a4c <huft_build+0xfc>
10a30: 3b 72 00 04 addi r27,r18,4
10a34: 3a 94 00 01 addi r20,r20,1
10a38: 28 14 00 0f cmplwi r20,15
10a3c: 41 81 00 10 bgt 10a4c <huft_build+0xfc>
10a40: 85 9b 00 04 lwzu r12,4(r27)
10a44: 2c 0c 00 00 cmpwi r12,0
10a48: 41 82 ff ec beq 10a34 <huft_build+0xe4>
10a4c: 7c 18 a0 40 cmplw r24,r20
10a50: 3b 74 00 00 addi r27,r20,0
10a54: 40 80 00 08 bge 10a5c <huft_build+0x10c>
10a58: 3b 14 00 00 addi r24,r20,0
10a5c: 81 72 00 3c lwz r11,60(r18)
10a60: 3b 40 00 0f li r26,15
10a64: 2c 0b 00 00 cmpwi r11,0
10a68: 40 82 00 20 bne 10a88 <huft_build+0x138>
10a6c: 38 b2 00 3c addi r5,r18,60
10a70: 37 5a ff ff addic. r26,r26,-1
10a74: 41 82 00 14 beq 10a88 <huft_build+0x138>
10a78: 81 85 ff fc lwz r12,-4(r5)
10a7c: 38 a5 ff fc addi r5,r5,-4
10a80: 2c 0c 00 00 cmpwi r12,0
10a84: 41 82 ff ec beq 10a70 <huft_build+0x120>
10a88: 93 41 00 0c stw r26,12(r1)
10a8c: 7c 18 d0 40 cmplw r24,r26
10a90: 40 81 00 08 ble 10a98 <huft_build+0x148>
10a94: 3b 1a 00 00 addi r24,r26,0
10a98: 81 81 00 2c lwz r12,44(r1)
10a9c: 39 60 00 01 li r11,1
10aa0: 7d 6b a0 30 slw r11,r11,r20
10aa4: 7c 14 d0 40 cmplw r20,r26
10aa8: 93 0c 00 00 stw r24,0(r12)
10aac: 91 61 00 08 stw r11,8(r1)
10ab0: 40 80 00 44 bge 10af4 <huft_build+0x1a4>
10ab4: 56 8c 10 3a rlwinm r12,r20,2,0,29
10ab8: 7d 92 62 14 add r12,r18,r12
10abc: 3b 2c ff fc addi r25,r12,-4
10ac0: 7d f4 d0 50 subf r15,r20,r26
10ac4: 81 81 00 08 lwz r12,8(r1)
10ac8: 85 79 00 04 lwzu r11,4(r25)
10acc: 7d 8b 60 51 subf. r12,r11,r12
10ad0: 91 81 00 08 stw r12,8(r1)
⌨️ 快捷键说明
复制代码Ctrl + C
搜索代码Ctrl + F
全屏模式F11
增大字号Ctrl + =
减小字号Ctrl + -
显示快捷键?