ASM (lenguaje ensamblador) es un lenguaje de programación y como tal sirve para crear programas, aplicaciones o procesos. Cada lenguaje de programación define una sintaxis, y una serie de instrucciones con un significado especifico.
Tienes que entender que un juego de la Game Boy es un caso especifico de un programa escrito en lenguaje ensamblador. Saber programar en el lenguaje de programación en el que el juego está escrito no te dará conocimiento sobre las tripas del juego en particular. Para ello es necesario llevar a cabo un proceso de ingeniería inversa en el que en vez de crear código, se estudia el ya existente para entender su funcionamiento. Esto es lo que han hecho muchas personas en los últimos años, dando lugar a diferente documentación sobre como aplicar el lenguaje ensamblador un juego en particular como puede ser Pokemon FireRed; sobre que hace cada función, y sobre que significado tiene "el dato que tiene cada dirección" como tú dices. Esto ha permitido diferenciar las estructuras de datos del código para que sea mas fácil su manipulación sin necesidad de conocer el lenguaje de programación, haciendo que el mundo del ROM hacking mas accesible.
A lo que quiero llegar es que los conocimientos y dominio del ASM necesarios para crear un juego de esta complejidad desde cero no son los mismos que para hacer modificaciones muy pequeñas (puesto en perspectiva) a uno ya existente, especialmente teniendo en cuenta la documentación y herramientas que tienes a tu disposición para un juego de Pokemon de GBA. En general las aplicaciones del lenguaje ensamblador en el ROM hacking consisten en realizar una modificación o una pequeña ampliación a una funcionalidad ya existente. Generalmente, siempre habrá código en el te basarás o que podrás usar como referencia. Muchas veces la necesidad principal es estar familiarizado con el funcionamiento de éste código para saber como manipularlo, mas que ser increíblemente fluido con el ASM o tener conocimientos sobre interacción con el hardware/procesador que serían necesarios para funcionalidades de mas bajo nivel de las que seguramente nunca tendrás que preocuparte.