Einzelnen Beitrag anzeigen

DOCa Cola

Registriert seit: 27. Feb 2006
5 Beiträge
 
#1

2 zeilen asm code der in delphi code umgewandelt werden soll

  Alt 28. Jun 2009, 22:05
ich habe versuch folgenden asm code in delphi nachzubauen, nur ich komme nicht so ganz darauf, wie ich den in der hochsprache umsetzen soll.
der linke wert ist ein long bzw integer bei dem diverse bit flags gesetzt sind. anhand dieses vergleichs soll dann eben code ausgeführt werden oder nicht. das der vergleich in der asm version nur mit dem ersten byte erfolgt ist wohl ganz einfach eine compiler optimierung
Code:
TEST BYTE PTR DS:[ECX+1D4], 0C0
JE *adresse*
ich habe versucht es in delphi so umzusetzen:
if (m_objType and $c0) = $c0 then aber ich denke mein code ist eine falsche "übersetzung", da er sich anders verhält. wenn m_objType zum beispiel mit $0AE0189A gefüllt ist (der asm code vergleicht hier also mit 9A), führt der asm code oben den sprung nicht durch - also der code wird ausgeführt - während meine umsetzung den code überspringt (da das ergebnis von if false ist)
  Mit Zitat antworten Zitat