Перепрограммирование контроллера прерываний

Discussion in 'WASM.OS.DEVEL' started by Treant, Oct 17, 2009.

  1. Treant

    Treant Member

    Blog Posts:
    0
    Не работаю примеры перепрограммирования контроллера прерываний
    У меня обработчик таймера стоит на 21h
    Пишу:
    Мне не понятно вот это
    mov al, 0FFh
    out 21h,al
    Это маска на прерывания если 1 то запрещено а здесь все единицы... если пишу 00h та же реакция, но вот если поставить туда 00000001b срабатывает, но только 1 раз...
    Сбрасываю обработку прерываний следующим кодом:
    Не пойму где у меня ошибка, подскажите пожалуйста
     
  2. Pavia

    Pavia Well-Known Member

    Blog Posts:
    0
    Формат ICW2 следующий, это номер начального вектора прерывания. Биты 0-2 должны быть 0. При приходе прерывания. Номер линии, на которую пришло прерывание, складывается с этим числом. И выставляется на шину адреса.
     
  3. Treant

    Treant Member

    Blog Posts:
    0
    Pavia
    А как тогда записать туда 21h?
     
  4. Pavia

    Pavia Well-Known Member

    Blog Posts:
    0
    Treant
    Никак.
     
  5. Treant

    Treant Member

    Blog Posts:
    0
    Pavia
    O_o
    Только 20h можно
    Хотя там нули будут - это для него видимо 20h...
     
  6. Treant

    Treant Member

    Blog Posts:
    0
    Значит можно выставлять только те значения, то с 3мя нулями на конце то есть 20h, 30h, 40h?
    ЗЫ предыдущий пост - бред)
     
  7. Phantom_84

    Phantom_84 New Member

    Blog Posts:
    0
    20h, 28h, 30h, ...