INTERNE NUMMER (x86 Instruktion)

INTERNE NUMMER ist eine Zusammenbau-Sprachinstruktion für x86 Verarbeiter, die eine Softwareunterbrechung erzeugt. Es nimmt die als ein Byte-Wert formatierte Unterbrechungszahl.

Wenn geschrieben, auf der Zusammenbau-Sprache wird die Instruktion wie das geschrieben:

:

wo die Softwareunterbrechung ist, die (0-255) erzeugt werden sollte.

Abhängig vom Zusammenhang, Bearbeiter oder Monteur, wird eine Softwareunterbrechungszahl häufig als ein Hexadecimal-Wert, manchmal mit einem Präfix 0x oder die Nachsilbe h gegeben. Zum Beispiel, wird die Softwareunterbrechung 0x21 (33 in der Dezimalzahl) erzeugen, das Verursachen der Funktion hat zu durch den 34. Vektoren im durchzuführenden Unterbrechungstisch hingewiesen, der normalerweise ein MS-DOS-API-Anruf ist.

Echte Weise

Wenn

er eine Softwareunterbrechung erzeugt, ruft der Verarbeiter eine der 256 Funktionen hat zu durch das Unterbrechungsadressbuch hingewiesen, das in den ersten 1024 Bytes des Gedächtnisses gelegen wird, während in der echten Weise (Sieh Unterbrechungsvektoren). Es ist deshalb völlig möglich, eine Instruktion des weiten Anrufs zu verwenden, die Unterbrechungsfunktion manuell nach dem Stoßen des Flagregisters anzufangen.

Eine der nützlichsten DOS-Softwareunterbrechungen war Unterbrechung 0x21. Indem Sie es mit verschiedenen Rahmen in den Registern (größtenteils ah und al) genannt haben, konnten Sie auf verschiedene IO Operationen, Schnur-Produktion und mehr zugreifen.

Die meisten Unix Systeme und Ableitungen verwenden Softwareunterbrechungen, mit Ausnahme von der Unterbrechung 0x80, verwendet nicht, um Systemanrufe zu machen. Das wird durch das Eingehen in einen 32-Bit-Wert entsprechend einer Kernfunktion ins EAX Register des Verarbeiters und dann die Durchführung der INTERNEN NUMMER 0x80 vollbracht.

INTERNE NUMMER 3

Die INTERNE NUMMER 3 Instruktion wird für den Gebrauch durch Testhilfeprogramme definiert, um eine Instruktion in einem laufenden Programm provisorisch zu ersetzen, um einen Unterbrechungspunkt zu setzen. Andere INT Instruktionen werden mit zwei Bytes verschlüsselt. Das macht sie unpassend für den Gebrauch im Flicken von Instruktionen (der ein Byte lang sein kann). (sieh SIGTRAP)

Der opcode für die INTERNE NUMMER 3 ist im Vergleich mit dem opcode für die unmittelbare INTERNE NUMMER', der ist. Gemäß der Dokumentation von Intel: "Intel und Monteure von Microsoft werden den CD03 opcode von keinem mnemonisch erzeugen" und haben einige Besonderheiten, die durch "die normalen 2 Bytes opcode für die INTERNE NUMMER 3 (CD03)" [IA-32 Bogen nicht geteilt werden. Softwareentwickler-Handbuch. Vol. 2A]

Siehe auch


Paläokonservatismus / Leopoldstadt
Impressum & Datenschutz