Attack Names - 0x31977C
Attack Data - 0x31C898 (PP Data also needs a separate pointer, starts at Attack Data +4)
Contest Move Data - 0x58C2B4
Contest Effect Data - 0x58CDCC
Attack Description Table - 0x61C524
Attack Animation Table - 0x2C8D6C
Apparently, sharing PGE is the reason he stopped caring about it.:/ Yeah, I have a copy, though I can't wait for the day I never have to use it again. Sharing is caring, and I wish Gamer2020 knew that.
You have 16 bowels on a table and you put noodles in them. Now, you have a rack behind you of shelves. The bottom shelves all have bowls that are filled with noodles in them but the upper ones are empty bowls.
Now, we take our 16 bowls and we have some fun. We add this spice to this one and that spice to that one and we get it just right. So you have perfected your noodles. Now, you want to try something else, but you don't want to lose your 16 unique creations. However, your table only has room for 16 bowls. So, you dump the contents of the bowl you want to work with next into the lowest empty bowl on the shelves. (In ASM, the data will still exist in the register after pushing, so it is copied, not dumped, but same concept). Now, you have a free bowl to work with. That is pushing. To pop something is to take a bowl of noodles on the table, dump its contents in the trash, and then grab the top bowl in the shelves with noodles and pour it into the now empty bowl on the table. This is exactly how it works in ASM: the stack is erased at that point and moved into the register.