Autor Wątek: Asembler Z80 i 8080 pod Windows  (Przeczytany 11291 razy)

matofesi

  • *****
  • Wiadomości: 1749
  • Miejsce pobytu:
    Toruń/Poland
Odp: Asembler Z80 i 8080 pod Windows
« Odpowiedź #30 dnia: 2019.03.20, 15:40:21 »
Zakładając, że kod, który chcesz uruchomić masz w pliku "scroller1.bin" "odpalacz" można zrobić np. tak:
          org 24000
         
          call $0052
l1:
          dec sp
          dec sp
          pop hl
          ld de,l2-l1
          add hl,de
          ld de,$8000
          ld bc,l3-l2
          ldir
          jp $8000
l2:
          incbin "scroller1.bin"
l3:

Adres przy org nie ma znaczenia - może być dowolny. Pierwszy CALL skacze do ROMu do pierwszego RETa jakiego udało mi się znaleźć, po powrocie cofa stos o dwa bajty i podnosi to, co tam znajdzie, czyli adres powrotu dla tego CALLa a więc i adres pod którym znajduje się aktualnie wykonywany kod. Potem do DE ładuje przesunięcie do przerzucanego kodu, dodaje je do HL a następnie do DE ładuje właściwy adres docelowy - w tym wypadku $8000, do BC długość dodatkowego bloku i całość przerzuca LDIRem a następnie skacze pod $8000 odpalając kod. Kompilujesz oba bloki tak:
pasmo --bin scroller1.asm scroller1.bin
pasmo --bin move_it.asm move_it.bin

W wyniku dostajesz plik move_it bin o długości właściwego kodu + 21 bajtów, który możesz odpalić spod dowolnego adresu w tym z linii BASICa po wklejeniu do REMa.

Maryjan

  • *****
  • Wiadomości: 5022
  • Miejsce pobytu:
    Skarżysko-Kam.
  • Scotch whiskey and West Highland Terrier
Odp: Asembler Z80 i 8080 pod Windows
« Odpowiedź #31 dnia: 2019.03.20, 16:11:28 »
Dzięki.
Muszę w chwili wolnego poeksperymentować i przypomnieć sobie co nie co.
"... podobno są dwie szkoły, Falenicka i Otwocka."

Dalthon

  • ****
  • Wiadomości: 368
  • Miejsce pobytu:
    TriCity
Odp: Asembler Z80 i 8080 pod Windows
« Odpowiedź #32 dnia: 2019.03.20, 16:31:41 »
Dlaczego pytam, ponieważ interesuje mnie umieszczanie kodu np. w lini 0 po REM.
Praktycznie to:
- piszesz pod dowolny (32768) adres
- gdy jest gotowe, zmieniasz ORG na 2476x czy inny adres (zależy gdzie masz ten REM)
- tworzysz .tap
- wyciągasz z .tap bin z kodem
- wrzucasz bin pod dany adres pamięci
- zgrywasz .tap z programem po REM
ZX Spectrum +2 Grey | Commodore 64 | Commodore +4 | Atari 520 STF | Amiga 1200

Klaud

  • *****
  • Wiadomości: 4808
  • Miejsce pobytu:
    trzecia planeta od Słońca
  • KL
Odp: Asembler Z80 i 8080 pod Windows
« Odpowiedź #33 dnia: 2019.03.20, 17:41:47 »
 >:( pojechaliście Panowie, miało być przystępnie dla „Kowalskiego”, ale doceniam Waszą wiedzę.
KL
-----
R Tape loading error 0:1

matofesi

  • *****
  • Wiadomości: 1749
  • Miejsce pobytu:
    Toruń/Poland
Odp: Asembler Z80 i 8080 pod Windows
« Odpowiedź #34 dnia: 2019.03.20, 18:31:28 »
@Dalthon Wszystko pięknie, pod warunkiem, że wiesz, gdzie masz REMa. Jak zaczniesz podłączać np. interfejsy dyskowe itp., to ci się program przesunie i adresy rozjadą.

@Klaud ja tylko odpowiadam na pytania ;)

LaPi

  • *
  • Wiadomości: 24
