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
     
    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
     
    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 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
     
    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
     
    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
     
    Do tworzenia linii DATA z kodem programu w jm polecam program z IKS-a 4/1988 strona 25: ->link<-
    • 7:
       
      CommentAuthorKaz
    • CommentTime13 Nov 2009 zmieniony
     
    Cos mi sie tak wydaje, ze w katalogu uzytkow tez byl taki gotowy program, ale trzeba by poszukac, bo nie pamietam jego nazwy.