ASM viene de Assembler, que es un lenguaje de programación muy cercano a la máquina (Es de Bajo nivel), esto quiere decir que es complicado de entender para el hombre ya que no posee ninguna palabra conocida (Ni en Alemán, Ruso, Chino, Inglés, Japones ni nada) sino que se maneja directamente con los registros del procesador que se usa y la memoria sobre la cual se trabaja.
En el ámbito del Rom Hacking, las rutinas ASM, son códigos que generan comportamientos en el juego no se pueden lograr con scripts normales, ya que requieren un cierto manejo de distintas áreas de memoria a las que no se puede acceder con éstos. También existen rutinas que cambian completamente como se comporta el Rom internamente. (Por ejemplo, como carga los mapas, cómo carga los MiniSprites, etc) y que al usuario no son visibles.
En fin, cualquier cosa que no entiendas, responde xD