Asembler - Błąd w postaci zawieszającej się pętli

Asembler - Błąd w postaci zawieszającej się pętli
Webowiec
  • Rejestracja: dni
  • Ostatnio: dni
0

Witam

Mój krótki program (napisany w FASM) nie robi na razie nic, prócz wyświetlania okienka. Mam pętlę w pętli, jednak program przy odpalaniu się wiesza. Męczę się i głowię i nie wiem co jest przyczyną.

Byłbym wdzięczny, gdyby ktoś zerknął na moje pętle
Fragment programu:

Kopiuj
 
warunek_i:
        ;for(double i = 0; i < YMAX)
        mov eax, [YMAX]
        cmp [i], eax
        jne petla_i
        je przerwij

          petla_i:

          warunek_j:
          ;for(double j = 0; j < XMAX)
          mov eax, [XMAX]
          cmp [j], eax
          jne petla_j
          je ink_i

             petla_j:

             mov cx, 5

            ety:


            cmp cx, 0
            je zakoncz
            dec cx
            jmp ety


            zakoncz:



             ink_j:
             ;j++
             add [j], 1
             jmp warunek_j

        ink_i:
        ;i++
        add [i], 1
        jmp warunek_i


       przerwij:

Kod źródłowy w załączniku

Shalom
  • Rejestracja: dni
  • Ostatnio: dni
  • Lokalizacja: Space: the final frontier
  • Postów: 26433
0

emu8086 twoim przyjacielem.

Webowiec
  • Rejestracja: dni
  • Ostatnio: dni
0

Nie wiedziałem, że istnieje taki program - dzięki :)

Problem z tematu na szczęście już rozwiązałem, jednak szkoda, że ten programik obsługuje tylko programy 16-bitowe :( Ollydbg nie jest już (w moim przekonaniu) już taki przejrzysty jak ten co podałeś, Shalom

Shalom
  • Rejestracja: dni
  • Ostatnio: dni
  • Lokalizacja: Space: the final frontier
  • Postów: 26433
0

Napisz gdzie był problem, dla potomnych ;) Niestety emu8086 idealne nie jest (nie wspiera np koprocesora) ale mimo to jest bardzo wygodne i znacznie skraca czas szukania błędów :)

Webowiec
  • Rejestracja: dni
  • Ostatnio: dni
0

Już się robi. Problem rozwiązało zmienienie rejestru eax na rejestr ax i zmienienie zmiennej dd na dw. Jeśli ktoś jest w stanie to wytłumaczyć to proszę się nie krępować

Zarejestruj się i dołącz do największej społeczności programistów w Polsce.

Otrzymaj wsparcie, dziel się wiedzą i rozwijaj swoje umiejętności z najlepszymi.