估计是用简单的分支语句写的 那堆数值看了整天都.........
好吧,偶承认
那一堆转跳看得偶头晕眼花,那一堆处理代码偶也完全看不明白口牙
简单点来说明一下吧,要将一个芯片修改成:“空”追加、全地形适应S、EN+400、装甲+4000、移动+4、射程+4、命中+40、CT+40%、残弓单4倍、EN消耗减少40%、追加技能オルゴン·クラウド、追加EN回复L,应该怎样改?
[ 本帖最后由 ネミッサ 于 2005-10-29 14:25 编辑 ] 楼上说话不腰疼
跟踪一类效果追加,少说也要一、两个小时
而且不同芯片在不同的地方调用地址不同,工作量又会大大的增加,而且BUG也会不少. 果然跟预期一样麻烦....... 那强化芯片部分放的数据是什么?是存放要调用地址的数据么,“不同的地方调用地址不同”是什么概念;
还有,要弄懂这部分的话,是要学汇编还是编译原理呢... 原帖由 huangxiang 于 2005-10-29 22:07 发表
那强化芯片部分放的数据是什么?是存放要调用地址的数据么,“不同的地方调用地址不同”是什么概念;
还有,要弄懂这部分的话,是要学汇编还是编译原理呢...
那强化芯片部分放的数据是什么?
并没有具体数据,只是一段代码
如果你装备的是HP+500的芯片,芯片代码2F(好像是...)
在计算HP时,当机体上四个插槽中,有2F芯片时候,会跳转到处理"HP在原有基础上加上500的"一段代码.
例:HP+500
08017348 20FA mov r0,#0xfa R0=FA
0801734A 0040 lsl r0,r0,#0x01 R0=FA lsh 01 = 1F4(R0为加上的500HP)
0801734C 1812 add r2,r2,r0 R2=R2+R0 (R2为原HP)
0801734E E14A b $080175e6
要说其中的数据的话,就是"FAh"吧,FA进行左移1位运算,得到结果"01F4h",也就是500
准确的讲,那只是赋值命令,并不是以数值方式被读取的.
如果把"lsl r0,r0,#0x01"改成lsl r0,r0,#0x03,那+500的芯片其效果为+2000,因为FA lsh 03 = 7D0 (十进制为2000)
---------------------------------------------------------------------------------------
不同的地方调用地址不同
一些像增加数值的芯片,在查看状态时会被计算,而一些像是增加技能的芯片,则要转到技能的页面,才会被计算
还有每回合EN回复10%这类的芯片,在回合开始计算.
-----------------------------------------------------------------------------------------
要弄懂这部分的话,是要学汇编还是编译原理呢?
都不用学,我没有学过汇编,编译原理也不明白.只要仔细看看前面的帖子.再动手研究下即可.
页:
1
[2]