...Welcome to Wiiplaza! Your source for cheat codes & game hacking...
Official Wiiplaza Partner Site
Statistik
Wir haben 3959 eingetragene Mitglieder
Der neueste Nutzer ist Alexander.

Unsere Mitglieder haben insgesamt 16993 Beiträge geschrieben zu 1484 Themen

Sie sind nicht verbunden. Loggen Sie sich ein oder registrieren Sie sich

80386 Assembler Register

Vorheriges Thema anzeigen Nächstes Thema anzeigen Nach unten  Nachricht [Seite 1 von 1]

1 80386 Assembler Register am 8/8/2013, 10:59

Bully@WiiPlaza

avatar
Co-Admin
Co-Admin
Hey!

Wenn ihr mit Cheat Engine hantiert habt ihr wahrscheinlich auch mal den Disassembler angeschaut. Da handelt es sich um 80386 Assembler, anders als bei der Wii (PPC).

In diesem Thema beschreibe ich kurz die Register. In diesen werden ebenfalls Daten für schnellen Zugriff während der Ausführung abgelegt, jedoch heißen sie anders.

8 Bit:
AL, AH, BL, BH, CL, CH, DL, DH

16 Bit:

AX, BX, CX, DX, SI, DI, BP, SP

32 Bit:
EAX, EBX, ECX, EDX, ESI, EDI, EBP, ESP

Das wären auch schon alle die es gibt!

Euch sollte auffallen dass jedes Register einen 32 Bit, einen 16 Bit und zwei 8 Bit Ausdrücke hat um "addressiert" zu werden.

Was ist aber mit den höhern 16 Bit oder den beiden höchsten 8 Bit? Wie beschreiben wir die? Das geht nicht, zumindest nicht direkt... Shocked
 
Um dies zu lösen benötigt man Schiebebefehle. Dazu vielleicht später mehr. Cool 

Vorerst lasse ich es aber gut sein... 

~ Bully


————————————————————————————————————————————————————
Meine Website:
http://bullywiihacks.com/

Abonniert mich auf YouTube! Wink
https://www.youtube.com/BullyWiiPlaza
http://www.bullywiihacks.com/

2 Re: 80386 Assembler Register am 8/8/2013, 15:45

[WP]Wiios

avatar
Co-Admin
Co-Admin
Mit Beschreibungen und deren zweck ink. Spezial Register'n

EAX = Accumulator (spezielle Bedeutung bei Arithmetikbefehlen)

EBX = Base Register (Das 16-Bit-Register BX konnte im 16-Bit-Modus zur Index-Adressierung benutzt werden; im 32-Bit-Modus ist dies mit allen „General-Purpose“-Registern möglich.)

ECX = Count Register (spezielle Bedeutung bei Schleifen)

EDX = Data Register (spezielle Bedeutung bei Multiplikation, Division und Portadressen für die Assembler-Befehle IN und OUT)

EBP = Base Pointer (Zeiger auf temporäre Speicherstellen im Stack (z. B. Stackframe für lokale Variablen etc.)

ESP = Stack Pointer (Zeiger auf die aktuelle Position im Stacksegment; nur eingeschränkt allgemein verwendbar, da dieses Register angibt, wo die Rücksprungadresse von Unterprogrammen und Interrupts gespeichert wird.)

ESI = Source Index (Quelle für String-Operationen)

EDI = Destination Index (Ziel für String-Operationen)


Spezial Register vom 80386:

EIP = Instruction Pointer (Zeigt auf den nächsten auszuführenden Befehl. Wird durch Sprunganweisungen verändert.)

EFLAGS = Flag Register (Die einzelnen Bits besitzen unterschiedliche Bedeutungen und zeigen z. B. Überläufe bei arithmetischen Operationen u. ä. an.)

CS = Code Segment (Segmentselektor des Codesegmentes (in dem der aktuell auszuführende Programmcode steht)

DS = Data Segment (Segmentselektor des Datensegmentes (in dem die globalen Daten des Programms stehen)

SS = Stack Segment (Segmentselektor des Stacksegmentes (in dem der Stack für die lokalen Daten und Rücksprungadressen stehen)

ES = Extra Segment (Segmentselektor eines weiteren Datensegmentes (wird z. B. für String-Kopierbefehle verwendet)

FS und GS = Extra Segment 2 und 3 (Segmentselektoren zweier weiterer Datensegmente)

GDTR = Global Descriptor Table Register (Speichert lineare Adresse und Größe der GDT)

LDTR = Local Descriptor Table Register (Segmentselektor für das Segment, das die gerade aktive LDT enthält. Es können sich in der GDT zeitgleich mehrere LDT Einträge befinden)

IDTR = Interrupt Descriptor Table Register (Speichert die lineare Adresse und Größe der IDT)

CR0 – CR3 =  Control Register 0 … 3 (Steuern u. A. das Paging, den Koprozessor und den Protected Mode. (Untere 16 Bit des CR0 sind das vom 80286 übernommene MSW)

TR6 – TR7 = Test Register 6 … 7 (Zum Überprüfen des Translation Lookaside Buffer (TLB))

DR0 – DR7 = Debug Register 0 … 7 (Dienen zum Festlegen von vier Breakpoints auf Prozessorebene (DR0..DR3) u. a.)

TR = Task Register (Segmentselektor des aktiven Task Status Segments (TSS). Es können sich zeitgleich mehrere TR in der GDT und LDT befinden)

Alle General-Purpose-Register, sowie EIP und EFLAGS, sind auf 32 Bit erweiterte (das E kommt vom englischen extended) Versionen entsprechender 16-Bit-Register der Vorgänger 8086 bis 80286.


————————————————————————————————————————————————————
Ozelots Website
(XBOX) CoD-Bo Prestige Status: 15
(XBOX) CoD-MW3 Prestige Status: 20
(XBOX) CoD-BO2 Prestige Status: Prestigemaster
XBOX Live Contact: OzelotDE
http://www.ozelotsdl.de

Vorheriges Thema anzeigen Nächstes Thema anzeigen Nach oben  Nachricht [Seite 1 von 1]

Befugnisse in diesem Forum
Sie können in diesem Forum nicht antworten

 

Forum kostenlos bei Forumieren | © PunBB | Kostenloses Hilfe-Forum | Kontakt | Einen Missbrauch melden | Einen kostenlosen Blog erstellen