There are two forms of ASM used by the GBA. ARM and THUMB. ARM is 32bit while THUMB is 16bit. Because the GBA has a 16bit bus except for music rendering and other special circumstances, THUMB is almost always used because ARM would be slower (two cycles for 1 instruction) in the 16bit mode. However, if all of this is 1s and 0s, how the hell does the processor know which one to use?????? In the end, it comes down to that +1. ASM is ALWAYS 4 aligned, meaning the offset you put it at has to be divisible by 4 (ie, ending in 0, 4, 8, or C). So, if the ending is an odd number (1, 5, 9, D), then the processor knows to use THUMB, which is the form of ASM we normally use.
I once told someone that 99% of ASM failures are due to forgetting the +1. He came back about 2 months later and corrected me. He said it was more like 99.99%, lol.