PDA

View Full Version : [Assembler] Controllare se una stringa è palindroma


annam90
07-02-2010, 20:48
Salve, potete aiutarmi con questo problema? non mi viene proprio in mente come fare. Ho pensato magari di comparare il primo e l'ultimo elemento della stringa; se sono uguali, andare avanti e controllare il secondo e il penultimo e così via.

tipo così:

ciclo: cmp vet[si], vet[di]
jne FINE

inc si
dec di
loop ciclo

fine: ecc ecc...

gugoXX
07-02-2010, 22:02
Va bene direi.
Ci sono modi magari migliori, forse, ma nel complesso e' corretto.
Una cosa importante da fare e' caricare CX con solo la meta' della lunghezza della stringa, per evitare di controllare 2 volte ogni coppia di caratteri corrispondenti.

Prova a scrivere il tutto usando solo CX (o quasi). Un esercizio di ottimizzazione, magari non necessario, ma utile.

dursino
07-02-2010, 22:16
Dove sono salvate le due stringhe?
In spazi di memoria del tipo,
StringaA: .fill x,1
oppure StringaA : .ascii " "
?
Conosci le istruzioni Stringa tipo LODS ,STOS ?:sofico: