很抱歉,这不是正确的地方,但我正拼命地试图理解这个汇编脚本中发生的事情(我假设就是这样,基于我已经完成的谷歌搜索时间。)它是口袋妖怪黄色版的rom,我了解一些但不是全部。我想如果我能得到一些帮助来理解这一段在做什么,我可以弄清楚其余的。代码如下所示:
PalletTownScript:
CheckEvent EVENT_GOT_POKEBALLS_FROM_OAK
jr z, .next
SetEvent EVENT_PALLET_AFTER_GETTING_POKEBALLS
.next
call EnableAutoTextBoxDrawing
ld hl, PalletTownScriptPointers
ld a, [wPalletTownCurScript]
jp JumpTable
我的理解是第一行只是将其余部分放入名为“PalletTownScript”的标签中,只是稍后引用的名称。第二行检查是否发生了某个事件,详细信息在另一个文件中。到目前为止一切都很好。第三行是对我来说变得复杂的地方。我确定“jr”跳转到脚本的另一部分,然后返回这里?我认为?但是,据我所见,每个示例只有一个参数,而这一行有两个。是跳到z吗?什么是z?我已经搜索了这个文件的其余部分,并且没有名为 z 的部分。z 是另一个函数吗?另一个参数是 .next,据我所知,它是 PalletTownScript 部分的一个子部分。所以它跳到那里是有道理的(但为什么要跳呢?如果它 s 就在那里,它不就是这样做吗?)但我仍然不知道“z”在那里做什么。在.next中,它调用了一些东西并加载了一些其他东西,这很好,但最后,它跳转到另一个文件中的JumpTable(我假设它全部编译后都没有关系,所以我'我不关心那个),但它仍然跳转到.next,然后再次跳转到JumpTable吗?它什么时候回去做那个 SetEvent?之后它会去哪里?m 不关心),但它仍然跳转到 .next,然后再次跳转到 JumpTable?它什么时候回去做那个 SetEvent?之后它会去哪里?m 不关心),但它仍然跳转到 .next,然后再次跳转到 JumpTable?它什么时候回去做那个 SetEvent?之后它会去哪里?
我以前从未处理过大会,这对我来说非常困惑,所以如果有人可以在这方面给我一些帮助,我将不胜感激。谢谢!