| + | ... |
;----------------------------------------------
; [r0] ← 乱数 0〜65535
;----------------------------------------------
20b1f94: e59f2024 ldr r2, [pc, #36] @ 0x20b1fc0
20b1f98: e59f1024 ldr r1, [pc, #36] @ 0x20b1fc4
20b1f9c: e5923000 ldr r3, [r2]
20b1fa0: e0010193 mul r1, r3, r1
20b1fa4: e2813001 add r3, r1, #1
20b1fa8: e1a01823 lsr r1, r3, #16
20b1fac: e1a01801 lsl r1, r1, #16
20b1fb0: e5823000 str r3, [r2]
20b1fb4: e1a01821 lsr r1, r1, #16
20b1fb8: e5801000 str r1, [r0]
20b1fbc: e12fff1e bx lr
20b1fc0: 0216359c
20b1fc4: 5d588b65
;----------------------------------------------
; [r0] ← 乱数 0〜(r1-1)
;----------------------------------------------
20b1fc8: e92d4038 push {r3, r4, r5, lr}
20b1fcc: e1a04000 mov r4, r0
20b1fd0: e28d0000 add r0, sp, #0
20b1fd4: e1a05001 mov r5, r1
20b1fd8: ebffffed bl 0x20b1f94
20b1fdc: e59d0000 ldr r0, [sp]
20b1fe0: e1a00800 lsl r0, r0, #16
20b1fe4: e1a01820 lsr r1, r0, #16
20b1fe8: e0000591 mul r0, r1, r5
20b1fec: e1a01840 asr r1, r0, #16
20b1ff0: e1a00801 lsl r0, r1, #16
20b1ff4: e58d1000 str r1, [sp]
20b1ff8: e1a00820 lsr r0, r0, #16
20b1ffc: e5840000 str r0, [r4]
20b2000: e8bd8038 pop {r3, r4, r5, pc}
|
| 表記 | 値 | 固定小数点数換算 |
|---|---|---|
| C_{2} | 61440 | 0.9375 |
| C_{4} | 57600 | 0.878906 |
| C_{8} | 50625 | 0.772476 |
| C_{16} | 39107 | 0.596725 |
| C_{32} | 23336 | 0.356079 |
| C_{64} | 8309 | 0.126785 |
| C_{128} | 1053 | 0.0160675 |
| C_{256} | 17 | 0.000259399 |
| C_{512} | 0 | 0 |
import random
def damage(wp, st, lv, df):
l = 0
if lv >= 26:
l = 54 + (lv - 26)
elif lv >= 2:
l = 6 + 2 * (lv - 2)
elif lv >= 1:
l = 5
d = (wp//2 + st + 8) * l
d = (d >> 4) << 16
c = 0xf000
df >>= 1
while df > 0:
if df & 1:
d = ((d & 0xffff0000) * c) >> 16
c = (c * c + 0x8000) >> 16
df >>= 1
r = random.randint(87, 111)
t = (d * (r * 65536 // 100) + 0x8000) >> 16
ret = (t + 0x8000) >> 16
return max(1, min(999, ret))
| Lv 上位\Lv 下位 | 0 | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 |
|---|---|---|---|---|---|---|---|---|---|---|
| 0 | 0 | 5 | 6 | 8 | 10 | 12 | 14 | 16 | 18 | 20 |
| 10 | 22 | 24 | 26 | 28 | 30 | 32 | 34 | 36 | 38 | 40 |
| 20 | 42 | 44 | 46 | 48 | 50 | 52 | 54 | 55 | 56 | 57 |
| 30 | 58 | 59 | 60 | 61 | 62 | 63 | 64 | 65 | 66 | 67 |
| 40 | 68 | 69 | 70 | 71 | 72 | 73 | 74 | 75 | 76 | 77 |
| 50 | 78 | 79 | 80 | 81 | 82 | 83 | 84 | 85 | 86 | 87 |
| 60 | 88 | 89 | 90 | 91 | 92 | 93 | 94 | 95 | 96 | 97 |
| 70 | 98 | 99 | 100 | 101 | 102 | 103 | 104 | 105 | 106 | 107 |
| 80 | 108 | 109 | 110 | 111 | 112 | 113 | 114 | 115 | 116 | 117 |
| 90 | 118 | 119 | 120 | 121 | 122 | 123 | 124 | 125 | 126 | 127 |
| + | ... |
;-------------------------------------
; アイテムドロップ処理
;-------------------------------------
...
2332070: e28d002c add r0, sp, #44 @ 0x2c
2332074: e3a01064 mov r1, #100 @ 0x64
2332078: e3a04000 mov r4, #0
233207c: ebf5ffd1 bl 0x20b1fc8 ; [sp + 44] ← 乱数 0〜99
...
...
233237c: e1d014b0 ldrh r1, [r0, #64] @ 0x40
2332380: e59d002c ldr r0, [sp, #44] @ 0x2c
2332384: e1500001 cmp r0, r1
2332388: aa000015 bge 0x23323e4 ; (乱数値) >= (境界値) の場合
...
;-------------------------------------
; 特技使用確率
;-------------------------------------
...
209e5d4: e28d0000 add r0, sp, #0
209e5d8: e3a01064 mov r1, #100 @ 0x64
209e5dc: eb004e79 bl 0x20b1fc8 ; [sp] ← 乱数 0〜99
...
...
209e61c: e1d052be ldrh r5, [r0, #46] @ 0x2e ; r5 ← (境界値)
...
...
209e6c0: e59d0000 ldr r0, [sp]
209e6c4: e1500005 cmp r0, r5
209e6c8: aa000022 bge 0x209e758 ; (乱数値) >= (境界値) の場合
...
|
| + | ... |
20b2174: e92d4ff0 push {r4, r5, r6, r7, r8, r9, sl, fp, lr}
20b2178: e24dd00c sub sp, sp, #12
20b217c: e3a01028 mov r1, #40 @ 0x28
20b2180: e1a0a000 mov sl, r0
20b2184: e2812e46 add r2, r1, #1120 @ 0x460
20b2188: e000019a mul r0, sl, r1
20b218c: e3a05000 mov r5, #0
20b2190: e007029a mul r7, sl, r2
20b2194: e58d0000 str r0, [sp]
20b2198: e58d5004 str r5, [sp, #4]
20b219c: e59f01c8 ldr r0, [pc, #456] @ 0x20b236c
20b21a0: e3a01013 mov r1, #19
20b21a4: e5903000 ldr r3, [r0]
20b21a8: e59d0000 ldr r0, [sp]
20b21ac: e0832000 add r2, r3, r0
20b21b0: e0820081 add r0, r2, r1, lsl #1
20b21b4: e2800b07 add r0, r0, #7168 @ 0x1c00
20b21b8: e1d00dbc ldrh r0, [r0, #220] @ 0xdc
20b21bc: e3500000 cmp r0, #0
20b21c0: 0a000005 beq 0x20b21dc
20b21c4: e59d0000 ldr r0, [sp]
20b21c8: e0800003 add r0, r0, r3
20b21cc: e0800081 add r0, r0, r1, lsl #1
20b21d0: e2800b07 add r0, r0, #7168 @ 0x1c00
20b21d4: e1d05dbc ldrh r5, [r0, #220] @ 0xdc
20b21d8: ea000001 b 0x20b21e4
20b21dc: e2511001 subs r1, r1, #1
20b21e0: 5afffff2 bpl 0x20b21b0
20b21e4: e28d0008 add r0, sp, #8
20b21e8: e1a01005 mov r1, r5
20b21ec: ebffff75 bl 0x20b1fc8 ; [sp + 8] ← 乱数 0〜(r5-1)
20b21f0: e59f0174 ldr r0, [pc, #372] @ 0x20b236c
20b21f4: e3a01000 mov r1, #0
20b21f8: e5904000 ldr r4, [r0]
20b21fc: e59d0000 ldr r0, [sp]
20b2200: e59d3008 ldr r3, [sp, #8]
20b2204: e1a08001 mov r8, r1
20b2208: e0842000 add r2, r4, r0
20b220c: e0820088 add r0, r2, r8, lsl #1
20b2210: e2800b07 add r0, r0, #7168 @ 0x1c00
20b2214: e1d00dbc ldrh r0, [r0, #220] @ 0xdc
20b2218: e3500000 cmp r0, #0
20b221c: 0a000004 beq 0x20b2234
20b2220: e1510003 cmp r1, r3
20b2224: ca000001 bgt 0x20b2230
20b2228: e1530000 cmp r3, r0
20b222c: ba000003 blt 0x20b2240 ; (1つ前の境界値) <= (乱数値) <= (境界値) の場合
20b2230: e1a01000 mov r1, r0
20b2234: e2888001 add r8, r8, #1
20b2238: e3580014 cmp r8, #20
20b223c: bafffff2 blt 0x20b220c
20b2240: e3580014 cmp r8, #20
20b2244: 028dd00c addeq sp, sp, #12
20b2248: 03a000eb moveq r0, #235 @ 0xeb
20b224c: 08bd8ff0 popeq {r4, r5, r6, r7, r8, r9, sl, fp, pc}
20b2250: e59f2118 ldr r2, [pc, #280] @ 0x20b2370
20b2254: e59f1118 ldr r1, [pc, #280] @ 0x20b2374
20b2258: e0843007 add r3, r4, r7
20b225c: e0810202 add r0, r1, r2, lsl #4
20b2260: e5d0000a ldrb r0, [r0, #10]
20b2264: e1580000 cmp r8, r0
20b2268: 1a000005 bne 0x20b2284
20b226c: e0830082 add r0, r3, r2, lsl #1
20b2270: e2800c1d add r0, r0, #7424 @ 0x1d00
20b2274: e1d005b4 ldrh r0, [r0, #84] @ 0x54
20b2278: e3500000 cmp r0, #0
20b227c: 11a05000 movne r5, r0
20b2280: 1a000001 bne 0x20b228c
20b2284: e2522001 subs r2, r2, #1
20b2288: 5afffff3 bpl 0x20b225c
20b228c: e3a06000 mov r6, #0
20b2290: e59f40dc ldr r4, [pc, #220] @ 0x20b2374
20b2294: e1a0b006 mov fp, r6
20b2298: e28d0008 add r0, sp, #8
20b229c: e1a01005 mov r1, r5
20b22a0: ebffff48 bl 0x20b1fc8 ; [sp + 8] ← 乱数 0〜(r5-1)
20b22a4: e59f00c0 ldr r0, [pc, #192] @ 0x20b236c
20b22a8: e59d1008 ldr r1, [sp, #8]
20b22ac: e5900000 ldr r0, [r0]
20b22b0: e1a0200b mov r2, fp
20b22b4: e0870000 add r0, r7, r0
20b22b8: e1a0900b mov r9, fp
20b22bc: e0843209 add r3, r4, r9, lsl #4
20b22c0: e5d3300a ldrb r3, [r3, #10]
20b22c4: e1580003 cmp r8, r3
20b22c8: 1a000009 bne 0x20b22f4
20b22cc: e0803089 add r3, r0, r9, lsl #1
20b22d0: e2833c1d add r3, r3, #7424 @ 0x1d00
20b22d4: e1d335b4 ldrh r3, [r3, #84] @ 0x54
20b22d8: e3530000 cmp r3, #0
20b22dc: 0a000004 beq 0x20b22f4
20b22e0: e1520001 cmp r2, r1
20b22e4: ca000001 bgt 0x20b22f0
20b22e8: e1510003 cmp r1, r3
20b22ec: ba000003 blt 0x20b2300 ; (1つ前の境界値) <= (乱数値) < (境界値) の場合
20b22f0: e1a02003 mov r2, r3
20b22f4: e2899001 add r9, r9, #1
20b22f8: e3590f91 cmp r9, #580 @ 0x244
20b22fc: baffffee blt 0x20b22bc
20b2300: e3590f91 cmp r9, #580 @ 0x244
20b2304: 028dd00c addeq sp, sp, #12
20b2308: 03a000eb moveq r0, #235 @ 0xeb
20b230c: 08bd8ff0 popeq {r4, r5, r6, r7, r8, r9, sl, fp, pc}
...
20b236c: 027c007c
20b2370: 00000243
20b2374: 021592e0
|
| + | ... |
20b2638: e92d4ff8 push {r3, r4, r5, r6, r7, r8, r9, sl, fp, lr}
20b263c: e3a02fa6 mov r2, #664 @ 0x298
20b2640: e0090290 mul r9, r0, r2
20b2644: e59f0118 ldr r0, [pc, #280] @ 0x20b2764
20b2648: e3a060f4 mov r6, #244 @ 0xf4
20b264c: e5900000 ldr r0, [r0]
20b2650: e1a0a001 mov sl, r1
20b2654: e2861057 add r1, r6, #87 @ 0x57
20b2658: e0802009 add r2, r0, r9
20b265c: e3a07000 mov r7, #0
20b2660: e0820081 add r0, r2, r1, lsl #1
20b2664: e2800c17 add r0, r0, #5888 @ 0x1700
20b2668: e1d00abc ldrh r0, [r0, #172] @ 0xac
20b266c: e3500000 cmp r0, #0
20b2670: 11a07000 movne r7, r0
20b2674: 1a000001 bne 0x20b2680
20b2678: e2511001 subs r1, r1, #1
20b267c: 5afffff7 bpl 0x20b2660
20b2680: e3a08000 mov r8, #0
20b2684: e59f40dc ldr r4, [pc, #220] @ 0x20b2768
20b2688: e28d5000 add r5, sp, #0
20b268c: e1a0b008 mov fp, r8
20b2690: e1a00005 mov r0, r5
20b2694: e1a01007 mov r1, r7
20b2698: ebfffe4a bl 0x20b1fc8 ; [sp] ← 乱数 0〜(r7-1)
20b269c: e59f00c0 ldr r0, [pc, #192] @ 0x20b2764
20b26a0: e59d1000 ldr r1, [sp]
20b26a4: e5900000 ldr r0, [r0]
20b26a8: e1a0200b mov r2, fp
20b26ac: e0890000 add r0, r9, r0
20b26b0: e0803082 add r3, r0, r2, lsl #1
20b26b4: e2833c17 add r3, r3, #5888 @ 0x1700
20b26b8: e1d3cabc ldrh ip, [r3, #172] @ 0xac
20b26bc: e35c0000 cmp ip, #0
20b26c0: 0a000003 beq 0x20b26d4
20b26c4: e1a03802 lsl r3, r2, #16
20b26c8: e151000c cmp r1, ip
20b26cc: e1a06823 lsr r6, r3, #16
20b26d0: ba000002 blt 0x20b26e0 ; (乱数値) < (境界値) の場合
20b26d4: e2822001 add r2, r2, #1
20b26d8: e3520f53 cmp r2, #332 @ 0x14c
20b26dc: bafffff3 blt 0x20b26b0
...
20b2764: 027c007c
20b2768: 0216017c
|
| + | ... |
...
20b24c4: e5902000 ldr r2, [r0]
20b24c8: e3a09000 mov r9, #0
20b24cc: e3a0101b mov r1, #27
20b24d0: e0820081 add r0, r2, r1, lsl #1
20b24d4: e2800c2a add r0, r0, #10752 @ 0x2a00
20b24d8: e1d00ebc ldrh r0, [r0, #236] @ 0xec
20b24dc: e3500000 cmp r0, #0
20b24e0: 11a09000 movne r9, r0
20b24e4: 1a000001 bne 0x20b24f0
20b24e8: e2511001 subs r1, r1, #1
20b24ec: 5afffff7 bpl 0x20b24d0
20b24f0: e3a0a000 mov sl, #0
20b24f4: e28d7000 add r7, sp, #0
20b24f8: e1a0600a mov r6, sl
20b24fc: e1a00007 mov r0, r7
20b2500: e1a01009 mov r1, r9
20b2504: ebfffeaf bl 0x20b1fc8 ; [sp] ← 乱数 0〜(r9-1)
20b2508: e59f111c ldr r1, [pc, #284] @ 0x20b262c
20b250c: e59d0000 ldr r0, [sp]
20b2510: e591c000 ldr ip, [r1]
20b2514: e1a03006 mov r3, r6
20b2518: e1a01006 mov r1, r6
20b251c: e08c2081 add r2, ip, r1, lsl #1
20b2520: e2822c2a add r2, r2, #10752 @ 0x2a00
20b2524: e1d22ebc ldrh r2, [r2, #236] @ 0xec
20b2528: e3520000 cmp r2, #0
20b252c: 0a000004 beq 0x20b2544
20b2530: e1530000 cmp r3, r0
20b2534: ca000001 bgt 0x20b2540
20b2538: e1500002 cmp r0, r2
20b253c: ba000003 blt 0x20b2550 ; (1つ前の境界値) <= (乱数値) < (境界値) の場合
20b2540: e1a03002 mov r3, r2
20b2544: e2811001 add r1, r1, #1
20b2548: e351001c cmp r1, #28
20b254c: bafffff2 blt 0x20b251c
...
20b262c: 027c007c
|
| + | ... |
;----------------------------------------
; - r1 > r2 の場合: 乱数値 r2〜(r1-1) を返す
; - r1 == r2 の場合: r1 を返す
; - r1 < r2 の場合: 乱数値 r1〜(r2-1) を返す
;----------------------------------------
20b2004: e92d4070 push {r4, r5, r6, lr}
20b2008: e24dd008 sub sp, sp, #8
20b200c: e1a05001 mov r5, r1
20b2010: e1a04002 mov r4, r2
20b2014: e1550004 cmp r5, r4
20b2018: e1a06000 mov r6, r0
20b201c: 028dd008 addeq sp, sp, #8
20b2020: 05865000 streq r5, [r6]
20b2024: 08bd8070 popeq {r4, r5, r6, pc}
20b2028: aa000007 bge 0x20b204c
20b202c: e28d0004 add r0, sp, #4
20b2030: e0441005 sub r1, r4, r5
20b2034: ebffffe3 bl 0x20b1fc8
20b2038: e59d0004 ldr r0, [sp, #4]
20b203c: e28dd008 add sp, sp, #8
20b2040: e0800005 add r0, r0, r5
20b2044: e5860000 str r0, [r6]
20b2048: e8bd8070 pop {r4, r5, r6, pc}
20b204c: e28d0000 add r0, sp, #0
20b2050: e0451004 sub r1, r5, r4
20b2054: ebffffdb bl 0x20b1fc8
20b2058: e59d0000 ldr r0, [sp]
20b205c: e0800004 add r0, r0, r4
20b2060: e5860000 str r0, [r6]
20b2064: e28dd008 add sp, sp, #8
20b2068: e8bd8070 pop {r4, r5, r6, pc}
;----------------------------------------
; モンスター出現数
;----------------------------------------
...
20b1458: e5d21f50 ldrb r1, [r2, #3920] @ 0xf50
20b145c: e5d22f51 ldrb r2, [r2, #3921] @ 0xf51
20b1460: eb0002e7 bl 0x20b2004
...
;----------------------------------------
; アイテム出現数
;----------------------------------------
...
20b0d00: e5d21f4c ldrb r1, [r2, #3916] @ 0xf4c
20b0d04: e5d22f4d ldrb r2, [r2, #3917] @ 0xf4d
20b0d08: eb0004bd bl 0x20b2004
...
;----------------------------------------
; ワナ出現数
;----------------------------------------
...
20b0f48: e5d21f4e ldrb r1, [r2, #3918] @ 0xf4e
20b0f4c: e5d22f4f ldrb r2, [r2, #3919] @ 0xf4f
20b0f50: eb00042b bl 0x20b2004
...
;----------------------------------------
; 呪い確率
;----------------------------------------
...
203368c: e28d0000 add r0, sp, #0
2033690: e3a01064 mov r1, #100 @ 0x64
2033694: eb01fa4b bl 0x20b1fc8
2033698: e59f02e0 ldr r0, [pc, #736] @ 0x2033980
203369c: e59d1000 ldr r1, [sp]
20336a0: e5900000 ldr r0, [r0]
20336a4: e2800a05 add r0, r0, #20480 @ 0x5000
20336a8: e5d00f5b ldrb r0, [r0, #3931] @ 0xf5b
20336ac: e1510000 cmp r1, r0
20336b0: aa000003 bge 0x20336c4
20336b4: e1d700b0 ldrh r0, [r7]
20336b8: e3800004 orr r0, r0, #4
20336bc: e3c00b01 bic r0, r0, #1024 @ 0x400
20336c0: e1c700b0 strh r0, [r7]
; かさタヌキ 確率
20336c4: e28d0000 add r0, sp, #0
20336c8: e3a01064 mov r1, #100 @ 0x64
20336cc: eb01fa3d bl 0x20b1fc8
20336d0: e59f02ac ldr r0, [pc, #684] @ 0x2033984
20336d4: e5900000 ldr r0, [r0]
20336d8: e2800b03 add r0, r0, #3072 @ 0xc00
20336dc: e1d00eb4 ldrh r0, [r0, #228] @ 0xe4
20336e0: e350002b cmp r0, #43 @ 0x2b
20336e4: 1350002c cmpne r0, #44 @ 0x2c
20336e8: 1350002d cmpne r0, #45 @ 0x2d
20336ec: 1350002e cmpne r0, #46 @ 0x2e
20336f0: 0a00001f beq 0x2033774
20336f4: e59f0284 ldr r0, [pc, #644] @ 0x2033980
20336f8: e59d1000 ldr r1, [sp]
20336fc: e5900000 ldr r0, [r0]
2033700: e2800a05 add r0, r0, #20480 @ 0x5000
2033704: e5d00f59 ldrb r0, [r0, #3929] @ 0xf59
2033708: e1510000 cmp r1, r0
203370c: b1d700b0 ldrhlt r0, [r7]
2033710: e3a01064 mov r1, #100 @ 0x64
2033714: b3800020 orrlt r0, r0, #32
2033718: b1c700b0 strhlt r0, [r7]
; 祝福 確率
203371c: e28d0000 add r0, sp, #0
2033720: eb01fa28 bl 0x20b1fc8
2033724: e59f0254 ldr r0, [pc, #596] @ 0x2033980
2033728: e59d1000 ldr r1, [sp]
203372c: e5900000 ldr r0, [r0]
2033730: e2800a05 add r0, r0, #20480 @ 0x5000
2033734: e5d00f5a ldrb r0, [r0, #3930] @ 0xf5a
2033738: e1510000 cmp r1, r0
203373c: aa00000c bge 0x2033774
2033740: e3a00000 mov r0, #0
2033744: ebffe474 bl 0x202c91c
2033748: e59f1238 ldr r1, [pc, #568] @ 0x2033988
203374c: e3a02001 mov r2, #1
2033750: e7910100 ldr r0, [r1, r0, lsl #2]
2033754: e1100412 tst r0, r2, lsl r4
2033758: 0a000005 beq 0x2033774
203375c: e1d700b0 ldrh r0, [r7]
2033760: e3800b01 orr r0, r0, #1024 @ 0x400
2033764: e1c700b0 strh r0, [r7]
2033768: e1d700b0 ldrh r0, [r7]
203376c: e3c00004 bic r0, r0, #4 ; 呪い状態を解除する
2033770: e1c700b0 strh r0, [r7]
...
; ゴールド範囲
20337e0: e1d215b2 ldrh r1, [r2, #82] @ 0x52
20337e4: e1d225b4 ldrh r2, [r2, #84] @ 0x54
20337e8: eb01fa05 bl 0x20b2004
...
;----------------------------------------
; 店確率
;----------------------------------------
...
20b3540: e5d10f40 ldrb r0, [r1, #3904] @ 0xf40
20b3544: e5d11f58 ldrb r1, [r1, #3928] @ 0xf58
20b3548: eb001fb1 bl 0x20bb414
...
;----------------------------------------
; 店設置(サブルーチン)
;----------------------------------------
20bb414: e92d4ff8 push {r3, r4, r5, r6, r7, r8, r9, sl, fp, lr}
20bb418: e24dd048 sub sp, sp, #72 @ 0x48
20bb41c: e59f364c ldr r3, [pc, #1612] @ 0x20bba70
20bb420: e1a06000 mov r6, r0
20bb424: e5933000 ldr r3, [r3]
20bb428: e1a05001 mov r5, r1
20bb42c: e3a040ff mov r4, #255 @ 0xff
20bb430: e28d002c add r0, sp, #44 @ 0x2c
20bb434: e3a01064 mov r1, #100 @ 0x64
20bb438: e58d2004 str r2, [sp, #4]
20bb43c: e5c34b2a strb r4, [r3, #2858] @ 0xb2a
20bb440: ebffdae0 bl 0x20b1fc8
20bb444: e3560000 cmp r6, #0
20bb448: 028dd048 addeq sp, sp, #72 @ 0x48
20bb44c: 08bd8ff8 popeq {r3, r4, r5, r6, r7, r8, r9, sl, fp, pc}
20bb450: e59d002c ldr r0, [sp, #44] @ 0x2c
20bb454: e1560000 cmp r6, r0
20bb458: d28dd048 addle sp, sp, #72 @ 0x48
20bb45c: d8bd8ff8 pople {r3, r4, r5, r6, r7, r8, r9, sl, fp, pc}
20bb460: ebfdc5a7 bl 0x202cb04
20bb464: e3500000 cmp r0, #0
20bb468: 028dd048 addeq sp, sp, #72 @ 0x48
20bb46c: 08bd8ff8 popeq {r3, r4, r5, r6, r7, r8, r9, sl, fp, pc}
20bb470: e28d002c add r0, sp, #44 @ 0x2c
20bb474: e3a01064 mov r1, #100 @ 0x64
20bb478: ebffdad2 bl 0x20b1fc8
20bb47c: e59d002c ldr r0, [sp, #44] @ 0x2c
20bb480: e1500005 cmp r0, r5
20bb484: aa00001b bge 0x20bb4f8
20bb488: e3a04000 mov r4, #0
20bb48c: e1a00004 mov r0, r4
20bb490: ebfdc521 bl 0x202c91c
20bb494: e59f15d8 ldr r1, [pc, #1496] @ 0x20bba74
20bb498: e59f25d8 ldr r2, [pc, #1496] @ 0x20bba78
20bb49c: e5916000 ldr r6, [r1]
20bb4a0: e7922100 ldr r2, [r2, r0, lsl #2]
20bb4a4: e1a05004 mov r5, r4
20bb4a8: e28d1034 add r1, sp, #52 @ 0x34
20bb4ac: e3a03001 mov r3, #1
20bb4b0: e0860085 add r0, r6, r5, lsl #1
20bb4b4: e2800c1d add r0, r0, #7424 @ 0x1d00
20bb4b8: e1d000b4 ldrh r0, [r0, #4]
20bb4bc: e3500000 cmp r0, #0
20bb4c0: 0a000002 beq 0x20bb4d0
20bb4c4: e1120513 tst r2, r3, lsl r5
20bb4c8: 17c15004 strbne r5, [r1, r4]
20bb4cc: 12844001 addne r4, r4, #1
20bb4d0: e2855001 add r5, r5, #1
20bb4d4: e3550014 cmp r5, #20
20bb4d8: bafffff4 blt 0x20bb4b0
20bb4dc: e28d002c add r0, sp, #44 @ 0x2c
20bb4e0: e1a01004 mov r1, r4
20bb4e4: ebffdab7 bl 0x20b1fc8
20bb4e8: e59d102c ldr r1, [sp, #44] @ 0x2c
20bb4ec: e28d0034 add r0, sp, #52 @ 0x34
20bb4f0: e7d04001 ldrb r4, [r0, r1]
20bb4f4: ea000000 b 0x20bb4fc
...
;----------------------------------------
; モンスターハウス確率
;----------------------------------------
...
20b354c: e59d0000 ldr r0, [sp]
20b3550: e3500000 cmp r0, #0
20b3554: 159f0080 ldrne r0, [pc, #128] @ 0x20b35dc
20b3558: 1a000003 bne 0x20b356c
20b355c: e59f0070 ldr r0, [pc, #112] @ 0x20b35d4
20b3560: e5900000 ldr r0, [r0]
20b3564: e2800a05 add r0, r0, #20480 @ 0x5000
20b3568: e5d00f41 ldrb r0, [r0, #3905] @ 0xf41
20b356c: e1a00800 lsl r0, r0, #16
20b3570: e1a00840 asr r0, r0, #16
20b3574: eb002143 bl 0x20bba88
...
;----------------------------------------
; サブルーチン
;----------------------------------------
20bba88: e92d4ff8 push {r3, r4, r5, r6, r7, r8, r9, sl, fp, lr}
20bba8c: e24dd010 sub sp, sp, #16
20bba90: e59f11a0 ldr r1, [pc, #416] @ 0x20bbc38
20bba94: e1a04000 mov r4, r0
20bba98: e5912000 ldr r2, [r1]
20bba9c: e3a030ff mov r3, #255 @ 0xff
20bbaa0: e28d0008 add r0, sp, #8
20bbaa4: e3a01064 mov r1, #100 @ 0x64
20bbaa8: e5c23b2b strb r3, [r2, #2859] @ 0xb2b
20bbaac: ebffd945 bl 0x20b1fc8
20bbab0: e59f0180 ldr r0, [pc, #384] @ 0x20bbc38
20bbab4: e5902000 ldr r2, [r0]
20bbab8: e5d20ce8 ldrb r0, [r2, #3304] @ 0xce8
20bbabc: e3500002 cmp r0, #2
20bbac0: 1a000007 bne 0x20bbae4
20bbac4: e59f1170 ldr r1, [pc, #368] @ 0x20bbc3c
20bbac8: e2820b03 add r0, r2, #3072 @ 0xc00
20bbacc: e5911000 ldr r1, [r1]
20bbad0: e1d02ebc ldrh r2, [r0, #236] @ 0xec
20bbad4: e1d102bc ldrh r0, [r1, #44] @ 0x2c
20bbad8: e1520000 cmp r2, r0
20bbadc: 028dd010 addeq sp, sp, #16
20bbae0: 08bd8ff8 popeq {r3, r4, r5, r6, r7, r8, r9, sl, fp, pc}
20bbae4: e3540000 cmp r4, #0
20bbae8: 028dd010 addeq sp, sp, #16
20bbaec: 08bd8ff8 popeq {r3, r4, r5, r6, r7, r8, r9, sl, fp, pc}
20bbaf0: e59d0008 ldr r0, [sp, #8]
20bbaf4: e1540000 cmp r4, r0
20bbaf8: d28dd010 addle sp, sp, #16
20bbafc: d8bd8ff8 pople {r3, r4, r5, r6, r7, r8, r9, sl, fp, pc}
...
|