Извините, это не то место, но я отчаянно пытаюсь понять, что происходит в этом скрипте сборки (я предполагаю, что это то, что есть, основываясь на часах поиска в Google, которые я сделал .) Это ром для версии Pokemon Yellow, и я понимаю некоторые, но не все. Я полагаю, что если мне удастся получить некоторую помощь в понимании того, что делает этот один абзац, я смогу понять остальное. Код выглядит так:
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. Так что имеет смысл, что он прыгает там (но зачем вообще прыгать? Если он прямо там, разве он все равно не сделает это?) Но я до сих пор не знаю, что там делает z. В .next он вызывает некоторые вещи и загружает другие, все в порядке, но в конце он переходит к JumpTable, который находится в другом файле (я предполагаю, что это не имеет значения после того, как все скомпилировано, поэтому я меня это не беспокоит), но выполняется ли переход к .next, а затем снова к JumpTable? Когда он go вернется к этому SetEvent? Где это go после этого?
Я никогда раньше не имел дела с Assembly, и все это меня очень сбивает с толку, поэтому, если бы кто-то мог мне помочь с этим, я был бы очень признателен. Спасибо!