lea vs mov (Anfänger)



  • Hallo!
    Kann mir mal jemand den Unterschied zwischen lea und mov erklären. IMHO ist es doch egal, ob man

    mov ax, message
    ;...
    message: db "Hallo Welt!",10,13,0
    

    oder

    lea ax, [message]
    ;...
    message: db "Hallo Welt!",10,13,0
    

    schreibt (zumindest im nasm), oder? Wofür braucht man lea?

    PS: Für die Semikola nach den Doppelpunkten kann ich nix, die werden vom Forum hinzugefügt und entsprechen nicht meiner Absicht...



  • lea steht für "load effective adress". es lädt die adresse eines datums statt des inhalts. bei den sachen, die du als beispiel genommen hast gibt es zwar keinen unterschied, man kann aber mit lea gut in 32bit optimieren, zB:

    lea eax,[ebx*2]   ; eax = ebx * 2
    

    das ist sehr schnell. für andere möglichkeiten kannst dir ja nen .doc über optimierung durchlesen.


Anmelden zum Antworten