DWSII >> Ikke nogle færdige, køreklare, men en masse rod. Som alt andet */* Jeg skal nok prøve at finde noget brugbart. Har du nogle specielle ønsker eller er det til en generel præsentation for dig selv/andre?
ASM >> Jeg har en gammel TASM, men kan ikke rigtig bruge den direkte. Den inkluderer opcode tables til alt andet end 86... Jeg har ikke rigtig lyst til at sidde og finde på alle mulige kombinationer selv og bede den oversætte, og dernæst selv dekode og finde ud af hvor den bruger relative kontra absolutte offsets osv. osv. osv. :-/
DWSII > til en generel præsentation for dig selv/andre *S*, jeg har rodet lidt med den, men synes ret hurtigt jeg løber ind i problemer og kunne godt bruge nogle eks. og demo\'er
BTW: Når Delphi har noget med EAX, ECX, EDX og hvad de hedder alle sammen (32-bit registre ?), er det så særskilte registre, eller \'overlapper\' de nogle andre.
Altså ligesom ax (16-bit) er al(8)+ah(8)
For jeg kan ikke umiddelbart finde noget kode for fx
Usage: XOR dest,src Modifies flags: CF OF PF SF ZF (AF undefined)
Performs a bitwise exclusive OR of the operands and returns the result in the destination. Notations and Format used in this Document
Notation -------- OP Instruction OpCode XX Additional Code bytes s Sign Bit -- E - Sign-extend 8-bit immediate data N - Non w Word/byte Bit -- W - 16-bit operanrs B - 8-bit operanrs len Instruction length MNEMONICS Instruction syntax flags oditszapc ||||||||+- Carry flag |||||||+-- Parity flag ||||||+--- Auxiliary flag |||||+---- Zero flag ||||+----- Sign flag |||+------ Trap flag ||+------- Interrupt flag |+-------- Direction flag +--------- Overflow flag
mr = Addressing mode Byte = MODRM(mod-reg-r/m) /0~7 = 2nd or 3rd Opcode (MODRM bits 5,4,3 from reg field)
d0 d1 = Displacement [Low-byte High-byte] i0 i1 = Immediate word value o0 o1 = Offset value s0 s1 = Segment value
r0 = Relative Short Displacement to label \'sl\' (-128/+127 bytes) r0 r1 = Relative Long Displacement to label \'ll\' (-32768/+32767 bytes)
Mnemonic Notation -----------------
mb=memory byte rb=register byte rmb=register or memory byte mw=memory word rw=register word rmw=register or memory word md=memory double word rd=register double word mq=memory quad word
ib=immediate byte mwr=memory word real iw=immediate word mdr=memory double word real mqr=memory quad word real mtr=memory ten byte real
sl = Short label np = near pointer ll = Long label fp = far pointer
okay :-) håber du får bugt med nimda og flytningen *s*
jeg fandt en Disassembler skrevet i delphi - den hjalp mig meget - er i øjeblikket i gang med at lave en omvendt
Synes godt om
Ny brugerNybegynder
Din løsning...
Tilladte BB-code-tags: [b]fed[/b] [i]kursiv[/i] [u]understreget[/u] Web- og emailadresser omdannes automatisk til links. Der sættes "nofollow" på alle links.