Registriert seit: 17. Nov 2005
Ort: Hamburg
1.064 Beiträge
Delphi XE2 Professional
|
Re: ASM - PChars vergleichen
7. Okt 2006, 20:24
nein, das jne war für den Fall gedacht daß repe cmpsb mit ZF=0 beendet wird. Das dann folgende cmp sollte prüfen, ob das letzte geprüfte Zeichen im zu prüfenden String das Ende-Byte war. Da hab ich mich durch vorherige Kommentare aufs Glatteis locken lassen.
Ich habe meinen Beitrag noch mal überarbeitet.
so wie es jetzt im Beitrag steht sollte es funktionieren.
repe cmpsb vergleicht solange bis Ungleichheit festgestellt wird, maximal aber 7 Zeichen (einschließlich Nullbyte am Ende der Strings). Wenn also nach Abarbeitung dieses Befehlt (besser der Befehlskombination) ZF=1 ist, dann wurden 7 Zeichen überprüft und alle Zeichen waren identisch. ZF kann nur in folgenden Fällen = 0 sein.
1) A ist länger als PW. Dann ergibt der Vergleich Nullbyte aus PW vs. Zeichen aus A ein false.
2) A ist kürzer als PW. Dann ergibt der Vergleich Zeichen aus PW vs. Nullbyte aus A ein false.
3) A und PW sind gleichlang, aber der Vergleich eines der Zeichen aus A und PW ergibt false.
Gruß, Klaus
Die Titanic wurde von Profis gebaut,
die Arche Noah von einem Amateur.
... Und dieser Beitrag vom Amateurprofi....
|