Escribir el código fuente

Crea un archivo llamado src/hola.asm con el siguiente contenido:

; Hola Mundo usando firmware Amstrad CPC
    org $4000          ; Dirección de carga del programa

    ld hl, mensaje     ; HL apunta al mensaje
bucle:
    ld a, (hl)         ; Carga siguiente carácter
    or a               ; ¿Es cero (fin de cadena)?
    jr z, fin          ; Si sí, termina
    call $BB5A         ; Llama a CHPUT (imprime carácter)
    inc hl             ; Siguiente carácter
    jr bucle           ; Repite
fin:
    ret

mensaje:
    db "HOLA MUNDO CPC!",0

Aunque por ahora no entraremos en detalle sobre la organización de la memoria, la primera instrucción org $4000 indica en qué posición de memoria se cargará el programa. En este caso, hemos elegido la dirección &4000 porque es una dirección comúnmente utilizada para cargar programas en el Amstrad CPC. Más adelante veremos más en detalle el mapa de memoria del CPC y la razón de esta elección, pero por ahora lo importante es que el programa se cargará en esa dirección y que el cargador BASIC también lo cargará en esa misma dirección, para que todo funcione correctamente.