Der Martin: Verständnisfrage zum Speicher

Beitrag lesen

Hallo Blaubart,

pushl %ebp
movl  %esp, %ebp
subl  $4, %esp    ; int a
subl  $4, %esp    ; int b

was für einen exotischen Assembler verwendest du denn? Deine Schreibweise ist zumindest sehr merkwürdig. Aus den Registernamen schließe ich, dass wir von x86-Assembler reden. Da ist die übliche Schreibweise aber anders:

push  ebp
   mov   ebp, esp
   sub   esp, 8

Erstens:  Das '%' vor Registernamen habe ich noch nirgends gesehen.
Zweitens: Ein 'l' im Mnemonic ist unüblich. Die Verarbeitungsbreite (8, 16 oder 32bit)
          wird durch die Operanden hinreichend festgelegt.
Drittens: Wozu das '$' vor Konstanten? Habe ich auch noch nie gesehen.
Viertens: Der Zieloperand wird immer als erster geschrieben, danach der Quelloperand.

Schönen Abend noch,
 Martin

--
Realität ist eine Illusion, die durch Unterversorgung des Körpers mit Alkohol entstehen kann.