Puisqu'il n'y a pas d'opérateur logique NOT dans l'assembly mips, comment peut-on "pas" le contenu d'un registre?Comment "NOT" un registre dans l'assembly mips
1
A
Répondre
1
Chargez -1 dans un autre registre, puis XOR les registres.
https://www.cs.umd.edu/class/sum2003/cmsc311/Notes/Mips/bitwise.html
4
Vous pouvez utiliser nor
et le zero
-register d'adapter tout en une seule instruction:
nor $<dest_reg>, $<in_reg>, $zero
Les expressions équivalentes logique serait:
a nor 0 = not (a or 0) = not a
Une autre approche serait en utilisant xor
et -1
comme cela est codé comme 1111...1111
dans le composant 2s.
li $<help_reg>, -1 # load -1 into help-register
xor $<dest_reg>, $<in_reg>, $<help_reg> # actual not-operation
expressions logiques équivalentes seraient:
a xor 1 = (not a) and 1 = not a