Партнерка на США и Канаду по недвижимости, выплаты в крипто
- 30% recurring commission
- Выплаты в USDT
- Вывод каждую неделю
- Комиссия до 5 лет за каждого referral
│11C│call 30h │ 1 ││ │
│11D│mov ax, C167h │ 1 ││ОС2 для ведущей │
│11E│call 48h │ 1 ││ │
│11F│iret │ 1 ││ │
│120│in al, AFh │ 1 ││ППОП2 │
│121│push ax │ 1 ││сохр маску │
│122│or al,b │ 1 ││ │
│123│out AFh, al │ 1 ││доп маска │
│124│sti │ 1 ││ │
│125│add ax,2 │ 1 ││ │
│126│dec ax │ 1 ││ │
│127│mov al,60h │ 1 ││ │
│128│cli │ 1 ││ │
│129│pop ax │ 1 ││восст маски │
│12A│out AFh, al │ 1 ││ │
│12B│mov ax,4 │ 1 ││ │
│12C│call 30h │ 1 ││ │
│12D│mov ax, C462h │ 1 ││ОС2 для ведущей │
│12E│call 48h │ 1 ││ │
│12F│iret │ 1 ││ │
│...│..............................│.....│........│..............................│
└───┴──────────────────────────────┴─────┴────────┴──────────────────────────────┘
2) График вложенности

