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.


Anmelden zum Antworten