Estratto del documento

Ricerca di token in una stringa di caratteri

Lo scopo di quest’esercizio è quello di ricercare un token all’interno di una sequenza di caratteri. Se il token è presente, allora memorizzare in una variabile l’indirizzo del registro in cui è presente il token; se il token non è presente, terminare il ciclo ed uscire dal programma.

Definizione iniziale

Per prima cosa occorre definire tutto il necessario per costruire il nostro algoritmo in assembler. Guardando alle ipotesi dell’esercizio vi è necessità di avere:

  • Una variabile che contenga il carattere che dobbiamo ricercare all’interno della stringa;
  • Una variabile che contenga il carattere che fungerà da terminatore della stringa;
  • Una stringa su cui effettuare la ricerca;
  • Una variabile in cui memorizzare l’indirizzo del nostro token.

Ecco allora ciò di cui abbiamo bisogno tradotto in assembler:

$8100 ORG
*Assegnazione tramite il codice operativo del valore rappresentante il carattere : alla
EQU *variabile TOKEN
TOKEN ‘:’ EQU
TOKEN2 EQU ‘<’
*Definizione tramite il codice operativo di un array di caratteri
DEFINE CONSTANT STRING ‘ab:cd’
DC.B
*Definizione di una variabile non inizializzata delle dimensioni di una longword di nome
*TOKENA
TOKENA 1 DS.L

Progettazione dell'algoritmo

Una volta definito tutto il necessario per lavorare sulla stringa, passiamo a progettare quale sarà il comportamento del nostro algoritmo. Date le premesse, si potrebbe pensare che il nostro algoritmo si possa suddividere in tre fasi: start, ciclo di confronti ed esito, che contrassegneremo opportunamente con delle label. Nella prima fase faremo tutte le assegnazioni utili all’algoritmo, nella seconda verrà implementato il vero e proprio ciclo di confronti, che permetterà la determinazione della presenza o dell’assenza del token richiesto, infine un’ultima fase che ci restituirà, a patto che il carattere che cerchiamo sia all’interno della stringa, l’indirizzo in cui è memorizzato.

Start

In questa fase ci preoccuperemo di assegnare i valori utili al nostro algoritmo in opportune variabili. E dunque:

START #STRING, A0
MOVEA.L #TOKEN, D0
MOVE.B #TOKEN2, D1
MOVE.B

Con la prima istruzione viene prelevato l’indirizzo della variabile reso costante tramite e infine copiato STRING, #all’interno del registro A0. Con la seconda istruzione avviene in modo del tutto analogo la copia dell’indirizzo della variabile all’interno del registro dopo essere stato reso costante. Idem, per la terza istruzione.

Anteprima
Vedrai una selezione di 1 pagina su 2
Ricerca di token in una stringa Pag. 1
1 su 2
D/illustrazione/soddisfatti o rimborsati
Acquista con carta o PayPal
Scarica i documenti tutte le volte che vuoi
Dettagli
SSD
Ingegneria industriale e dell'informazione ING-INF/05 Sistemi di elaborazione delle informazioni

I contenuti di questa pagina costituiscono rielaborazioni personali del Publisher valeria0186 di informazioni apprese con la frequenza delle lezioni di Calcolatori elettronici I e studio autonomo di eventuali libri di riferimento in preparazione dell'esame finale o della tesi. Non devono intendersi come materiale ufficiale dell'università Università degli studi di Napoli Federico II o del prof Mazzeo Antonino.
Appunti correlati Invia appunti e guadagna

Domande e risposte

Hai bisogno di aiuto?
Chiedi alla community