Рисунок 4 – График вложенности для режима циклического сдвига по типу В
Режим последовательного опроса:
2) Листинг программы
┌───┬──────────────────────────────┬─────┬────────┬──────────────────────────────┐
│ N%│ Команда │^INTA│ IRQ7-0 │ Комментарии │
├───┼──────────────────────────────┼─────┼────────┼──────────────────────────────┤
│000│call 1Ah │ 1 ││переход к инициал │
│001│mov al,00 │ 1 ││ │
│002│out AFh, al │ 1 ││ │
│003│dec al │ 1 ││ │
│004│mov al,10 │ 1 ││ │
│005│dec al │ 1 ││ │
│006│call 30h │ 1 ││опрос │
│007│mov al,10 │ 1 ││ │
│008│dec al │ 1 ││ │
│009│call 30h │ 1 ││опрос │
│00A│dec al │ 1 ││ │
│00B│call 30h │ 1 ││опрос │
│00C│dec al │ 1 ││ │
│00D│mov al,10 │ 1 ││ │
│00E│call 30h │ 1 ││опрос │
│00F│mov al,10 │ 1 ││ │
│010│dec al │ 1 ││ │
│011│call 30h │ 1 ││опрос │
│012│dec al │ 1 ││ │
│013│mov al,10 │ 1 ││ │
│014│dec al │ 1 ││ │
│015│mov al,10 │ 1 ││ │
│016│dec al │ 1 ││ │
│017│mov al,10 │ 1 ││ │
│018│mov al,10 │ 1 ││ │
│...│..............................│.....│........│..............................│
│01A│mov al,b │ 1 ││инициализация програмный опрос│
│01B│out AEh, al │ 1 ││КС1 │
│01C│mov al,0 │ 1 ││ │
│01D│out AFh, al │ 1 ││КС2 │
│01E│mov al,b │ 1 ││ │
│01F│out AFh, al │ 1 ││КС4 │
│020│mov al,b │ 1 ││ │
│021│cli │ 1 ││запрещение прерываний │
│022│ret │ 1 ││ │
│...│..............................│.....│........│..............................│
│030│mov al,0001100b │ 1 ││ПП опроса │
│031│out AEh, al │ 1 ││ОС3 │
│032│in al, AEh │ 1 ││ │
│033│or al, al │ 1 ││ │
│034│jns 37h │ 1 ││ │
│035│and al,07h │ 1 ││ │
│036│callidt │ 1 ││переход на ППОП │
│037│ret │ 1 ││ │
│...│..............................│.....│........│..............................│
│050│pushf │ 1 ││ППОП4 │
│051│push ax │ 1 ││ │
│052│or al,b │ 1 ││ │
│053│dec ax │ 1 ││ │
│054│mov al, bl │ 1 ││ │
│055│add ax,2 │ 1 ││ │
│056│mov al,60h │ 1 ││ │
│057│mov al,20h │ 1 ││ │
│058│out AEh, al │ 1 ││ │
│059│pop ax │ 1 ││ │
│05A│popf │ 1 ││ │
│05B│retf │ 1 ││ │
│...│..............................│.....│........│..............................│
│060│pushf │ 1 ││ППОП0 │
│061│push ax │ 1 ││ │
│062│or al,b │ 1 ││ │
│063│dec ax │ 1 ││ │
│064│mov al, bl │ 1 ││ │
│065│add ax,2 │ 1 ││ │
│066│mov al,60h │ 1 ││ │
│067│mov al,20h │ 1 ││ │
│068│out AEh, al │ 1 ││ │
│069│pop ax │ 1 ││ │
│06A│popf │ 1 ││ │
│06B│retf │ 1 ││ │
│...│..............................│.....│........│..............................│
│070│pushf │ 1 ││ППОП6 │
│071│push ax │ 1 ││ │
│072│or al,b │ 1 ││ │
│073│dec ax │ 1 ││ │
│074│mov al, bl │ 1 ││ │
│075│add ax,2 │ 1 ││ │
│076│mov al,60h │ 1 ││ │
│077│mov al,20h │ 1 ││ │
│078│out AEh, al │ 1 ││ │
│079│pop ax │ 1 ││ │
│07A│popf │ 1 ││ │
│07B│retf │ 1 ││ │
│...│..............................│.....│........│..............................│
│080│pushf │ 1 ││ППОП3 │
│081│push ax │ 1 ││ │
│082│or al,b │ 1 ││ │
│083│dec ax │ 1 ││ │
│084│mov al, bl │ 1 ││ │
│085│add ax,2 │ 1 ││ │
│086│mov al,60h │ 1 ││ │
│087│mov al,20h │ 1 ││ │
│088│out AEh, al │ 1 ││ │
│089│pop ax │ 1 ││ │
│08A│popf │ 1 ││ │
│08B│retf │ 1 ││ │
│...│..............................│.....│........│..............................│
│090│pushf │ 1 ││ППОП5 │
│091│push ax │ 1 ││ │
│092│or al,b │ 1 ││ │
│093│dec ax │ 1 ││ │
│094│mov al, bl │ 1 ││ │
│095│add ax,2 │ 1 ││ │
│096│mov al,60h │ 1 ││ │
│097│mov al,20h │ 1 ││ │
│098│out AEh, al │ 1 ││ │
│099│pop ax │ 1 ││ │
│09A│popf │ 1 ││ │
│09B│retf │ 1 ││ │
│...│..............................│.....│........│..............................│
│100│pushf │ 1 ││ППОП1 │
│101│push ax │ 1 ││ │
│102│or al,b │ 1 ││ │
│103│dec ax │ 1 ││ │
│104│mov al, bl │ 1 ││ │
│105│add ax,2 │ 1 ││ │
│106│mov al,60h │ 1 ││ │
│107│mov al,20h │ 1 ││ │
│108│out AEh, al │ 1 ││ │
│109│pop ax │ 1 ││ │
│10A│popf │ 1 ││ │
│10B│retf │ 1 ││ │
│...│..............................│.....│........│..............................│
│110│pushf │ 1 ││ППОП7 │
│111│push ax │ 1 ││ │
│112│or al,b │ 1 ││ │
│113│dec ax │ 1 ││ │
│114│mov al, bl │ 1 ││ │
│115│add ax,2 │ 1 ││ │
│116│mov al,60h │ 1 ││ │
│117│mov al,20h │ 1 ││ │
│118│out AEh, al │ 1 ││ │
│119│pop ax │ 1 ││ │
│11A│popf │ 1 ││ │
│11B│retf │ 1 ││ │
│...│..............................│.....│........│..............................│
│120│pushf │ 1 ││ППОП2 │
│121│push ax │ 1 ││ │
│122│or al,b │ 1 ││ │
│123│dec ax │ 1 ││ │
│124│mov al, bl │ 1 ││ │
│125│add ax,2 │ 1 ││ │
│126│mov al,60h │ 1 ││ │
│127│mov al,20h │ 1 ││ │
│128│out AEh, al │ 1 ││ │
│129│pop ax │ 1 ││ │
│12A│popf │ 1 ││ │
│12B│retf │ 1 ││ │
│...│..............................│.....│........│..............................│
└───┴──────────────────────────────┴─────┴────────┴──────────────────────────────┘
2) График вложенности

