Pointer in assembler dereferenzieren



  • Hi,

    ich bin gerde dabei mit ein CPUID programm zusammen zu klempnern. =)..

    Vorweg, es ist Spass, und ich finde es verständnisfordernd.

    Wie kann ich es erreichen, dass ich in Assembler dereferenziere ??
    AT&T Syntax..

    Also

    void *          mem_regs_ptr=0;
    GPP_REGS_t      mem_regs_func0;
    
    void func()
    {
       mem_regs_ptr=&mem_regs_func0;
       asm_func();
    }
    
    void asm_func(void)
    {
      // Schreibe das Register ebx
      // beginnend mit dem fünften byte des Speichers 
      // wo mem_regs_ptr drauf zeigt.
      // !!!!! Das hier geht schief !!!!
      asm("mov %ebx,mem_regs_ptr+4");
    }
    


  • Ach okay hat sich erledigt,

    indirekte Adressierung ist nur über register,
    nicht über speicherstellen möglich.

    Gut, gruss und Danke=)


Anmelden zum Antworten