atarionline.pl Ilość cykli potrzeba na polecenia BASIC - 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.  
      Hej,
      Powszechnie wiadomo ile cykli procesora schodzi na wykonanie poszczególnych rozkazów procka.

      Załóżmy, że interesują mnie teraz rozkazy BASICa, np. ile cykli zjada wykonanie "PRINT 3^2". Można to jakoś łatwo sprawdzić?
      • 2: CommentAuthormono
      • CommentTime19 May 2017 09:05 zmieniony
       
      ->link<-
      Jak rozpakujesz to w Procedury_interpretera_basica/pib/zapis_programu_w_pamieci.html#223 (sekcja 2.2.3.Wykonanie instrukcji) masz opisaną procedurę PRCSTM - można próbować tam się debuggerem ustawić na wywołaniu EXESTM.

      Edit: A "ilość cykli" muisz wywnioskować z RTCLOK + VCOUNT (pamiętaj, że RTCLOK jest modyfikowane w 248 linii skanningowej a więc kiedy VCOUNT=124; w PAL VCOUNTmax=155, w NTSC 130).
      • 3: CommentAuthortebe
      • CommentTime19 May 2017 16:05 zmieniony
       
      print-y i inne in/out powinny iść przez systemowe wektory, jak zrobisz jakieś "haki" a są takie to DracOs powie Ci papa

      konkludując, tego typu operacje będą zależne od OS-a i potencjalnie sterowników np. SDX gdzie jest dostępny szybszy print

      najlepiej napisz program testowy który wypisuje n-tą liczbę stringów i sprawdź ile ramek zajmuje, jeśli test jest nierozstrzygalny tzn. że trzeba zmienić skalę czyli zwiększyć liczbę wypisywanych stringów
      • 4: CommentAuthormono
      • CommentTime19 May 2017 16:05
       
      W AtariBASIC-u nie kojarzę, żeby jakiekolwiek operacje były robione hakami. Może PRINT, ale on też korzysta z wektora wystawionego w CIO (ICPUTBT).
      Oczywiście odwołania do FP są w konkretne miejsca, ale tam nie ma tablicy skoków ani oficjalnych wektorów (co jest utrapieniem twórców alternatywnych pakietów FP).
    2.  
      Dzięki za info. Gra w haki i debugery raczej nie warta świeczki - nie potrzebuję tego w jakimś szczytnym celu.

      Z ciekawości chciałem sobie napisać jakiś automatyczny porównywacz prędkości przed i po skompilowaniu programu.

      I tutaj tebe dobrze gada, nie muszę przecież schodzić do poziomu cykli tylko uruchamiać X razy w pętli i liczyć sobie sekundy.