User Tag List

Показано с 1 по 10 из 14

Тема: Z80 PIO не генерирует прерывание

Древовидный режим

Предыдущее сообщение Предыдущее сообщение   Следующее сообщение Следующее сообщение
  1. #4

    Регистрация
    16.02.2006
    Адрес
    Новосибирск
    Сообщений
    3,280
    Спасибо Благодарностей отдано 
    17
    Спасибо Благодарностей получено 
    91
    Поблагодарили
    54 сообщений
    Mentioned
    2 Post(s)
    Tagged
    0 Thread(s)

    По умолчанию

    Цитата Сообщение от Serg6845 Посмотреть сообщение
    берет по этому адресу 16-битный адрес перехода
    там немного не так. мы привыкли, что на Спектруме, когда задаём таблицу векторов для im2, то мы задаём как правило только старшую часть адреса. Для Z80PIO, когда мы указываем контроллеру адрес вектора для прерываний, мы указываем младшую часть. Таким образом, для примера, мы установили вектор на адрес #a000 (условно, конечно, адрес будет выглядеть как #a0a0), а для PIO адрес #10, то при приходе прерываний будет обращение по адресу #a010. Проц возьмёт от туда 2 байта и выполнит туда jp.в итоге может быть так, что экранные прерывания прилетают на im2 вектор, который мы указали процу, а прерывания от PIO прилетают по другому вектору, но в диапазоне 256.
    т.е. в данном примере:
    im 2 ; cpu interrupt mode 2 (vectored)
    ld a, 0h
    ld i, a

    ld a, 0fh ; output
    out (CNTRLA), a
    ld a, 4fh ; input
    out (CNTRLB), a

    ld a, 28h ; vector address
    out (CNTRLB), a
    будет вектор по адресу #0028, что в примере и указано, но в примере по этому адресу должны лежать 2 байта, что то вроде
    .org 28h
    dw procedure_addr
    проц берёт этот адрес и делает jp
    Последний раз редактировалось Sayman; 16.08.2021 в 12:40.
    0A заповедей:
    I. Не удаляй каталог свой.
    II. Не удаляй до времени ни одного файла.
    III. Не кради файлы.
    IV. Не желай программы ближнего своего.
    V. Почитай BDOS и BIOS как родителей своих ...
    ---
    Sprinter resurrect:
    Telegram
    Discord
    Repo
    Forum

Информация о теме

Пользователи, просматривающие эту тему

Эту тему просматривают: 1 (пользователей: 0 , гостей: 1)

Похожие темы

  1. z80-ftpclient
    от asve79 в разделе Софт
    Ответов: 3
    Последнее: 28.02.2019, 08:13
  2. Аппаратное прерывание в КР580ВМ80А
    от DenSam в разделе Разное
    Ответов: 1
    Последнее: 17.02.2017, 21:56
  3. Особенности программирования Z80 PIO
    от dk_spb в разделе Для начинающих
    Ответов: 2
    Последнее: 07.05.2014, 21:36
  4. Справочник Z80
    от goblinish в разделе Программирование
    Ответов: 8
    Последнее: 26.08.2012, 17:52
  5. Вопрос про прерывание LDIRа
    от ZEK в разделе Программирование
    Ответов: 2
    Последнее: 02.07.2006, 19:02

Ваши права

  • Вы не можете создавать новые темы
  • Вы не можете отвечать в темах
  • Вы не можете прикреплять вложения
  • Вы не можете редактировать свои сообщения
  •