|
|
|
![]() |
|
Strumenti |
![]() |
#1 |
Junior Member
Iscritto dal: Feb 2010
Messaggi: 15
|
[Assembler] Controllare se una stringa è palindroma
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... |
![]() |
![]() |
![]() |
#2 |
Senior Member
Iscritto dal: May 2004
Città: Londra (Torino)
Messaggi: 3692
|
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.
__________________
Se pensi che il tuo codice sia troppo complesso da capire senza commenti, e' segno che molto probabilmente il tuo codice e' semplicemente mal scritto. E se pensi di avere bisogno di un nuovo commento, significa che ti manca almeno un test. |
![]() |
![]() |
![]() |
#3 |
Junior Member
Iscritto dal: Jan 2010
Messaggi: 8
|
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 ? ![]() |
![]() |
![]() |
![]() |
Strumenti | |
|
|
Tutti gli orari sono GMT +1. Ora sono le: 13:13.