MIPS: ricerca di stringhe in un file

di il
1 risposte

MIPS: ricerca di stringhe in un file

Buongiorno, ho un problema con la ricerca di parole all'interno di un file con MIPS.
In giro ho trovato un esempio che però funziona bene solo con stringhe immesse dall'utente (entrambe) e si basa sull'istruzione slt.
Nel mio caso non funziona.
Qualcuno può darmi un'idea su come fare?
grazie

1 Risposte

  • Re: MIPS: ricerca di stringhe in un file

    Puoi utilizzare questo metodo utilizzando le opportune syscall per l'apertura e la lettura di un file.
    
    .data
    filename: .asciiz "cards.dat" #file name
    textSpace: .space 1050     #space to store strings to be read
    
    .text
    main:
    
    li $v0, 13           #open a file
    li $a1, 0            # file flag (read)
    la $a0, filename         # load file name
    add $a2, $zero, $zero    # file mode (unused)
    syscall
    move $a0, $v0        # load file descriptor
    li $v0, 14           #read from file
    la $a1, textSpace        # allocate space for the bytes loaded
    li $a2, 1050         # number of bytes to be read
    syscall  
    la $a0, textSpace        # address of string to be printed
    li $v0, 4            # print string
    syscall
    
    Oppure da terminale Linux utilizzare la riga di comando se utilizzi Mars:
    
    java -jar Mars4_5.jar me nc sm file.asm < testo.txt
    
    e il testo.txt verrà prelevato nel file.asm tramite la syscall 8, ovvero quella per la lettura delle stringhe da stdin.
Devi accedere o registrarti per scrivere nel forum
1 risposte