Noch son DING



  • Was entspricht in Assembler eher einer Funktion aus bspw. C++?

    CALL something

    ein MAKRO

    oder ein LABEL

    ?

    Ich will eine _Funktion_ schreiben, weiss aber nicht ob ich MAKRO, CALL oder LABEL als Funktion einsetzen sollt, bitte auch um eine kleine Definition was ein
    LABE und was ein CALL genau ist und wie es genutzt wird!
    Danke



  • Also ein CALL impliziert auch ein Label. Mit einem Label markiert man eine Stelle im code. Üblicherweise macht man funktionen so in asm:

    push dword 0x12345678 ; Beispiel: 1 Parameter typ 32-bit-integer
       call meinefunktion
       add esp, 4            ; die 4 Bytes (1 dword) wieder aufräumen
       ; jetzt liegt in eax das funktionsergebnis
    ...
    
    :meinefunktion
       ; Stackframe einrichten
       push ebp
       mov ebp, esp
    
       ; hier der Funktionscode, Rüclgabewert in eax
    
       ; Stackframe aufräumen
       leave
       ret
    

Anmelden zum Antworten