-
Data: 2021-08-06 10:24:34
Temat: Re: Asembler 8080 - przerwania i zrzucanie stanu rejestrów na stos
Od: Atlantis <m...@w...pl> szukaj wiadomości tego autora
[ pokaż wszystkie 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
- Stare filmy o technice
- Zasilanie własnych konstrukcji przez PoE
- Jak działa domofon?
- Co oni mierzą miernikiem
- 40 lat OrCAD-a
- Multimetr z bluetooth
- Ciekawa mapka z BTS-ami
- Lampy uliczne LED z kubkiem
- Pęczniejące LiPo
- wyłącznik ścienny
- "Wybitna" inteligencja AI
- test stereo
- Bluetooth stereo
- W USA budują pierwszą komercyjną elektrownię fuzji jądrowej
- Weryfikacja myjki ultradźwiękowej
Najnowsze wątki
- 2025-10-18 UE i woda pitna do chłodzenia
- 2025-10-18 Zakrzewo => Konsultant SAP HCM <=
- 2025-10-17 "Przypadkowo wylosowany" sędzia odmówił ekstradycji Niemcom za NordStream
- 2025-10-17 Stare filmy o technice
- 2025-10-17 Warszawa => Starszy Konsultant SAP - obszar PP <=
- 2025-10-17 Warszawa => Java Full Stack Developer <=
- 2025-10-17 Warszawa => Konsultant Wiodący SAP PP <=
- 2025-10-17 Warszawa => Key Account Manager (Usługi HR) <=
- 2025-10-17 Ostrów Wielkopolski => Specjalista ds. Marketingu Online (PPC) <=
- 2025-10-17 Gdańsk => Konsultant ds. Wdrożeń ERP (moduł FK) <=
- 2025-10-17 Lublin => Programista Delphi <=
- 2025-10-16 Warszawa => Senior Algorithm Developer (Java/Kotlin) <=
- 2025-10-16 Poznań => SAP HCR Consultant <=
- 2025-10-16 Warszawa => Junior Rekruter <=
- 2025-10-15 Z podwórka Roberta:(