-
Data: 2021-08-06 11:41:41
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 10:15, Zbych wrote:
> Wrzuć kod tego przerwania, a przynajmniej początek i koniec.
Poniżej. Z tego co widzę w chwili obecnej i tak zachowuję na stosie
więcej niż potrzeba - trafiają tam nawet te rejestry, których w danej
procedurze nie używam - pewnie pozostałość po jakichś eksperymentach.
Nie widzę tam jednak niczego, co mogłoby powodować takie kłopoty.
Wszystkie pary rejestrów są odkładane na stos i zdejmowane z niego we
właściwej kolejności.
W chwili obecnej jedyne aktywne przerwanie to te od timera, RTC oraz
klawiatury. Wszystkie pozostałe są wyłączone na poziomie kontrolera (8259).
;Interrupt routines
UART_RX_ISR:
PUSH PSW
PUSH H
PUSH D
POP D
POP H
POP PSW
EI
RET
UART_TX_ISR:
PUSH PSW
PUSH H
PUSH D
POP D
POP H
POP PSW
EI
RET
KBD_ISR:
PUSH PSW
PUSH H
PUSH D
IN KBD_DATA
STA KBDDATA
POP D
POP H
POP PSW
EI
RET
TIMER_ISR:
PUSH PSW
PUSH H
PUSH D
LHLD SYSTICK
INX H
SHLD SYSTICK
MVI A, 00H
OUT COUNT_REG_1_8253
MVI A, 0A0H
OUT COUNT_REG_1_8253
POP D
POP H
POP PSW
EI
RET
RTC_ISR:
PUSH PSW
PUSH H
PUSH D
MVI A, 00H
OUT RTC_CTRLD_REG
LHLD RTCTICK
INX H
SHLD RTCTICK
POP D
POP H
POP PSW
EI
RET
VDP_ISR:
PUSH PSW
PUSH H
PUSH D
POP D
POP H
POP PSW
EI
RET
;Interrupt vectors
IR0_VECT:
ORG 0FFE0H
EI
RET
NOP
NOP
IR1_VECT:
EI
RET
NOP
NOP
IR2_VECT:
JMP TIMER_ISR
NOP
IR3_VECT:
JMP UART_TX_ISR
NOP
IR4_VECT:
JMP UART_RX_ISR
NOP
IR5_VECT:
JMP KBD_ISR
NOP
IR6_VECT:
JMP RTC_ISR
NOP
IR7_VECT
JMP VDP_ISR
NOP
Następne wpisy z tego wątku
- 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
- Mierniki poziomu glukozy (CGM, FGM)
- A Szwajcarzy kombinują tak: FinalSpark grows human neurons from stem cells and connects them to electrode arrays
- Kontrola nad prądem - sprawdź jak działa [apka - przyp. JMJ] eLicznik
- NETIA i hasło logowania
- Modulacja FM
- Najgorszy język programowania
- Kol. sukces po polsku: firma Szumisie sp. z o.o.
- Chińska Telefonia 6G - Chcą Nas Sterować Elektrycznie - Jak Kukiełki w Teatrze Lalek!!!
- RS-485 ale automatycznie dwukierunkowy
- Leżakujące SSD gubią po roku dane
- kolorowy e-paper
- Sterownik kotła CO praca PWM
- Jakie baterie A23 i LR44?
- OLED SSD1306 - degradacja?
- Który symulator AVR jest ,,prawilny"?
Najnowsze wątki
- 2025-12-12 Warszawa => Dynamics 365 Commerce/POS Developer <=
- 2025-12-12 Wrocław => React Developer with knowledge of C++ <=
- 2025-12-12 Białystok => Programista React ze znajomością C++ <=
- 2025-12-12 Warszawa => Microsoft Dynamics 365 Finance Consultant <=
- 2025-12-11 To już efekt Żurka czy coś jeszcze GORSZEGO?
- 2025-12-11 Policjanci w mieście Łodzi zmierzą ci prędkość z błędem mniejszym niż producent w laboratorium :-)
- 2025-12-11 Warszawa => Senior Java Developer <=
- 2025-12-11 Kolejny prezent
- 2025-12-10 hameryka
- 2025-12-10 Tak im zależy na wlasnym kraju. :-(
- 2025-12-10 Czy "hipoteka przymusowa" podpada (powinna podpadać) pod ochronę immunitetem poselskim? [Ziobro]
- 2025-12-10 Żurek po raz kolejny wykazał jaki poziom reprezentuje
- 2025-12-10 Gdańsk => Microsoft Dynamics AX/365 SCM Consultant - Service & Suppor
- 2025-12-10 Rzeszów => Konsultant ERP Microsoft Dynamics 365 Commerce <=
- 2025-12-10 Chrzanów => Spedytor Międzynarodowy (handel ładunkami/prowadzenie f




2035 rok coraz mniej realny? Europa traci tempo w wyścigu o elektromobilność