atarionline.pl kod dziesiętny - 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: CommentAuthorMaciek
      • CommentTime10 Nov 2009 21:11
       
      Mam pytanie, czy używając quick assemblera (by JBW) można w jakiś sposób uzyzyskać (wyświetlić) gotowy kod dziesiętny do wklepania w basicu? Dopiero stawiam pierwsze kroki w assemblerze...
      Ewentualnie string ATASCII, ale to tak odbidy, ciągi liczb były by wygodniejsze
      • 2: CommentAuthormarok
      • CommentTime10 Nov 2009 22:11
       
      Chodzi o to, by program napisany pod QA dolaczyc do programu nadrzednego w Basicu w liniach DATA?

      Jesli tak, to nalezaloby chyba zasemblowac na dysk program w asemblerze (w wersji bez naglowka), a nastepnie przetworzyc to co sie zasemblowalo do pliku wynikowego specjalnym programikiem do postaci linii w DATA.

      Oczywiscie taki programik trzeba napisac lub gdzies poszukac. Chyba wiem gdzie go mozna prawdopodobnie znalezc, ale zanim sie tym podziele wolalbym upewnic sie ze dobrze zrozumialem problem.
      • 3:
         
        CommentAuthorCosi
      • CommentTime10 Nov 2009 22:11 zmieniony
       
      Programik może wyglądać tak (dla pliku bez nagłówka):
      - otwiera plik (OPEN)
      - pobiera z pliku kody kolejnych bajtów (GET)
      - wyświetla je na ekranie
      - zamyka plik
      :-)
      Można jeszcze dodać taki bajer, żeby wyświetlał dodatkowo kolejne numery linii i instrukcje "DATA" - wtedy wystarczy nacisnąć parę razy return po zakończeniu pracy :) Można też wpisać do programu poke'a, który sam "naciśnie return" i wstawi te linie do programu.
      PS. W takiej sytuacji trzeba pamiętać, żeby program dodał na początku kod PLA (104), a na końcu RTS (228).
      • 4: CommentAuthorMaciek
      • CommentTime11 Nov 2009 00:11
       
      generalnie boję sie, że robię coś naokoło, w QA nie znalazłem opcji zapisu zasemblowanego programu do pliku binarnego na dyskietkę więc robię to tak:
      1. piszę sobie coś i asembluję na 6stą stronę pamięci ram,
      2. daję quit do dosa
      3. wychodzę z dosa do basica
      4. krótkim programem w bazylu oglądam bajty z 6stej strony

      Nie byłem pewien jak się zachowa Dos, Basic i QA, myślałem że po drodze stracę 6sta strone z moim programem. Przetłumaczyłem sobie właśnie kod dziesiętny który tam siedział i to był mój programik :)

      Muszę doczytać ewidentnie instrukcję do QA, może sa prostsze sposoby. Btw, jestem porażony prędkością :O
      • 5: CommentAuthormarok
      • CommentTime11 Nov 2009 12:11
       
      Z podrecznika do QA.
      "
      Pseudorozkaz OPT sluzy do okreslenia parametrow asemblacji. Argumentem jest liczba z zakresu 0... 127, ktorej bity wplywaja na konkretne opcje asemblera.

      bity agumentu
      6 5 4 3 2 1 0 znaczenie
      . . . . . x x poziom listowania
      . . . . . 0 0 -bez listingu
      . . . . . 0 1 -tylko rozkazy bledne
      . . . . . 1 0 -pelny listing programu z edytora
      . . . . . 1 1 -jak wyzej, wraz z dolaczonymi plikami
      . . . . x . . wyprowadzenie listingu na ekran
      . . . x . . . wyprowadzenie listingu na drukarke
      . . x . . . . umieszczenie kodu w pamieci komputera
      x x . . . . . produkcja kodu wynikowego do pliku
      0 0 . . . . . -bez kodu
      0 1 . . . . . -postac ladowalna DOS-em (z naglowkami blokow)
      1 0 . . . . . -jak wyzej, dolaczenie do istniejacego pliku
      1 1 . . . . . -sam kod programu, bez naglowkow

      "
      Asemblacja do pliku wynikowego z naglowkami blokow:
      OPT %0110101
      (wczorajsza sugestia ze lepiej bedzie asemblowac bez naglowka wydaje mi sie dzisiaj nietrafiona, ale zalezy to od metody dalszego przetwarzania danych z pliku po asemblacji)

      Asemblacja do pamieci na 6-ta strone, jest wystarczajaco dobrym rozwiazaniem.
      Nie wiem jak zautomatyzowany jest ten proces przetlumaczania zawartosci pamieci do postaci zdatnej do uzycia w Basic'u. Jesli istnieje potrzeba przyspieszenia tego procesu, to moge polecic programik z linka ponizej (ostatni wpis w innym watku na tym forum)
      ->link<-

      Ostatnia uwaga dotyczy tego o czym wspominal Cosi. Tzn. koniecznosci zawarcia w kodzie maszynowym (podlegajacym asemblacji) instrukcji PLA na poczatku i RTS w miejscu (lub miejscach) logicznego konca procedury maszynowej (ktory moze pokrywac sie z jej fizycznym koncem).
      • 6:
         
        CommentAuthorlarek
      • CommentTime13 Nov 2009 02:11
       
      Do tworzenia linii DATA z kodem programu w jm polecam program z IKS-a 4/1988 strona 25: ->link<-
      • 7:
         
        CommentAuthorKaz
      • CommentTime13 Nov 2009 10:11 zmieniony
       
      Cos mi sie tak wydaje, ze w katalogu uzytkow tez byl taki gotowy program, ale trzeba by poszukac, bo nie pamietam jego nazwy.