MIPS: lw (charger word) instruction
Est lw $s0,8($0)
le même que lw $s0,0($v0)
?
Je ne vois pas la différence. Je pense que le 8 représente le décalage, ce qui signifie que nous avons besoin de l'adresse de 0 $et ajouter 2 (8/4) pour l'adresse.
EDIT:
Ma question est à propos de l'ol instruction et le MIPS du registre. Son assez difficile pour moi de comprendre comment la compenser exactement les œuvres...
Pas beaucoup à cette question.. pouvez-vous ajouter plus de détails, pls. Clarifier.
"Est
"Est
lw $s0,8($0)
le même que lw $s0,0($v0)
?" Si $v0
contient la valeur 8, oui. Sinon, pas de.OriginalL'auteur ErebosM | 2015-07-22
Vous devez vous connecter pour publier un commentaire.
Ils ne sont pas les mêmes, bien que, dans certaines circonstances, ils vont se comporter de même.
Le format de la
lw
instruction est comme suit:où RegDest et RegSource sont MIPS registres, et le Décalage est immédiate.
Cela signifie, charger dans le registre RegDest la parole contenue dans l'adresse résultant de l'ajout du contenu du registre RegSource et de l'Offset spécifié. La résultante de l'adresse de la source doit être mot-alignés (c'est à dire un multiple de 4)
Par conséquent,
lw $s0,8($0)
moyen de charger dans$s0
le contenu du mot à l'adresse indiquée par$0
plus 8. Comme$0
est de s'inscrire$zero
qui contiendra toujours la constante de zéro, il faudra charger le mot situé à l'adresse absolue 8 en$s0
.lw $s0,0($v0)
moyen de charger dans$s0
le contenu de la parole, situé à l'adresse indiquée par$v0
. Si$v0
contient la valeur 8, puis les deux instructions ont le même effet. Si$v0
n'est pas un multiple de 4, l'instruction va générer un adressage piège.Généralement
lw
est un pseudoinstruction dans le sens que l'assembleur peut émettre plus d'une instruction d'accomplir l'instruction. Le décalage (déplacement) doit être de 16 bits signé valeur.Si votre instruction immédiatement avec plus de bits, l'assembleur utilise habituellement un registre temporaire (
$at
) pour maintenir le contenu de l'immédiat et alors émettre l'équivalent des instructions pour exécuter le comportement voulu. Vous pouvez le voir en action à l'aide d'un dissassembler ou d'un MIPS moniteur (également inspecter le code avec MARS simulateur).OriginalL'auteur gusbro