ebp in ASM verwenden
Verfasst: 17.05.2009 12:21
Da ja einige hier anmerken man könnte das ebp benutzen.
Muss man schon etwas aufpassen. Habe ich eben gemerkt als auf einmal Strukturierte Variablen nicht mehr funktioniert haben.
Ist mir nur aufgefallen. Weiß nicht ob ich der einzige war der das nicht wusste oder ob es hier hingehört.
Finde es zwar löblich von PB dass er nur einmal LEA nutzt (also schon optimiert) aber wäre es nicht noch besser einfach direkt dword [v_Img+16] oder sowas zu nehmen (sogar bei lokalen Variablen würde das ja gehen).
Muss man schon etwas aufpassen. Habe ich eben gemerkt als auf einmal Strukturierte Variablen nicht mehr funktioniert haben.
Code: Alles auswählen
; Img sei eine Strukturierte Variable
; Variable eine Globale (oder Lokale im Hauptteil)
; So in etwa könnte dann ein von PB erstellter asm-code aussehen
; Variable = Img\irgendeinfeld
LEA ebp,[v_Img]
MOV ebx,dword [ebp+12]
MOV dword [v_Variable], ebx
; Varibale = Img\anderesfeld - 1
MOV ebx,dword [ebp+16]
DEC ebx
... ; usw.
; Hier kommt der selbstgeschriebene Asm-Code der ebp eventuell verändert
; Variable = Img\nocheinanderesfeld
MOV ebx,dword [ebp+8] ; Img wird nicht neu in ebp gelesen !!!
...
Finde es zwar löblich von PB dass er nur einmal LEA nutzt (also schon optimiert) aber wäre es nicht noch besser einfach direkt dword [v_Img+16] oder sowas zu nehmen (sogar bei lokalen Variablen würde das ja gehen).