seltsamer ?Fehler?



  • lo,

    ich beschäftige mich seit kurzem mit inlineassembler da ich u.a. aufgrund der performance eines programmes asm verwenden will.

    ich habe also folgenden kleinen code geschrieben um mich ein wenig in das thema einzufinden:

    {
    		int a=3;
    		int b=6;
    		int c=8;
    		asm(
    		"mov %0,%1\n\t"
    		 : "=r" (a)
    		 : "r" (b), "r" (c));
     		cout << "Testausgabe:" << endl << "a:" << a << endl << "b:" << b << endl << "c:" << c << endl << "Testausgabe ende." << endl;
    }
    

    nun bekomme ich auf der konsole allerdings folgende ausgabe:

    Testausgabe:
    a:8
    b:6
    c:8
    Testausgabe ende.
    

    allerdings bekomme ich ein ergebnis mit dem ich nicht zurechtkomme.
    wenn ich alles richtig verstanden habe müsste doch nach at&t syntax 0 in 1 geschrieben werden. wie kommt dann die 8 zur variable a?

    ich verwende im übrigen devcpp unter winxp der mit gcc compiliert.

    thx im vorraus


  • Mod

    edit: nt


Anmelden zum Antworten