Odp: Asembler Z80 i 8080 pod Windows
« Odpowiedź #35 dnia: 2019.03.20, 20:56:07 »
A czy w prasie komputerowe nie było nigdy kursu asemblera? Może są dostępne skany? Ewentualnie, może ktoś poleci książkę o programowaniu w asemblerze?

trojacek

  • *****
  • Wiadomości: 5456
  • Miejsce pobytu:
    Warszawa
Odp: Asembler Z80 i 8080 pod Windows
« Odpowiedź #36 dnia: 2019.03.20, 21:12:06 »
Jasne, że były, ale trzeba by to wszystko żmudnie przeglądać.
Jest kilka dobrych książek, m.in. "ABC asemblera" Rolanda Wacławka, do znalezienia na zaprzyjaźnionym serwerze FTP (ftp://speccy:[email protected]).
Na tym ftp-ie znajdziesz też inne książki i skany popularnych czasopism.

Klaud

  • *****
  • Wiadomości: 4808
  • Miejsce pobytu:
    trzecia planeta od Słońca
  • KL
Odp: Asembler Z80 i 8080 pod Windows
« Odpowiedź #37 dnia: 2019.03.20, 21:19:17 »
Chyba najlepsza jaką miałem w rękach to ta: https://en.wikipedia.org/wiki/Programming_the_Z80 ("Programming the Z80" autorstwa  Rodnay'a Zaksa)
KL
-----
R Tape loading error 0:1

Gryzor

  • *****
  • Wiadomości: 1741
  • Miejsce pobytu:
    Warszawa
Odp: Asembler Z80 i 8080 pod Windows
« Odpowiedź #38 dnia: 2019.03.20, 21:40:58 »
Byl tez kurs w ostatnich zeszytach Konkret. To czego brakuje to pewno kurs przy uzyciu obecnych narzedzi, a dzis malo kto koduje przy uzyciu DevPac.

Jak ktos lubi VisualStudio, to ostatnio powstalo tez cos takiego:

https://dotneteer.github.io/spectnetide/

Dalthon

  • ****
  • Wiadomości: 368
  • Miejsce pobytu:
    TriCity
Odp: Asembler Z80 i 8080 pod Windows
« Odpowiedź #39 dnia: 2019.03.20, 22:21:16 »
@Dalthon Wszystko pięknie, pod warunkiem, że wiesz, gdzie masz REMa. Jak zaczniesz podłączać np. interfejsy dyskowe itp., to ci się program przesunie i adresy rozjadą.
Mówimy o sytuacjach "normalnych" - nie "extremalnych" :) Poza tym wygoda pisania na emulatorach jest na tyle wielka że nikt nie będzie robił na prawdziwym sprzęcie - na nim to testowanie finalnej produkcji :P

>:( pojechaliście Panowie, miało być przystępnie dla „Kowalskiego”, ale doceniam Waszą wiedzę.
Nie wina odpowiadających że takie pytania były :D Zaczynałbym od prostych rzeczy aby się nie zniechęcać a dopiero potem zabierał się za wymarzone projekty.

A czy w prasie komputerowe nie było nigdy kursu asemblera? Może są dostępne skany? Ewentualnie, może ktoś poleci książkę o programowaniu w asemblerze?
Polecam zajrzeć tutaj: https://chuntey.wordpress.com/category/z80-assembly/

Praktycznie większość zagadnień jest bardzo dobrze opisany z przykładami - co prawda jak zrobić grę na zx ale znaleźć można odpowiedź na 99% pytań. Po resztę na forum speccy.pl ;)
ZX Spectrum +2 Grey | Commodore 64 | Commodore +4 | Atari 520 STF | Amiga 1200

matofesi

  • *****
  • Wiadomości: 1749
  • Miejsce pobytu:
    Toruń/Poland
Odp: Asembler Z80 i 8080 pod Windows
« Odpowiedź #40 dnia: 2019.03.21, 07:54:47 »
@Dalthon Wszystko pięknie, pod warunkiem, że wiesz, gdzie masz REMa. Jak zaczniesz podłączać np. interfejsy dyskowe itp., to ci się program przesunie i adresy rozjadą.
Mówimy o sytuacjach "normalnych" - nie "extremalnych" :) Poza tym wygoda pisania na emulatorach jest na tyle wielka że nikt nie będzie robił na prawdziwym sprzęcie - na nim to testowanie finalnej produkcji :P

