Visualizzazione dei risultati da 1 a 4 su 4
  1. #1
    Utente di HTML.it
    Registrato dal
    Jan 2006
    Messaggi
    182

    [Assambly] Ricerca

    n codice assambly (per mips) vorrei chiedere all'utente se vuole effettuare una ricerca inserendo il carattere s o n. Ho azzardato questo codice ma non so come proseguire. Consigli?

    Nella parte .data ho messo

    codice:
    msg: 	.asciiz "Vuoi effetturare una ricerca? (s/n)"
    mentre nella parte .text

    codice:
    Cerca:             la $a0, msg
    		   li $v0, 4
    		   syscall
    
                       li $a0, 8
    		   syscall

  2. #2
    intanto è

    li $v0, 8
    syscall

    il che salva nel registro $a0 la stringa e nel registro $a1 la sua lunghezza.

    poi.. dovresti usare dei branch per fare in modo che il tuo programma esegua l'istruzione di ricerca oppure no in base al carattere inserito da tastiera..

    il problema che mi pongo è che non conosco nessuna istruzione MIPS che fa confronti tra stringhe..
    provo a dare un'occhio!

  3. #3
    trovato!

    basta un branch not equal (bne) tra due registri in cui hai salvato rispettivamente la "n" o la "s" e il carattere dato da tastiera! :ciauz

    ah.. poi non mi ricordo granchè.. ma mi pare si dovesse usare anche l'istruzione "lb", ma visto che da tastiera immetti un solo carattere, in teoria, forse non serve.. prova!

  4. #4
    Utente di HTML.it
    Registrato dal
    Jan 2006
    Messaggi
    182
    ecco.. ma la mia domanda è: il branch equal (o not equal) mi può confrontare i valori di due registri nel caso in cui questi contengano lettere?

    nel .data ho messo
    codice:
    letter_s:			.asciiz "s"
    poi nel .text
    codice:
    Search:	            la $a0, msg
    			li $v0, 4
    			syscall
    			
    			li $v0, 8
    			syscall
    			
    			move $s0, $v0
    			
    			bne $v0, $s0, Exit		  
    			j main

Permessi di invio

  • Non puoi inserire discussioni
  • Non puoi inserire repliche
  • Non puoi inserire allegati
  • Non puoi modificare i tuoi messaggi
  •  
Powered by vBulletin® Version 4.2.1
Copyright © 2025 vBulletin Solutions, Inc. All rights reserved.