Bonjour à tous,
Il s'agit d'assembleur en ligne sous Visual C++ Express 2008
Perso je programme uniquement en C ... avec pas mal d'asm en ligne.
En réalité, il s'agit d'un Driver que je compile avec le compilo du WDK.
Ceci dit le Compilo du WDK et celui de Visual C++ (2008) sont les mêmes.
Le soucis (ma question) est d'ailleurs identique, avec l'un et l'autre
Voici :
Charger "ecx" avec le contenu pointé par "adresse".
Code : Sélectionner tout - Visualiser dans une fenêtre à part mov ecx , [adresse]
Le "code hexa" existe bien entendu ... "8B 0D adresse".
y'a pas moyen, le compilo "ne veut" pas !
J'ai un peu tout essayé
à chaque fois, le compilo me génère :
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2 mov ecx , dword ptr [adresse] (niet)
Par contre, le compilo accèpte ceci :
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5 mov ecx , adresse et non mov ecx , [adresse]
Cela est-il une "autre" lacune du Compilo de Microsoft ?
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7 mov ecx , ds:[adresse] ... il place alors un octet en plus du au préfixe de segemt mais mov ecx , [adresse] ... NON
Comme par exemple les instruction Sysenter/Sysexit ... non reconues.
Ou ... existe-t-il une "façon" d'encoder l'instruction,
ou une option du compilateur particulière ?
merci à tous !
Partager