Juan Pablo, pero antes de ejecutar el LD tu registro IX apunta a la dirección 0xB00A, ¿correcto?
Me parece que esos lugares de memoria ya están siendo usados para cargar el programa. Con la instrucción LD estás sobreescribiendo parte de tu programa.
Deberías reservar lugar en memoria usando directivas del ensamblador (define byte o define storage) y luego antes de invocar la subrutina cargar en IX la dirección donde comienza el área de memoria que reservaste.
julio
Me parece que esos lugares de memoria ya están siendo usados para cargar el programa. Con la instrucción LD estás sobreescribiendo parte de tu programa.
Deberías reservar lugar en memoria usando directivas del ensamblador (define byte o define storage) y luego antes de invocar la subrutina cargar en IX la dirección donde comienza el área de memoria que reservaste.
julio