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.