Autor Wątek: Programowanie 8 bitów on line  (Przeczytany 5487 razy)

Klaud

  • *****
  • Wiadomości: 6057
  • Miejsce pobytu:
    trzecia planeta od Słońca
  • KL
Programowanie 8 bitów on line
« dnia: 2020.07.22, 08:16:18 »
KL
-----
R Tape loading error 0:1

matofesi

  • *****
  • Wiadomości: 1888
  • Miejsce pobytu:
    Toruń/Poland
Odp: Programowanie 8 bitów on line
« Odpowiedź #1 dnia: 2020.07.22, 09:00:01 »
Koncepcja interesująca - sam o czymś podobnym myślałem, ale dałem sobie spokój bo uznałem, że całość jest średnio niewarta świeczki między innymi z powodów dla których to coś jak dla mnie jest bezużyteczne...

A jest, bo chyba nie rozumiem koncepcji działania... Piszę kod, on mi wywala błędy, poprawiam, błędy znikają i?... Klikam guzik "RUN" i nic się nie dzieje - dziwny emulator wydaje się działać i ignorować kod, który wpisałem. Robię w nim stosowne RANDOMIZE USR i... nic się nie dzieje... DISASSEMBLY pokazuje że kod chodzi gdzieś w ROMie albo pokazuje coś w RAMie... Przeglądać się nie da, bo ogranicza podgląd chyba do jednej strony i nie znalazłem metody na przejście pod inny adres.

Interesujący pomysł i może po dopracowaniu do czegoś się nada (może teraz też się nadaje, ale raczej nie do kodowania na Spectrum). Na razie traktuję w kategoriach ciekawostki ;)

A... I jeszcze assembler jest marudny - instrukcja nie może być zapisana "od brzegu" pliku - musi mieć wcięcie, od początku linii są tylko etykiety. Nie obsługuje REPT z pasmo, DB musi mieć wyłącznie bajty jako parametry itd. ;)

Tygrys

  • Administrator
  • *****
  • Wiadomości: 4320
  • Miejsce pobytu:
    Warszawa
  • mistrz ceremonii
Odp: Programowanie 8 bitów on line
« Odpowiedź #2 dnia: 2020.07.22, 10:15:27 »
Ciekawa sprawa dla kogoś, kto chce sobie poklikać w asm albo w C w ramach ciekawostki. IDE w przeglądarce.
To się też nadaje do szybkich testów.

Przejrzałem też inne platformy - widać znacznie bardziej rozwiniętą 'infrastrukturę' oraz ilość przykładowych programów.

steev

  • *****
  • Wiadomości: 1184
  • Miejsce pobytu:
    inode 42
Odp: Programowanie 8 bitów on line
« Odpowiedź #3 dnia: 2020.07.22, 13:06:41 »
Wspomniany na githubie projektu assembler ZMAC jest drugim znanym mi assemblerem generującym listing z czasem wykonania.
I zapisuje .tap bez zbędnych kombinacji (oraz kilka innych formatów, głównie TSR80, amsdos, raw binary i intel hex)
Do zapamiętania :)
Machines should work. People should think.

steev

  • *****
  • Wiadomości: 1184
  • Miejsce pobytu:
    inode 42
Odp: Programowanie 8 bitów on line
« Odpowiedź #4 dnia: 2020.07.22, 14:03:26 »
Nie obsługuje REPT z pasmo, DB musi mieć wyłącznie bajty jako parametry itd. ;)
Cytuj
        .org  0x8000
test
        rept    16
            .db $10
        endm
        .db     0,1,2,3,'0123','@@@','@'+$40
Cytuj
   1:     -     8000                    .org  0x8000
   2:     -     8000            test
   3:     -     8000  10101010          rept    16
                          10101010
                          10101010
                          10101010
   6:     -     8010  00010203          .db     0,1,2,3,'0123','@@@','@'+$40
                          30313233
                          40404080

(kompilowane przez zmac 'ręcznie')
Machines should work. People should think.

matofesi

  • *****
  • Wiadomości: 1888
  • Miejsce pobytu:
    Toruń/Poland
Odp: Programowanie 8 bitów on line
« Odpowiedź #5 dnia: 2020.07.22, 14:58:02 »
Chodziło mi o REPT z dwoma parametrami.

A co do DB to problem jest po obu stronach. Po mojej, bo na szybko generowałem tablicę, która w pasmo się skompiluje, ale da nie taki wynik jak oczekiwałem. Po stronie 8bitworkshopa/zmaca podanie większej niż 8 bitów danej dla DB generuje błąd zamiast wygenerować po prostu młodszy bajt.

Nie neguję sensowności całego rozwiązania - oceniam po prostu, że to nie dla mnie ;)

steev

  • *****
  • Wiadomości: 1184
  • Miejsce pobytu:
    inode 42
Odp: Programowanie 8 bitów on line
« Odpowiedź #6 dnia: 2020.07.22, 17:24:18 »
Chodziło mi o REPT z dwoma parametrami.
Aaah. Tak. Ze zmienną (i ewentualnie wartością początkową/krokiem)
Nie korzystałem nigdy, więc co jakiś  czas odkrywam na nowo :)

Po stronie 8bitworkshopa/zmaca podanie większej niż 8 bitów danej dla DB generuje błąd zamiast wygenerować po prostu młodszy bajt.
Który assembler tak robi?
Machines should work. People should think.

matofesi

  • *****
  • Wiadomości: 1888
  • Miejsce pobytu:
    Toruń/Poland
Odp: Programowanie 8 bitów on line
« Odpowiedź #7 dnia: 2020.07.23, 08:48:16 »
pasmo

Cytuj
DB Define Byte. The argument is a comma separated list of string literals or numeric expressions. The string literals are inserted in the object code, and the result of the numeric expression is inserted as a single byte, truncating it if needed.

p.janowski

  • ***
  • Wiadomości: 117
  • Miejsce pobytu:
    Koluszki
A500; C64C, C64G, C64Rpi; iBook G3, PowerBook G4 12", PowerBook G4 15" z MorphOS; ZX 128k +2A

Tygrys

  • Administrator
  • *****
  • Wiadomości: 4320
  • Miejsce pobytu:
    Warszawa
  • mistrz ceremonii
Odp: Programowanie 8 bitów on line
« Odpowiedź #9 dnia: 2020.08.10, 16:14:56 »
Tam, w sensie na stronie w pierwszego postu mógł nie zadzialac. Za to bez problemów zadziałał kompilując go np za pomocą pasmo.