Bonjour,
j'essaye de passer des commandes assembleur dans une fonction en C mais j'ai erreur de compilation sur une fonction :
sur toutes les lignes ou il y a 'mov' :
Code C : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21 static __inline uint64_t bswap64 ( const uint64_t value ) { #ifndef FREEAGE_NO_ASM uint64_t _value; __asm { lea esi, value mov eax, [esi] mov ebx, [esi+4] bswap eax bswap ebx lea edi, _value mov [edi], ebx mov [edi+4], eax } return _value; #else uint32_t hi = (uint32_t)(value >> 32); uint32_t lo = (uint32_t)(value & 0xFFFFFFFF); return (uint64_t)bswap32(hi) | (uint64_t)(bswap32(lo) << 32); #endif }
Quelqu'un qui connaît mieux l'Assembleur que moi a-t-il une solution ?error C2400: inline assembler syntax error in 'opcode'; found 'Unexpected token 18 '
error C2400: inline assembler syntax error in 'opcode'; found 'Unexpected token 21 '
Merci d'avance.
Ps : cette fonction etais deja ecrite et fonctionnais nickel lors de l'inclusion des fichiers issues du SDK Windows.
#include <winsock2.h>
#include <Ws2tcpip.h>
#include <windows.h>
J'ai juste réutilisé la meme fonction en incluant le fichier #include <winsockx.h> du SDK Xbox 360.
Partager