Einzelnen Beitrag anzeigen

Benutzerbild von sirius
sirius

Registriert seit: 3. Jan 2007
Ort: Dresden
3.443 Beiträge
 
Delphi 7 Enterprise
 
#2

Re: erste Gehversuche in Delphi InlineASM

  Alt 5. Jan 2008, 17:29
Was du benötigst ist "add with carry" (Addieren mit Übertrag) In asm ist das "adc"
du addierst erst die unteren 32bit und dann mit adc die oberen 32bit.

Edit:
Ein bisschen kürzen kannst du deinen Code schon noch, aber das ist dir sicherlich klar.
Was mir noch auffällt ist folgendes:
- Du rettest eax,ecx und edx und stellst die Register am Ende wieder her. Das ist nicht notwendig. Diese drei Register dürfen in Funktionen beliebig verändert werden. Ausserdem, und das ist Punkt 2:
- In EAX landet das Ergebnis (also Result)
- Step wird in EAX übergeben. Du kannst es zwar so lassen, dann wird der Compiler für dich noch ein wenig Arbeit verrichten (EAX=Step auf den Stack legen, dass du es von da immer ansprechen kannst)
Dieser Beitrag ist für Jugendliche unter 18 Jahren nicht geeignet.
  Mit Zitat antworten Zitat