Je cherchais en ligne à travers des échantillons de questions d'entrevue posées dans le passé par Microsoft et rencontré celui-ci:
Le bloc ASM suivant effectue un Fonction mathématique commune, qu'est-ce que c'est? p>
cwd xor ax, dx sub ax, dx
3 Réponses :
trouve la valeur absolue em> forte> p>
Il ne fonctionne que sur AX / EAX - Il détruit un registre (DX / EDX) - il peut être effectué plus rapidement sur les processeurs Pentium et plus récents Le problème est l'instruction CWD. Pour remplacer la CWD, vous pouvez utiliser cette combinaison: MOV DX, AX SAR DX, 15 (si des registres 32 bits sont utilisés, passez à une valeur de 31 à la place.) P>
CWD- Convertissez le mot en double mot. p>
AX XOR, DX => AX = AX XOR DX P>
Merci ..Can vous s'il vous plaît élaborer comment en fait cela trouve la valeur absolue? c'est-à-dire de montrer quelles instructions font étape par étape (bien peut-être que la première instruction depuis que je comprends le second)
Mec, c'est assembleur. C'est pas à pas.
C'est la fonction Si si ABS code> (de
hache code>). P>
AX code> est positif, alors
dx code> deviendra
0 code> et rien ne change. P>
hache code> est négatif,
dx code> sera
0xfff code>, ce qui donne dans
AX code> ←
~ ~ AX - (-1) CODE>, qui est la méthode bien connue pour l'informatique
neg code> dans une représentation TWO-Complément. P>
Convertissez le mot dans la hache en double mot dans dx: hache. Le signe est préservé, la valeur est préservée. Donc si hache> = 0, dx = 0 et six <0, dx = -1. P>
XOR ne fait rien si AX == 0. P>
Si AX <0, le XOR renverse tous les morceaux de hache. Ensuite, le sous-forme ajoute 1 (ou soustrait -1, quoi que ce soit: p) à hacher. C'est le moyen de calculer le complément d'un nombre binaire. P>
Dans l'ensemble, cette séquence d'instructions place la valeur absolue de la hache dans la hache et définit DX en fonction du signe. P> CWD XOR AX, DX CODE> P>
Les gens demandent-ils aux questions d'ASM dans des interviews?
Je viens de lire qu'une question de question de la question par le passé est allée comme suit: l'entrevue met un stylo noir devant vous et ne dit rien mais "ceci est un stylo rouge" ... donc je ne voudrais donc rien dire de Microsoft