Calcolatori Elettronici

Prova d'esame del 18 giugno 2001





Scrivere un programma in assembly che prenda in ingresso una stringa (massimo 80 caratteri) costituita esclusivamente dai seguenti simboli ``A'', ``D'', ``G'' e ``S'' corrispondenti ai possibili comandi da dare ad un cursore per poter disegnare sullo schermo, ovvero:

``A'': avanza,

``D'': ruota a destra,

``G'': abbassa il pennino e

``S'': alza il pennino.

Il programma analizzi carattere per carattere la stringa in ingresso e faccia eseguire al cursore (inizialmente posizionato al centro dello schermo rivolto verso l'alto) i relativi comandi.

Qualora il pennino del cursore sia abbassato e venga eseguito il comando ``A'', il programma disegni il carattere ``.''nella posizione di arrivo del cursore.


Successivamente modificare il programma di modo che esca qualora il cursore con il pennino abbassato venga fatto avanzare in una posizione in cui è già presente il carattere ``.''.