Wie um zu überprüfen, ob eine Ganzzahl ist neg oder pos?

Ich bin neu in x86-Assembler geschrieben, ich habe eine vorzeichenbehaftete Ganzzahl gespeichert in register eax, und ich möchte, um zu überprüfen, ob die Zahl negativ oder positiv. Zu tun, dass ich verwendet bt Anweisung zu überprüfen, wird das erste bit.

Hier ist was ich getan habe:

bt eax,0
jnc isNegative

bt führt das erste bit nach carry-flag, und ich jnc zu überprüfen, wenn carry-flag ist 0 oder 1.
Wenn es 1, es sollte eine negative Zahl sein, und nicht negative Anweisungen...
aber der Ausgang ist unvorhersehbar, manchmal habe ich eine positive, und Sie erkennen es als eine negative Zahl. Mache ich etwas falsch?

EDIT: ich habe gerade realisiert, könnte es damit etwas zu tun haben mit den endian Typ. Es ist tatsächlich die überprüfung der letzten etwas statt, das erste bit. Lassen Sie mich versuchen, verwenden bt, 7

InformationsquelleAutor Yonk | 2010-10-25
Schreibe einen Kommentar