Ihr Disassembler zeigt den JMP SHORT-Versatz vom Beginn des Befehls an, wenn der tatsächliche JMP SHORT von Byte nach Instruktion zählt. Möglicherweise benötigen Sie einen anderen Disassembler, der die Decodierung gut macht.
8086 Befehlsverschlüsselung verstehen
1387
muffel
Ich versuche, die Kodierung von 8086-Anweisungen zu verstehen. Obwohl ich eine allgemeine Anweisung und einen sperrigen Hinweis gefunden habe, verstehe ich sie immer noch nicht.
Könnten Sie mir bitte erklären, wie die folgenden "Übersetzungen" aus Byte-Daten gemacht werden?
Danke im Voraus!
48 -> dec ax EB0D -> jmp short 0xf 642120 -> and [fs:bx+si],sp
Warum suchen Sie nicht stattdessen [offizielle Handbücher von Intel] (http://www.intel.com/content/www/us/en/processors/architectures-software-developer-manuals.html)? Die Kodierung der Instruktionen wird dort perfekt erklärt.
m0skit0 vor 12 Jahren
0
Ich kannte sie nicht, danke!
muffel vor 12 Jahren
0
2 Antworten auf die Frage
0
ZaB
Vielleicht könntest du einen empfehlen?
uSlackr vor 12 Jahren
0
IDA? ollydbg? Visual Studio?
ZaB vor 12 Jahren
1
[NASM] (http://www.nasm.us/)
m0skit0 vor 12 Jahren
0
0
ott--
Auf einen (oder diesen) unbedingten Sprung folgen Daten, entweder echte Daten oder Ausrichtungsdaten. Für 8086 ist 2 oder 4 eine gute Ausrichtung, daher könnte der nächste Befehl bei 21 oder 20 oder darüber hinaus beginnen.
Nicht zu Nitpick, aber 64h ist kein Präfix-Byte auf der 8086. Zumindest nicht nach: http://www.electronicsandbooks.com/eab1/manual/Electronic%20Component%20Databook%20Datasheet/Brand/Intel/Databook/1979 % 20Intel% 20The% 208086% 20Family% 20Benutzer% 20Manual% 20197910% 20 [760] .pdf Seite 273 Es ist noch 4 Jahre her
vor 8 Jahren
0
Verwandte Probleme
-
2
Was ist der Unterschied zwischen x58- und x86-Architekturen?
-
4
Was ist der maximal adressierbare Speicher?
-
5
Wann sollte ich eine x64-Version einer Herstelleranwendung auswählen?
-
1
Verwirrung über Software für x86, x86_64 und x64
-
1
Windows 7-Installationsordner: x86, x64 und weitere Informationen
-
1
IDE für die Montage am Pendelantrieb
-
1
Linux und Montage - Blockierung
-
3
Google Android OS auf x86?
-
2
Was bedeutet "cpuid level"?
-
2
Intel Datenbus von Intel 80486 und höher