I'm not familiar with GBA hacking, but in general, the bytes in a rom can represent two things: data or a cpu instruction. You can find what each assembly command gets compiled to (its byte value) if you know what the cpu for the system is and then looking up somewhere the instruction set for that cpu. So you can learn to read the rom in hex form and start changing some values and running the game to see what it does. This is usually something more practical on very small games, such as atari ones.
With big roms like GBA roms there will be thousands and thousands of bytes to look at, so you'll want to use an emulator with a debugger function. It will show you the instructions in assembly code so it becomes easier to read. Notice it cannot know what is data and what is code, so it will show everything as code. Some emulators have an option to mark which bytes were executed as code or read as data in real time as the game is played, which helps a lot.