flat assembler
Message board for the users of flat assembler.
![]() |
Author |
|
edemko 26 Oct 2010, 12:30
ollydbg's window:
![]() |
|||
![]() |
|
ouadji 26 Oct 2010, 14:45
Code: UNDO.INC -------- or esi,esi jz segment_for_undo_done mov ebx,[esi] mov eax,[esp+4] call prepare_slot_for_undo_storage jc segment_for_undo_done push edi call allocate_segment pop edi mov ebx,eax stosd mov eax,[esp+4] stosd jc memory_shortage mov esi,eax mov edi,ebx mov ecx,SEGMENT_LENGTH shr 2 rep movsd ;<----------------------------- line 61 segment_for_undo_done: popa store_segment_for_undo_ok: retn prepare_slot_for_undo_storage: mov esi,[undo_data] mov esi,[esi] mov ecx,[esi+4] lea edi,[esi+8] repne scasd jne get_free_slot stc retn get_free_slot: mov ecx,[esi+4] lea edi,[esi+8+ecx*8] inc ecx cmp ecx,SEGMENT_DATA_LENGTH/8 jbe slot_ok push esi call allocate_segment |
|||
![]() |
|
edemko 26 Oct 2010, 14:54
mention
before the bug: mov ecx,$40 after the bug: ecx=$40 after the bug: edi=ebx=$700 |
|||
![]() |
|
edemko 26 Oct 2010, 14:57
seems you are missing stack somewhere
|
|||
![]() |
|
Tomasz Grysztar 26 Oct 2010, 15:44
ouadji: I know where it is, but that is not the problem. The difficulty comes from the fact that this is most probably result of data corruption that occured elsewhere, maybe even at different time.
edemko: it is $D00700, not $700. |
|||
![]() |
|
revolution 26 Oct 2010, 15:58
It could be because of something like this
|
|||
![]() |
|
edemko 26 Oct 2010, 17:52
we have wireless modem right on the system unit
i've had "unresolved" situations many times suspecting all but myself and finally myself was the fault ![]() our pc was grounded, memory was ok, tv was off, sound was on, edemko was smiling |
|||
![]() |
|
ouadji 26 Oct 2010, 18:59
Quote: The difficulty comes from the fact that this is most probably result |
|||
![]() |
|
edemko 27 Oct 2010, 18:42
composing a stub i was lighted with cosmic rays:
recompile all your software, people: Code: ;1 passes, 0 bytes ;dw ? ;1 passes, 0 bytes ;dw ?,? ;1 passes, 0 bytes ;dw ? ;dw ? ;1 passes, 2 bytes ;dw 0 ;1 passes, 4 bytes ;dw ?,0 ;1 passes, 2 bytes ;dw 0,? ;1 passes, 0 bytes ;db ? ;dw ? ;dd ? ;dq ? |
|||
![]() |
|
ouadji 27 Oct 2010, 21:02
Code: A) mov ax,[toto] toto dw ?,? B) xor al,al mov [bop-1],al toto db 1000 dup ? bop: A) 2 passes 3 bytes A) 2 passes 5 bytes ![]() Tomasz, this is not quite normal i think ? your view ? |
|||
![]() |
|
Fanael 28 Oct 2010, 09:03
ouadji wrote: this is not quite normal i think ? |
|||
![]() |
|
idle 31 Jan 2011, 10:56
|
|||
![]() |
|
< Last Thread | Next Thread > |
Forum Rules:
|
Copyright © 1999-2025, Tomasz Grysztar. Also on GitHub, YouTube.
Website powered by rwasa.