viele Fehlermeldungen......
-
Also habe probier Assembler code in Dev++ zu benutzen kriege
da jedoch ziemlich viele Fehler.
der Code:__asm("mov EAX, width");
__asm("mov EBX, c");
__asm("mov edx, 0");
__asm("mov ecx, r");
__asm("AND ECX, 0x80000007");
__asm("IMUL EAX, EBX");
__asm("MOV DL, 1");
__asm("SHL DL, CL");
__asm("mov ecx, rawbytes");
__asm("add EAX, r");
__asm("SAR EAX, 3");
__asm("mov dlTmp, DL");
__asm("mov dwEax, eax");dlTmp &= rawbytes[dwEax];
__asm("mov dl, dlTmp");
__asm("neg dl");
__asm("SBB EDX, EDX");
__asm("AND EDX, 0x00FFFFFF");
__asm("ADD EDX, 0xFF000000");
__asm("mov dwEdx, edx");Fehler zb:
to many memory references for mov and imul ...
no instruction mnemonic suffix given and no register operands; cant size instruction.
Wäre glücklich wenn mir da jemand weiterhelfen könnte.
Habe den Code aus einem Projekt von einem kollege der
aber für VC++ war habe denn dann aber soweit ichs konnte
auf dev++ angepasst.Also wenn mir jemand den Code ganz auf Dev++ anpassen
könnte wäre ich sehr dankbar
-
Kann dir den Code zwar so jetzt nicht fuer GCC (DevC++ ist nur eine IDE, die eine Uraltversion des GCC als Compiler mitbringt) umsetzen, kann dir aber ein paar Hinweise geben, bevor du hier bis st.Nimmerlein auf keine Antwort wartest.
Wichtig ist erstmal, dass der GCC, bzw. gas normalerweise x86-Assembler in AT&T-Syntax erwartet (AFAIK unterstuetzt deine Version auch nichts anderes). Was du da hast ist aber Intel-Syntax. Das duerfte die ueberwiegende Zahl von Fehlern erklaeren.
Weiter musst du AFAIK Variablen, die du in deinem Inline-Asm benutzt am Anfang des Blocks irgendwie deklarieren.
Mit den Stichworten AT&T-Syntax und Inline-Assembler in gcc sowie ein klein wenig Zeit und Eigeninitiative solltest du das jetzt eigentlich auch gut selbst umsetzen koennen.