[zxspectrum] ZXASM - problema con librerie

  • From: Luca Alimandi <luca.alimandi62@xxxxxxxxxxx>
  • To: zxspectrum@xxxxxxxxxxxxx
  • Date: Sun, 19 Jun 2016 17:36:37 +0200

Questo è un quesito per EMG!

Ho un problema. Sto provando ad usare la funzionalità di ZXASM che permette di raccogliere nella cartella LIB parti di programma che possono essere riutilizzati in vari programmi, ossia delle librerie.

Accade però che se voglio utilizzare una variabile (diciamo, globale, per usare la terminologia generale della programmazione) in modo che sia il programma principale che la libreria possano accedere a tale variabile, il compilatore mi dice che c'è una "undefined label" e non riesce a compilare.

Esempio:

-- main.asm --

        org 30000
start   ld a, 0
        ld (var), a
        call invert
        ret

var     defb    0


-- LIB/invert.asm --

invert  ld a,(var)
        cpl
        ld (var),a
        ret


Se metto la definizione della variabile nel programma principale, l'errore di compilazione viene segnalato nella compilazione della libreria, e viceversa. Se la metto in entrambe, ciascuno vedrà una sua variabile locale, diversa da quella dell'altro, per cui non funzionerebbe come voluto.

C'è un modo per poter usare le variabili globali con le librerie?


--

|_ /-\


Other related posts: