05/02/12 12:53
zl.loris
Salve a tutti,
ho iniziato a studiare le istruzioni assemler del MiPS e mi sono imbattuto in due programmini , chiedo se qualcuno sa commentare le istruzioni in esso contenute.
I due programmini di esempio sono :
PRIMO :
sub1: li $t0, 0x10000010
li $t1, 0x100
move $t2, $zero
ciclo: srl $t3, $t2, 1
xor $t3, $t2, $t3
sb $t3, 0 ($t0)
addi $t0, $t0, 1
addi $t2, $t2, 1
bne $t2, $t1, ciclo
jr $ra
SECONDO :
sub2: li $t0, 0x10000010
ori $t2, $zero, 0x9a
li $t3, 9
move $t1, $zero
ciclo: sb $t1, 0 ($t0)
addi $t1, $t1, 1
beq $t1, $t2, ret
addi $t0, $t0, 1
andi $t4, $t1, 0xf
slt $t5, $t3, $t4
beq $t5, $zero, ciclo
addi $t1, $t1, 6
j ciclo
ret: jr $ra
Ringrazio anticipatamente per la risposta
...
Loris
ho iniziato a studiare le istruzioni assemler del MiPS e mi sono imbattuto in due programmini , chiedo se qualcuno sa commentare le istruzioni in esso contenute.
I due programmini di esempio sono :
PRIMO :
sub1: li $t0, 0x10000010
li $t1, 0x100
move $t2, $zero
ciclo: srl $t3, $t2, 1
xor $t3, $t2, $t3
sb $t3, 0 ($t0)
addi $t0, $t0, 1
addi $t2, $t2, 1
bne $t2, $t1, ciclo
jr $ra
SECONDO :
sub2: li $t0, 0x10000010
ori $t2, $zero, 0x9a
li $t3, 9
move $t1, $zero
ciclo: sb $t1, 0 ($t0)
addi $t1, $t1, 1
beq $t1, $t2, ret
addi $t0, $t0, 1
andi $t4, $t1, 0xf
slt $t5, $t3, $t4
beq $t5, $zero, ciclo
addi $t1, $t1, 6
j ciclo
ret: jr $ra
Ringrazio anticipatamente per la risposta
...
Loris
aaa