eGospodarka.pl
eGospodarka.pl poleca

eGospodarka.plGrupypl.misc.elektronikaAsembler 8080 - przerwania i zrzucanie stanu rejestrów na stosRe: Asembler 8080 - przerwania i zrzucanie stanu rejestrów na stos
  • 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

Podziel się

Poleć ten post znajomemu poleć

Wydrukuj ten post drukuj


Następne wpisy z tego wątku

Najnowsze wątki z tej grupy


Najnowsze wątki

Szukaj w grupach

Eksperci egospodarka.pl

1 1 1

Wpisz nazwę miasta, dla którego chcesz znaleźć jednostkę ZUS.

Wzory dokumentów

Bezpłatne wzory dokumentów i formularzy.
Wyszukaj i pobierz za darmo: