Kleines Problem mit inline assembler



  • Hallo,
    ich bin dem inline Assembler von c++ (compiler g++) leider noch nicht ganz mächtig und habe folgendes Problem bei dem ihr mir sicher weiterhelfen könnt, da ihr da etwas erfahrener auf dem Gebiet seid. Ich übergeben meiner Funktion eine Zeichenkette char* string und die Speicheradresse, an der sich diese Zeichenkette befindet, soll in das x64 Register r9 geschoben werden.

    void Video::println(char* string)
    {
    	asm("movq $1, %r8");					/* Zeile ausgeben */
    	asm("movq %0, %r9");	/*Hier soll die Adresse der Zeichenkette  in r9 geschrieben werden nur leider weiß ich nicht wie :(*/
    	asm("int  $0x30");						/* Call Video driver (text mode) */
    }
    

    Hoffe, dass ihr mir bei diesem (scheinbar doch sehr kleinen Problem) behilflich sein könnt 🙂


Log in to reply