
Le problème n'est pas un problème de "résultat",
mais de fonctionnement du compilateur dans l'absolu.
Les 2 instructions suivantes existent et sont différentes.
Elles correspondent au niveau processeur à du code machine différent.
1 2 3
| mov eax , [11223344h]
et
mov eax , ds : [11223344h] |
Il est assez fou que masm quand je lui propose ceci ...
qui est tout d'même sans aucune équivoque
mov eax , dword ptr [11223344h]
il m'encode quoi ?
et bien il ne bronche pas et m'encode ceci
mov eax , 11223344h !!!!!
Il zappe complètement le "dword ptr" !
J'ai planté la machine ici avec ce genre de n'importe quoi.
J'ai du "tracer" pour me rendre compte de la bétise du compilo !
moi, j'appelle "ça" un bug !
Ceci dit, je viens de me rendre compte que masm ne supporte pas les
instructions SSE2 et suivantes !
Pas question de demaner à masm d'encoder un
"sysenter", "fsave", "emms" ... il ne connait pas !
et moi, j'utilise ça.
Masm est en fait un vieux compilo qui n'est plus tenu à jour par Micosoft.
Je suis en train de regarder Fasm.
Fasm ne me pose aucun soucis quand je lui présente :
mov eax , dword ptr [11223344h] ... bein oui ... allons !!!
Et il connait toutes les instructions SSEx.
Partager