Estratto del documento

Ricerca di token in una stringa di caratteri e memorizzazione dell'indirizzo dei token trovati

Con questo esercizio vogliamo ricercare un determinato token all'interno di una stringa, constatarne la presenza o l'assenza all'interno di essa ed eventualmente scrivere in memoria l'indirizzo in cui il token, che stiamo cercando, è stato registrato. Date le nostre premesse, iniziamo a definire tutto ciò di cui necessitiamo per risolvere il problema. Dunque abbiamo bisogno di:

  • Una variabile che contenga il token che dobbiamo ricercare all'interno della stringa.
  • Una variabile che contenga il token che fungerà da terminatore della stringa.
  • Un array di caratteri su cui effettuare l'operazione.
  • Una variabile che contenga gli indirizzi di memoria degli eventuali token trovati.

Traduzione in linguaggio assembler

Questo è ciò che ci occorre tradotto in linguaggio assembler:

  • Valore del carattere da memorizzare nella variabile TOKEN, il codice operativo usato è EQU che permette non solo di memorizzare il valore, ma di renderlo anche costante.

TOKEN ':' EQU
TOKEN2 '<' EQU

  • Definizione tramite il codice operativo di un array di caratteri

DEFINE CONSTANT STRING 'ab:c:de<' DC.B

  • Dichiarazione di spazio non allocato per memorizzare gli indirizzi degli eventuali token trovati all'interno del programma. In questo caso possiamo registrare al più 4 indirizzi.

TOKENA 4 DS.L
START END

Implementazione del codice

Stabiliti gli elementi sui quali agire e con i quali andare ad operare, dobbiamo implementare il codice. L'algoritmo consisterà di tre parti: una prima in cui verranno effettuate tutte le operazioni preliminari (assegnazioni), quindi si passerà alla fase del loop e della ricerca, infine una terza che provvederà all'eventuale memorizzazione dell'indirizzo del token.

Start

Come preannunciato, questa sarà la fase in cui ci si preoccuperà di effettuare tutte le assegnazioni utili al funzionamento del nostro codice. E allora:

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

Tutte le istruzioni provvedono a trasferire gli indirizzi di memoria in cui sono memorizzate le variabili nei rispettivi registri indirizzo. In TOKENA verrà registrato l'indirizzo del token trovato, in STRING vi è la stringa su cui effettuare la ricerca, in TOKEN vi è il carattere da ricercare, infine in TOKEN2 c'è il carattere terminatore della stringa.

Domanda

I primi tre codici operativi sembrano essere diversi tra di loro. Perché ognuno di essi produce un'azione che in sostanza è...

Anteprima
Vedrai una selezione di 1 pagina su 2
Ricerca di token 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