LD HL,(5C53H) inizio Basic. NXTLINE: LD DE,(5C4BH) siamo alla fine del Basic? EX DE,HL se si', ritorna al Basic. AND A SBC HL,DE RET Z EX DE,HL INC HL ignora il numero di linea. INC HL LD E,(HL) prendi la lunghezza della INC HL linea. LD D,(HL) INC HL COLON: prendi il primo carattere LD A,(HL) dell'istruzione corrente. CP 0EAH se e' un REM salta alla JR Z,REMFND prossima linea. LD C,0 se C e' dispari siamo tra NXTCHAR: doppi apici " LD A,(HL) e' un carattere "?" CP 22H se si', cambia C da pari JR NZ,NTQUOTE a dispari o viceversa. INC C NTQUOTE: prendi il carattere da LD A,(5B38H) cercare. CP (HL) e' il carattere corrente? JR NZ,NOFIND se si', rimpiazzalo con LD A,(5B39H) il nuovo valore. LD (HL),A NOFIND: vai al prossimo carattere. LD A,(HL) INC HL DEC DE BIT 0,C siamo tra doppi apici? JR NZ,NXTCHAR se si', vai al prossimo carattere. CP 0EH altrimenti verifica se JR Z,NOTNUM c'e' un numero binario LD B,5 a 5 byte, in tal caso NXT: saltalo. INC HL DEC DE DJNZ NXT NOTNUM: verifica se abbiamo rag- CP 3AH giunto un due punti. JR Z,COLON se si', vai all'inizio. CP 0DH siamo alla fine della JR NZ,NXTCHAR linea? Se si' vai alla JR NXTLINE prossima linea. REMFND: LD BC,(5B38H) controlla se il REM deve LD A,C essere rimpiazzato. CP (HL) se si', fallo. JR NZ,NTRMFND LD (HL),B NTRMFND: salta alla prossima linea. ADD HL,DE JR NXTLINE END