-
Path: news-archive.icm.edu.pl!news.icm.edu.pl!newsfeed.pionier.net.pl!3.eu.feeder.erj
e.net!feeder.erje.net!news.uzoreto.com!feeder3.usenet.farm!feeder2.usenet.farm!
feeder1.feed.usenet.farm!feed.usenet.farm!peer02.ams4!peer.am4.highwinds-media.
com!news.highwinds-media.com!newsfeed.neostrada.pl!unt-exc-01.news.neostrada.pl
!unt-spo-a-01.news.neostrada.pl!news.neostrada.pl.POSTED!not-for-mail
Subject: Re: Asembler 8080 - przerwania i zrzucanie stanu rejestrów na stos
Newsgroups: pl.misc.elektronika
References: <610cde0f$0$23915$65785112@news.neostrada.pl>
<seip04$rr9$1$Janusz@news.chmurka.net>
From: Atlantis <m...@w...pl>
Date: Fri, 6 Aug 2021 10:24:34 +0200
User-Agent: Mozilla/5.0 (X11; Linux x86_64; rv:78.0) Gecko/20100101
Thunderbird/78.12.0
MIME-Version: 1.0
In-Reply-To: <seip04$rr9$1$Janusz@news.chmurka.net>
Content-Type: text/plain; charset=utf-8
Content-Language: pl
Content-Transfer-Encoding: 8bit
Lines: 95
Message-ID: <610cf1c2$0$555$65785112@news.neostrada.pl>
Organization: Telekomunikacja Polska
NNTP-Posting-Host: 37.248.223.201
X-Trace: 1628238274 unt-rea-a-02.news.neostrada.pl 555 37.248.223.201:20547
X-Complaints-To: a...@n...neostrada.pl
X-Received-Bytes: 3428
Xref: news-archive.icm.edu.pl pl.misc.elektronika:766500
[ ukryj nagłówki ]On 06.08.2021 09:39, Janusz wrote:
> A 8080 nie ma czasami banków rejestrów jak 51?
Wydaje mi się, że nie. Pod tym względem 8080 to taki uproszczony Z80.
Posiada tylko akumulator, rejestr flag oraz pary rejestrów, które można
traktować jako rejestr szesnastobitowe rejestry do wykonywania
niektórych instrukcji, albo dwa ośmiobitowe, niezależne rejestry: BC, DE
oraz HL. Ten ostatni jest wykorzystywany przez niektóre instrukcje jaki
wskaźnik na określoną lokalizację w pamięci. No i oczywiście jest
jeszcze SP oraz wskaźnik stosu.
> Masz gdzieś błąd.
Pytanie tylko gdzie... Poza hipotezą z przerwaniami nie przychodzi mi
nic innego do głowy.
Funkcje do operacji na VRAM-ie wyglądają następująco:
;RAM ADDRES IN BC, VRAM ADDRES IN DE, DATA LENGTH IN HL
VDPRVRAM:
MOV A, E
OUT VDP_MODE
NOP
NOP
MOV A, D
OUT VDP_MODE
NOP
NOP
VDPRVRAML:
IN VDP_DATA
NOP
NOP
STAX B
INX B
DCX H
MOV A, H
ORA L
JNZ VDPRVRAML
RET
;RAM ADDRESS IN BC, VRAM ADDRES IN DE, DATA LENGTH IN HL
VDPWVRAM:
MOV A, E
OUT VDP_MODE
NOP
NOP
MOV A, D
ORI 40H
OUT VDP_MODE
NOP
NOP
VDPWVRAML:
LDAX B
OUT VDP_DATA
NOP
NOP
INX B
DCX H
MOV A, H
ORA L
JNZ VDPWVRAML
RET
;VRAM ADDRES IN DE, DATA LENGTH IN HL
VDPZEROVRAM:
MOV A, E
OUT VDP_MODE
NOP
NOP
MOV A, D
ORI 40H
OUT VDP_MODE
NOP
NOP
VDPZEROVRAML:
MVI A, 00H
OUT VDP_DATA
NOP
NOP
DCX H
MOV A, H
ORA L
JNZ VDPZEROVRAML
RET
Instrukcje NOP umieszczone testowo, docelowo raczej nie będą potrzebne.
Kod instrukcji do przewijania ekranu zamieściłem w poprzedniej
wiadomości. Zawarte w niej adresy lokalizacji w VRAM-ie oraz długości
odczytywanych/zapisywanych ciągów danych raczej są prawidłowe -
przewijanie potrafi zachowywać się prawidłowo przez całe minuty, pomimo
dużej ilości tekstu przelatującego przez ekran. Gdyby tam była pomyłka,
to błędy bardzo szybko by się nawarstwiły i obraz zacząłby się
rozjeżdżać już po pierwszym przewinięciu o linię do góry.
Następne wpisy z tego wątku
- 06.08.21 10:27 Janusz
- 06.08.21 10:30 Janusz
- 06.08.21 11:23 Atlantis
- 06.08.21 11:41 Atlantis
- 06.08.21 12:06 Atlantis
- 06.08.21 14:47 RoMan Mandziejewicz
- 06.08.21 15:00 Atlantis
- 06.08.21 15:14 Zbych
- 06.08.21 15:16 Janusz
- 07.08.21 11:25 Atlantis
- 09.08.21 10:54 J.F
Najnowsze wątki z tej grupy
- Zrobił TV OLED z TV LCD
- Zasilacz USB na ścianę.
- Gniazdo + wtyk
- Aliexpress zaczął oszukiwać na bezczelnego.
- OpenPnP
- taka skrzynka do kablowki
- e-paper
- 60 mA dużo czy spoko?
- Dziwne zachowanie magistrali adresowej w 8085
- Współczesne mierniki zniekształceń nieliniowych THD audio, produkują jakieś?
- Jaki silikon lub może klej?
- Smar do video
- Litowe baterie AA Li/FeS2 a alkaliczne
- "ogrodowa linia napowietrzna"
- jaki zasilacz laboratoryjny
Najnowsze wątki
- 2025-03-03 Pruszków => Specjalista ds. public relations <=
- 2025-03-03 Białystok => System Architect (Java background) <=
- 2025-03-03 Białystok => System Architect (background deweloperski w Java) <=
- 2025-03-03 China-Kraków => Senior PHP Symfony Developer <=
- 2025-03-03 China-Kraków => Senior PHP Symfony Developer <=
- 2025-03-03 Warszawa => Data Engineer (Tech Lead) <=
- 2025-03-03 Gliwice => Ekspert IT (obszar systemów sieciowych) <=
- 2025-03-03 Gliwice => IT Expert (Network Systems area) <=
- 2025-03-03 Mińsk Mazowiecki => Area Sales Manager OZE <=
- 2025-03-03 Warszawa => Spedytor Międzynarodowy <=
- 2025-03-03 Katowice => Regionalny Kierownik Sprzedaży (OZE) <=
- 2025-03-03 Katowice => Key Account Manager (ERP) <=
- 2025-03-02 Tusk idzie na rekord deportacji po 1989 [Będzie popyt na prawników]
- 2025-03-01 Obywatel telefonuje 112 lub 986
- 2025-03-01 detektyw (?) Rutkowski działał jako prasa