UPN Rechner und anderer Klamauk

02/07/2009 - 16:06 von Jens Kallup | Report spam
Hallo NG,

dies ist ein CrossPosting mit dem delphi.misc Brett.
Hubert hat schonmal vorareit geleistet

http://kallup.part-time-scientists.com/kmice.rar


11.
11.asm
11.exe
.\lib\jk_class.cc



Ich habe das 11.obj durch mein Disassembler gejagt:

0070 55 PUSH EBP
0071 89E5 MOV EBP,ESP
0073 6800000000 PUSH $00000000
0078 BA15000000 MOV EDX,$00000015
007D B81E000000 MOV EAX,$0000001E
0082 BB08000000 MOV EBX,$00000008
0087 E800000000 CALL $0000008C
008C FF7304 PUSH DWORD [EBX+$04]
008F FF33 PUSH DWORD [EBX]
0091 E800000000 CALL $00000096
0096 81C40C000000 ADD ESP,$0000000C
009C 6800000000 PUSH $00000000
00A1 BA08000000 MOV EDX,$00000008
00A6 B800000000 MOV EAX,$00000000
00AB BB08000000 MOV EBX,$00000008
00B0 E800000000 CALL $000000B5
00B5 FF7304 PUSH DWORD [EBX+$04]
00B8 FF33 PUSH DWORD [EBX]
00BA E800000000 CALL $000000BF
00BF 81C40C000000 ADD ESP,$0000000C
00C5 6800000000 PUSH $00000000
00CA BA06000000 MOV EDX,$00000006
00CF B800000000 MOV EAX,$00000000
00D4 BB08000000 MOV EBX,$00000008
00D9 E800000000 CALL $000000DE
00DE FF7304 PUSH DWORD [EBX+$04]
00E1 FF33 PUSH DWORD [EBX]
00E3 E800000000 CALL $000000E8
00E8 81C40C000000 ADD ESP,$0000000C
00EE 6800000000 PUSH $00000000
00F3 BA02000000 MOV EDX,$00000002
00F8 B800000000 MOV EAX,$00000000
00FD BB08000000 MOV EBX,$00000008
0102 E800000000 CALL $00000107
0107 FF7304 PUSH DWORD [EBX+$04]
010A FF33 PUSH DWORD [EBX]
010C E800000000 CALL $00000111
0111 81C40C000000 ADD ESP,$0000000C
0117 6800000000 PUSH $00000000
011C 6804000000 PUSH $00000004
0121 E800000000 CALL $00000126
0126 81C408000000 ADD ESP,$00000008
012C 6804000000 PUSH $00000004
0131 BA03000000 MOV EDX,$00000003
0136 B800000000 MOV EAX,$00000000
013B BB08000000 MOV EBX,$00000008
0140 E800000000 CALL $00000145
0145 FF7304 PUSH DWORD [EBX+$04]
0148 FF33 PUSH DWORD [EBX]
014A E800000000 CALL $0000014F
014F 81C40C000000 ADD ESP,$0000000C
0155 6804000000 PUSH $00000004
015A E800000000 CALL $0000015F
015F 6800000000 PUSH $00000000
0164 E800000000 CALL $00000169
0169 C9 LEAVE
016A C3 RET

~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~

%include "macros.mac"
%include "symbols.sym"

section .data

var0: dd 0.00
var1: dd 0.20

Ergebnis: dd 0

enter_proc start_main
call_setval_proc 21,30, var0
call_sub_proc 8,0, var0
call_sub_proc 6,0, var0
call_add_proc 2,0, var0
call_setvar_proc var1, var0 ; < wie weiter?
call_add_proc 3,0, var1
push dword var1
call_proc print_ergebnis

call_exit_proc 0
leave_proc

~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~

Abgesehen davon das ich das für "viel Code" halte...
evtl. kannst Du (oder jemand) am Disassemblat schneller
erkennen wo der Fehler ist.
Ist aber evtl. eher was für de.comp.lang.assembler?

mfg.
Herby

Die Stelle im Code, die mir Kopfzerbrechen macht
habe ich kommentiert. "call_setvar_proc var1, var0".
Irgendwie kann ich den VariablenInhalt nicht in eine
andere Variable nicht ohne weiteres kopieren?
Für Ideenaustausch bin ich sehr dankbar.

Gruß
Jens
 

Lesen sie die antworten

#1 Jens Kallup
03/07/2009 - 21:00 | Warnen spam
Jens Kallup schrieb:
Hallo NG,

dies ist ein CrossPosting mit dem delphi.misc Brett.
Hubert hat schonmal vorarbeit geleistet
section .data

var0: dd 0.00
var1: dd 0.20


...
Abgesehen davon das ich das für "viel Code" halte...
evtl. kannst Du (oder jemand) am Disassemblat schneller
erkennen wo der Fehler ist.
Ist aber evtl. eher was für de.comp.lang.assembler?

mfg.
Herby



Hallo NG, Hubert,

ich habe das Problem lokalisieren können.

var0: dd 0.00
var1: dd 0.20


scheint was anderes zu sein als:

var0: dq 0.00
var1: dq 0.20

Oh mann, einmal sollte man dd und dann wieder dq
nehmen - die vielen tut's verwirren einen ja so
richtig.
Also was haben wir heute gelehrnt:
traue keine InternetAdresse(Inhalt), die Du nicht
selbst geschrieben hast :-)
Ok, biss, zun nàchsten Problem.

Gruß
Jens

Ähnliche fragen