Einzelnen Beitrag anzeigen
Alt 05.06.09, 17:04   #9 (permalink)
CDW
Moderator
 
Benutzerbild von CDW
 
Registriert seit: 20.07.05
CDW Leistung: OpteronCDW Leistung: OpteronCDW Leistung: OpteronCDW Leistung: OpteronCDW Leistung: OpteronCDW Leistung: Opteron
Likes: 198
Standard

Zitat:
In dem ersten Codebeispiel ist geschrieben, dass die JNZ-Anweisung 2 Bytes groß ist. Woher weiß man das bzw. wo gibt es einen Nachweis dafür?
naja, abgesehen von der opcode.hlp
Zitat:
75 cb JNZ rel8 Jump short if not zero (ZF=0)
im Intelmanual:
http://www.intel.com/design/PentiumI...als/243191.htm
Zitat:
75 cb JNZ rel8 Jump short if not zero (ZF=0)

cb, cw, cd, cp?A 1-byte (cb), 2-byte (cw), 4-byte (cd), or 6-byte (cp) value following the
opcode that is used to specify a code offset and possibly a new value for the code segment
register.
dh 75 steht für JNZ und das Byte danach für die Distanz.

Zitat:
Zudem gibt es bei der JNZ-Anweisung ein Opcode, das 43 Bytes nach vorne springt. Ist es möglich sich das in einem Hex-Editor anzuschauen oder das irgendwie nachzuvollziehen?
Ähm, das die Anweisung ist in Deinem Screenshot markiert
Code:
41157D   75 2B
heißt: Aktuelle_Adresse(41157D)+Größe_der_Instruction(2)= (41157F) +2B = Zieladresse: 4115AA
__________________
Noch mal, für alle Pseudo-Geeks: 1+1=0. -> 10 wäre Überlauf!
Selig, wer nichts zu sagen hat und trotzdem schweigt.
CDW ist offline   Mit Zitat antworten
 

1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61