En el ejemplo de FBI, es la tabla de nombres.
En la mia es la tabla de punteros de nombres. ¿Por qué? Pues porque es más efectivo. Ya que si repunteas algun nombre, cambiaras su direccion, y ya no será el mismo index number.
Por ejemplo repunteas bulbasaur, por.. bulbasaura.
Ya tiene un caracter mas, entonces has de repuntear a otra direccion y no estara en el mismo sitio que bulbasaur, entonces ese nombre el primero nunca lo leeras.
De mi forma si. Porque lees la tabla de punteros de nombres. Y aunque repunteees el primer pokemon sera soempre el primero, dando igual la ubicacion de este nombre.
En cuanto a la segunda duda, es mas que nada para que quede todo claro.
Es lo mismo ldr r0,[r0] que ldr r0,[r0,#0x0], ya que la omision de #0x0, hace que por default sea 0.
Igual que con add r0,r0,rx = add r0,rx