Anteprima
Vedrai una selezione di 1 pagina su 2
Disdici quando
vuoi
vuoi
Acquista con carta
o PayPal
o PayPal
Scarica i documenti
tutte le volte che vuoi
tutte le volte che vuoi
Estratto del documento
Codice Assembly per verificare se una stringa è palindroma
.datastr: .asciiz "etnagigante" halflen: .byte 5 #lunghezza di metà parola approssimata all'intero inferiore len: .byte 10 #lungezza della stringa -1, il -1 mi serve per puntare correttamente all'ultimo yp: .asciiz "La stringa inserita è palindroma" np: .asciiz "La stringa non è palindroma" .text main: la $a1, str #punto al primo elemento della stringa lbu $s1, len add $a0, $a1, $s1 #puntatore all'ultimo elemento della stringa j palindromi palindromi: li $t0, 0 lb $t4, halflen ciclo: sle $t5, $t0, $t4 #se arrivo fino a metà della stringa senza aver rilevato problemi, allora questa condizione mi dice che la stringa è palindroma bne $t5, 1, yespal lbu $t1, 0($a1) lbu $t2, 0($a0) seq $t3, $t1, $t2 #confronto caratteri bne $t3, 1, nopal #se c'è un carattere non coincidente allora vai a nopal addi $t0, $t0, 1 #incremento il contatore che conta fino a metà stringa addiu $a0, $a0, -1 #faccio puntare il
puntatore all'ultimo elemento al penultimo
addiu $a1, $a1, 1 #faccio puntare il puntatore al primo elemento al successivo
j cicloyespal
li $v0, 4
la $a0, y
syscall
Dettagli
SSD
Ingegneria industriale e dell'informazione
ING-INF/01 Elettronica
I contenuti di questa pagina costituiscono rielaborazioni personali del Publisher Vito_G17 di informazioni apprese con la frequenza delle lezioni di Architettura dei calcolatori e calcolatori elettronici 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 Pavia o del prof Ingegneria Prof.