MIPS Assemblée Étiquettes

N'assemblée pour MIPS lire chaque étiquette? ignorer la tâche et de la syntaxe, je viens de mettre quelque chose ensemble rapide.

add reg3, reg1, $zero
add reg1, reg1, reg2
beq reg1, reg3, BRANCH1      #reg2 contents are zero
bne reg1, $zero, BRANCH2     #reg1 doesn't equal zero
BRANCH1: add returnReg, reg1, $zero
BRANCH2: add returnReg, reg2, $zero
jr returnAddress

serait-ce de lire ligne par ligne, y compris les étiquettes, sauf si ils ont sauté par-dessus? Par exemple, BRANCH1 être exécuté à chaque fois, à moins que le contenu de reg1 sont égaux à zéro?

De wiki:
Une étiquette est quelque chose pour rendre votre vie plus simple. Lorsque vous faites référence à un morceau de votre programme,
au lieu d'avoir à compter les lignes, vous pouvez juste lui donner un nom
Vous utilisez ce dans les boucles, sauts, et les noms de variables.
Les étiquettes n'apparaissent pas dans la version finale du code, ils sont là uniquement pour des raisons de commodité, l'un des rares avantages que vous aurez à partir de la typique assembleur MIPS. Il rend aussi la vie plus facile pour l'assembleur, car il peut facilement aller autour de la relocalisation et de la liaison de code. Ne vous inquiétez pas si vous ne savez pas ce que c'est, qui viendra plus tard.

À partir de cela, je prends que les étiquettes ne sont rien de plus qu'une ligne de référence. Ce qui signifie que le saut à travers le code (à l'aide de la bne, beq, jr, j, etc.) est la seule façon de prévenir une instruction sur une ligne à lire. Est-ce la pensée correcte?

  • oui, ils ne sont rien de plus qu'une ligne de référence...et cela est vrai pour toute l'assemblée des langues (assembleurs), j'ai utilisé non seulement MIPS. Aussi il est juste comme un label en C (que vous utilisez avec gotos), simplement il y a comme une ligne de référence pour le compilateur/assembleur.
InformationsquelleAutor dbarcklow | 2014-02-08