Ale ja wcale nie mówię o jakichś egzotycznych sprzętach. Podłączenie Bety z TR-DOSem przesuwa PROG. Podłączenie IF1 i jakieś zabawy na kanałach przesuwają PROG w te i z powrotem. Rozumiem, że w jakichś 95% przypadków będziesz trafiał w 23755, ale nie jest to reguła i bezpieczniej jest się na to przygotować ;)

I to właśnie emulatory dają wygodę sprawdzenia, czy twój kod będzie się poprawnie zachowywał właśnie w takich sytuacjach - możesz sobie te różne interfejsy "popodłączać" i potestować ;)

Phonex

  • *****
  • Wiadomości: 1176
  • Miejsce pobytu:
    Warszawa
Odp: Asembler Z80 i 8080 pod Windows
« Odpowiedź #41 dnia: 2019.03.21, 08:43:37 »
>:( pojechaliście Panowie, miało być przystępnie dla „Kowalskiego”, ale doceniam Waszą wiedzę.

A czy w prasie komputerowe nie było nigdy kursu asemblera? Może są dostępne skany? Ewentualnie, może ktoś poleci książkę o programowaniu w asemblerze?

Polecam The Complete Machine Code Tutor - http://www.worldofspectrum.org/infoseekid.cgi?id=0008031
lub po polsku - http://www.speccy.pl/archive/prod.php?id=416
Ma w sobie symulator i przykłady, w moim przypadku się sprawdził! :D

Tygrys

  • Administrator
  • *****
  • Wiadomości: 4074
  • Miejsce pobytu:
    Warszawa
  • mistrz ceremonii
Odp: Asembler Z80 i 8080 pod Windows
« Odpowiedź #42 dnia: 2019.03.21, 08:46:28 »
Wątków dotyczących programowania było kilka, ostatnio załozyłem taki ponad rok temu - było zerowe zainteresowanie.

Kiedyś, czyli jakiś rok temu, w hackroomie prowadziłem warsztaty z asemblera. W kilka godzin uczestnicy opanowali kilka podstawowych rzeczy, które pozwoliły na napisanie bardzo prostej gry. Jeżeli będzie więcej chętnych, można to powtórzyć.

Maryjan

  • *****
  • Wiadomości: 5022
  • Miejsce pobytu:
    Skarżysko-Kam.
  • Scotch whiskey and West Highland Terrier
Odp: Asembler Z80 i 8080 pod Windows
« Odpowiedź #43 dnia: 2019.03.21, 08:55:38 »
U mnie chodzi o to, że mogę zaprojektować i wykonać hardware, ale nie ma mi kto tego oprogramować.
Więc ze względu, na powyższe, żeby to działało, muszę zapoznać się z asemblerem Z80.
Poza tym, jak będę znał podstawy, to będzie mi łatwiej wytłumaczyć osobie - programiście, o co mi chodzi.
Na razie, uczę się myśleć w hex-ie :)
"... podobno są dwie szkoły, Falenicka i Otwocka."

matofesi

  • *****
  • Wiadomości: 1749
  • Miejsce pobytu:
    Toruń/Poland
Odp: Asembler Z80 i 8080 pod Windows
« Odpowiedź #44 dnia: 2019.03.21, 09:42:08 »
A czy w prasie komputerowe nie było nigdy kursu asemblera? Może są dostępne skany? Ewentualnie, może ktoś poleci książkę o programowaniu w asemblerze?

Polecam The Complete Machine Code Tutor - http://www.worldofspectrum.org/infoseekid.cgi?id=0008031
lub po polsku - http://www.speccy.pl/archive/prod.php?id=416
Ma w sobie symulator i przykłady, w moim przypadku się sprawdził! :D

A to też jest dobry początek - ja też na tym zaczynałem. Na koniec "kursu BASICa" w lokalnym Domu Kultury prowadzący widząc, że szukam czegoś "bardziej" odpalił TCMCT (po angielsku w czasach jak moja znajomość języka była mocno taka sobie ;)) - w podstawy assemblera wprowadza całkiem nieźle, mimo ograniczeń w symulatorze itp.