2010-05-23 8 views
3

ok, C++ et java je n'ai pas l'apprentissage de problème ou que si jamais en matière de MIPS, il est comme l'enferMips, comment lire tableau et les imprimer?

ok je veux apprendre à lire dans le un tableau et imprimer tout l'élément sur

ici est un simple tableau que je l'ai écrit

int[] a = new int[20]; 

for(int i=0; i<a.length; i++){ 
    a[i]=1; 
} 

for(int j=0; j<a.length; j++){ 
    System.out.Println(a[i]) 
} 

comment faites-vous dans MIPS

+1

Cela ressemble à un problème de devoirs - pas beaucoup de gens écrivent l'assemblage MIPS sans raison. Pourquoi n'obtiendrez-vous pas un compilateur C++ qui cible MIPS et regarde juste sa sortie? Cela vous aiderait au moins à démarrer. –

Répondre

2

en supposant que vous avez votre adresse de tableau au registre a1 $, vous pouvez effectuer les opérations suivantes:

li $t0, 1 
    move $t1, $a1 
    addi $t2, $a1, 80 
loop1: 
    sw $t0, ($t1) 
    addi $t1, $t1, 4 
    bne $t1, $t2, loop1 

move $t1, $a1 

loop2: 
    lw $t0, ($t1) 
    li $v0, 1 
    move $a0, $t0 
    syscall 
    addi $t1, $t1, 4 
    bne $t1, $t2, loop2 

Ce code devrait produire comme votre code java le même résultat, à l'exception que vous avez utilisé println (qui imprime chaque élément dans une nouvelle ligne) et ce code imprimera tous les éléments du tableau dans la même ligne .

Je ne sais pas si vous avez remarqué, mais votre code Java et ce code imprimerai tous les 1, si vous voulez imprimer des nombres de 1 à 19, vous devrez augmenter t0 $, à l'intérieur loop1