Je veux convertir un nombre positif à un assemblage négatif, J'ai besoin d'un échantillon de code p>
L'entrée est en hex sdword p>
merci p>
3 Réponses :
Vous pouvez prendre le complément du nombre de deux. C'est à dire. Bitwise pas suivi de l'ajout d'un.
Je veux convertir un nombre situé dans SDWord à Hexadecimal et non binaire
Cela ne fait pas une différence, vous pouvez utiliser la même instruction pour Hex. Il suffit de remplacer 000000010B avec 0x123 par exemple
@Madhurahuja Si le numéro est négatif, il changera de signe aussi? Sinon, quelle opération je dois faire, changer positive à la négative et ne pas modifier négativement à positif, en conclusion: juste pour changer de négatif si elle pose et si elle négative.
Voici une ressource en ligne qui montre comment faire cela pour le processeur 80x86: http://webster.cs.ucr.edu/aoa/dos/ch01/ch01-2.html P>
Ce lien ne fonctionne plus. Vous savez maintenant pourquoi les réponses de liaison seules sont découragées.
Eh bien, il y a deux façons de le faire, il serait préférable de charger le nombre dans un registre, puis d'utiliser l'instruction nge code> comme la mention Hans, c'est-à-dire:
Neg EX code > Nierrait EAx. L'autre sens serait
XOR EAX, EAX Sub EAX, EDX CODE> où EDX contient le numéro que vous souhaitez nier p>
Au lieu de XOR EAX, EAX CODE>, pourquoi pas seulement
MOV EAX, 0H code>?
@ user1720897: XOR EAX, EAX CODE> est une idiome de casse de dépendance (voir le Guide d'optimisation Intel), cela signifie que la CPU peut utiliser le registre de renommer pour accélérer les choses. C'est également un codage plus petit, cela aide à la pression I-cache et à la récupération d'instructions. TBH, cela ne fait aucune différence dans ce cas, c'est juste une habitude de la mienne (mais pas une mauvaise habitude).
Vous devez spécifier un processeur. Chaque processeur utilise un ensemble d'opérations différent.
Quel langage de montage?
Utilisez l'instruction Neg. "HEX SDWORD" ne veut rien dire, HEX est pour l'homme.
Dupliqué possible de Comment calculer un nombre négatif en montage