Bonjour
Je sais pas exactement si mon pb vient de VC++ ou d'autre chose...enfin on va voir
Pour une raison d'optimisation, je veux écrire une fonction d'effacage d'un tampon en asm (inline).
Voici ce que j'ai pondu :
Alors plusieurs trucs :
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13 void __fastcall ClearBuffer2(void* buffer, int size) { _asm { mov eax,buffer mov ecx,size loop_: mov [eax],0 inc eax dec ecx jecxz loop_ ret } }
1. j'ai une erreur à la compilation : "error C2400: inline assembler syntax error in 'second operand'; found 'newline'"
2. j'ai trouvé ca sur le net (pas la routine, mais comment faire de l'inline), et j'ai pas trouvé la signjification de '__fastcall' ni la différence entre '_asm' et '__asm'
3. je dois préciser que je ne connais pas le x86, j'ai choppé une table de référence des instructions, et, connaissant le principe de l'asm (je connais le z80), j'ai pondu ce truc.
Pourriez vous me dire d'où vient le pb ? de ma routine ? de la facon dont c'est identé ? d'une instruction illégale ?
merci
Partager