atarionline.pl Nie można wykonać kopii roboczej "Capture the Flag" z demontażu. - Forum Atarum

    Jeśli chcesz wziąć udział w dyskusjach na forum - zaloguj się. Jeżeli nie masz loginu - poproś o członkostwo.

    • :
    • :

    Vanilla 1.1.4 jest produktem Lussumo. Więcej informacji: Dokumentacja, Forum.

    1.  
      #Atari8bit Potrzebuje pomocy, ma disasm6502 wyjście, które nie jest wbudowane w funkcjonalny wykonywalny przez MADS, spędził cały dzień próbując wytropić, dlaczego produkowane binarne jest inny. Kiedy już mam coś do zbudowania, mogę to naprawić, aby użyć #FujiNet.
      • 2: CommentAuthormarok
      • CommentTime3 Jan 2021 10:01
       
      Brakujące dwa bajty w kodzie wynikowym biorą się z nieodpowiedniej asemblacji dwóch linii kodu: 2801 i 3496.

      Trzeba wymusić na asemblerze w zapisie tych linii kodu, aby nie traktować adresów jako wartości ze strony zerowej, a jako pełen adres (adresacja absolutna).

      Zastrzegam, że sam nie próbowałem czy na pewno ten przepis zadziała (to była szybka interwencja), ale wiele na to wskazuje.
    2.  
      it worked. I wonder why the compare is done with the non-ZP opcode? to waste a cycle?

      -Thom
      • 4: CommentAuthorbob_er
      • CommentTime3 Jan 2021 17:01
       
      That may be an issue in assembler.
      For instance QuickAssembler (popular in PL) for label declared after usage assume it is 16bit value. Thus 'abs' variant is used in that case, even if value is smaller than $100.

      btw: Thomas - please write your messages in english. Decrypting your messages would be much simpler in that case :)
      • 5: CommentAuthormarok
      • CommentTime3 Jan 2021 18:01
       
      Obszar kodu, wokół danej dekodowanej do tej instrukcji porównania, jest obszarem danych, więc ta instrukcja nigdy nie jest wykonywana przez program. Transkrypcja (po deasemblacji z xex), do kodu z mnemoników asemblera, jest zautomatyzowana i czasem wykona się z niechcianą nadwyżką (obszaru inaczej wykorzystywanych danych).