Welche Werte kann das carry-flag halten, und wie Sie seinen status überprüfen, in x86 Assembler?

  1. Welche Werte kann das carry-flag halten? Ist es nur 0x00 und 0x01 (boolean) oder ist es 16 (oder 32/64) bit wie der rest der CPU-Register?

  2. Wie kann ich seinen status zu überprüfen? Kann ich es einfach verwenden, wie ein normaler CPU-register wie cmp cf, 0x00 dann jg <jump destination>?

  3. Schreibe ich ein mini-OS. Ist es gute Praxis, um es für meine eigenen Zwecke, oder sollte es vorbehalten sein, für exklusive schreib-Berechtigungen für die CPU, und alles, was ich Tue, ist Lesen?

  • Was passiert ist, die CPU-Handbüchern und Montage tutorials? Haben Sie auf mysteriöse Weise verschwunden? Oder ist die google-web-Suche in den Urlaub? Im ernst, man könnte die Antwort finden Sie ganz einfach selber.
  • Ich habe 30 Minuten Suche, und ich kann nicht finden, alles, was darüber hinaus ist es Existenz, und das war auf Wikipedia über int 13h.
  • Diesem Wiki-Artikel führt zu dieses offizielle Dokument, das die Intel 64-und IA-32 Architectures Software Developer ' s Manual, vol 1, wo in Abschnitt 3.4.3 EFLAGS Sie erhalten genügend Informationen, um Ihre Frage zu beantworten oder nicht genug Anhaltspunkte für weitere Suche und das Lesen in das Dokument.
  • Ok, vielen Dank für zeigt mir, wie man dort bekommen. Ich denke ich bekomme ein wenig frustriert mit Google, wenn meine Antwort ist nicht eines der unmittelbaren Ergebnisse.
InformationsquelleAutor codesmith | 2013-01-29
Schreibe einen Kommentar