Pokemon Center | 口袋中心 以口袋妖怪为主题并带有其他动漫游戏的讨论

 找回密码
 加入口袋中心
搜索
查看: 3264|回复: 8

绿宝石随机经验源码

[复制链接]

94

回帖

645

现金

0

勋章券

手举徽章的兴奋

Rank: 6Rank: 6

积分
344

时光印记Lv.1

发表于 2021-5-3 07:01:41 | 显示全部楼层 |阅读模式

仅可给非802及其改版的非反编译绿宝石版本使用,请用ARMIPS编译源码,使用前请先修改版本,写入地址等信息

.gba
.thumb
.create "test.gba",0x8000000
.close
.open "绿宝石.gba","test.gba",0x8000000

.org 0x08E3CF68
.func randomexp
        ldr r0,=(0x0806F5CC|1)
        bl call_bx
        lsl r0,r0,#0x10
        cmp r6,#0x0
        beq goto
        ldr r2,=(change|1)
        bx r2
.endfunc
.pool

.func goto
        ldr r2,=(0x0804A4FC|1)
        bx r2
.endfunc
.pool

.func call_bx
        bx r0
.endfunc
.pool

.org 0x0804A4AA
        mul r0,r2
        mov r2,r0
        ldr r0,=(randomexp|1)
        bx r0
change:
        mov r2,#0x0
.pool

.close

评分

参与人数 1积分 +15 现金 +30 收起 理由
jiangzhengwenjz + 15 + 30

查看全部评分

回复

使用道具 举报

3344

回帖

6

现金

484

勋章券

超级版主

Rank: 26Rank: 26Rank: 26Rank: 26Rank: 26Rank: 26

积分
21858
QQ

时光印记Lv.3挥金如土勋章水中王者勋章Lv3Omega红宝石发售确认纪念章Alpha蓝宝石发售确认纪念章金银好CP-Ho-oh/LUGIA【里】金银好CP-Ho-oh/LUGIA【真·正常向】异化型LUGIA【M超梦版】

发表于 2021-5-3 23:30:06 | 显示全部楼层
change:
        mov r2,#0x0
.pool

真的大丈夫?
回复 支持 反对

使用道具 举报

94

回帖

645

现金

0

勋章券

手举徽章的兴奋

Rank: 6Rank: 6

积分
344

时光印记Lv.1

 楼主| 发表于 2021-5-4 15:12:11 来自手机 | 显示全部楼层
jiangzhengwenjz 发表于 2021-5-3 23:30
change:
        mov r2,#0x0
.pool

没看懂大佬意思,不过我貌似写错了个地方,那个lsl应该改成mov r1,r0
回复 支持 反对

使用道具 举报

94

回帖

645

现金

0

勋章券

手举徽章的兴奋

Rank: 6Rank: 6

积分
344

时光印记Lv.1

 楼主| 发表于 2021-5-4 20:55:41 来自手机 | 显示全部楼层
744865306 发表于 2021-5-4 15:12
没看懂大佬意思,不过我貌似写错了个地方,那个lsl应该改成mov r1,r0

啊,应该这样

.gba
.thumb
.create "test.gba",0x8000000
.close
.open "绿宝石.gba","test.gba",0x8000000

.org 0x08F80000
.func randomexp
        ldr r0,=(0x0806F5CC|1)
        bl call_bx
        mov r1,r0
        ldr r2,=(change|1)
        bx r2
.endfunc
.pool

.func call_bx
        bx r0
.endfunc
.pool

.org 0x0804A4AA
        mul r0,r2
        mov r2,r0
        ldr r0,=(randomexp|1)
        bx r0
change:
        mov r0,r1
.pool

.close
回复 支持 反对

使用道具 举报

3344

回帖

6

现金

484

勋章券

超级版主

Rank: 26Rank: 26Rank: 26Rank: 26Rank: 26Rank: 26

积分
21858
QQ

时光印记Lv.3挥金如土勋章水中王者勋章Lv3Omega红宝石发售确认纪念章Alpha蓝宝石发售确认纪念章金银好CP-Ho-oh/LUGIA【里】金银好CP-Ho-oh/LUGIA【真·正常向】异化型LUGIA【M超梦版】

发表于 2021-5-5 09:15:22 | 显示全部楼层
744865306 发表于 2021-5-4 20:55
啊,应该这样

.gba

我不是说你的mov有问题,我也根本没看你的程序,只是想说,你指望mov r0, r1后面运行哪条指令呢?
回复 支持 反对

使用道具 举报

94

回帖

645

现金

0

勋章券

手举徽章的兴奋

Rank: 6Rank: 6

积分
344

时光印记Lv.1

 楼主| 发表于 2021-5-5 12:16:32 来自手机 | 显示全部楼层
jiangzhengwenjz 发表于 2021-5-5 09:15
我不是说你的mov有问题,我也根本没看你的程序,只是想说,你指望mov r0, r1后面运行哪条指令呢?

我只是把mov r1,r0给恢复回来啊,跳转的时候不是会覆盖掉r0嘛?(萌新不懂,大概弄错了)
回复 支持 反对

使用道具 举报

3344

回帖

6

现金

484

勋章券

超级版主

Rank: 26Rank: 26Rank: 26Rank: 26Rank: 26Rank: 26

积分
21858
QQ

时光印记Lv.3挥金如土勋章水中王者勋章Lv3Omega红宝石发售确认纪念章Alpha蓝宝石发售确认纪念章金银好CP-Ho-oh/LUGIA【里】金银好CP-Ho-oh/LUGIA【真·正常向】异化型LUGIA【M超梦版】

发表于 2021-5-5 13:33:09 | 显示全部楼层
744865306 发表于 2021-5-5 12:16
我只是把mov r1,r0给恢复回来啊,跳转的时候不是会覆盖掉r0嘛?(萌新不懂,大概弄错了)

我建议你仔细调试你的程序,随便看了看,就感觉有很多问题
1) mov r0, r1,后面直接.pool(等价于写入.long randomexp|1),根本没法正常运行的
2) mov r1, r0 和 mov r0, r1,引入r1的意义何在?
3) 从随机exp原理角度说(这个属于我瞎猜因为没看原本代码),生成exp数量的期望也未免太不合理了?不考虑是什么怪兽,平均都有个几万经验(?),那就没有实际意义
4) mov r2, r0,ROM里的函数都是遵循标准的calling convention的,也就是调用一个函数前后应该默认r0, r1, r2, r3, r12会被当作临时寄存器使用(值会发生变化),那你把数值存在r2里的意义是什么呢?(如果只是随便塞入无用的指令那当我没说)
回复 支持 反对

使用道具 举报

52

回帖

208

现金

0

勋章券

新伙伴的欢笑

Rank: 3

积分
94
发表于 2021-6-21 16:06:28 | 显示全部楼层
路过回复看,好奇
回复 支持 反对

使用道具 举报

10

回帖

57

现金

0

勋章券

口袋学堂外的努力

Rank: 2Rank: 2

积分
33
发表于 2021-8-20 07:09:11 来自手机 | 显示全部楼层
有人知道全随机怎么做吗?
回复 支持 反对

使用道具 举报

您需要登录后才可以回帖 登录 | 加入口袋中心

本版积分规则

手机版|Archiver|Pokemon Center

GMT+8, 2024-4-25 17:31 , Processed in 0.111071 second(s), 51 queries .

Powered by Discuz! X3.4

© 2001-2023 Discuz! Team.

快速回复 返回顶部 返回列表