AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Thema durchsuchen
Ansicht
Themen-Optionen

ASM Mnemonics auflösen

Ein Thema von faux · begonnen am 22. Nov 2005 · letzter Beitrag vom 22. Nov 2005
Antwort Antwort
Benutzerbild von faux
faux

Registriert seit: 18. Apr 2004
Ort: Linz
2.044 Beiträge
 
Turbo Delphi für Win32
 
#1

ASM Mnemonics auflösen

  Alt 22. Nov 2005, 06:12
Hallo!

Wenn man in ASM zb JMP schreibt, so wandelt der Assembler das dann in einen (2-Bit langen?) Hex-Code um.
Beispielsweise EB.
Dieser Code ist ja nicht immer EB. Meine Fragen wäre jetzt, 1. wieso ist das nicht immer EB (ich denke mal, dass das mit Aufwärts/Abwäerts-Sprung zu tun hat) und 2. wo kann ich diese Codes nachlesen? Also wenn ich jetzt MOV AH... habe, woher weiß ich, dass der Code dafür B4 lautet?

Grüße
Faux
Faux Manuel
Wer weiß, dass er nichts weiß, weiß mehr, als der der nicht weiß, dass er nichts weiß.
GoTrillian
  Mit Zitat antworten Zitat
Muetze1
(Gast)

n/a Beiträge
 
#2

Re: ASM Mnemonics auflösen

  Alt 22. Nov 2005, 07:41
Geh doch einfach zu Intel und AMD und lad dir deren Dokumentationen runter. Dort ist die komplette Kodierung der Befehle aufgelistet und beschrieben. Ansonsten kannst du dir auch die Kurzform mit allen Befehlen aus der opcodes.lst/.txt in der Ralf Brown's Interrupt List rausholen.
  Mit Zitat antworten Zitat
Benutzerbild von Flocke
Flocke

Registriert seit: 9. Jun 2005
Ort: Unna
1.172 Beiträge
 
Delphi 10.2 Tokyo Professional
 
#3

Re: ASM Mnemonics auflösen

  Alt 22. Nov 2005, 07:50
Intel: http://developer.intel.com/design/pentium/manuals/
AMD: http://www.amd.com/us-en/Processors/...9_1102,00.html

Zu deinen Fragen:

$EB ist ein short jump und wird benutzt wenn der Zielbereich zwischen -128 und +127 Bytes entfernt liegt. $E9 ist ein near jump und benutzt ein volles 32-Bit Displacement.

Für mov gibt es ziemlich viele Opcodes, allerdings gibt's für fast jede Instruktion mehr als einen. Die meisten nutzen eine Mod-Reg-R/M-Adressierung. $B4 ist eine Ausnahme: die Codes $B0 bis $B7 bedeuten "mov reg8,imm8", wobei reg8 aus [AL,CL,DL,BL,AH,CH,DH,BH] kommt (daher +0 bis +7).

Allerdings wäre es müßig, dies alles auswendig zu wissen - dafür gibt's inline-Assembler und Disassembler.
Volker
Besucht meine Garage
Aktuell: RtfLabel 1.3d, PrintToFile 1.4
  Mit Zitat antworten Zitat
perle

Registriert seit: 8. Apr 2004
183 Beiträge
 
Delphi 7 Enterprise
 
#4

Re: ASM Mnemonics auflösen

  Alt 22. Nov 2005, 09:12
Hier ist auch entsprechender Delphicode um die das umwandeln zu lassen.

http://forum.madshi.net/viewtopic.php?t=50
(17:05:33) ( deccer ) duuu keine ahnung vonski?
(17:05:46) ( deccer ) duuuu ober dörticode schreibsorinski?
(17:06:02) ( deccer ) bist doch schlimmor wie uall :F
>> brechi : Livecracking is shice, da sieht man immer die Fehler <<
  Mit Zitat antworten Zitat
Benutzerbild von faux
faux

Registriert seit: 18. Apr 2004
Ort: Linz
2.044 Beiträge
 
Turbo Delphi für Win32
 
#5

Re: ASM Mnemonics auflösen

  Alt 22. Nov 2005, 17:01
Danke für die Antworten, werd mir mal alles durchsehen.

Grüße
Faux
Faux Manuel
Wer weiß, dass er nichts weiß, weiß mehr, als der der nicht weiß, dass er nichts weiß.
GoTrillian
  Mit Zitat antworten Zitat
Antwort Antwort


Forumregeln

Es ist dir nicht erlaubt, neue Themen zu verfassen.
Es ist dir nicht erlaubt, auf Beiträge zu antworten.
Es ist dir nicht erlaubt, Anhänge hochzuladen.
Es ist dir nicht erlaubt, deine Beiträge zu bearbeiten.

BB-Code ist an.
Smileys sind an.
[IMG] Code ist an.
HTML-Code ist aus.
Trackbacks are an
Pingbacks are an
Refbacks are aus

Gehe zu:

Impressum · AGB · Datenschutz · Nach oben
Alle Zeitangaben in WEZ +1. Es ist jetzt 20:41 Uhr.
Powered by vBulletin® Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024 by Thomas Breitkreuz