sile
Programmierer
Dabei seit: 18.07.2006
Beiträge: 90
Dieser User hat sich mal bedankt
 |
|
| asm - cpu-register & commands |
 |
hallo gemeinde,
anbei findet ihr eine kleine übersicht für alle assembler interessenten,
die verstehen möchten, wie ihr computer eigentlich arbeitet.
die Register des Prozessors:
Daten-register:
16bit: AX, BX, CX und DX
32bit: EAX, EBX, ECX und EDX
diese register dienen als speicherplätze für daten;
CX wird z.b. meist als zähl-variable benutzt.
Adress-Register:
ESP //stapelzeiger (stack-pointer)
EBP //Basiszeiger (basepointer)
EIP //befehlszeiger (instructionpointer)
Index-Register:
ESI //quellindex (sourceindex)
EDI //zielindex (destinationindex)
Segmentregister:
CS //codesegment
DS //datasegment
SS //stapelsegment
ES //extra segment
zunächsteinmal einfache rechenoperationen:
add operand1, operand2 //operand1 enthält die summe von operand1 + operand2
sub operand1, operand2 //operand1 enthält das ergebnis von operand1 - operand2
dec operand1 //operand1 = operand1 -1
inc operand1 //operand1 = operand1 +1
nun vergleichsoperationen:
cmp operand1, operand2 //vergleicht die beiden operanten
oder
test operand1, operand2 //vergleicht ebenfalls, aber nur vergleich auf gleichheit!
danach kommen in der regel sprünge:
je XXXXXXXX //springt an die adresse (XXXXXXXX) wenn operand1 = operand2
jne XXXXXXXX //springt an die adresse (XXXXXXXX) wenn operand1 != (NICHT GLEICH) operand2
und noch ein paar comments:
NOP //bedeutet No-Operation; (hex=0x90); veranlasst den prozessort nichts zutun;
//braucht man öfter mal beim cracken;
MOV operand1, operand2 //kopiert den inhalt von operand2 in operand1
call XXXXXXXX //ruft die unterroutine an XXXXXXXX auf
ret //beendet die unterroutine XXXXXXXX
dies soll erstmal lediglich als kleines nachschlagewerk dienen.
ausführlichere beschreibungen oder tutorials auf anfrage und je nach
aufwand & zeit meinerseits.
mfg
sile
|
|