Frage an Assembler-Checker
Geizhals » Forum » Programmierung » Frage an Assembler-Checker (11 Beiträge, 279 Mal gelesen) Top-100 | Fresh-100
Du bist nicht angemeldet. [ Login/Registrieren ]
.
Re: Frage an Assembler-Checker
28.10.2007, 23:32:36
Ich kann mich dunkel dran erinnern, daß man auf die Länge der Instruktionen
achten muß,


Ja, mußt Du, sonst steht was sinnloses dort.

Glaube (auch schon bisserl länger her) das mov und jmp unterschiedliche längen hatten, also würde ich die fehlenden bytes mit NOP auffüllen.

inc edx
inc edx
nop
nop
jsr [deincode]
ret

Da bei jump/branch operationen ja die meisten Register gepusht und dann wieder gepopt wird, hast in deiner Sub die gleichen Werte und kannst sie nach belieben manipulieren.

So also des hatma ka Ruhe glassen :)..

GLOBAL main
SECTION .data USE32
tmpbla:         resb    64
; code
SECTION .text USE32
main:
        xor     edx, edx
        mov     eax, [tmpbla]
        mov    [eax+14], edx

ergibt =
00000000  66 31 d2 66 a1 0c 00 66  67 89 50 0e 00 00 00 00  |f1.f...fg.P.....|
00000010  00 00 00 00 00 00 00 00  00 00 00 00 00 00 00 00  |................|
*
00000040  00 00 00 00 00 00 00 00  00 00 00 00              |............|
0000004c

während

GLOBAL main
SECTION .data USE32
tmpbla:         resb    64
; code
SECTION .text USE32
main:
        xor     edx, edx
        mov     eax, [tmpbla]
        jmp     [eax+14]

folgendes ergibt:
00000000  66 31 d2 66 a1 0c 00 67  ff 60 0e 00 00 00 00 00  |f1.f...g.`......|
00000010  00 00 00 00 00 00 00 00  00 00 00 00 00 00 00 00  |................|
*
00000040  00 00 00 00 00 00 00 00  00 00 00 00              |............|
0000004c

d.h. du mußt 1 NOP einfügen. Pass aber auf das das auf keiner ungeraden adresse liegt, sonst hast Du das Problem das die CPU wieder nur Blödsinn ließt. :/

Österreichisch ist die Perfektion von Deutsch!
29.10.2007, 08:59 Uhr - Editiert von Knurz, alte Version: hier
Antworten PM Übersicht Chronologisch Zum Vorgänger
 
Melden nicht möglich
 

Dieses Forum ist eine frei zugängliche Diskussionsplattform.
Der Betreiber übernimmt keine Verantwortung für den Inhalt der Beiträge und behält sich das Recht vor, Beiträge mit rechtswidrigem oder anstößigem Inhalt zu löschen.
Datenschutzerklärung