diff options
author | YamaArashi <shadow962@live.com> | 2016-11-01 10:08:48 -0700 |
---|---|---|
committer | YamaArashi <shadow962@live.com> | 2016-11-01 10:16:34 -0700 |
commit | 6f0e42a91aeeedd64725ce57e3dad6a38421d8e9 (patch) | |
tree | dcea69ec49430f004c17ff71b77587cafd78c69a /asm/rng.s | |
parent | fef81187dce23adc635d7f4b7fd82298eab09ec2 (diff) |
split asm files
Diffstat (limited to 'asm/rng.s')
-rw-r--r-- | asm/rng.s | 65 |
1 files changed, 65 insertions, 0 deletions
diff --git a/asm/rng.s b/asm/rng.s new file mode 100644 index 000000000..1f1e4678c --- /dev/null +++ b/asm/rng.s @@ -0,0 +1,65 @@ + .include "asm/macros.inc" + .include "constants/constants.inc" + + .syntax unified + + .text + + thumb_func_start GenerateRandomNumber +@ u16 GenerateRandomNumber() +GenerateRandomNumber: @ 806F5CC + ldr r2, =0x03005d80 + ldr r1, [r2] + ldr r0, =0x41c64e6d + muls r0, r1 + ldr r1, =0x00006073 + adds r0, r1 + str r0, [r2] + ldr r2, =0x020249c0 + ldr r1, [r2] + adds r1, 0x1 + str r1, [r2] + lsrs r0, 16 + bx lr + .pool + thumb_func_end GenerateRandomNumber + + thumb_func_start SeedRng +@ void SeedRng(u16 seed) +SeedRng: @ 806F5F8 + lsls r0, 16 + lsrs r0, 16 + ldr r1, =0x03005d80 + str r0, [r1] + ldr r1, =0x020249bc + movs r0, 0 + strb r0, [r1] + bx lr + .pool + thumb_func_end SeedRng + + thumb_func_start SeedRng2 +SeedRng2: @ 806F610 + lsls r0, 16 + lsrs r0, 16 + ldr r1, =0x03005d84 + str r0, [r1] + bx lr + .pool + thumb_func_end SeedRng2 + + thumb_func_start GenerateRandomNumber2 +GenerateRandomNumber2: @ 806F620 + ldr r2, =0x03005d84 + ldr r1, [r2] + ldr r0, =0x41c64e6d + muls r0, r1 + ldr r1, =0x00006073 + adds r0, r1 + str r0, [r2] + lsrs r0, 16 + bx lr + .pool + thumb_func_end GenerateRandomNumber2 + + .align 2, 0 @ Don't pad with nop. |