80421EC 03 4A LDR R2, [PC, #$03] ; 0x0200fe7c
80421EE 11 68 LDR R1, [R2, #$00] ; 0x5d588b65
80421F0 03 48 LDR R0, [PC, #$03]
80421F2 48 43 MUL R0, R1
80421F4 01 30 ADD R0, #$01
80421F6 10 60 STR R0, [R2, #$00]
80421F8 00 0C LSR R0, R0, #$10
80421FA 70 47 BX LR
80421FC 7C FE 00 02 65 8B 58 5D
;
; 0〜(A-1) の乱数取得
;
8042204 10 B5 PUSH {R4,LR}
8042206 04 1C ADD R4, R0, #$00
8042208 FF F7 BLL #$07FF
804220A F0 FF BLH #$07F0 ; 乱数 0〜65535 取得
804220C 00 2C CMP R4, #$00
804220E 01 D1 BNE $08042214
8042210 00 20 MOV R0, #$00
8042212 02 E0 BAL $0804221A
8042214 21 1C ADD R1, R4, #$00
8042216 1A F0 BLL #$001A
8042218 6F FC BLH #$046F ; $0805caf8
804221A 10 BC POP {R4}
804221C 02 BC POP {R1}
804221E 08 47 BX R1
;
;
;
805CAF8 01 23 MOV R3, #$01
805CAFA 00 29 CMP R1, #$00
805CAFC 5E D0 BEQ $0805CBBC
805CAFE 00 D5 BPL $0805CB02
805CB00 49 42 NEG R1, R1
805CB02 10 B4 PUSH {R4}
805CB04 01 B4 PUSH {R0}
805CB06 00 28 CMP R0, #$00
805CB08 00 D5 BPL $0805CB0C
805CB0A 40 42 NEG R0, R0
805CB0C 88 42 CMP R0, R1
805CB0E 4F D3 BCC $0805CBB0
805CB10 01 24 MOV R4, #$01
805CB12 24 07 LSL R4, R4, #$1C
805CB14 A1 42 CMP R1, R4
805CB16 04 D2 BCS $0805CB22
805CB18 81 42 CMP R1, R0
805CB1A 02 D2 BCS $0805CB22
805CB1C 09 01 LSL R1, R1, #$04
805CB1E 1B 01 LSL R3, R3, #$04
805CB20 F8 E7 BAL $0805CB14
805CB22 E4 00 LSL R4, R4, #$03
805CB24 A1 42 CMP R1, R4
805CB26 04 D2 BCS $0805CB32
805CB28 81 42 CMP R1, R0
805CB2A 02 D2 BCS $0805CB32
805CB2C 49 00 LSL R1, R1, #$01
805CB2E 5B 00 LSL R3, R3, #$01
805CB30 F8 E7 BAL $0805CB24
805CB32 00 22 MOV R2, #$00
805CB34 88 42 CMP R0, R1
805CB36 00 D3 BCC $0805CB3A
805CB38 40 1A SUB R0, R0, R1
805CB3A 4C 08 LSR R4, R1, #$01
805CB3C A0 42 CMP R0, R4
805CB3E 05 D3 BCC $0805CB4C
805CB40 00 1B SUB R0, R0, R4
805CB42 9C 46 MOV R12, R3
805CB44 01 24 MOV R4, #$01
805CB46 E3 41 ROR R3, R4
805CB48 1A 43 ORR R2, R3
805CB4A 63 46 MOV R3, R12
805CB4C 8C 08 LSR R4, R1, #$02
805CB4E A0 42 CMP R0, R4
805CB50 05 D3 BCC $0805CB5E
805CB52 00 1B SUB R0, R0, R4
805CB54 9C 46 MOV R12, R3
805CB56 02 24 MOV R4, #$02
805CB58 E3 41 ROR R3, R4
805CB5A 1A 43 ORR R2, R3
805CB5C 63 46 MOV R3, R12
805CB5E CC 08 LSR R4, R1, #$03
805CB60 A0 42 CMP R0, R4
805CB62 05 D3 BCC $0805CB70
805CB64 00 1B SUB R0, R0, R4
805CB66 9C 46 MOV R12, R3
805CB68 03 24 MOV R4, #$03
805CB6A E3 41 ROR R3, R4
805CB6C 1A 43 ORR R2, R3
805CB6E 63 46 MOV R3, R12
805CB70 9C 46 MOV R12, R3
805CB72 00 28 CMP R0, #$00
805CB74 03 D0 BEQ $0805CB7E
805CB76 1B 09 LSR R3, R3, #$04
805CB78 01 D0 BEQ $0805CB7E
805CB7A 09 09 LSR R1, R1, #$04
805CB7C D9 E7 BAL $0805CB32
805CB7E 0E 24 MOV R4, #$0E
805CB80 24 07 LSL R4, R4, #$1C
805CB82 22 40 AND R2, R4
805CB84 14 D0 BEQ $0805CBB0
805CB86 63 46 MOV R3, R12
805CB88 03 24 MOV R4, #$03
805CB8A E3 41 ROR R3, R4
805CB8C 1A 42 TST R2, R3
805CB8E 01 D0 BEQ $0805CB94
805CB90 CC 08 LSR R4, R1, #$03
805CB92 00 19 ADD R0, R0, R4
805CB94 63 46 MOV R3, R12
805CB96 02 24 MOV R4, #$02
805CB98 E3 41 ROR R3, R4
805CB9A 1A 42 TST R2, R3
805CB9C 01 D0 BEQ $0805CBA2
805CB9E 8C 08 LSR R4, R1, #$02
805CBA0 00 19 ADD R0, R0, R4
805CBA2 63 46 MOV R3, R12
805CBA4 01 24 MOV R4, #$01
805CBA6 E3 41 ROR R3, R4
805CBA8 1A 42 TST R2, R3
805CBAA 01 D0 BEQ $0805CBB0
805CBAC 4C 08 LSR R4, R1, #$01
805CBAE 00 19 ADD R0, R0, R4
805CBB0 10 BC POP {R4}
805CBB2 00 2C CMP R4, #$00
805CBB4 00 D5 BPL $0805CBB8
805CBB6 40 42 NEG R0, R0
805CBB8 10 BC POP {R4}
805CBBA F7 46 MOV PC, LR