Fehler: unmöglich, registrieren Einschränkung in 'asm'

Ich habe ein problem beim kompilieren eines Pakets um, ich bin nicht
wirklich ein guter coder, aber ich habe versucht Festsetzung es für mein selbst, und es immer noch nicht kompilieren.
Dies ist der original-bit-code.:

#ifdef __GNUC__
asm("and $3, %%ecx;"
"shl $3 ,%%ecx;"
"ror %%cl, %0"
: "=r" (value)
: "r" (value), "c" (address));
#else

Der Fehler ist .:

GBAinline.h:139: Fehler: unmöglich, registrieren Einschränkung in 'asm'
( ifdef Zeile 138 )

Und dies ist, wie ich versucht, um es so Aussehen.:

#ifdef __GNUC__
asm ("and $3 %%ecx,shl $3 %%ecx,ror %%cl, %0" : "=r" (value): "r" (value), "c" (address));

#else

Immer noch, es würde nicht funktionieren. Es ist ein gba-emulator, bevor jemand fragt, VBA, und dies ist
Teil GBAinline.h . Dieser assembler ist macht mich verrückt bereits.

Bearbeiten.: Das problem wurde oben behandelt, fein, ich hatte einfach nicht die Aufmerksamkeit auf die
compiler und ich war mit.
Aber jetzt bekomme ich diesen Fehler auf dieses Stück code aus einer header-Datei, ich habe Sie auf pastebin,
um die Dinge hier ein bisschen mehr aufgeräumt... ( Sorry, wenn dies falsch ist, ich kann das ändern später )

Dies ist der header, hat die Linien, dass führt zu Fehlern.:
http://pastebin.com/k3D4cg0d

- Und das ist die C-Datei es sich bezieht.:
http://pastebin.com/Ymg1X5dg

Das gibt eine Fehlermeldung.:

/var/tmp/cc3zA0lH.s: Assembler messages: /var/tmp/cc3zA0lH.s:69: Error: bad instruction `sw $3,0(r3)',

Und so weiter für den rest dieser Zeilen.

Der original code sieht OK für mich. Was copiler und Plattform sind Sie, wie z.B. was bedeutet gcc -v Ausgang? Sie benötigen, um mit x86 Assembler und gcc-inline-assembly-constraints, um vollständig zu verstehen, diesen code.
Danke für die Antwort Mackie, meine gcc-arm-linux, vielleicht ist das problem, dieser code ist speziell für x86, und ich es nicht bemerkt. Vielen Dank auch für den link, ich werde geben ihm eine gute look.
Also, ich habe einen x86-compiler, und es funktionierte wie ein Charme! Danke Mackie, ich hatte nicht darauf geachtet.
Sie sind herzlich willkommen. Wenn Sie wirklich wollen, um zu Tauchen, in inline assembly mit gcc und x86 - dieser Anleitung ist eine sanfte Einführung.

InformationsquelleAutor Luis | 2011-12-07

Schreibe einen Kommentar