Рисунок 5 – График вложенности для режима последовательного опроса
Теоретическая часть:
1. Функциональная схема каскадного включения БИС ПКП ВН59А для микропроцессора К1810ВМ86.

2. Программы инициализации ведущей и ведомой БИС.
- ведущая (режим фиксированных приоритетов без вложенности, порт AEh, ведомая на IRQ 1 и 6, маска на 5 )
┌───┬──────────────────────────────┬─────┬────────┬──────────────────────────────┐
│ N%│ Команда │^INTA│ IRQ7-0 │ Комментарии │
├───┼──────────────────────────────┼─────┼────────┼──────────────────────────────┤
│020│mov al,b │ 1 ││каскад, ICW4 │
│021│out AEh, al │ 1 ││загрузка ICW1 │
│022│mov al,b │ 1 ││адрес IDT 00h │
│023│out AFh, al │ 1 ││загрузка ICW2 │
│024│mov al,b │ 1 ││ведомая на 6, 1 │
│025│out AFh, al │ 1 ││загрузка ICW3 │
│026│mov al,b │ 1 ││i8086, ведущая │
│027│out AFh, al │ 1 ││загрузка ICW4 │
│028│mov al,b │ 1 ││маска 5 │
│029│out AFh, al │ 1 ││загрузка OCW1 │
└───┴──────────────────────────────┴─────┴────────┴──────────────────────────────┘
- ведомая (IRQ ведущего – 6, режим бесприоритетная обработка аппаратная, порт ВСh)
┌───┬──────────────────────────────┬─────┬────────┬──────────────────────────────┐
│ N%│ Команда │^INTA│ IRQ7-0 │ Комментарии │
├───┼──────────────────────────────┼─────┼────────┼──────────────────────────────┤
│030│mov al,b │ 1 ││каскад, ICW4 │
│031│out BСh, al │ 1 ││загрузка ICW1 │
│032│mov al,b │ 1 ││адрес IDT 30h │
│033│out BDh, al │ 1 ││загрузка ICW2 │
│034│mov al,b │ 1 ││ведомая на 6 │
│035│out BDh, al │ 1 ││загрузка ICW3 │
│036│mov al,b │ 1 ││i8086, ведомая │
│037│out BDh, al │ 1 ││загрузка ICW4 │
│038│mov al,b │ 1 ││спецмаскирование, чтение ISR │
│039│out BCh, al │ 1 ││загрузка OCW3 │
│03А│ret │ 1 ││ │
└───┴──────────────────────────────┴─────┴────────┴──────────────────────────────┘
3. ППОП ведущей и ведомой БИС.
- ППОП 7,5-3,0 ведущей (режим фиксированных приоритетов без вложенности, порт AEh, ведомая на IRQ 1 и 6)
┌───┬──────────────────────────────┬─────┬────────┬──────────────────────────────┐
│ N%│ Команда │^INTA│ IRQ7-0 │ Комментарии │
├───┼──────────────────────────────┼─────┼────────┼──────────────────────────────┤
│040│cli │ 1 ││запрещение прерываний │
│041│push ax │ 1 ││сохранение регистров │
│044│mov al,10h │ 1 ││обработчик │
│045│dec al │ 1 ││обработчик │
│046│inс al │ 1 ││обработчик │
│047│mov al,5 │ 1 ││обработчик │
│048│inс al │ 1 ││обработчик │
│049│mov al,b │ 1 ││сброс старшего бита │
│04A│out АЕh, al │ 1 ││загрузка OCW2 │
│04В│pop ax │ 1 ││восстановление регистров │
│04С│iret │ 1 ││возврат из ППоП │
└───┴──────────────────────────────┴─────┴────────┴──────────────────────────────┘
- ППОП 7-0 ведомой (режим бесприоритетная обработка апппаратного, IRQ ведущего – 6, порт BСh)
┌───┬──────────────────────────────┬─────┬────────┬──────────────────────────────┐
│ N%│ Команда │^INTA│ IRQ7-0 │ Комментарии │
├───┼──────────────────────────────┼─────┼────────┼──────────────────────────────┤
│140│push ax │ 1 ││сохранение AХ │
│141│sti │ 1 ││разрешение прерываний │
│142│mov al,10h │ 1 ││обработчик │
│143│dec al │ 1 ││обработчик │
│144│inс al │ 1 ││обработчик │
│145│mov al,5 │ 1 ││обработчик │
│146│inс al │ 1 ││обработчик │
│147│cli │ 1 ││запрещение прерываний │
│148│mov al,01100L1L2L3b │ 1 ││сброс бита L1L2L3 │
│149│out BСh, al │ 1 ││загрузка OCW2 ведомой │
│14А│in al, BСh │ 1 ││чтение ISR ведомой │
│14В│or al, al │ 1 ││ISR ведомой = 0 │
│14С│jnz 14Fh │ 1 ││если нет, то выход │
│14D│mov al,b │ 1 ││иначе сброс старшего бита вед │
│14E│out АЕh, al │ 1 ││загрузка OСW2 ведущей │
│14F│pop ax │ 1 ││восстановление AХ │
│150│iret │ 1 ││возврат из ППоП │
└───┴──────────────────────────────┴─────┴────────┴──────────────────────────────┘
Вывод:
В зависимости от времени поступления запросов и их приоритетов, обработка для режимов происходит следующим образом:
- фиксированные приоритеты – при поступлении запросов всегда обслуживается запрос с большим приоритетом. Приоритеты входов запросов остаются неизменными. Во время обслуживания запроса (то есть выполнения его ППОП), при поступлении запроса с более высоким приоритетом ПКП прерывает текущую ППОП и переходит к ППОП с большим приоритетом;
- специальное маскирование – любой запрос поступает на обработку, за исключением случаев, когда запрос с данным приоритетом уже находится на обработке (кроме режима разрешения приоритета ведомого для IRQ ведомых, когда в ведущей БИС разрешены многократные прерывания от одной ведомой);
- сдвиг типа А – запросы поступают на обработку только в случае, если относительно дна приоритетного кольца нет запросов и прерываний на обработке с большим или равным(за исключением режима разрешения приоритета ведомого) приоритетами. При завершении обработки прерывания происходит сброс ISR-бита с наивысшим приоритетом и присвоение ему низшего приоритета;
- сдвиг типа В – аналогично режиму сдвиг типа А, только низший приоритет присваивается входу IRQ, указанному программистом в команде;
- программный опрос – используется для определения источника прерывания непосредственно программистом путем последовательного опроса источников запросов на прерывание. Приоритеты запросов сохраняются.
Так же следует выделить некоторые моменты работы ПКП:
1. Возможна организация обработки вложенных прерываний при помощи команды STI и обработка прерываний без вложенности при использовании команды CLI;
2. При организации режима сдвиг типа B возможна некорректная работа ПКП, то есть сброс ISR-бита не того входа (это происходит из-за сдвига приоритетного кольца и вложенности прерываний). Для решения проблемы необходимо отдельно выполнять операции сброса бита регистра ISR и сдвига приоритетов.
3. При каскадном включении БИС ПКП в случае обработки прерывания в ведомой БИС следует сбрасывать бит регистра ISR ведущей БИС только при равенстве нулю всех битов регистра ISR ведомой;
|
Из за большого объема этот материал размещен на нескольких страницах:
1 2 3 |


