-
Data: 2021-08-28 19:14:58
Temat: Re: Program monitora (albo Basic) do 6800
Od: Atlantis <m...@w...pl> szukaj wiadomości tego autora
[ pokaż wszystkie nagłówki ]Kolejne pytanie w tym temacie.
Mianowicie czy ktoś z was wie/pamięta jak w asemblerze zapisywało się
kompletny stan systemu na stosie? Chodzi mi o zapisanie wszystkich
rejestrów, wliczając w to rejestr flag.
Kontekst:
Przenoszę właśnie swój kod obsługi ekranu CRT (za pomocą układu TMS9918)
z innego projektu, opartego na 6502. Na chwilę obecną kod działa
prawidłowo, gdy załaduję go z pliku S19 i uruchomię z RAM-u. Podstawową
rolę w tym kodzie pełni procedura VDPPUTC, która po wywołaniu wrzuca na
ekran znak ASCII, którego kod znajduje się w rejestrze A. Jednocześnie
pilnuje lokalizacji kursora, realizuje przewijanie ekranu itp.
Procedura działa poprawnie z RAM-u. Problem zaczął się, gdy chciałem
przenieść ją do EPROM-u i wywołać z wnętrza monitora, aby znaki wysyłane
przez RS232 (główny interfejs użytkownika) były jednocześnie wysyłane na
ekran.
Niestety, po dodaniu tego kawałka kodu monitor przestaje działać
stabilnie - wysyła echo na RS232, znaki pojawiają się też na ekranie,
ale nie ma żadnej reakcji na komendy. Po jakimś czasie wpada zresztą w
nieskończoną pętlę...
Pierwsza teoria o jakiej pomyślałem to myśl, że coś wewnątrz VDPPUTC
nadpisuje któryś z rejestrów lub którąś z flag, potrzebnych w dalszej
części kodu. Próbuję zrzucać na stos rejestr B oraz zapisywać X do
osobnej lokalizacji w pamięci (nie widzę opcji wysłania go na stos) ale
nigdzie nie widzę opcji zrobienia tego z rejestrem flag.
Następne wpisy z tego wątku
- 28.08.21 19:22 Mateusz Viste
- 29.08.21 16:40 Atlantis
- 30.08.21 09:14 Mateusz Viste
- 30.08.21 09:25 J.F
- 30.08.21 09:56 Atlantis
Najnowsze wątki z tej grupy
- Protoków komunikacyjny do urządzenia pomiarowego
- Hiszpania bez pradu
- amperomierz w plusie
- 3G-nadal działa
- Historia pewnego miernika kalibratora
- Ustym 4k Pro i wyświetlacz
- Czemu rozwaliło celę?
- Wojna w portfelu
- Jaki trojfazowy licznik tuya lub podobny?
- Problem z dekoderem adresów
- Intel się wyprzedaje: po 10latach pchnęli pakiet kontrolny Altery za 1/4 kwoty zakupu
- Korekcja perspektywy
- Wentylator zabija zasilacze LEDek?
- Re: Kompensacja mocy biernej przy 230VAC
- Totaliztyczny obowiązek naprawy maszyn i urządzeń
Najnowsze wątki
- 2025-05-06 SMSy
- 2025-05-06 Kraków => MS Dynamics 365BC/NAV Developer <=
- 2025-05-06 Warszawa => Strategic Account Manager <=
- 2025-05-06 Warszawa => Senior Frontend Developer (React + React Native) <=
- 2025-05-06 Gdynia => ML Ops Engineer <=
- 2025-05-06 Drobne umowy o dzielo z przeniesieniem praw autorskich
- 2025-05-06 wydobywanie Bitcoinów jest aktualnie zajęciem po prostu nieopłacalnym. Jak wynika z opublikowanych danych, średni koszt wygenerowania jednego Bitcoina wynosi ok. 137 tysięcy dolarów.
- 2025-05-06 Join Bitcoin Blockchain Nonce Global University
- 2025-05-06 Gdynia => ML Ops Engineer <=
- 2025-05-06 Warszawa => IT Recruiter <=
- 2025-05-06 Warszawa => Specjalista wsparcia IT - analiza techniczna sprzętu IT <
- 2025-05-06 Warszawa => Tableau UX Designer <=
- 2025-05-06 Protoków komunikacyjny do urządzenia pomiarowego
- 2025-05-06 Łódź => Mainframe (z/OS, Assembler) Developer <=
- 2025-05-06 Warszawa => Key Account Manager IT <=