Ir ao conteúdo

Posts recomendados

Postado

Alguém poderia me ajudar, estou meio perdido.

 

 

 

Faça um programa em Assembly do MIPS que determine o tamanho das Strings em um arquivo. A String deverá ser lida de um arquivo e terá no máximo 100 caracteres. Serão dispostas exatamente 10 Strings no arquivo, sendo uma por linha. A saída deve ser um arquivo contendo na primeira linha a menor String encontrada e na segunda linha a maior String encontrada. Em caso de tamanhos iguais entre duas ou mais, escreva todas na ordem em que foram lidas na mesma linha. 

Nome do arquivo de entrada é "string.in" e o de saída é "string.out".  

Formato do arquivo de entrada:

Teste 1
Teste 2
Oi
Assembly
Opa
Isso pode
Universidade
Teste 3
Teste 4
Teste 5

Formato do arquivo de saída:

Oi
Universidade

Postado

Minha maior dificuldade tá sendo comparar as strings do arquivo, tô sabendo nem por onde começar. Até agora já to conseguindo ler e escrever no arquivo.

 

 .text
    .globl main
    
main:

# Parte para ler o arquivo
    li $v0, 13 #syscall pra abrir o arquivo com as strings pre-definidas
    la $a0,fileName #nome do arquivo
    li $a1,0 #marca pra leitura
    syscall #abri o arquivo
    move $s0, $v0 #salva a descrição do arquivo


    li $v0, 14 #syscall pra ler do arquivo
    move $a0, $s0 
    la $a1, fileWords
    li $a2, 100
    syscall
    
     li $v0, 4
     la $a0, fileWords
     syscall 
     
     li $v0, 16
     move $a0, $s0
     syscall

Postado

Tem o load byte para pegar um elemento do array de char, exemplo de uso:

lb $t1, ($t7)        #Pega um elemento do array e joga em ($t7)

addi $t7, $t7, 1   #Pula para o próximo do array

Nesse tutorial que eu coloquei tem demonstrando as comparações, loop no ASM MIPS.

Fiz até um programa para calcular o fatorial de números altos usando esse tutorial + pesquisa no Google. Então recomendo lê com calma e entender.

Crie uma conta ou entre para comentar

Você precisa ser um usuário para fazer um comentário

Criar uma conta

Crie uma nova conta em nossa comunidade. É fácil!

Crie uma nova conta

Entrar

Já tem uma conta? Faça o login.

Entrar agora

Sobre o Clube do Hardware

No ar desde 1996, o Clube do Hardware é uma das maiores, mais antigas e mais respeitadas comunidades sobre tecnologia do Brasil. Leia mais

Direitos autorais

Não permitimos a cópia ou reprodução do conteúdo do nosso site, fórum, newsletters e redes sociais, mesmo citando-se a fonte. Leia mais

×
×
  • Criar novo...