AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Thema durchsuchen
Ansicht
Themen-Optionen

Verdrehte Bits (Wilde Pointereien)

Ein Thema von Phoenix · begonnen am 16. Aug 2007 · letzter Beitrag vom 4. Sep 2007
 
Olli
(Gast)

n/a Beiträge
 
#30

Re: Verdrehte Bits (Wilde Pointereien)

  Alt 2. Sep 2007, 21:41
Zitat von Quake:
Die Register müssen nicht gesichert werden, da der Inhalt, der vor dem asm-Block drin war nach dem asm-Block nicht weiter verwendet wird.
Hallo? Was ist das denn für ein ausgemachter Unfug? Woher willst du das wissen? Das kann man erst nach einer Analyse in einem Disassembler mit Bestimmtheit sagen und dann auch nur für das aktuelle Kompilat. Kann sich bei einer kleinen Codeänderung schon gewaltig ändern.

Zitat:
Im Allgemeinen sind die Regeln für die Verwendung von Registern in einer asm-Anweisung identisch mit denjenigen für eine external-Prozedur oder -Funktion. In einer asm-Anweisung muss der Inhalt der Register EDI, ESI, ESP, EBP und EBX erhalten bleiben, während die Register EAX, ECX und EDX beliebig geändert werden können. Beim Eintritt in eine asm-Anweisung zeigt EBP auf den aktuellen Stackframe, ESP auf den Beginn des Stacks. Zu Beginn der Ausführung einer asm-Anweisung ist der Registerinhalt unbekannt. Eine Ausnahme bilden die Register ESP und EBP.
Da steht exakt drin:
1. "EDI, ESI, ESP, EBP und EBX" keinesfalls antatschen
2. "EAX, ECX und EDX" darfst du.
3. Der zweite rote Teil suggeriert, daß du sehr wohl die Register (aus 2.) sichern mußt.

Man kann es nicht deutlich genug machen. Der Text besagt nichts darüber, wie die Werte vor oder nach dem asm-Block sind oder sein sollen, sondern wie sie innerhalb des Blocks zu sein haben.

BTW: #18 fand ich einfach goldig
  Mit Zitat antworten Zitat
 


Forumregeln

Es ist dir nicht erlaubt, neue Themen zu verfassen.
Es ist dir nicht erlaubt, auf Beiträge zu antworten.
Es ist dir nicht erlaubt, Anhänge hochzuladen.
Es ist dir nicht erlaubt, deine Beiträge zu bearbeiten.

BB-Code ist an.
Smileys sind an.
[IMG] Code ist an.
HTML-Code ist aus.
Trackbacks are an
Pingbacks are an
Refbacks are aus

Gehe zu:

Impressum · AGB · Datenschutz · Nach oben
Alle Zeitangaben in WEZ +1. Es ist jetzt 18:34 Uhr.
Powered by vBulletin® Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024-2025 by Thomas Breitkreuz