Advertisement
Bond697

Switch Statement / If-else Statement

Apr 30th, 2012
220
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
C 14.97 KB | None | 0 0
  1. RAM_ARM9:020415CC             @ =============== S U B R O U T I N E =======================================
  2. RAM_ARM9:020415CC
  3. RAM_ARM9:020415CC
  4. RAM_ARM9:020415CC             getBGCharPtr:                           @ CODE XREF: sub_204200C+58p
  5. RAM_ARM9:020415CC 08 40 2D E9                 STMFD   SP!, {R3,LR}
  6. RAM_ARM9:020415D0 07 00 50 E3                 CMP     R0, #7          @ switch 8 cases
  7. RAM_ARM9:020415D4 00 F1 8F 90                 ADDLS   PC, PC, R0,LSL#2 @ switch jump
  8. RAM_ARM9:020415D8 17 00 00 EA                 B       loc_204163C     @ jumptable 020415D4 default case
  9. RAM_ARM9:020415DC             @ ---------------------------------------------------------------------------
  10. RAM_ARM9:020415DC
  11. RAM_ARM9:020415DC             loc_20415DC:                            @ CODE XREF: getBGCharPtr+8j
  12. RAM_ARM9:020415DC 06 00 00 EA                 B       loc_20415FC     @ jumptable 020415D4 case 0
  13. RAM_ARM9:020415E0             @ ---------------------------------------------------------------------------
  14. RAM_ARM9:020415E0
  15. RAM_ARM9:020415E0             loc_20415E0:                            @ CODE XREF: getBGCharPtr+8j
  16. RAM_ARM9:020415E0 07 00 00 EA                 B       loc_2041604     @ jumptable 020415D4 case 1
  17. RAM_ARM9:020415E4             @ ---------------------------------------------------------------------------
  18. RAM_ARM9:020415E4
  19. RAM_ARM9:020415E4             loc_20415E4:                            @ CODE XREF: getBGCharPtr+8j
  20. RAM_ARM9:020415E4 08 00 00 EA                 B       loc_204160C     @ jumptable 020415D4 case 2
  21. RAM_ARM9:020415E8             @ ---------------------------------------------------------------------------
  22. RAM_ARM9:020415E8
  23. RAM_ARM9:020415E8             loc_20415E8:                            @ CODE XREF: getBGCharPtr+8j
  24. RAM_ARM9:020415E8 09 00 00 EA                 B       loc_2041614     @ jumptable 020415D4 case 3
  25. RAM_ARM9:020415EC             @ ---------------------------------------------------------------------------
  26. RAM_ARM9:020415EC
  27. RAM_ARM9:020415EC             loc_20415EC:                            @ CODE XREF: getBGCharPtr+8j
  28. RAM_ARM9:020415EC 0A 00 00 EA                 B       loc_204161C     @ jumptable 020415D4 case 4
  29. RAM_ARM9:020415F0             @ ---------------------------------------------------------------------------
  30. RAM_ARM9:020415F0
  31. RAM_ARM9:020415F0             loc_20415F0:                            @ CODE XREF: getBGCharPtr+8j
  32. RAM_ARM9:020415F0 0B 00 00 EA                 B       loc_2041624     @ jumptable 020415D4 case 5
  33. RAM_ARM9:020415F4             @ ---------------------------------------------------------------------------
  34. RAM_ARM9:020415F4
  35. RAM_ARM9:020415F4             loc_20415F4:                            @ CODE XREF: getBGCharPtr+8j
  36. RAM_ARM9:020415F4 0C 00 00 EA                 B       loc_204162C     @ jumptable 020415D4 case 6
  37. RAM_ARM9:020415F8             @ ---------------------------------------------------------------------------
  38. RAM_ARM9:020415F8
  39. RAM_ARM9:020415F8             loc_20415F8:                            @ CODE XREF: getBGCharPtr+8j
  40. RAM_ARM9:020415F8 0D 00 00 EA                 B       loc_2041634     @ jumptable 020415D4 case 7
  41. RAM_ARM9:020415FC             @ ---------------------------------------------------------------------------
  42. RAM_ARM9:020415FC
  43. RAM_ARM9:020415FC             loc_20415FC:                            @ CODE XREF: getBGCharPtr+8j
  44. RAM_ARM9:020415FC                                                     @ getBGCharPtr:loc_20415DCj
  45. RAM_ARM9:020415FC 03 F3 00 EB                 BL      G2_GetBG0CharPtr__ @ jumptable 020415D4 case 0
  46. RAM_ARM9:02041600 08 80 BD E8                 LDMFD   SP!, {R3,PC}
  47. RAM_ARM9:02041604             @ ---------------------------------------------------------------------------
  48. RAM_ARM9:02041604
  49. RAM_ARM9:02041604             loc_2041604:                            @ CODE XREF: getBGCharPtr+8j
  50. RAM_ARM9:02041604                                                     @ getBGCharPtr:loc_20415E0j
  51. RAM_ARM9:02041604 16 F3 00 EB                 BL      G2_GetBG1CharPtr__ @ jumptable 020415D4 case 1
  52. RAM_ARM9:02041608 08 80 BD E8                 LDMFD   SP!, {R3,PC}
  53. RAM_ARM9:0204160C             @ ---------------------------------------------------------------------------
  54. RAM_ARM9:0204160C
  55. RAM_ARM9:0204160C             loc_204160C:                            @ CODE XREF: getBGCharPtr+8j
  56. RAM_ARM9:0204160C                                                     @ getBGCharPtr:loc_20415E4j
  57. RAM_ARM9:0204160C 29 F3 00 EB                 BL      G2_GetBG2CharPtr__ @ jumptable 020415D4 case 2
  58. RAM_ARM9:02041610 08 80 BD E8                 LDMFD   SP!, {R3,PC}
  59. RAM_ARM9:02041614             @ ---------------------------------------------------------------------------
  60. RAM_ARM9:02041614
  61. RAM_ARM9:02041614             loc_2041614:                            @ CODE XREF: getBGCharPtr+8j
  62. RAM_ARM9:02041614                                                     @ getBGCharPtr:loc_20415E8j
  63. RAM_ARM9:02041614 4B F3 00 EB                 BL      G2_GetBG3CharPtr__ @ jumptable 020415D4 case 3
  64. RAM_ARM9:02041618 08 80 BD E8                 LDMFD   SP!, {R3,PC}
  65. RAM_ARM9:0204161C             @ ---------------------------------------------------------------------------
  66. RAM_ARM9:0204161C
  67. RAM_ARM9:0204161C             loc_204161C:                            @ CODE XREF: getBGCharPtr+8j
  68. RAM_ARM9:0204161C                                                     @ getBGCharPtr:loc_20415ECj
  69. RAM_ARM9:0204161C 08 F3 00 EB                 BL      G2S_GetBG0CharPtr__ @ jumptable 020415D4 case 4
  70. RAM_ARM9:02041620 08 80 BD E8                 LDMFD   SP!, {R3,PC}
  71. RAM_ARM9:02041624             @ ---------------------------------------------------------------------------
  72. RAM_ARM9:02041624
  73. RAM_ARM9:02041624             loc_2041624:                            @ CODE XREF: getBGCharPtr+8j
  74. RAM_ARM9:02041624                                                     @ getBGCharPtr:loc_20415F0j
  75. RAM_ARM9:02041624 1B F3 00 EB                 BL      G2S_GetBG1CharPtr__ @ jumptable 020415D4 case 5
  76. RAM_ARM9:02041628 08 80 BD E8                 LDMFD   SP!, {R3,PC}
  77. RAM_ARM9:0204162C             @ ---------------------------------------------------------------------------
  78. RAM_ARM9:0204162C
  79. RAM_ARM9:0204162C             loc_204162C:                            @ CODE XREF: getBGCharPtr+8j
  80. RAM_ARM9:0204162C                                                     @ getBGCharPtr:loc_20415F4j
  81. RAM_ARM9:0204162C 35 F3 00 EB                 BL      G2S_GetBG2CharPtr__ @ jumptable 020415D4 case 6
  82. RAM_ARM9:02041630 08 80 BD E8                 LDMFD   SP!, {R3,PC}
  83. RAM_ARM9:02041634             @ ---------------------------------------------------------------------------
  84. RAM_ARM9:02041634
  85. RAM_ARM9:02041634             loc_2041634:                            @ CODE XREF: getBGCharPtr+8j
  86. RAM_ARM9:02041634                                                     @ getBGCharPtr:loc_20415F8j
  87. RAM_ARM9:02041634 59 F3 00 EB                 BL      G2S_GetBG3CharPtr__ @ jumptable 020415D4 case 7
  88. RAM_ARM9:02041638 08 80 BD E8                 LDMFD   SP!, {R3,PC}
  89. RAM_ARM9:0204163C             @ ---------------------------------------------------------------------------
  90. RAM_ARM9:0204163C
  91. RAM_ARM9:0204163C             loc_204163C:                            @ CODE XREF: getBGCharPtr+8j
  92. RAM_ARM9:0204163C                                                     @ getBGCharPtr+Cj
  93. RAM_ARM9:0204163C 00 00 A0 E3                 MOV     R0, #0          @ jumptable 020415D4 default case
  94. RAM_ARM9:02041640 08 80 BD E8                 LDMFD   SP!, {R3,PC}
  95. RAM_ARM9:02041640             @ End of function getBGCharPtr
  96.  
  97. ------------------------------------------------------------------------------------------------------------------------------
  98.  
  99. RAM_ARM9:02041A34             @ =============== S U B R O U T I N E =======================================
  100. RAM_ARM9:02041A34
  101. RAM_ARM9:02041A34
  102. RAM_ARM9:02041A34             sub_2041A34:                            @ CODE XREF: sub_20419FC+18p
  103. RAM_ARM9:02041A34 10 40 2D E9                 STMFD   SP!, {R4,LR}
  104. RAM_ARM9:02041A38 40 41 9F E5                 LDR     R4, =0x2146A64
  105. RAM_ARM9:02041A3C 00 20 94 E5                 LDR     R2, [R4]
  106. RAM_ARM9:02041A40 B6 00 D2 E1                 LDRH    R0, [R2,#6]
  107. RAM_ARM9:02041A44 01 00 10 E3                 TST     R0, #1
  108. RAM_ARM9:02041A48 05 00 00 0A                 BEQ     loc_2041A64
  109. RAM_ARM9:02041A4C 10 00 92 E5                 LDR     R0, [R2,#0x10]
  110. RAM_ARM9:02041A50 08 10 92 E5                 LDR     R1, [R2,#8]
  111. RAM_ARM9:02041A54 0C 30 92 E5                 LDR     R3, [R2,#0xC]
  112. RAM_ARM9:02041A58 80 20 A0 E1                 MOV     R2, R0,LSL#1
  113. RAM_ARM9:02041A5C 00 00 A0 E3                 MOV     R0, #0
  114. RAM_ARM9:02041A60 73 02 00 EB                 BL      pickLoadBGScr__
  115. RAM_ARM9:02041A64
  116. RAM_ARM9:02041A64             loc_2041A64:                            @ CODE XREF: sub_2041A34+14j
  117. RAM_ARM9:02041A64 00 20 94 E5                 LDR     R2, [R4]
  118. RAM_ARM9:02041A68 B6 00 D2 E1                 LDRH    R0, [R2,#6]
  119. RAM_ARM9:02041A6C 02 00 10 E3                 TST     R0, #2
  120. RAM_ARM9:02041A70 05 00 00 0A                 BEQ     loc_2041A8C
  121. RAM_ARM9:02041A74 3C 00 92 E5                 LDR     R0, [R2,#0x3C]
  122. RAM_ARM9:02041A78 34 10 92 E5                 LDR     R1, [R2,#0x34]
  123. RAM_ARM9:02041A7C 38 30 92 E5                 LDR     R3, [R2,#0x38]
  124. RAM_ARM9:02041A80 80 20 A0 E1                 MOV     R2, R0,LSL#1
  125. RAM_ARM9:02041A84 01 00 A0 E3                 MOV     R0, #1
  126. RAM_ARM9:02041A88 69 02 00 EB                 BL      pickLoadBGScr__
  127. RAM_ARM9:02041A8C
  128. RAM_ARM9:02041A8C             loc_2041A8C:                            @ CODE XREF: sub_2041A34+3Cj
  129. RAM_ARM9:02041A8C 00 20 94 E5                 LDR     R2, [R4]
  130. RAM_ARM9:02041A90 B6 00 D2 E1                 LDRH    R0, [R2,#6]
  131. RAM_ARM9:02041A94 04 00 10 E3                 TST     R0, #4
  132. RAM_ARM9:02041A98 05 00 00 0A                 BEQ     loc_2041AB4
  133. RAM_ARM9:02041A9C 68 00 92 E5                 LDR     R0, [R2,#0x68]
  134. RAM_ARM9:02041AA0 60 10 92 E5                 LDR     R1, [R2,#0x60]
  135. RAM_ARM9:02041AA4 64 30 92 E5                 LDR     R3, [R2,#0x64]
  136. RAM_ARM9:02041AA8 80 20 A0 E1                 MOV     R2, R0,LSL#1
  137. RAM_ARM9:02041AAC 02 00 A0 E3                 MOV     R0, #2
  138. RAM_ARM9:02041AB0 5F 02 00 EB                 BL      pickLoadBGScr__
  139. RAM_ARM9:02041AB4
  140. RAM_ARM9:02041AB4             loc_2041AB4:                            @ CODE XREF: sub_2041A34+64j
  141. RAM_ARM9:02041AB4 00 20 94 E5                 LDR     R2, [R4]
  142. RAM_ARM9:02041AB8 B6 00 D2 E1                 LDRH    R0, [R2,#6]
  143. RAM_ARM9:02041ABC 08 00 10 E3                 TST     R0, #8
  144. RAM_ARM9:02041AC0 05 00 00 0A                 BEQ     loc_2041ADC
  145. RAM_ARM9:02041AC4 94 00 92 E5                 LDR     R0, [R2,#0x94]
  146. RAM_ARM9:02041AC8 8C 10 92 E5                 LDR     R1, [R2,#0x8C]
  147. RAM_ARM9:02041ACC 90 30 92 E5                 LDR     R3, [R2,#0x90]
  148. RAM_ARM9:02041AD0 80 20 A0 E1                 MOV     R2, R0,LSL#1
  149. RAM_ARM9:02041AD4 03 00 A0 E3                 MOV     R0, #3
  150. RAM_ARM9:02041AD8 55 02 00 EB                 BL      pickLoadBGScr__
  151. RAM_ARM9:02041ADC
  152. RAM_ARM9:02041ADC             loc_2041ADC:                            @ CODE XREF: sub_2041A34+8Cj
  153. RAM_ARM9:02041ADC 00 20 94 E5                 LDR     R2, [R4]
  154. RAM_ARM9:02041AE0 B6 00 D2 E1                 LDRH    R0, [R2,#6]
  155. RAM_ARM9:02041AE4 10 00 10 E3                 TST     R0, #0x10
  156. RAM_ARM9:02041AE8 05 00 00 0A                 BEQ     loc_2041B04
  157. RAM_ARM9:02041AEC C0 00 92 E5                 LDR     R0, [R2,#0xC0]
  158. RAM_ARM9:02041AF0 B8 10 92 E5                 LDR     R1, [R2,#0xB8]
  159. RAM_ARM9:02041AF4 BC 30 92 E5                 LDR     R3, [R2,#0xBC]
  160. RAM_ARM9:02041AF8 80 20 A0 E1                 MOV     R2, R0,LSL#1
  161. RAM_ARM9:02041AFC 04 00 A0 E3                 MOV     R0, #4
  162. RAM_ARM9:02041B00 4B 02 00 EB                 BL      pickLoadBGScr__
  163. RAM_ARM9:02041B04
  164. RAM_ARM9:02041B04             loc_2041B04:                            @ CODE XREF: sub_2041A34+B4j
  165. RAM_ARM9:02041B04 00 20 94 E5                 LDR     R2, [R4]
  166. RAM_ARM9:02041B08 B6 00 D2 E1                 LDRH    R0, [R2,#6]
  167. RAM_ARM9:02041B0C 20 00 10 E3                 TST     R0, #0x20
  168. RAM_ARM9:02041B10 05 00 00 0A                 BEQ     loc_2041B2C
  169. RAM_ARM9:02041B14 EC 00 92 E5                 LDR     R0, [R2,#0xEC]
  170. RAM_ARM9:02041B18 E4 10 92 E5                 LDR     R1, [R2,#0xE4]
  171. RAM_ARM9:02041B1C E8 30 92 E5                 LDR     R3, [R2,#0xE8]
  172. RAM_ARM9:02041B20 80 20 A0 E1                 MOV     R2, R0,LSL#1
  173. RAM_ARM9:02041B24 05 00 A0 E3                 MOV     R0, #5
  174. RAM_ARM9:02041B28 41 02 00 EB                 BL      pickLoadBGScr__
  175. RAM_ARM9:02041B2C
  176. RAM_ARM9:02041B2C             loc_2041B2C:                            @ CODE XREF: sub_2041A34+DCj
  177. RAM_ARM9:02041B2C 00 20 94 E5                 LDR     R2, [R4]
  178. RAM_ARM9:02041B30 B6 00 D2 E1                 LDRH    R0, [R2,#6]
  179. RAM_ARM9:02041B34 40 00 10 E3                 TST     R0, #0x40
  180. RAM_ARM9:02041B38 05 00 00 0A                 BEQ     loc_2041B54
  181. RAM_ARM9:02041B3C 18 01 92 E5                 LDR     R0, [R2,#0x118]
  182. RAM_ARM9:02041B40 10 11 92 E5                 LDR     R1, [R2,#0x110]
  183. RAM_ARM9:02041B44 14 31 92 E5                 LDR     R3, [R2,#0x114]
  184. RAM_ARM9:02041B48 80 20 A0 E1                 MOV     R2, R0,LSL#1
  185. RAM_ARM9:02041B4C 06 00 A0 E3                 MOV     R0, #6
  186. RAM_ARM9:02041B50 37 02 00 EB                 BL      pickLoadBGScr__
  187. RAM_ARM9:02041B54
  188. RAM_ARM9:02041B54             loc_2041B54:                            @ CODE XREF: sub_2041A34+104j
  189. RAM_ARM9:02041B54 00 20 94 E5                 LDR     R2, [R4]
  190. RAM_ARM9:02041B58 B6 00 D2 E1                 LDRH    R0, [R2,#6]
  191. RAM_ARM9:02041B5C 80 00 10 E3                 TST     R0, #0x80
  192. RAM_ARM9:02041B60 10 80 BD 08                 LDMFDEQ SP!, {R4,PC}
  193. RAM_ARM9:02041B64 44 01 92 E5                 LDR     R0, [R2,#0x144]
  194. RAM_ARM9:02041B68 3C 11 92 E5                 LDR     R1, [R2,#0x13C]
  195. RAM_ARM9:02041B6C 40 31 92 E5                 LDR     R3, [R2,#0x140]
  196. RAM_ARM9:02041B70 80 20 A0 E1                 MOV     R2, R0,LSL#1
  197. RAM_ARM9:02041B74 07 00 A0 E3                 MOV     R0, #7
  198. RAM_ARM9:02041B78 2D 02 00 EB                 BL      pickLoadBGScr__
  199. RAM_ARM9:02041B7C 10 80 BD E8                 LDMFD   SP!, {R4,PC}
  200. RAM_ARM9:02041B7C             @ End of function sub_2041A34
  201.  
  202.  
  203. ------------------------------------------------------------------------------------------------------------------------
  204.  
  205.  
  206. u32 getBGCharPtr(GX_BGChar Char)
  207. {
  208.  
  209. switch ( Char )
  210.     {
  211.         case GX_BG0:
  212.                     G2_GetBG0CharPtr();
  213.         break;
  214.  
  215.         case GX_BG1:
  216.                     G2_GetBG1CharPtr();
  217.         break;
  218.                    
  219.         case GX_BG2:
  220.                     G2_GetBG2CharPtr();
  221.         break;
  222.        
  223.         case GX_BG3:
  224.                     G2_GetBG3CharPtr();
  225.         break;
  226.    
  227.         case GXS_BG0:
  228.                     G2S_GetBG0CharPtr();
  229.         break;
  230.        
  231.         case GXS_BG1:
  232.                     G2S_GetBG1CharPtr();
  233.         break;
  234.        
  235.         case GXS_BG2:
  236.                     G2S_GetBG2CharPtr();
  237.         break;
  238.        
  239.         case GXS_BG3:
  240.                     G2S_GetBG3CharPtr();
  241.         break;
  242.  
  243.         default:
  244.                     return 0;
  245.         break;
  246.     }  
  247.  
  248. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement