Hi everybody, I'm analyzing the ASM code of the special 0x17b (boat animation) in pokemon fire red, it uses the instruction bl, the disassembled code shows "bl $080006f4".
I think this rom address is a label since bl instructions branch to labels as far as I know, but the address isn't pointed anywhere in the game, and after observing the debugger, the address is not in a register either.
My question is : how to find this address ?
I mean, how does the machine know it ? this address comes out of nowhere. There must be a calculation but I don't know what it is.
When I assemble ASM code, there is usually a pointer for each label at the end of the routine, but it's not the case for the special 0x17b (and probably many other functions).
I think this rom address is a label since bl instructions branch to labels as far as I know, but the address isn't pointed anywhere in the game, and after observing the debugger, the address is not in a register either.
My question is : how to find this address ?
I mean, how does the machine know it ? this address comes out of nowhere. There must be a calculation but I don't know what it is.
When I assemble ASM code, there is usually a pointer for each label at the end of the routine, but it's not the case for the special 0x17b (and probably many other functions).
Last edited: