Важная информация

User Tag List

Страница 1 из 2 12 ПоследняяПоследняя
Показано с 1 по 10 из 13

Тема: Прерывания IM 2

  1. #1
    Master Аватар для GM BIT
    Регистрация
    27.11.2008
    Адрес
    Красноярск
    Сообщений
    747
    Спасибо Благодарностей отдано 
    0
    Спасибо Благодарностей получено 
    1
    Поблагодарили
    1 сообщение
    Mentioned
    0 Post(s)
    Tagged
    0 Thread(s)

    По умолчанию Прерывания IM 2

    Как правильно включить, куда указывать вектор для правильной работы на всех машинах, ну и еще какие фишки, С ПРИМЕРАМИ!!!!

  2. #1
    С любовью к вам, Yandex.Direct
    Размещение рекламы на форуме способствует его дальнейшему развитию

  3. #2
    Veteran Аватар для Sinus
    Регистрация
    29.01.2005
    Адрес
    Belarus, Grodno
    Сообщений
    1,279
    Спасибо Благодарностей отдано 
    0
    Спасибо Благодарностей получено 
    1
    Поблагодарили
    1 сообщение
    Mentioned
    1 Post(s)
    Tagged
    0 Thread(s)

    По умолчанию

    вектор в верхней памяти, лучше от #8000 до #BE00, ибо на каком-то из буржуйских спектрумов (+3 чтоле) медленные и быстрые банки перепутаны.
    заполнять 257 байт какии-либо одним байтом.
    желательно чтоб адрес обработчика тоже лежал в быстрой памяти, т.е. #8000, #8181, #8282, и т.д.

    собственно и всё.
    типо:

    Код:
        di
        ld hl,#BE00
        ld de,#BE01
        ld bc,#0100
        ld (hl),#BB
        ldir
    
        ld a,#C3
        ld (#BBBB),A
        ld hl,int_handler
        ld (#BBBC),hl
    
        ld a,#BE
        ld i,a
        im 2
        ei
    
    ....
    
    int_handler
        push af,bc,de,hl,...
        ...
        pop ...,hl,de,bc,af
        ei
        ret
    зы. а с чего вдруг такой вопрос? вроде в твоих интрухах музон нормально грает
    Последний раз редактировалось Sinus; 20.01.2011 в 20:13.
    [target] [zemu] [js8x] [pouet] KAY-1024, 5''FDD, 3''FDD, HDD

  4. #3
    Moderator Аватар для BYTEMAN
    Регистрация
    11.01.2006
    Адрес
    Брест/Минск
    Сообщений
    8,394
    Записей в дневнике
    4
    Спасибо Благодарностей отдано 
    178
    Спасибо Благодарностей получено 
    115
    Поблагодарили
    57 сообщений
    Mentioned
    7 Post(s)
    Tagged
    0 Thread(s)

    По умолчанию

    Sinus, я всё никак не могу понять, почему 257, а не 256 байт надо заливать?
    С уважением, Александр.
    Scorpion ZS-256 Turbo+ GMX-2048
    SID-Blaster/ZX
    Музей ретрокомпьютеров в Минске!
    Здесь ничего нет => http://byteman.by
    И здесь тоже --->>> http://bytespace.by

  5. #4
    Veteran Аватар для Sinus
    Регистрация
    29.01.2005
    Адрес
    Belarus, Grodno
    Сообщений
    1,279
    Спасибо Благодарностей отдано 
    0
    Спасибо Благодарностей получено 
    1
    Поблагодарили
    1 сообщение
    Mentioned
    1 Post(s)
    Tagged
    0 Thread(s)

    По умолчанию

    потому что на шину данных во время прихода прерывания может прийти 255 (собственно, так и будет, если на спеке стабильная подтянутая резюками на +5V ШД).

    т.е. если I=#80, а пришло #FF, то проц будет смотреть адрес процедуры по #80FF/#8100
    [target] [zemu] [js8x] [pouet] KAY-1024, 5''FDD, 3''FDD, HDD

  6. #5
    Guru Аватар для moroz1999
    Регистрация
    17.01.2005
    Адрес
    Tallinn
    Сообщений
    2,517
    Спасибо Благодарностей отдано 
    0
    Спасибо Благодарностей получено 
    86
    Поблагодарили
    39 сообщений
    Mentioned
    1 Post(s)
    Tagged
    0 Thread(s)

    По умолчанию

    так разве байт на 8100 не будет 256-ым?
    zxart.ee - архив программ, графики и музыки ZX Spectrum.

  7. #6
    Banned
    Регистрация
    25.01.2005
    Адрес
    Miass, Chelyabinsk region
    Сообщений
    4,094
    Спасибо Благодарностей отдано 
    0
    Спасибо Благодарностей получено 
    2
    Поблагодарили
    2 сообщений
    Mentioned
    0 Post(s)
    Tagged
    0 Thread(s)

    По умолчанию

    по счету - нет. 256й байт - это FF.

  8. #7
    Guru Аватар для Дмитрий
    Регистрация
    01.01.2009
    Адрес
    Донецк, Украина
    Сообщений
    3,260
    Спасибо Благодарностей отдано 
    35
    Спасибо Благодарностей получено 
    9
    Поблагодарили
    8 сообщений
    Mentioned
    2 Post(s)
    Tagged
    0 Thread(s)

    По умолчанию

    moroz1999, будет 257-м... с #8000 по #80FF(включительно) будет 256 байт данных.

  9. #8
    Master Аватар для GM BIT
    Регистрация
    27.11.2008
    Адрес
    Красноярск
    Сообщений
    747
    Спасибо Благодарностей отдано 
    0
    Спасибо Благодарностей получено 
    1
    Поблагодарили
    1 сообщение
    Mentioned
    0 Post(s)
    Tagged
    0 Thread(s)

    По умолчанию

    Цитата Сообщение от Sinus Посмотреть сообщение
    а с чего вдруг такой вопрос?
    В последней только есть IM 2 (да и то откуда-то взято), в остальных нет. Вот и решил спросить как правильно делать

  10. #9
    Veteran Аватар для valeron
    Регистрация
    19.11.2006
    Адрес
    г.Слоним Гродненской области
    Сообщений
    1,283
    Спасибо Благодарностей отдано 
    0
    Спасибо Благодарностей получено 
    4
    Поблагодарили
    4 сообщений
    Mentioned
    0 Post(s)
    Tagged
    0 Thread(s)

    По умолчанию

    Цитата Сообщение от Sinus Посмотреть сообщение
    желательно чтоб адрес обработчика тоже лежал в быстрой памяти, т.е. #8000, #8181, #8282, и т.д.
    Хм, я наоборот обработчик в медленную память помещал, главное что бы вектор прерывания был в быструю память, таблица 257 байт в быстрой памяти, но сам обработчик в медленной. Потому что прерывание обрабатывается за время пока идет отрисовка верхнего бордюра, а в это время проц и так не тормозится. И до того как луч доходит до экрана уже все изменение произведены, курсор впечатан в новой позиции и обработка прерывания окончена. Таким образом я экономил быструю память под какие-нибудь быстрые процедуры.

  11. #10
    Veteran Аватар для Sinus
    Регистрация
    29.01.2005
    Адрес
    Belarus, Grodno
    Сообщений
    1,279
    Спасибо Благодарностей отдано 
    0
    Спасибо Благодарностей получено 
    1
    Поблагодарили
    1 сообщение
    Mentioned
    1 Post(s)
    Tagged
    0 Thread(s)

    По умолчанию

    я предпочитаю перестраховаться.
    да и как-то у меня ни разу такого не было, чтоб под код памяти на хватило вот под данные - это да.
    [target] [zemu] [js8x] [pouet] KAY-1024, 5''FDD, 3''FDD, HDD

Страница 1 из 2 12 ПоследняяПоследняя

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

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

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

Похожие темы

  1. Ответов: 1
    Последнее: 03.05.2009, 23:06
  2. IM2, вектор прерывания
    от Jukov в разделе Программирование
    Ответов: 18
    Последнее: 20.09.2006, 09:32

Метки этой темы

Ваши права

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