Добавил:
ivanov666
Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз:
Предмет:
Файл:Системное программирование. Учебное пособие-1
.pdf
Ɍ ɚ ɛ ɥ ɢ ɰ ɚ 1.2
Ɋɟɝɢɫɬɪɵ ɮɥɚɝɨɜ FLAGS / EFLAGS/ RFLAGS
Ȼɢɬ ɂɦɹ ɇɚɡɧɚɱɟɧɢɟ
Ɋɟɝɢɫɬɪ FLAGS / EFLAGS/ RFLAGS
0 CF Ɏɥɚɝ ɩɟɪɟɧɨɫɚ (Carry Flag)
1 1 Ɋɟɡɟɪɜ
2 PF Ɏɥɚɝ ɱɺɬɧɨɫɬɢ (Parity Flag)
3 0 Ɋɟɡɟɪɜ
4 AF ȼɫɩɨɦɨɝɚɬɟɥɶɧɵɣ ɮɥɚɝ ɩɟɪɟɧɨɫɚ (Auxiliary Carry Flag)
5 0 Ɋɟɡɟɪɜ
6 ZF Ɏɥɚɝ ɧɭɥɹ (Zero Flag)
7 SF Ɏɥɚɝ ɡɧɚɤɚ (Sign Flag)
8 TF Ɏɥɚɝ ɬɪɚɫɫɢɪɨɜɤɢ (Trap Flag)
9 IF Ɏɥɚɝ ɪɚɡɪɟɲɟɧɢɹ ɩɪɟɪɵɜɚɧɢɣ (Interrupt Enable Flag)
10 DF Ɏɥɚɝ ɧɚɩɪɚɜɥɟɧɢɹ (Direction Flag)
11 OF Ɏɥɚɝ ɩɟɪɟɩɨɥɧɟɧɢɹ (Overflow Flag)
12
13
IOPL ɉɨɥɟ ɩɪɢɨɪɢɬɟɬɚ ɜɜɨɞɚ-ɜɵɜɨɞɚ (I/O Privilege Level)
14 NT Ɏɥɚɝ ɜɥɨɠɟɧɧɨɫɬɢ ɡɚɞɚɱ (Nested Task)
15 0 Ɋɟɡɟɪɜ
Ɋɟɝɢɫɬɪ EFLAGS / RFLAGS
16 RF Ɏɥɚɝ ɜɨɡɨɛɧɨɜɥɟɧɢɹ (Resume Flag)
17 VM Ɋɟɠɢɦ ɜɢɪɬɭɚɥɶɧɨɝɨ ɩɪɨɰɟɫɫɨɪɚ 8086
18 AC ɉɪɨɜɟɪɤɚ ɜɵɪɚɜɧɢɜɚɧɢɹ (Alignment Check)
19 VIF ȼɢɪɬɭɚɥɶɧɨɟ ɩɪɟɪɵɜɚɧɢɟ (Virtual Interrupt Flag)
20 VIP
Ɉɠɢɞɚɸɳɟɟ ɜɢɪɬɭɚɥɶɧɨɟ ɩɪɟɪɵɜɚɧɢɟ
(Virtual Interrupt Pending)
21 ID Ɏɥɚɝ ɢɞɟɧɬɢɮɢɤɚɰɢɢ (ID Flag)
22–31 Ɋɟɡɟɪɜ
Ɋɟɝɢɫɬɪ RFLAGS
32–63 Ɋɟɡɟɪɜ
Ʉɚɤ ɜɢɞɧɨ ɢɡ ɬɚɛɥɢɰɵ 1.2, ɦɥɚɞɲɢɟ ɛɢɬɵ ɪɟɝɢɫɬɪɨɜ FLAGS / EFLAGS/
RFLAGS ɢɦɟɸɬ ɨɞɢɧɚɤɨɜɨɟ ɧɚɡɧɚɱɟɧɢɟ, ɜ ɪɟɝɢɫɬɪ EFLAGS ɞɨɛɚɜɥɟɧɵ 6 ɮɥɚ-
ɝɨɜ, ɚ ɞɨɩɨɥɧɢɬɟɥɶɧɵɟ ɫɬɚɪɲɢɟ 32 ɛɢɬɚ ɪɟɝɢɫɬɪɚ RFLAGS ɡɚɪɟɡɟɪɜɢɪɨɜɚɧɵ ɞɥɹ
ɛɭɞɭɳɟɝɨ ɢɫɩɨɥɶɡɨɜɚɧɢɹ.
Ɋɚɫɫɦɨɬɪɢɦ ɞɨɫɬɭɩɧɵɟ ɩɪɨɝɪɚɦɦɧɨ ɛɢɬɵ ɪɟɝɢɫɬɪɚ ɮɥɚɝɨɜ ɩɨɞɪɨɛɧɟɟ.
11

Ɏɥɚɝɢ ɫɨɫɬɨɹɧɢɹ CF, PF, AF, ZF, SF ɢ OF (ɛɢɬɵ 0, 2, 4, 6, 7 ɢ 11) ɢɫɩɨɥɶ-
ɡɭɸɬɫɹ ɞɥɹ ɢɞɟɧɬɢɮɢɤɚɰɢɢ ɪɟɡɭɥɶɬɚɬɨɜ ɜɵɩɨɥɧɟɧɢɹ ɰɟɥɨɱɢɫɥɟɧɧɵɯ ɚɪɢɮɦɟɬɢɱɟɫɤɢɯ ɨɩɟɪɚɰɢɣ:
ɮɥɚɝ ɩɟɪɟɧɨɫɚ CF ɭɫɬɚɧɚɜɥɢɜɚɟɬɫɹ (ɬ. ɟ. ɜ ɫɨɨɬɜɟɬɫɬɜɭɸɳɢɣ ɛɢɬ ɡɚɩɢ-
ɫɵɜɚɟɬɫɹ ɥɨɝɢɱɟɫɤɚɹ ɟɞɢɧɢɰɚ), ɟɫɥɢ ɜ ɪɟɡɭɥɶɬɚɬɟ ɚɪɢɮɦɟɬɢɱɟɫɤɨɣ ɨɩɟɪɚɰɢɢ
ɜɨɡɧɢɤ ɩɟɪɟɧɨɫ ɢɥɢ ɡɚɟɦ, ɢ, ɬɚɤɢɦ ɨɛɪɚɡɨɦ, ɩɨɤɚɡɵɜɚɟɬ ɩɟɪɟɩɨɥɧɟɧɢɟ ɩɪɢ ɜɵɩɨɥɧɟɧɢɢ
ɚɪɢɮɦɟɬɢɱɟɫɤɢɯ ɨɩɟɪɚɰɢɣ. Ɏɥɚɝ CF ɱɚɫɬɨ ɢɫɩɨɥɶɡɭɸɬ ɩɪɢ ɨɪɝɚɧɢɡɚɰɢɢ ɜɟɬɜɥɟɧɢɹ ɜ ɩɪɨɝɪɚɦɦɚɯ, ɨɫɭɳɟɫɬɜɥɹɹ ɩɟɪɟɞɚɱɭ ɭɩɪɚɜɥɟɧɢɹ ɜ ɡɚɜɢɫɢɦɨɫɬɢ ɨɬ ɟɝɨ ɡɧɚɱɟɧɢɹ;
ɮɥɚɝ ɱɺɬɧɨɫɬɢ PF ɭɫɬɚɧɚɜɥɢɜɚɟɬɫɹ, ɟɫɥɢ ɦɥɚɞɲɢɣ ɛɚɣɬ ɪɟɡɭɥɶɬɚɬɚ ɫɨ-
ɞɟɪɠɢɬ ɱɺɬɧɨɟ ɱɢɫɥɨ ɛɢɬ, ɜ ɩɪɨɬɢɜɧɨɦ ɫɥɭɱɚɟ – ɫɛɪɚɫɵɜɚɟɬɫɹ (ɜ ɫɨɨɬɜɟɬɫɬɜɭɸɳɢɣ ɛɢɬ ɡɚɩɢɫɵɜɚɟɬɫɹ ɥɨɝɢɱɟɫɤɢɣ 0). ɗɬɨɬ ɮɥɚɝ ɱɚɫɬɨ ɢɫɩɨɥɶɡɭɟɬɫɹ ɩɪɢ ɩɪɨɝɪɚɦɦɢɪɨɜɚɧɢɢ ɩɟɪɟɞɚɱɢ ɞɚɧɧɵɯ ɱɟɪɟɡ ɩɨɪɬɵ ɜɜɨɞɚ-ɜɵɜɨɞɚ;
ɜɫɩɨɦɨɝɚɬɟɥɶɧɵɣ ɮɥɚɝ ɩɟɪɟɧɨɫɚ AF ɭɫɬɚɧɚɜɥɢɜɚɟɬɫɹ, ɟɫɥɢ ɚɪɢɮ-
ɦɟɬɢɱɟɫɤɚɹ ɨɩɟɪɚɰɢɹ ɩɪɨɢɡɜɨɞɢɬ ɩɟɪɟɧɨɫ ɢɡ 3-ɝɨ ɛɢɬɚ ɜ 4-ɣ ɛɢɬ ɜ ɪɟɡɭɥɶɬɚɬɟ
ɫɥɨɠɟɧɢɹ, ɢɥɢ ɩɪɢ ɡɚɟɦɟ ɢɡ 4-ɝɨ ɛɢɬɚ ɜ 3-ɣ ɜ ɪɟɡɭɥɶɬɚɬɟ ɜɵɱɢɬɚɧɢɹ, ɜ ɨɫɬɚɥɶɧɵɯ
ɫɥɭɱɚɹɯ ɫɛɪɚɫɵɜɚɟɬɫɹ. ɗɬɨɬ ɮɥɚɝ ɢɫɩɨɥɶɡɭɟɬɫɹ ɜɦɟɫɬɟ ɫ ɤɨɦɚɧɞɚɦɢ, ɪɚɛɨɬɚɸɳɢɦɢ
ɫ ɞɜɨɢɱɧɨ-ɞɟɫɹɬɢɱɧɵɦɢ (BCD) ɱɢɫɥɚɦɢ;
ɮɥɚɝ ɧɭɥɹ ZF ɭɫɬɚɧɚɜɥɢɜɚɟɬɫɹ, ɟɫɥɢ ɪɟɡɭɥɶɬɚɬ ɨɩɟɪɚɰɢɢ ɪɚɜɟɧ ɧɭɥɸ, ɜ
ɩɪɨɬɢɜɧɨɦ ɫɥɭɱɚɟ – ɫɛɪɚɫɵɜɚɟɬɫɹ;
ɮɥɚɝ ɡɧɚɤɚ SF ɪɚɜɟɧ ɡɧɚɱɟɧɢɸ ɫɬɚɪɲɟɝɨ ɛɢɬɚ ɪɟɡɭɥɶɬɚɬɚ, ɹɜɥɹɟɬɫɹ ɡɧɚ-
ɤɨɜɵɦ ɜ ɚɪɢɮɦɟɬɢɱɟɫɤɢɯ ɨɩɟɪɚɰɢɹɯ (0 – ɱɢɫɥɨ ɩɨɥɨɠɢɬɟɥɶɧɨɟ, 1 – ɨɬɪɢɰɚɬɟɥɶɧɨɟ);
ɮɥɚɝ ɩɟɪɟɩɨɥɧɟɧɢɹ OF ɭɫɬɚɧɚɜɥɢɜɚɟɬɫɹ, ɟɫɥɢ ɜɨɡɧɢɤɥɨ ɩɟɪɟɩɨɥɧɟɧɢɟ ɜ
ɚɪɢɮɦɟɬɢɱɟɫɤɨɣ ɨɩɟɪɚɰɢɢ ɫ ɱɢɫɥɚɦɢ ɫɨ ɡɧɚɤɨɦ.
ɋɢɫɬɟɦɧɵɟ ɮɥɚɝɢ ɢ ɩɨɥɟ IOPL ɭɩɪɚɜɥɹɸɬ ɨɩɟɪɚɰɢɨɧɧɨɣ ɫɪɟɞɨɣ ɢ ɧɟ
ɞɨɥɠɧɵ ɢɫɩɨɥɶɡɨɜɚɬɶɫɹ ɜ ɩɪɢɤɥɚɞɧɵɯ ɩɪɨɝɪɚɦɦɚɯ:
ɮɥɚɝ ɪɚɡɪɟɲɟɧɢɹ ɩɪɟɪɵɜɚɧɢɣ IF ɪɚɡɪɟɲɚɟɬ ɢɥɢ ɡɚɩɪɟɳɚɟɬ ɪɟɚɤɰɢɸ
ɦɢɤɪɨɩɪɨɰɟɫɫɨɪɚ ɧɚ ɚɩɩɚɪɚɬɧɵɟ ɩɪɟɪɵɜɚɧɢɹ. ȿɫɥɢ ɨɧ ɭɫɬɚɧɨɜɥɟɧ, ɬɨ ɦɢɤɪɨɩɪɨɰɟɫɫɨɪ ɪɟɚɝɢɪɭɟɬ ɧɚ ɩɪɟɪɵɜɚɧɢɹ, ɟɫɥɢ ɫɛɪɨɲɟɧ – ɧɟ ɪɟɚɝɢɪɭɟɬ ɧɚ ɧɢɯ (ɨɞɧɚɤɨ ɧɟ ɢɝɧɨɪɢɪɭɟɬ);
ɮɥɚɝ ɬɪɚɫɫɢɪɨɜɤɢ TF ɭɫɬɚɧɚɜɥɢɜɚɸɬ
, ɱɬɨɛɵ ɩɪɨɰɟɫɫɨɪ ɜɵɩɨɥɧɹɥ ɩɪɨ-
ɝɪɚɦɦɭ ɩɨ ɨɞɧɨɣ ɤɨɦɚɧɞɟ ɫ ɨɫɬɚɧɨɜɨɦ ɩɨɫɥɟ ɤɚɠɞɨɣ ɤɨɦɚɧɞɟ (ɪɟɠɢɦ ɨɬɥɚɞɤɢ).
ȿɫɥɢ ɨɧ ɫɛɪɨɲɟɧ – ɩɪɨɝɪɚɦɦɚ ɜɵɩɨɥɧɹɟɬɫɹ ɨɛɵɱɧɵɦ ɨɛɪɚɡɨɦ;
ɩɨɥɟ ɩɪɢɨɪɢɬɟɬɚ ɜɜɨɞɚ/ɜɵɜɨɞɚ IOPL (2 ɛɢɬɚ) ɫɨɞɟɪɠɢɬ ɭɪɨɜɟɧɶ ɩɪɢɜɢ-
ɥɟɝɢɣ ɞɥɹ ɨɩɟɪɚɰɢɣ ɜɜɨɞɚ/ɜɵɜɨɞɚ ɞɥɹ ɬɟɤɭɳɟɣ ɡɚɞɚɱɢ;
ɮɥɚɝ ɜɥɨɠɟɧɧɨɫɬɢ ɡɚɞɚɱ NT ɭɫɬɚɧɚɜɥɢɜɚɟɬɫɹ ɩɪɨɰɟɫɫɨɪɨɦ, ɩɪɢ ɩɟɪɟɯɨɞɟ
ɨɬ ɨɞɧɨɣ
ɡɚɞɚɱɢ ɤ ɞɪɭɝɨɣ ɤɨɦɚɧɞɨɣ CALL ɢɥɢ ɚɩɩɚɪɚɬɧɵɦ ɩɪɟɪɵɜɚɧɢɟɦ, ɢ ɩɨɤɚɡɵɜɚɟɬ, ɛɵɥɚ ɥɢ ɬɟɤɭɳɚɹ ɡɚɞɚɱɚ ɜɵɡɜɚɧɚ ɢɡ ɩɪɟɞɵɞɭɳɟɣ (ɮɥɚɝ NT = 1), ɢɥɢ
ɧɟɬ (NT = 0);
ɮɥɚɝ ɜɨɡɨɛɧɨɜɥɟɧɢɹ RF ɨɬɤɥɸɱɚɟɬ ɨɛɪɚɛɨɬɤɭ ɨɫɨɛɵɯ ɫɢɬɭɚɰɢɣ ɨɬɥɚɞɤɢ,
ɱɬɨɛɵ ɜɵɡɜɚɜɲɚɹ ɨɫɨɛɭɸ ɫɢɬɭɚɰɢɸ ɤɨɦɚɧɞɚ ɦɨɝɥɚ ɛɵɬɶ ɩɟɪɟɡɚɩɭɳɟɧɚ ɢ ɧɟ ɜɵɡɵɜɚɥɚ ɧɨɜɭɸ ɨɫɨɛɭɸ ɫɢɬɭɚɰɢɸ;
12

ɮɥɚɝ ɪɟɠɢɦɚ ɜɢɪɬɭɚɥɶɧɨɝɨ ɩɪɨɰɟɫɫɨɪɚ 8086 VM ɭɫɬɚɧɚɜɥɢɜɚɟɬɫɹ, ɟɫɥɢ
ɩɪɨɰɟɫɫɨɪ ɩɟɪɟɜɨɞɢɬɫɹ ɜ ɪɟɠɢɦ ɜɢɪɬɭɚɥɶɧɨɝɨ 8086, ɚ ɫɛɪɚɫɵɜɚɟɬɫɹ ɞɥɹ ɜɨɡɜɪɚɬɚ ɜ ɡɚɳɢɳɟɧɧɵɣ ɪɟɠɢɦ;
ɮɥɚɝ ɩɪɨɜɟɪɤɢ ɜɵɪɚɜɧɢɜɚɧɢɹ AC. ɍɫɬɚɧɨɜɤɚ ɷɬɨɝɨ ɮɥɚɝɚ ɜɦɟɫɬɟ ɫ ɛɢɬɨɦ
AM ɜ ɪɟɝɢɫɬɪɟ CR0 ɡɚɫɬɚɜɥɹɸɬ ɩɪɨɰɟɫɫɨɪ ɩɪɨɜɟɪɹɬɶ ɜɵɪɚɜɧɢɜɚɧɢɟ ɩɪɢ ɞɨɫɬɭɩɟ
ɤ ɩɚɦɹɬɢ;
ɮɥɚɝ ɜɢɪɬɭɚɥɶɧɨɝɨ ɩɪɟɪɵɜɚɧɢɹ VIF ɹɜɥɹɟɬɫɹ ɜɢɪɬɭɚɥɶɧɵɦ ɨɛɪɚɡɨɦ
IF ɢ ɢɫɩɨɥɶɡɭɟɬɫɹ ɫɨɜɦɟɫɬɧɨ ɫ ɮɥɚɝɨɦ VIP ɩɪɢ ɜɤɥɸɱɺɧɧɨɦ ɪɚɫɲɢɪɟ-
ɮɥɚɝɚ
ɧɢɢ ɪɟɠɢɦɚ ɜɢɪɬɭɚɥɶɧɨɝɨ 8086;
ɮɥɚɝ ɨɠɢɞɚɧɢɹ ɜɢɪɬɭɚɥɶɧɨɝɨ ɩɪɟɪɵɜɚɧɢɹ VIP ɩɨɡɜɨɥɹɟɬ ɨɬɫɥɟɠɢɜɚɬɶ
ɜɢɪɬɭɚɥɶɧɵɟ ɩɪɟɪɵɜɚɧɢɹ. ɗɬɨɬ ɮɥɚɝ ɨɛɵɱɧɨ ɢɫɩɨɥɶɡɭɟɬɫɹ ɫɨɜɦɟɫɬɧɨ ɫ ɮɥɚɝɨɦ
VIF;
ɮɥɚɝ ɢɞɟɧɬɢɮɢɤɚɰɢɢ ID ɢɫɩɨɥɶɡɭɟɬɫɹ ɞɥɹ ɩɪɨɜɟɪɤɢ ɩɨɞɞɟɪɠɤɢ ɩɪɨɰɟɫ-
ɫɨɪɨɦ ɤɨɦɚɧɞɵ CPUID (ɩɨɥɭɱɟɧɢɟ ɢɧɮɨɪɦɚɰɢɢ ɨ ɩɪɨɰɟɫɫɨɪɟ). ȼɨɡɦɨɠɧɨɫɬɶ
ɭɫɬɚɧɨɜɤɢ ɢ ɫɛɪɨɫɚ ɷɬɨɝɨ
ɮɥɚɝɚ ɩɪɨɝɪɚɦɦɧɨ ɨɡɧɚɱɚɟɬ, ɱɬɨ ɤɨɦɚɧɞɚ ɞɚɧɧɵɦ
ɩɪɨɰɟɫɫɨɪɨɦ ɩɨɞɞɟɪɠɢɜɚɟɬɫɹ.
Ⱦɢɫɤɨɜɚɹ ɩɚɦɹɬɶ. ɗɬɨɬ ɜɢɞ ɩɚɦɹɬɢ ɩɪɟɞɧɚɡɧɚɱɟɧ ɞɥɹ ɞɨɥɝɨɜɪɟɦɟɧɧɨɝɨ
ɯɪɚɧɟɧɢɹ ɢɧɮɨɪɦɚɰɢɢ ɜ ɜɢɞɟ ɮɚɣɥɨɜ, ɤɨɬɨɪɵɟ ɦɨɝɭɬ ɛɵɬɶ ɢɫɩɨɥɧɹɟɦɵɦɢ
ɩɪɨɝɪɚɦɦɧɵɦɢ ɦɨɞɭɥɹɦɢ, ɫɨɞɟɪɠɚɬɶ ɤɚɤɢɟ-ɥɢɛɨ ɞɚɧɧɵɟ (ɱɢɫɥɨɜɵɟ, ɬɟɤɫɬɨɜɵɟ, ɝɪɚɮɢɱɟɫɤɢɟ ɢ ɞɪ.). ɋɩɨɫɨɛ ɪɚɡɦɟɳɟɧɢɹ ɮɚɣɥɨɜ ɧɚ ɞɢɫɤɟ ɢ ɜɨɡɦɨɠɧɨɫɬɢ
ɦɚɧɢɩɭɥɹɰɢɣ ɫ ɮɚɣɥɚɦɢ ɨɩɪɟɞɟɥɹɸɬɫɹ ɮɚɣɥɨɜɨɣ ɫɢɫɬɟɦɨɣ. Ʉɚɠɞɵɣ
ɮɚɣɥ
ɢɦɟɟɬ ɧɚɛɨɪ ɚɬɪɢɛɭɬɨɜ, ɫɨɫɬɚɜ ɤɨɬɨɪɨɝɨ ɡɚɜɢɫɢɬ ɨɬ ɢɫɩɨɥɶɡɭɟɦɨɣ ɮɚɣɥɨɜɨɣ
ɫɢɫɬɟɦɵ.
Ⱦɥɹ ɤɚɠɞɨɣ ɨɩɟɪɚɰɢɨɧɧɨɣ ɫɢɫɬɟɦɵ ɯɚɪɚɤɬɟɪɧɵ ɫɜɨɢ ɮɚɣɥɨɜɵɟ ɫɢɫɬɟɦɵ
(ɨɞɧɚ ɢɥɢ ɧɟɫɤɨɥɶɤɨ), ɤɨɬɨɪɵɟ ɨɧɚ ɩɨɞɞɟɪɠɢɜɚɟɬ.
Ⱥɞɚɩɬɟɪɵ ɢ ɤɨɧɬɪɨɥɥɟɪɵ. Ⱥɞɚɩɬɟɪ ɹɜɥɹɟɬɫɹ ɚɩɩɚɪɚɬɧɵɦ ɫɪɟɞɫɬɜɨɦ ɫɨ-
ɩɪɹɠɟɧɢɹ ɭɫɬɪɨɣɫɬɜɚ ɫ ɲɢɧɚɦɢ ɢɥɢ ɢɧɬɟɪɮɟɣɫɚɦɢ ɤɨɦɩɶɸɬɟɪɚ.
Ʉɨɧɬɪɨɥɥɟɪ ɜɵɩɨɥɧɹɟɬ ɬɚɤɠɟ ɮɭɧɤɰɢɢ ɫɨɩɪɹɠɟɧɢɹ, ɧɨ ɩɪɢ ɷɬɨɦ ɨɧ ɦɨɠɟɬ
ɜɵɩɨɥɧɹɬɶ ɢ ɫɚɦɨɫɬɨɹɬɟɥɶɧɵɟ ɞɟɣɫɬɜɢɹ ɩɨɫɥɟ ɩɨɥɭɱɟɧɢɹ ɤɨɦɚɧɞ ɨɬ ɨɛɫɥɭɠɢɜɚɸɳɟɣ ɟɝɨ ɩɪɨɝɪɚɦɦɵ. ɋɥɨɠɧɵɣ ɤɨɧɬɪɨɥɥɟɪ ɦɨɠɟɬ ɢɦɟɬɶ ɜ ɫɜɨɟɦ ɫɨɫɬɚɜɟ
ɫɨɛɫɬɜɟɧɧɵɣ ɩɪɨɰɟɫɫɨɪ.
ɑɚɫɬɶ ɩɟɪɢɮɟɪɢɣɧɵɯ ɭɫɬɪɨɣɫɬɜ ɫɨɜɦɟɳɟɧɚ ɫɨ ɫɜɨɢɦɢ ɤɨɧɬɪɨɥɥɟɪɚɦɢ
(ɚɞɚɩɬɟɪɚɦɢ). ɉɪɢɦɟɪɨɦ ɦɨɠɟɬ ɫɥɭɠɢɬɶ ɫɟɬɟɜɨɣ ɚɞɚɩɬɟɪ Ethernet. Ɉɞɧɚɤɨ ɱɚɳɟ
ɜɫɟɝɨ ɩɟɪɢɮɟɪɢɣɧɵɟ ɭɫɬɪɨɣɫɬɜɚ ɩɨɞɤɥɸɱɚɸɬɫɹ ɤ ɫɜɨɢɦ ɤɨɧɬɪɨɥɥɟɪɚɦ ɱɟɪɟɡ
ɩɪɨɦɟɠɭɬɨɱɧɵɟ ɩɟɪɢɮɟɪɢɣɧɵɟ ɢɧɬɟɪɮɟɣɫɵ, ɧɚɯɨɞɹɳɢɟɫɹ ɧɚ ɧɢɠɧɟɦ
ɭɪɨɜɧɟ
ɢɟɪɚɪɯɢɢ ɩɨɞɤɥɸɱɟɧɢɣ.
Ⱦɥɹ ɜɡɚɢɦɨɞɟɣɫɬɜɢɹ ɫ ɩɟɪɢɮɟɪɢɣɧɵɦɢ ɭɫɬɪɨɣɫɬɜɚɦɢ ɩɪɨɰɟɫɫɨɪ ɨɛɪɚɳɚɟɬɫɹ ɤ ɪɟɝɢɫɬɪɚɦ ɤɨɧɬɪɨɥɥɟɪɚ (ɚɞɚɩɬɟɪɚ), ɩɟɪɟɞɚɜɚɹ ɱɟɪɟɡ ɧɢɯ ɭɩɪɚɜɥɹɸɳɢɟ ɤɨɦɚɧɞɵ ɢ ɞɚɧɧɵɟ.
Ⱦɥɹ ɷɬɨɝɨ ɤɨɧɬɪɨɥɥɟɪɵ ɢɦɟɸɬ ɪɟɝɢɫɬɪɵ ɜɜɨɞɚ-ɜɵɜɨɞɚ, ɭɩɪɚɜɥɟɧɢɹ ɢ ɫɨɫɬɨɹɧɢɹ, ɤɨɬɨɪɵɟ ɦɨɝɭɬ ɪɚɫɩɨɥɚɝɚɬɶɫɹ ɥɢɛɨ ɜ ɚɞɪɟɫɧɨɦ ɩɪɨɫɬɪɚɧɫɬɜɟ ɩɚɦɹɬɢ
ɤɨɦɩɶɸɬɟɪɚ, ɥɢɛɨ ɜ ɫɩɟɰɢɚɥɶɧɨɦ ɩɪɨɫɬɪɚɧɫɬɜɟ ɩɨɪɬɨɜ ɜɜɨɞɚ-ɜɵɜɨɞɚ.
13

ɍɫɬɪɨɣɫɬɜɚ ɜɜɨɞɚ-ɜɵɜɨɞɚ. ɉɟɪɢɮɟɪɢɣɧɵɟ ɭɫɬɪɨɣɫɬɜɚ ɦɨɝɭɬ ɩɨɞɤɥɸɱɚɬɶɫɹ ɤ ɢɧɬɟɪɮɟɣɫɚɦ ɫɢɫɬɟɦɧɨɝɨ ɭɪɨɜɧɹ, ɢɥɢ ɤ ɩɟɪɢɮɟɪɢɣɧɵɦ ɢɧɬɟɪɮɟɣɫɚɦ. ȼɫɟ ɭɫɬɪɨɣɫɬɜɚ ɜɜɨɞɚ-ɜɵɜɨɞɚ ɦɨɠɧɨ ɭɫɥɨɜɧɨ ɪɚɡɞɟɥɢɬɶ ɧɚ ɫɥɟɞɭɸɳɢɟ ɝɪɭɩɩɵ:
ɭɫɬɪɨɣɫɬɜɚ ɜɜɨɞɚ-ɜɵɜɨɞɚ, ɨɫɭɳɟɫɬɜɥɹɸɳɢɟ ɧɟɩɨɫɪɟɞɫɬɜɟɧɧɨɟ ɜɡɚɢɦɨ-
ɞɟɣɫɬɜɢɟ ɫ ɩɨɥɶɡɨɜɚɬɟɥɟɦ: ɤɥɚɜɢɚɬɭɪɚ, ɦɨɧɢɬɨɪ, ɦɵɲɶ;
ɞɨɩɨɥɧɢɬɟɥɶɧɵɟ ɭɫɬɪɨɣɫɬɜɚ ɜɜɨɞɚ-ɜɵɜɨɞɚ: ɩɪɢɧɬɟɪɵ, ɫɤɚɧɟɪɵ, ɞɠɨɣɫɬɢɤɢ,
ɩɪɨɟɤɬɨɪɵ, ɡɜɭɤɨɜɵɟ
ɤɨɥɨɧɤɢ.
ȼɡɚɢɦɨɞɟɣɫɬɜɢɟ ɫɢɫɬɟɦɧɵɯ ɢ ɩɪɢɤɥɚɞɧɵɯ ɩɪɨɝɪɚɦɦ ɫ ɭɫɬɪɨɣɫɬɜɚɦɢ ɜɜɨɞɚɜɵɜɨɞɚ ɦɨɠɟɬ ɨɫɭɳɟɫɬɜɥɹɬɶɫɹ ɱɟɪɟɡ ɛɚɡɨɜɭɸ ɫɢɫɬɟɦɭ ɜɜɨɞɚ-ɜɵɜɨɞɚ (BIOS), ɩɭɬɟɦ ɡɚɩɢɫɢ ɭɩɪɚɜɥɹɸɳɢɯ ɞɚɧɧɵɯ ɜ ɫɨɨɬɜɟɬɫɬɜɭɸɳɢɟ ɪɟɝɢɫɬɪɵ ɜ ɩɪɨɫɬɪɚɧɫɬɜɟ
ɜɜɨɞɚ-ɜɵɜɨɞɚ. ɉɪɢ ɩɟɪɟɞɚɱɟ-ɩɪɢɟɦɟ ɞɚɧɧɵɯ ɜ/ɢɡ ɭɫɬɪɨɣɫɬɜ ɜɜɨɞɚ-ɜɵɜɨɞɚ ɧɚ ɫɢɫɬɟɦɧɨɦ ɭɪɨɜɧɟ ɬɚɤɠɟ ɲɢɪɨɤɨ ɢɫɩɨɥɶɡɭɟɬɫɹ ɩɨɞɫɢɫɬɟɦɚ ɩɪɟɪɵɜɚɧɢɣ (ɫɦ. ɞɚɥɟɟ).
Ɍɚɣɦɟɪ. ȼɨ ɜɫɟɯ ɤɨɦɩɶɸɬɟɪɚɯ ɢɫɩɨɥɶɡɭɟɬɫɹ ɫɱɟɬɱɢɤ-ɬɚɣɦɟɪ, ɜɵɩɨɥɧɹɸɳɢɣ ɫɥɟɞɭɸɳɢɟ ɮɭɧɤɰɢɢ:
ɝɟɧɟɪɚɰɢɸ ɩɪɟɪɵɜɚɧɢɣ ɨɬ ɫɢɫɬɟɦɧɵɯ ɱɚɫɨɜ, ɨɛɟɫɩɟɱɢɜɚɸɳɢɯ ɨɬɫɱɟɬ ɫɢ-
ɫɬɟɦɧɨɝɨ ɜɪɟɦɟɧɢ;
ɮɨɪɦɢɪɨɜɚɧɢɟ ɡɚɩɪɨɫɨɜ ɧɚ ɪɟɝɟɧɟɪɚɰɢɸ ɩɚɦɹɬɢ;
ɮɨɪɦɢɪɨɜɚɧɢɟ ɩɪɨɫɬɵɯ ɡɜɭɤɨɜɵɯ ɫɢɝɧɚɥɨɜ.
ȼ ɤɚɱɟɫɬɜɟ ɫɱɟɬɱɢɤɨɜ-ɬɚɣɦɟɪɨɜ ɪɚɧɟɟ ɩɪɢɦɟɧɹɥɢɫɶ ɦɢɤɪɨɫɯɟɦɵ i8253 ɢ
i8254, ɧɚ ɫɨɜɪɟɦɟɧɧɵɯ ɫɢɫɬɟɦɧɵɯ ɩɥɚɬɚɯ ɢɧɬɟɝɪɢɪɨɜɚɧɧɵɟ ɜ ɛɚɡɨɜɵɣ ɤɨɦɩɥɟɤɬ
ɭɩɪɚɜɥɹɸɳɢɯ
ɦɢɤɪɨɫɯɟɦ ɤɨɦɩɶɸɬɟɪɚ (chipset).
Ɂɜɭɤ. ɋɬɚɧɞɚɪɬɧɵɣ ɤɚɧɚɥ ɭɩɪɚɜɥɟɧɢɹ ɡɜɭɤɨɦ ɪɚɫɫɱɢɬɚɧ ɧɚ ɩɨɞɤɥɸɱɟɧɢɟ
ɜɵɫɨɤɨɭɦɧɨɝɨ ɦɚɥɨɝɚɛɚɪɢɬɧɨɝɨ ɢɡɥɭɱɚɬɟɥɹ (ɞɢɧɚɦɢɤɚ), ɜɫɬɪɨɟɧɧɨɝɨ ɜ ɤɨɪɩɭɫ
ɉɄ. Ɂɜɭɤ ɮɨɪɦɢɪɭɟɬɫɹ ɤɚɤ ɬɨɧɚɥɶɧɵɣ ɫɢɝɧɚɥ ɨɬ ɜɬɨɪɨɝɨ ɤɚɧɚɥɚ ɬɚɣɦɟɪɚ, ɪɚɛɨɬɨɣ ɤɨɬɨɪɨɝɨ ɦɨɠɧɨ ɭɩɪɚɜɥɹɬɶ ɩɪɨɝɪɚɦɦɧɨ. ɑɚɫɬɨɬɭ ɫɢɝɧɚɥɚ (ɬɨɧ) ɦɨɠɧɨ ɢɡɦɟɧɹɬɶ, ɩɪɨɝɪɚɦɦɢɪɭɹ ɤɨɷɮɮɢɰɢɟɧɬ ɞɟɥɟɧɢɹ ɫɱɟɬɱɢɤɚ. Ʉɪɨɦɟ ɬɨɝɨ, ɦɨɠɧɨ
ɨɩɪɟɞɟɥɹɬɶ ɞɥɢɬɟɥɶɧɨɫɬɶ ɡɜɭɱɚɧɢɹ.
Ɂɚɞɚɱɟɣ ɫɬɚɧɞɚɪɬɧɨɝɨ
ɡɜɭɤɨɜɨɝɨ ɤɚɧɚɥɚ ɹɜɥɹɟɬɫɹ ɩɨɞɚɱɚ ɫɢɝɧɚɥɨɜ ɩɪɢ ɡɚɝɪɭɡɤɟ, ɢɞɟɧɬɢɮɢɤɚɰɢɢ ɨɲɢɛɨɤ ɜɨ ɜɪɟɦɹ ɬɟɫɬɚ ɉɄ, ɤɨɝɞɚ ɫɨɨɛɳɟɧɢɹ ɧɚ ɷɤɪɚɧ
ɜɵɜɟɫɬɢ ɟɳɟ ɧɟɥɶɡɹ, ɚ ɬɚɤɠɟ ɫɨɩɪɨɜɨɠɞɟɧɢɟ ɫɨɨɛɳɟɧɢɣ ɨ ɫɢɫɬɟɦɧɵɯ ɨɲɢɛɤɚɯ.
ȼɢɞɟɨɫɢɫɬɟɦɚ ɫɨɜɪɟɦɟɧɧɨɝɨ ɤɨɦɩɶɸɬɟɪɚ ɫɨɫɬɨɢɬ ɢɡ ɨɛɹɡɚɬɟɥɶɧɨɣ ɝɪɚɮɢɱɟɫɤɨɣ ɩɨɞɫɢɫɬɟɦɵ (ɮɨɪɦɢɪɭɸɳɟɣ ɢɡɨɛɪɚɠɟɧɢɟ ɩɪɨɝɪɚɦɦɧɨ) ɢ ɞɨɩɨɥɧɢɬɟɥɶɧɨɣ ɩɨɞɫɢɫɬɟɦɵ ɨɛɪɚɛɨɬɤɢ ɜɢɞɟɨɢɡɨɛɪɚɠɟɧɢɣ. Ɉɛɟ ɷɬɢ ɫɨɫɬɚɜɥɹɸɳɢɟ ɱɚɫɬɢ
ɨɛɵɱɧɨ ɢɫɩɨɥɶɡɭɸɬ ɨɛɳɢɣ ɦɨɧɢɬɨɪ, ɚ ɫɨɨɬɜɟɬɫɬɜɭɸɳɢɟ ɚɩɩɚɪɚɬɧɵɟ ɫɪɟɞɫɬɜɚ
ɫɢɫɬɟɦɧɨɝɨ ɛɥɨɤɚ ɦɨɝɭɬ ɪɚɫɩɨɥɚɝɚɬɶɫɹ ɧɚ ɨɬɞɟɥɶɧɵɯ ɩɥɚɬɚɯ (ɤɚɪɬɚɯ) ɪɚɡɥɢɱɧɨɝɨ ɮɭɧɤɰɢɨɧɚɥɶɧɨɝɨ ɧɚɡɧɚɱɟɧɢɹ ɢɥɢ ɨɛɴɟɞɢɧɹɬɶɫɹ ɜ ɨɞɧɨɦ ɤɨɦɛɢɧɢɪɨɜɚɧɧɨɦ
ɚɞɚɩɬɟɪɟ ɞɢɫɩɥɟɹ.
Ƚɪɚɮɢɱɟɫɤɢɣ ɚɞɚɩɬɟɪ ɨɛɟɫɩɟɱɢɜɚɟɬ ɩɪɨɝɪɚɦɦɧɨɟ ɮɨɪɦɢɪɨɜɚɧɢɟ ɝɪɚɮɢɱɟ-
ɫɤɢɯ ɢ ɬɟɤɫɬɨɜɵɯ ɢɡɨɛɪɚɠɟɧɢɣ ɢ ɹɜɥɹɟɬɫɹ ɩɪɨɦɟɠɭɬɨɱɧɵɦ ɷɥɟɦɟɧɬɨɦ ɦɟɠɞɭ
ɦɨɧɢɬɨɪɨɦ ɢ ɫɢɫɬɟɦɧɨɣ ɲɢɧɨɣ ɤɨɦɩɶɸɬɟɪɚ. ɂɡɨɛɪɚɠɟɧɢɟ ɫɬɪɨɢɬɫɹ ɩɨ ɩɪɨ
ɝɪɚɦɦɟ, ɢɫɩɨɥɧɹɟɦɨɣ ɰɟɧɬɪɚɥɶɧɵɦ ɩɪɨɰɟɫɫɨɪɨɦ, ɤɨɬɨɪɨɦɭ ɦɨɝɭɬ ɩɨɦɨɝɚɬɶ
ɝɪɚɮɢɱɟɫɤɢɟ ɚɤɫɟɥɟɪɚɬɨɪɵ ɢ ɫɨɩɪɨɰɟɫɫɨɪɵ.
-
14

Ⱥɞɚɩɬɟɪ ɩɨɫɵɥɚɟɬ ɜ ɦɨɧɢɬɨɪ ɫɢɝɧɚɥɵ ɭɩɪɚɜɥɟɧɢɹ ɹɪɤɨɫɬɶɸ ɨɫɧɨɜɧɵɯ ɰɜɟɬɨɜ ɩɚɥɢɬɪɵ RGB (Red, Green, Blue – ɤɪɚɫɧɵɣ, ɡɟɥɟɧɵɣ ɢ ɫɢɧɢɣ) ɢ ɫɢɧɯɪɨɫɢɝɧɚɥɵ ɮɨɪɦɢɪɨɜɚɧɢɹ ɢɡɨɛɪɚɠɟɧɢɹ ɩɨ ɜɟɪɬɢɤɚɥɢ ɢ ɩɨ ɝɨɪɢɡɨɧɬɚɥɢ.
ȼɫɟ ɤɨɦɩɨɧɟɧɬɵ ɜɢɞɟɨɚɞɚɩɬɟɪɚ ɦɨɝɭɬ ɪɚɡɦɟɳɚɬɶɫɹ ɧɚ ɨɬɞɟɥɶɧɨɣ ɩɥɚɬɟ
ɪɚɫɲɢɪɟɧɢɹ, ɢɥɢ ɠɟ ɢɧɬɟɝɪɢɪɨɜɚɬɶɫɹ ɩɪɹɦɨ ɧɚ ɫɢɫɬɟɦɧɨɣ ɩɥɚɬɟ.
ɉɪɟɪɵɜɚɧɢɟ (interrupt) ɩɪɟɞɫɬɚɜɥɹɟɬ ɫɨɛɨɣ ɩɟɪɟɞɚɱɭ ɭɩɪɚɜɥɟɧɢɹ ɜ ɨɬɜɟɬ ɧɚ
ɫɢɝɧɚɥɵ, ɚɫɢɧɯɪɨɧɧɵɟ ɩɨ ɨɬɧɨɲɟɧɢɸ ɤ ɜɵɩɨɥɧɟɧɢɸ ɤɨɦɚɧɞ [1]. ɉɪɟɪɵɜɚɧɢɹ
ɬɚɤɠɟ ɪɚɫɫɦɚɬɪɢɜɚɸɬ, ɤɚɤ ɝɨɬɨɜɵɟ ɩɪɨɰɟɞɭɪɵ, ɤɨɬɨɪɵɟ ɤɨɦɩɶɸɬɟɪ ɜɵɡɵɜɚɟɬ
ɞɥɹ ɜɵɩɨɥɧɟɧɢɹ ɨɩɪɟɞɟɥɟɧɧɨɣ ɡɚɞɚɱɢ [2].
Ʉɪɨɦɟ ɬɨɝɨ, ɩɪɟɪɵɜɚɧɢɟɦ ɧɚɡɵɜɚɟɬɫɹ ɫɢɬɭɚɰɢɹ, ɜɨɡɧɢɤɚɸɳɚɹ ɜ ɪɟɡɭɥɶɬɚɬɟ
ɜɨɡɧɢɤɧɨɜɟɧɢɹ ɤɚɤɨɝɨ-ɥɢɛɨ ɧɟɡɚɜɢɫɢɦɨɝɨ ɫɨɛɵɬɢɹ, ɩɪɢɜɨɞɹɳɟɝɨ ɤ ɜɪɟɦɟɧɧɨɦɭ
1.3. ɉɪɟɪɵɜɚɧɢɹ
ɩɪɟɤɪɚɳɟɧɢɸ ɜɵɩɨɥɧɟɧɢɹ ɩɨɫɥɟɞɨɜɚɬɟɥɶɧɨɫɬɢ ɤɨɦɚɧɞ ɨɞɧɨɣ ɩɪɨɝɪɚɦɦɵ
ɫ ɰɟ-
ɥɶɸ ɜɵɩɨɥɧɟɧɢɹ ɩɨɫɥɟɞɨɜɚɬɟɥɶɧɨɫɬɢ ɤɨɦɚɧɞ ɞɪɭɝɨɣ ɩɪɨɝɪɚɦɦɵ [1].
1.3.1. Ʉɥɚɫɫɢɮɢɤɚɰɢɹ ɩɪɟɪɵɜɚɧɢɣ
ɉɪɟɪɵɜɚɧɢɹ ɞɟɥɹɬ ɧɚ ɞɜɚ ɜɢɞɚ: ɚɩɩɚɪɚɬɧɵɟ ɢ ɩɪɨɝɪɚɦɦɧɵɟ ɩɪɟɪɵɜɚɧɢɹ.
Ⱥɩɩɚɪɚɬɧɵɟ ɩɪɟɪɵɜɚɧɢɹ ɢɧɢɰɢɢɪɭɸɬɫɹ ɚɩɩɚɪɚɬɭɪɨɣ, ɬ. ɟ. ɦɨɝɭɬ ɛɵɬɶ ɜɵɡɜɚɧɵ ɫɢɝɧɚɥɨɦ ɨɬ ɬɚɣɦɟɪɚ, ɡɚɩɪɨɫɨɦ ɨɬ ɩɪɢɧɬɟɪɚ ɢɥɢ ɫɤɚɧɟɪɚ, ɧɚɠɚɬɢɟɦ ɤɥɚɜɢɲɢ ɧɚ ɤɥɚɜɢɚɬɭɪɟ, ɞɜɢɠɟɧɢɟɦ ɦɵɲɢ ɢ ɬ. ɩ.
Ⱥɩɩɚɪɚɬɧɵɟ ɩɪɟɪɵɜɚɧɢɹ ɩɪɢɨɫɬɚɧɚɜɥɢɜɚɸɬ ɪɚɛɨɬɭ ɦɢɤɪɨɩɪɨɰɟɫɫɨɪɚ, ɤɨɬɨɪɵɣ ɨɛɪɚɛɚɬɵɜɚɟɬ ɩɪɟɪɵɜɚɧɢɟ, ɚ ɡɚɬɟɦ ɜɨɡɜɪɚɳɚɟɬɫɹ ɧɚ ɩɪɟɠɧɟɟ
ɦɟɫɬɨ ɜ ɩɪɟɪɜɚɧɧɨɣ ɩɪɨɝɪɚɦɦɟ. Ⱥɞɪɟɫ ɦɟɫɬɚ ɨɫɬɚɧɨɜɚ ɡɚɩɨɦɢɧɚɟɬɫɹ ɜ ɫɬɟɤɟ, ɜɦɟɫɬɟ ɫ ɪɟɝɢɫɬɪɨɦ ɮɥɚɝɨɜ. Ɂɚɬɟɦ ɜ ɪɟɝɢɫɬɪɵ CS:IP ɡɚɝɪɭɠɚɟɬɫɹ ɚɞɪɟɫ ɩɪɨɝɪɚɦɦɵ ɨɛɪɚɛɨɬɤɢ
ɩɪɟɪɵɜɚɧɢɹ ɢ ɭɠɟ ɡɚɬɟɦ ɟɣ ɩɟɪɟɞɚɟɬɫɹ ɭɩɪɚɜɥɟɧɢɟ.
ɉɪɟɪɵɜɚɧɢɹ ɨɬ ɫɯɟɦ ɤɨɧɬɪɨɥɹ ɝɟɧɟɪɢɪɭɸɬɫɹ ɜ ɫɥɭɱɚɟ ɜɨɡɧɢɤɧɨɜɟɧɢɹ ɧɟɫɬɚɧɞɚɪɬɧɵɯ ɫɢɬɭɚɰɢɣ ɢ ɫɢɫɬɟɦɧɵɯ ɨɲɢɛɨɤ, ɧɚɩɪɢɦɟɪ: ɩɪɟɪɵɜɚɧɢɟ ɩɨ ɪɟɡɟɪɜɧɨɣ ɢɧɫɬɪɭɤɰɢɢ,
ɩɪɟɪɵɜɚɧɢɟ ɢɡ-ɡɚ ɧɚɪɭɲɟɧɢɹ ɡɚɳɢɬɵ ɩɚɦɹɬɢ, ɩɪɟɪɵɜɚɧɢɟ ɩɨ
ɧɚɪɭɲɟɧɢɸ ɜɢɞɚ ɞɨɫɬɭɩɚ ɤ ɩɚɦɹɬɢ ɢ ɬ. ɞ. ɉɨɫɤɨɥɶɤɭ ɩɪɟɪɵɜɚɧɢɹ ɨɬ ɫɯɟɦ ɤɨɧɬɪɨɥɹ ɜ ɨɬɥɢɱɢɟ ɨɬ ɨɫɬɚɥɶɧɵɯ ɩɪɟɪɵɜɚɧɢɣ ɩɪɢɨɫɬɚɧɚɜɥɢɜɚɸɬ ɜɵɩɨɥɧɟɧɢɟ ɬɟɤɭɳɟɣ ɤɨɦɚɧɞɵ ɩɪɨɝɪɚɦɦɵ, ɢɯ ɢɧɨɝɞɚ ɧɚɡɵɜɚɸɬ ɢɫɤɥɸɱɟɧɢɹɦɢ.
ȼɨɬ ɧɟɤɨɬɨɪɵɟ ɜɚɠɧɵɟ ɚɩɩɚɪɚɬɧɵɟ ɩɪɟɪɵɜɚɧɢɹ (ɜ ɫɤɨɛɤɚɯ ɭɤɚɡɚɧ ɲɟɫɬɧɚ-
ɞɰɚɬɟɪɢɱɧɵɣ ɧɨɦɟɪ):
IRQ0 (INT 8) – ɩɪɟɪɵɜɚɧɢɹ ɨɬ
ɫɢɫɬɟɦɧɨɝɨ ɬɚɣɦɟɪɚ;
IRQ1 (INT 9) – ɩɪɟɪɵɜɚɧɢɹ ɨɬ ɤɥɚɜɢɚɬɭɪɵ;
IRQ2 – ɪɚɡɦɧɨɠɢɬɟɥɶ ɩɪɢɨɪɢɬɟɬɧɵɯ ɭɪɨɜɧɟɣ;
IRQ3 (INT 0Bh) ɢ IRQ4 (INT 0Ch) – ɩɪɟɪɵɜɚɧɢɹ ɨɬ ɩɨɫɥɟɞɨɜɚɬɟɥɶɧɨɝɨ ɩɨɪ-
ɬɚ COM2 ɢ COM1 ɫɨɨɬɜɟɬɫɬɜɟɧɧɨ;
IRQ5 (INT 0Dh) ɢ IRQ7 (INT 0Fh) – ɩɪɟɪɵɜɚɧɢɹ ɨɬ LPT2 ɢ LPT1, ɫɨɨɬɜɟɬ-
ɫɬɜɟɧɧɨ (ɢɫɩɨɥɶɡɭɸɬɫɹ ɞɨɩɨɥɧɢɬɟɥɶɧɵɦ ɭɫɬɪɨɣɫɬɜɚɦɢ);
IRQ6 (INT 0Eh) – ɩɪɟɪɵɜɚɧɢɹ ɨɬ ɩɪɟɪɵɜɚɧɢɹ ɨɬ ɦɚɝɧɢɬɧɨɝɨ ɞɢɫɤɚ;
IRQ8 (INT 70) – ɩɪɟɪɵɜɚɧɢɟ ɨɬ ɱɚɫɨɜ ɪɟɚɥɶɧɨɝɨ ɜɪɟɦɟɧɢ;
15

IRQ9 (INT 0Ah) – ɩɪɟɪɵɜɚɧɢɟ ɡɜɭɤɨɜɨɣ ɤɚɪɬɵ;
IRQ10-IRQ12 – ɪɟɡɟɪɜ ɞɥɹ ɞɨɩɨɥɧɢɬɟɥɶɧɵɯ ɭɫɬɪɨɣɫɬɜ;
IRQ13 (INT 2) – ɩɪɟɪɵɜɚɧɢɟ ɩɨ ɨɲɢɛɤɟ ɦɚɬɟɦɚɬɢɱɟɫɤɨɝɨ ɫɨɩɪɨɰɟɫɫɨɪɚ;
IRQ14 (INT 76h) ɢ IRQ15 (INT 77h) – ɩɪɟɪɵɜɚɧɢɹ ɨɬ ɤɨɧɬɪɨɥɥɟɪɨɜ ɠɟɫɬɤɨ-
ɝɨ ɞɢɫɤɚ IDE1 ɢ IDE2.
Ⱥɛɛɪɟɜɢɚɬɭɪɚ IRQ ɪɚɫɲɢɮɪɨɜɵɜɚɟɬɫɹ ɤɚɤ Interrupt ReQuest – ɡɚɩɪɨɫ ɧɚ
ɩɪɟɪɵɜɚɧɢɟ.
ɉɪɨɝɪɚɦɦɧɵɟ ɩɪɟɪɵɜɚɧɢɹ ɜɵɡɵɜɚɸɬɫɹ ɢɡ ɫɢɫɬɟɦɧɵɯ ɩɪɨɝɪɚɦɦ ɢ ɢɫɩɨɥɶɡɭɸɬɫɹ ɞɥɹ ɪɟɲɟɧɢɹ ɡɚɞɚɱ ɜɜɨɞɚ-ɜɵɜɨɞɚ, ɭɩɪɚɜɥɟɧɢɹ ɩɚɦɹɬɶɸ, ɭɩɪɚɜɥɟɧɢɹ ɞɪɭɝɢɦɢ ɩɪɨɝɪɚɦɦɚɦɢ ɢ ɩɪ. ɉɪɨɝɪɚɦɦɧɵɟ
ɩɪɟɪɵɜɚɧɢɹ – ɷɬɨ ɩɨɞɩɪɨɝɪɚɦɦɵ, ɤɨɬɨɪɵɟ ɜɵɡɵɜɚɸɬɫɹ ȼɚɲɢɦɢ ɩɪɨɝɪɚɦɦɚɦɢ ɞɥɹ ɨɛɪɚɛɨɬɤɢ ɡɚɩɪɨɫɨɜ ɧɚ ɨɛɫɥɭɠɢɜɚɧɢɟ ɨɬ ɚɩɩɚɪɚɬɭɪɵ ɢɥɢ ɞɪɭɝɢɯ ɩɪɨɝɪɚɦɦ. Ʉɚɤ ɩɪɚɜɢɥɨ, ɷɬɢ ɩɨɞɩɪɨɝɪɚɦɦɵ ɫɨɞɟɪɠɚɬɫɹ ɧɟ ɜɧɭɬɪɢ ɩɪɨɝɪɚɦɦɵ, ɚ ɜ ɨɩɟɪɚɰɢɨɧɧɨɣ ɫɢɫɬɟɦɟ, ɢ ɦɟɯɚɧɢɡɦ ɩɪɟɪɵɜɚɧɢɣ ɞɚɟɬ ȼɚɦ ɜɨɡɦɨɠɧɨɫɬɶ ɨɛɪɚɬɢɬɶɫɹ ɤ ɧɢɦ. ɉɪɨɝɪɚɦɦɧɵɟ ɩɪɟɪɵɜɚɧɢɹ ɦɨɝɭɬ ɜɵɡɵɜɚɬɶɫɹ ɞɪɭɝ ɢɡ ɞɪɭɝɚ.
ɇɚɩɪɢɦɟɪ, ɩɪɟɪɵɜɚɧɢɹ ɨɛɪɚɛɨɬɤɢ ɜɜɨɞɚ ɫ ɤɥɚɜɢɚɬɭɪɵ ɨɩɟɪɚɰɢɨɧɧɚɹ ɫɢɫɬɟɦɚ DOS ɢɫɩɨɥɶɡɭɟɬ ɞɥɹ ɨɛɪɚɛɨɬɤɢ ɜɜɨɞɚ ɫ ɤɥɚɜɢɚɬɭɪɵ, ɚ BIOS – ɞɥɹ ɩɨɥɭɱɟɧɢɹ ɫɢɦɜɨɥɚ ɢɡ ɛɭɮɟɪɚ ɤɥɚɜɢɚɬɭɪɵ.
Ⱥɩɩɚɪɚɬɧɨɟ ɩɪɟɪɵɜɚɧɢɟ ɦɨɠɟɬ ɩɨɥɭɱɢɬɶ ɭɩɪɚɜɥɟɧɢɟ ɩɪɢ ɜɵɩɨɥɧɟɧɢɢ ɩɪɨɝɪɚɦɦɧɨɝɨ ɩɪɟɪɵɜɚɧɢɹ. ɉɪɢ ɷɬɨɦ ɧɟ ɜɨɡɧɢɤɚɟɬ ɤɨɧɮɥɢɤɬɨɜ, ɬɚɤ ɤɚɤ ɤɚɠɞɚɹ
ɩɨɞɩɪɨɝɪɚɦɦɚ ɨɛɪɚɛɨɬɤɢ ɩɪɟɪɵɜɚɧɢɹ ɫɨɯɪɚɧɹɟɬ ɡɧɚɱɟɧɢɹ ɜɫɟɯ ɢɫɩɨɥɶɡɭɟɦɵɯ
ɟɸ ɪɟɝɢɫɬɪɨɜ ɢ
ɡɚɬɟɦ ɜɨɫɫɬɚɧɚɜɥɢɜɚɟɬ ɢɯ ɩɪɢ ɜɵɯɨɞɟ.
Ⱥɞɪɟɫɚ ɩɪɨɝɪɚɦɦ ɨɛɪɚɛɨɬɤɢ ɩɪɟɪɵɜɚɧɢɣ ɧɚɡɵɜɚɸɬ ɜɟɤɬɨɪɚɦɢ. Ʉɚɠɞɵɣ
ɜɟɤɬɨɪ ɢɦɟɟɬ ɞɥɢɧɭ ɱɟɬɵɪɟ ɛɚɣɬɚ. ȼ ɩɟɪɜɨɦ ɫɥɨɜɟ ɯɪɚɧɢɬɫɹ ɡɧɚɱɟɧɢɟ ɞɥɹ IP, ɚ
ɜɨ ɜɬɨɪɨɦ – CS. Ɇɥɚɞɲɢɟ 1024 ɛɚɣɬ ɩɚɦɹɬɢ ɫɨɞɟɪɠɚɬ ɜɟɤɬɨɪɚ ɩɪɟɪɵɜɚɧɢɣ, ɬɚɤɢɦ ɨɛɪɚɡɨɦ, ɡɚɪɟɡɟɪɜɢɪɨɜɚɧɨ ɦɟɫɬɨ ɩɨɞ 256 ɜɟɤɬɨɪɨɜ, ɫɨɜɨɤɭɩɧɨɫɬɶ ɤɨɬɨɪɵɯ
ɧɚɡɵɜɚɟɬɫɹ ɬɚɛɥɢɰɟɣ ɜɟɤɬɨɪɨɜ. ȼɟɤɬɨɪ ɞɥɹ ɩɪɟɪɵɜɚɧɢɹ 0 ɧɚɱɢɧɚɟɬɫɹ ɫ ɚɞɪɟɫɚ
0000:0000, ɩɪɟɪɵɜɚɧɢɹ 1 – ɫ 0000:0004, 2 – ɫ 0000:0008 ɢ ɬ. ɞ. ȿɫɥɢ ȼɵ ɩɨɫɦɨɬɪɢɬɟ ɧɚ ɱɟɬɵɪɟ ɛɚɣɬɚ, ɧɚɱɢɧɚɹ ɫ ɚɞɪɟɫɚ 0000:0020, ɜ ɤɨɬɨɪɵɯ ɫɨɞɟɪɠɢɬɫɹ ɜɟɤɬɨɪ
ɩɪɟɪɵɜɚɧɢɹ 8H (ɩɪɟɪɵɜɚɧɢɟ ɜɪɟɦɟɧɢ ɫɭɬɨɤ), ɬɨ ɨɛɧɚɪɭɠɢɬɟ ɬɚɦ ɡɧɚɱɟɧɢɟ
A5FE00F0. Ɇɥɚɞɲɢɣ ɛɚɣɬ ɫɥɨɜɚ ɪɚɫɩɨɥɨɠɟɧ ɜ ɧɚɱɚɥɟ, ɚ ɬɚɤ ɤɚɤ ɩɨɪɹɞɨɤ ɫɥɟɞɨɜɚɧɢɹ IP:CS, ɷɬɨ 4-ɛɚɣɬɧɨɟ ɡɧɚɱɟɧɢɟ ɩɟɪɟɜɨɞɢɬɫɹ ɜ F000:FEA5. ɗɬɨ ɫɬɚɪɬɨɜɵɣ
ɚɞɪɟɫ ɩɪɨɝɪɚɦɦɵ ɜ
ɉɁɍ, ɜɵɩɨɥɧɹɸɳɟɣ ɩɪɟɪɵɜɚɧɢɟ 8H.
ȼɧɟɲɧɢɟ ɩɪɟɪɵɜɚɧɢɹ ɜɨɡɧɢɤɚɸɬ ɩɨ ɫɢɝɧɚɥɭ ɨɬ ɜɧɟɲɧɢɯ ɭɫɬɪɨɣɫɬɜ ɜ ɬɟɯ
ɫɥɭɱɚɹɯ, ɤɨɝɞɚ ɢɦ ɬɪɟɛɭɟɬɫɹ ɨɛɫɥɭɠɢɜɚɧɢɟ (ɱɬɟɧɢɟ, ɡɚɩɢɫɶ, ɤɨɧɬɪɨɥɶ ɫɨɫɬɨɹɧɢɹ).
ɂɫɤɥɸɱɟɧɢɟɦ ɢɡ ɷɬɨɝɨ ɩɪɚɜɢɥɚ ɹɜɥɹɟɬɫɹ ɫɢɫɬɟɦɧɵɣ ɬɚɣɦɟɪ, ɝɟɧɟɪɢɪɭɸɳɢɣ ɡɚɩɪɨɫ ɧɚ ɩɪɟɪɵɜɚɧɢɟ ɱɟɪɟɡ ɮɢɤɫɢɪɨɜɚɧɧɵɟ ɢɧɬɟɪɜɚɥɵ ɜɪɟɦɟɧɢ
(ɜ DOS – ɩɪɢɛɥɢɡɢɬɟɥɶɧɨ ɱɟɪɟɡ 18,2 ɦɫ). Ɍɚɣɦɟɪ ɢɫɩɨɥɶɡɭɟɬɫɹ ɞɥɹ ɨɬɫɥɟɠɢɜɚɧɢɹ ɫɢɫɬɟɦɧɨɝɨ ɜɪɟɦɟɧɢ,
ɝɟɧɟɪɚɰɢɢ ɨɬɫɱɟɬɨɜ ɜɪɟɦɟɧɢ ɩɪɢ ɪɚɛɨɬɟ ɫ ɜɧɟɲɧɢɦɢ
ɭɫɬɪɨɣɫɬɜɚɦɢ, ɚ ɬɚɤɠɟ ɮɨɪɦɢɪɨɜɚɧɢɹ ɨɠɢɞɚɧɢɣ (time-out).
ɉɨɞɩɪɨɝɪɚɦɦɵ ɨɛɪɚɛɨɬɤɢ ɩɪɟɪɵɜɚɧɢɣ ɜɫɟɝɞɚ ɡɚɜɟɪɲɚɸɬɫɹ ɢɧɫɬɪɭɤɰɢɟɣ
ɜɨɡɜɪɚɬɚ ɢɡ ɩɪɟɪɵɜɚɧɢɹ, ɤɨɬɨɪɚɹ ɡɚɜɟɪɲɚɟɬ ɩɪɨɰɟɫɫ, ɧɚɱɚɬɵɣ ɩɪɟɪɵɜɚɧɢɟɦ,
ɜɨɡɜɪɚɳɚɹ ɫɬɚɪɵɟ ɡɧɚɱɟɧɢɹ CS:IP ɢ ɪɟɝɢɫɬɪɚ ɮɥɚɝɨɜ, ɬɟɦ ɫɚɦɵɦ ɞɚɜɚɹ ɩɪɨɝɪɚɦɦɟ ɜɨɡɦɨɠɧɨɫɬɶ ɩɪɨɞɨɥɠɢɬɶ ɜɵɩɨɥɧɟɧɢɟ ɢɡ ɬɨɝɨ ɠɟ ɫɨɫɬɨɹɧɢɹ, ɜ ɤɨɬɨɪɨɦ
ɨɧɚ ɛɵɥɚ ɩɪɢɨɫɬɚɧɨɜɥɟɧɚ.
16

Ɉɛɪɚɛɨɬɱɢɤ ɩɪɟɪɵɜɚɧɢɣ ɞɨɥɠɟɧ:
ɫɨɯɪɚɧɹɬɶ ɫɨɞɟɪɠɢɦɨɟ ɩɪɟɪɜɚɧɧɨɣ ɩɪɨɝɪɚɦɦɵ (ɡɧɚɱɟɧɢɹ ɩɟɪɟɦɟɧɧɵɯ,
ɚɞɪɟɫɨɜ, ɪɟɝɢɫɬɪɨɜ Ɇɉ);
ɡɚɩɪɟɳɚɬɶ ɩɪɟɪɵɜɚɧɢɹ ɬɨɥɶɤɨ ɜ ɫɥɭɱɚɟ ɤɪɚɣɧɟɣ ɧɟɨɛɯɨɞɢɦɨɫɬɢ;
ɜɵɩɨɥɧɹɬɶɫɹ ɡɚ ɦɢɧɢɦɚɥɶɧɨ ɜɨɡɦɨɠɧɨɟ ɜɪɟɦɹ;
ɩɪɟɞɭɫɦɚɬɪɢɜɚɬɶ ɜɨɡɦɨɠɧɨɫɬɶ ɩɨɜɬɨɪɧɨɝɨ ɜɯɨɞɚ (reenterable), ɥɢɛɨ ɡɚ-
ɳɢɬɭ ɨɬ ɧɟɝɨ;
ɨɛɟɫɩɟɱɢɜɚɬɶ ɫɪɚɛɚɬɵɜɚɧɢɟ ɨɛɪɚɛɨɬɱɢɤɚ, ɢɫɩɨɥɶɡɨɜɚɜɲɟɝɨ ɞɚɧɧɵɣ ɜɟɤ-
ɬɨɪ ɪɚɧɟɟ.
Ɂɚɩɪɨɫɚɦɢ ɤ ɨɩɟɪɚɰɢɨɧɧɨɣ ɫɢɫɬɟɦɟ
ɫɥɟɞɭɟɬ ɩɨɥɶɡɨɜɚɬɶɫɹ ɬɨɥɶɤɨ ɜ ɬɨɦ
ɫɥɭɱɚɟ, ɟɫɥɢ ɡɚɜɟɞɨɦɨ ɢɡɜɟɫɬɧɨ, ɱɬɨ ɞɚɧɧɵɣ ɡɚɩɪɨɫ ɪɚɡɪɟɲɟɧ ɤ ɢɫɩɨɥɶɡɨɜɚɧɢɸ
ɜ ɨɛɪɚɛɨɬɱɢɤɚɯ ɩɪɟɪɵɜɚɧɢɣ.
ȼ ɨɬɥɢɱɢɟ ɨɬ ɩɪɨɝɪɚɦɦɧɵɯ ɩɪɟɪɵɜɚɧɢɣ, ɜɵɡɵɜɚɟɦɵɯ ɩɨ ɩɥɚɧɭ ɫɚɦɨɣ ɩɪɢɤɥɚɞɧɨɣ ɩɪɨɝɪɚɦɦɨɣ, ɚɩɩɚɪɚɬɧɵɟ ɩɪɟɪɵɜɚɧɢɹ ɜɫɟɝɞɚ ɩɪɨɢɫɯɨɞɹɬ ɚɫɢɧɯɪɨɧɧɨ
ɩɨ ɨɬɧɨɲɟɧɢɸ ɤ ɜɵɩɨɥɧɹɸɳɢɦɫɹ ɩɪɨɝɪɚɦɦɚɦ. Ɏɥɚɝ IF ɜ ɪɟɝɢɫɬɪɟ ɮɥɚɝɨɜ
ɩɪɨɰɟɫɫɨɪɚ ɨɩɪɟɞɟɥɹɟɬ, ɛɭɞɟɬ ɥɢ ɩɪɨɰɟɫɫɨɪ ɜɨɫɩɪɢɧɢɦɚɬɶ
ɡɚɩɪɨɫɵ ɧɚ ɩɪɟɪɵɜɚ-
ɧɢɹ ɨɬ ɜɧɟɲɧɢɯ ɭɫɬɪɨɣɫɬɜ.
ɂɧɨɝɞɚ ɦɨɠɟɬ ɜɨɡɧɢɤɧɭɬɶ ɨɞɧɨɜɪɟɦɟɧɧɨ ɫɪɚɡɭ ɧɟɫɤɨɥɶɤɨ ɡɚɩɪɨɫɨɜ ɧɚ ɩɪɟɪɵɜɚɧɢɟ. Ⱦɥɹ ɬɨɝɨ ɱɬɨɛɵ ɫɢɫɬɟɦɚ ɡɧɚɥɚ, ɤɚɤɨɟ ɢɦɟɧɧɨ ɩɪɟɪɵɜɚɧɢɟ ɨɛɫɥɭɠɢɜɚɬɶ
ɜ ɩɟɪɜɭɸ ɨɱɟɪɟɞɶ, ɫɭɳɟɫɬɜɭɟɬ ɫɩɟɰɢɚɥɶɧɚɹ ɫɯɟɦɚ ɩɪɢɨɪɢɬɟɬɨɜ, ɫɨɝɥɚɫɧɨ ɤɨɬɨɪɨɣ ɤɚɠɞɨɦɭ ɩɪɟɪɵɜɚɧɢɸ ɧɚɡɧɚɱɚɟɬɫɹ ɫɜɨɣ ɭɧɢɤɚɥɶɧɵɣ ɩɪɢɨɪɢɬɟɬ. ɉɨɷɬɨɦɭ,
ɟɫɥɢ ɩɪɨɢɫɯɨɞɢɬ ɨɞɧɨɜɪɟɦɟɧɧɨ ɧɟɫɤɨɥɶɤɨ ɩɪɟɪɵɜɚɧɢɣ, ɬɨ ɫɢɫɬɟɦɚ
ɨɬɞɚɟɬ
ɩɪɟɞɩɨɱɬɟɧɢɟ ɩɪɟɪɵɜɚɧɢɸ ɫ ɧɚɢɛɨɥɶɲɢɦ ɩɪɢɨɪɢɬɟɬɨɦ, ɨɬɤɥɚɞɵɜɚɹ ɧɚ ɜɪɟɦɹ
ɨɛɪɚɛɨɬɤɭ ɨɫɬɚɥɶɧɵɯ ɩɪɟɪɵɜɚɧɢɣ.
ɉɪɨɝɪɚɦɦɧɨ ɩɨɞɞɟɪɠɤɚ ɩɪɟɪɵɜɚɧɢɣ ɨɛɟɫɩɟɱɢɜɚɟɬɫɹ ɫɥɟɞɭɸɳɢɦɢ ɫɪɟɞ-
ɫɬɜɚɦɢ: ɜɟɤɬɨɪɚɦɢ ɩɪɟɪɵɜɚɧɢɣ ɢ ɤɨɦɚɧɞɚɦɢ ɩɪɨɰɟɫɫɨɪɚ ɞɥɹ ɜɵɡɨɜɚ ɩɪɟɪɵɜɚɧɢɣ.
Ɍɚɤ, ɧɚɩɪɢɦɟɪ, ɤɨɦɚɧɞɚ Ⱥɫɫɟɦɛɥɟɪɚ int ɜɵɡɵɜɚɟɬ ɩɪɟɪɵɜɚɧɢɟ ɫ ɜɟɤɬɨ-
ɪɨɦ, ɭɤɚɡɚɧɧɵɦ ɜ ɤɚɱɟɫɬɜɟ ɚɪɝɭɦɟɧɬɚ ɤɨɦɚɧɞɵ.
ɋɚɦ ɩɟɪɟɯɨɞ ɤ ɨɛɪɚɛɨɬɱɢɤɭ ɩɪɟɪɵɜɚɧɢɹ ɩɪɨɰɟɫɫɨɪɨɦ ɜɫɟɝɞɚ ɜɵɩɨɥɧɹɟɬɫɹ
ɨɞɢɧɚɤɨɜɨ
ɢ ɦɨɠɟɬ ɛɵɬɶ ɩɪɨɢɥɥɸɫɬɪɢɪɨɜɚɧ ɫɥɟɞɭɸɳɟɣ ɩɨɫɥɟɞɨɜɚɬɟɥɶɧɨɫɬɶɸ
ɨɩɟɪɚɰɢɣ ɜ ɩɪɨɝɪɚɦɦɟ ɧɚ Ⱥɫɫɟɦɛɥɟɪɟ:
pushf
push cs
push ip
mov cs, 0:[n*4+2]
mov ip, 0:[n*4]
cli
pop ip
pop cs
popf
ȼ ɩɪɢɜɟɞɟɧɧɨɦ ɮɪɚɝɦɟɧɬɟ ɤɨɦɚɧɞɚ push ɫɨɯɪɚɧɹɟɬ ɡɧɚɱɟɧɢɹ ɜ ɫɬɟɤɟ, ɤɨɦɚɧɞɚ mov ɩɪɨɢɡɜɨɞɢɬ ɡɚɝɪɭɡɤɭ ɞɚɧɧɵɯ ɜ ɪɟɝɢɫɬɪɵ, ɤɨɦɚɧɞɚ cli ɫɛɪɚɫɵɜɚɟɬ
ɮɥɚɝ ɪɚɡɪɟɲɟɧɢɹ ɩɪɟɪɵɜɚɧɢɣ, ɚ ɤɨɦɚɧɞɚ pop ɜɨɫɫɬɚɧɚɜɥɢɜɚɟɬ ɢɡ ɫɬɟɤɚ ɡɚɝɪɭɠɟɧɧɵɟ ɪɚɧɟɟ ɜ ɧɟɝɨ ɡɧɚɱɟɧɢɹ.
17

ɉɪɢ ɭɩɪɚɜɥɟɧɢɢ ɝɪɭɩɩɨɣ ɩɪɟɪɵɜɚɧɢɣ ɱɚɫɬɨ ɢɫɩɨɥɶɡɭɸɬ ɬɚɤɨɣ ɩɪɢɟɦ, ɤɚɤ
ɦɚɫɤɢɪɨɜɚɧɢɟ (ɧɚɥɨɠɟɧɢɟ ɦɚɫɤɢ).
Ɇɚɫɤɢɪɨɜɚɧɢɟ ɩɪɟɪɵɜɚɧɢɣ – ɷɬɨ ɡɚɩɪɟɬ ɞɥɹ ɩɪɟɪɵɜɚɧɢɹ ɜɵɩɨɥɧɟɧɢɹ ɤɪɢɬɢɱɟɫɤɢɯ (ɩɨ ɞɨɫɬɭɩɭ ɤ ɪɟɫɭɪɫɚɦ) ɱɚɫɬɟɣ ɩɪɨɝɪɚɦɦɵ ɢɥɢ ɡɚɩɪɟɬ ɧɚ ɧɟɤɨɬɨɪɨɟ
ɜɪɟɦɹ ɞɨɥɝɨ ɨɛɫɥɭɠɢɜɚɟɦɵɯ ɩɪɟɪɵɜɚɧɢɣ, ɧɚɩɪɢɦɟɪ, ɜ ɫɢɫɬɟɦɚɯ ɪɟɚɥɶɧɨɝɨ ɜɪɟɦɟɧɢ.
ɉɪɢɦɟɧɹɸɬ ɫɥɟɞɭɸɳɢɟ ɫɩɨɫɨɛɵ ɪɟɚɥɢɡɚɰɢɢ ɦɚɫɤɢɪɨɜɚɧɢɹ: ɨɛɳɟɟ ɦɚɫɤɢɪɨɜɚɧɢɟ ɢ ɜɵɛɨɪɨɱɧɨɟ
.
ɉɪɢ ɨɛɳɟɦ ɦɚɫɤɢɪɨɜɚɧɢɢ ɭɩɪɚɜɥɟɧɢɟ ɪɟɚɥɢɡɭɟɬɫɹ ɤɨɦɚɧɞɚɦɢ CLI, STI,
ɤɨɬɨɪɵɟ, ɫɨɨɬɜɟɬɫɬɜɟɧɧɨ, ɫɛɪɚɫɵɜɚɸɬ ɜ ɧɨɥɶ ɢɥɢ ɭɫɬɚɧɚɜɥɢɜɚɸɬ ɜ ɟɞɢɧɢɰɭ
ɮɥɚɝ ɪɚɡɪɟɲɟɧɢɹ ɩɪɟɪɵɜɚɧɢɹ IF.
ɉɪɢ ɜɵɛɨɪɨɱɧɨɦ ɦɚɫɤɢɪɨɜɚɧɢɢ ɡɚɩɢɫɶ ɨɩɪɟɞɟɥɟɧɧɨɝɨ ɤɨɞɚ ɜ ɪɟɝɢɫɬɪ ɦɚɫɤɢ ɤɨɧɬɪɨɥɥɟɪɚ ɩɪɟɪɵɜɚɧɢɣ 8259, ɜ ɤɨɬɨɪɨɦ ɢɦɟɟɬɫɹ ɬɪɢ ɨɫɧɨɜɧɵɯ ɪɟɝɢɫɬɪɚ:
IRR – ɪɟɝɢɫɬɪ ɡɚɩɪɨɫɚ ɩɪɟɪɵɜɚɧɢɹ;
ISR – ɪɟɝɢɫɬɪ ɨɛɫɥɭɠɢɜɚɧɢɹ ɩɪɟɪɵɜɚɧɢɹ (ɩɨɪɬ 20h);
IMR – ɪɟɝɢɫɬɪ
ɦɚɫɤɢɪɨɜɚɧɢɹ ɩɪɟɪɵɜɚɧɢɹ (ɩɨɪɬ 21h).
Ʉ ɪɟɝɢɫɬɪɭ IRR ɩɨɞɤɥɸɱɟɧɵ ɜɫɟ ɥɢɧɢɢ ɡɚɩɪɨɫɨɜ IRQ0..IRQ15.
Ɋɟɝɢɫɬɪ ISR ɯɪɚɧɢɬ ɩɪɢɨɪɢɬɟɬ ɬɟɤɭɳɟɝɨ ɨɛɫɥɭɠɢɜɚɟɦɨɝɨ ɩɪɟɪɵɜɚɧɢɹ.
ȿɫɥɢ ɡɚɩɪɨɫ ɩɪɟɪɵɜɚɧɢɹ, ɩɨɫɬɭɩɢɜɲɢɣ ɜ ɪɟɝɢɫɬɪ IRR, ɧɟ ɡɚɦɚɫɤɢɪɨɜɚɧ, ɬɨ
ɩɪɨɢɫɯɨɞɢɬ ɫɪɚɜɧɟɧɢɟ ɩɪɢɨɪɢɬɟɬɨɜ PRIRR ɢ PRISR. ȿɫɥɢ PRIRR > PRISR,
ɬɨ ɩɨɫɬɭɩɢɜɲɢɣ ɡɚɩɪɨɫ ɩɪɢɧɢɦɚɟɬɫɹ ɧɚ ɨɛɫɥɭɠɢɜɚɧɢɟ.
ɉɪɢɦɟɪ ɩɪɨɝɪɚɦɦɧɨɝɨ ɡɚɩɪɟɬɚ ɩɪɟɪɵɜɚɧɢɣ ɩɪɢɜɟɞɟɧ ɧɢɠɟ. ȼ ɧɟɦ ɢɫɩɨɥɶ-
ɮɭɧɤɰɢɹ ɜɵɡɨɜɚ ɩɪɟɪɵɜɚɧɢɹ DOS (ɧɨɦɟɪ ɮɭɧɤɰɢɢ – ɜ ɪɟɝɢɫɬɪɟ AH).
ɡɭɟɬɫɹ
ɉɪɢɦɟɪ 1.1. Ɂɚɩɪɟɬ ɩɪɟɪɵɜɚɧɢɣ ɨɬ ɠɟɫɬɤɨɝɨ ɞɢɫɤɚ ɜ Ⱥɫɫɟɦɛɥɟɪɟ.
mov al, 01000000b; ɦɚɫɤɢɪɭɸɬɫɹ ɡɚɩɪɨɫɵ ɨɬ ; ɠɟɫɬɤɨɝɨ
ɞɢɫɤɚ
int 21h
..........
mov al, 0
int 21h
ɉɪɨɝɪɚɦɦɢɪɨɜɚɧɢɟ ɩɪɟɪɵɜɚɧɢɣ ɦɵ ɪɚɫɫɦɨɬɪɢɦ ɛɨɥɟɟ ɩɨɞɪɨɛɧɨ ɜ ɫɥɟɞɭ-
ɸɳɢɯ ɪɚɡɞɟɥɚɯ.
1.3.2. Ʉɨɧɬɪɨɥɥɟɪ ɚɩɩɚɪɚɬɧɵɯ ɩɪɟɪɵɜɚɧɢɣ
Ⱥɩɩɚɪɚɬɧɚɹ ɱɚɫɬɶ ɤɨɦɩɶɸɬɟɪɚ ɨɛɹɡɚɬɟɥɶɧɨ ɫɨɞɟɪɠɢɬ ɫɨɨɬɜɟɬɫɬɜɭɸɳɢɟ
ɫɪɟɞɫɬɜɚ ɩɨɞɞɟɪɠɤɢ ɩɪɟɪɵɜɚɧɢɣ, ɤ ɤɨɬɨɪɵɦ ɨɬɧɨɫɹɬɫɹ:
ɫɯɟɦɚ ɨɩɪɨɫɚ ɩɪɨɰɟɫɫɨɪɨɦ ɜɯɨɞɧɨɣ ɥɢɧɢɢ ɡɚɩɪɨɫɚ ɩɪɟɪɵɜɚɧɢɹ ɩɟɪɟɞ
ɢɫɩɨɥɧɟɧɢɟɦ ɨɱɟɪɟɞɧɨɣ ɤɨɦɚɧɞɵ;
ɮɥɚɝ ɪɚɡɪɟɲɟɧɢɹ ɩɪɟɪɵɜɚɧɢɹ (IF) ɜ ɪɟɝɢɫɬɪɟ ɮɥɚɝɨɜ ɩɪɨɰɟɫɫɨɪɚ;
ɤɨɧɬɪɨɥɥɟɪ ɩɪɟɪɵɜɚɧɢɣ;
ɫɯɟɦɵ ɜɵɪɚɛɨɬɤɢ ɫɢɝɧɚɥɨɜ ɩɪɟɪɵɜɚɧɢɣ ɜɨ ɜɧɟɲɧɢɯ ɭɫɬɪɨɣɫɬɜɚɯ.
18

Ʉɨɧɬɪɨɥɥɟɪ ɩɪɟɪɵɜɚɧɢɣ – ɭɫɬɪɨɣɫɬɜɨ, ɥɨɝɢɱɟɫɤɢ ɪɚɫɩɨɥɚɝɚɸɳɟɟɫɹ ɦɟɠɞɭ
ɩɪɨɰɟɫɫɨɪɨɦ ɢ ɜɧɟɲɧɢɦɢ ɭɫɬɪɨɣɫɬɜɚɦɢ (ɫɦ. ɪɢɫ. 1.4).
ɋɢɝɧɚɥɵ ɡɚɩɪɨɫɨɜ ɧɚ ɩɪɟɪɵɜɚɧɢɹ ɨɬ ɜɧɟɲɧɢɯ ɭɫɬɪɨɣɫɬɜ ɩɨɫɬɭɩɚɸɬ ɩɨ ɥɢ-
ɧɢɹɦ IRQx ɜ ɤɨɧɬɪɨɥɥɟɪ ɩɪɟɪɵɜɚɧɢɣ, ɤɨɬɨɪɵɣ ɨɬɩɪɚɜɥɹɟɬ ɡɚɩɪɨɫɵ ɜ ɰɟɧɬɪɚɥɶɧɵɣ ɩɪɨɰɟɫɫɨɪ.
ɂɫɬɨɪɢɱɟɫɤɢ ɩɟɪɜɵɦ ɤɨɧɬɪɨɥɥɟɪɨɦ ɩɪɟɪɵɜɚɧɢɣ ɛɵɥɚ ɦɢɤɪɨɫɯɟɦɚ i8259A,
ɢɦɟɜɲɚɹ 8 ɜɯɨɞɨɜ IRQ (ɫ IRQ0 ɩɨ IRQ7) [3].
Ɉɞɧɚɤɨ ɜɨɫɶɦɢ ɥɢɧɢɣ ɡɚɩɪɨɫɨɜ ɧɚ ɩɪɟɪɵɜɚɧɢɟ ɧɟɞɨɫɬɚɬɨɱɧɨ, ɩɨɷɬɨɦɭ
ɫɨɡɞɚɸɬ ɞɜɭɯɭɪɨɜɧɟɜɭɸ ɫɯɟɦɭ ɤɨɧɬɪɨɥɥɟɪɚ ɩɪɟɪɵɜɚɧɢɣ ɫ ɢɫɩɨɥɶɡɨɜɚɧɢɟɦ ɤɚɫɤɚɞɧɨɝɨ ɫɨɟɞɢɧɟɧɢɹ, ɭɜɟɥɢɱɢɜ ɤɨɥɢɱɟɫɬɜɨ ɜɯɨɞɨɜ IRQ ɞɨ 15 (ɪɢɫ. 1.5).
ɉɪɟɞɟɥɶɧɨɟ ɤɨɥɢɱɟɫɬɜɨ ɜɯɨɞɨɜ IRQ ɫɨɫɬɚɜɥɹɟɬ 64 ɢ ɩɨɥɭɱɚɟɬɫɹ ɩɪɢ ɫɨɟɞɢ-
ɧɟɧɢɢ ɞɟɜɹɬɢ ɦɢɤɪɨɫɯɟɦ.
Ɋɢɫɭɧɨɤ 1.4. Ɇɟɫɬɨ ɤɨɧɬɪɨɥɥɟɪɚ ɩɪɟɪɵɜɚɧɢɣ ɜ ɫɢɫɬɟɦɟ:
Ʉɉ – ɤɨɧɬɪɨɥɥɟɪ ɩɪɟɪɵɜɚɧɢɣ; ȼɍ – ɜɧɟɲɧɢɟ ɭɫɬɪɨɣɫɬɜɚ
Ɋɢɫɭɧɨɤ 1.5. Ʉɚɫɤɚɞɧɨɟ ɫɨɟɞɢɧɟɧɢɟ ɤɨɧɬɪɨɥɥɟɪɨɜ ɩɪɟɪɵɜɚɧɢɣ
19

Ʉɨɧɬɪɨɥɥɟɪ ɩɪɟɪɵɜɚɧɢɣ ɜɵɩɨɥɧɹɟɬ ɫɥɟɞɭɸɳɢɟ ɮɭɧɤɰɢɢ [2, 3]:
ɮɢɤɫɢɪɭɟɬ ɡɚɩɪɨɫɵ ɧɚ ɩɪɟɪɵɜɚɧɢɹ ɨɬ ɜɧɟɲɧɢɯ ɭɫɬɪɨɣɫɬɜ;
ɦɚɫɤɢɪɭɟɬ ɩɨɫɬɭɩɢɜɲɢɟ ɡɚɩɪɨɫɵ (ɪɚɡɪɟɲɚɟɬ ɢɥɢ ɡɚɩɪɟɳɚɟɬ ɩɪɨɯɨɠɞɟ-
ɧɢɟ ɡɚɩɪɨɫɨɜ ɫ ɨɬɞɟɥɶɧɵɯ IRQ ɜɯɨɞɨɜ);
ɪɟɚɥɢɡɭɟɬ ɨɛɫɥɭɠɢɜɚɧɢɟ ɡɚɩɪɨɫɨɜ ɜ ɫɨɨɬɜɟɬɫɬɜɢɢ ɫ ɢɯ ɩɪɢɨɪɢɬɟɬɚɦɢ ɞɥɹ
ɫɥɭɱɚɹ, ɤɨɝɞɚ ɨɞɧɨɜɪɟɦɟɧɧɨ ɩɪɢɫɭɬɫɬɜɭɸɬ ɧɟɫɤɨɥɶɤɨ ɡɚɩɪɨɫɨɜ);
ɩɟɪɟɞɚɟɬ ɩɪɨɰɟɫɫɨɪɭ ɧɨɦɟɪ ɜɟɤɬɨɪɚ ɩɪɟɪɵɜɚɧɢɹ, ɤɨɬɨɪɵɣ ɢɫɩɨɥɶɡɭɟɬɫɹ
ɩɪɢ
ɨɛɪɚɛɨɬɤɟ ɩɪɟɪɵɜɚɧɢɹ.
ȼ ɤɨɧɬɪɨɥɥɟɪɟ ɩɪɟɪɵɜɚɧɢɣ ɩɪɨɝɪɚɦɦɢɪɭɸɬɫɹ:
ɦɚɫɤɚ (ɜ ɪɟɝɢɫɬɪɟ ɩɚɦɹɬɢ),
ɚɪɛɢɬɪ ɩɪɢɨɪɢɬɟɬɨɜ,
ɧɚɱɚɥɶɧɵɣ ɧɨɦɟɪ ɞɢɚɩɚɡɨɧɚ ɧɨɦɟɪɨɜ ɜɟɤɬɨɪɨɜ ɩɪɟɪɵɜɚɧɢɣ,
ɪɟɠɢɦ ɪɚɛɨɬɵ,
ɫɯɟɦɚ ɫɨɟɞɢɧɟɧɢɹ «ɜɟɞɭɳɢɣ – ɜɟɞɨɦɵɟ».
Ɍɚɤɢɦ ɨɛɪɚɡɨɦ, ɤɨɧɬɪɨɥɥɟɪ ɩɪɟɪɵɜɚɧɢɣ ɨɛɟɫɩɟɱɢɜɚɟɬ ɢɞɟɧɬɢɮɢɤɚɰɢɸ ɚɩ-
ɩɚɪɚɬɧɵɯ ɩɪɟɪɵɜɚɧɢɣ ɢ ɪɟɚɤɰɢɸ ɦɢɤɪɨɩɪɨɰɟɫɫɨɪɚ ɧɚ ɧɢɯ.
ȼɚɠɧɟɣɲɟɣ ɫɢɫɬɟɦɧɨɣ ɩɪɨɝɪɚɦɦɨɣ ɹɜɥɹɟɬɫɹ ɛɚɡɨɜɚɹ ɫɢɫɬɟɦɚ ɜɜɨɞɚɜɵɜɨɞɚ (Basic Input-Output System, ɢɥɢ BIOS), ɤɨɬɨɪɚɹ ɡɚɩɭɫɤɚɟɬɫɹ ɫɪɚɡɭ ɠɟ ɩɪɢ
ɫɬɚɪɬɟ ɤɨɦɩɶɸɬɟɪɚ. ɉɪɨɝɪɚɦɦɚ BIOS ɡɚɩɢɫɚɧɚ ɜ ɉɁɍ ɢ ɫɨɫɬɨɢɬ ɢɡ ɧɟɫɤɨɥɶɤɢɯ
ɦɨɞɭɥɟɣ. ɉɟɪɜɵɣ ɡɚɝɪɭɠɚɟɦɵɣ ɦɨɞɭɥɶ ɹɜɥɹɟɬɫɹ ɩɪɨɝɪɚɦɦɨɣ ɢɧɢɰɢɚɥɢɡɚɰɢɢ
(POST – PowerOn Self Test), ɤɨɬɨɪɚɹ ɨɫɭɳɟɫɬɜɥɹɟɬ ɬɟɫɬɢɪɨɜɚɧɢɟ ɜɫɟɝɨ ɤɨɦɩɶɸɬɟɪɚ ɩɪɢ ɜɤɥɸɱɟɧɢɢ ɩɢɬɚɧɢɹ, ɚ ɬɚɤɠɟ ɧɚɱɚɥɶɧɭɸ ɫɬɚɞɢɸ ɡɚɝɪɭɡɤɢ ɨɩɟɪɚɰɢɨɧɧɨɣ ɫɢɫɬɟɦɵ.
1.4. ɉɪɨɝɪɚɦɦɵ
ȼ BIOS ɬɚɤɠɟ
ɫɨɞɟɪɠɚɬɫɹ ɩɨɞɩɪɨɝɪɚɦɦɵ ɞɥɹ ɪɚɛɨɬɵ ɫɨ ɫɬɚɧɞɚɪɬɧɵɦɢ
ɭɫɬɪɨɣɫɬɜɚɦɢ (ɤɥɚɜɢɚɬɭɪɚ, ɜɢɞɟɨɚɞɚɩɬɟɪ, ɠɟɫɬɤɢɣ ɞɢɫɤ ɢ ɬ. ɩ.), ɨɛɟɫɩɟɱɢɜɚɸɳɢɟ ɜɡɚɢɦɨɞɟɣɫɬɜɢɟ ɨɩɟɪɚɰɢɨɧɧɨɣ ɫɢɫɬɟɦɵ, ɚ ɬɚɤɠɟ ɞɪɭɝɢɯ ɫɢɫɬɟɦɧɵɯ ɢ ɩɪɢɤɥɚɞɧɵɯ ɩɪɨɝɪɚɦɦ ɫ ɚɩɩɚɪɚɬɧɵɦɢ ɫɪɟɞɫɬɜɚɦɢ ɤɨɦɩɶɸɬɟɪɚ.
ɋɥɟɞɭɸɳɚɹ ɩɨ ɭɪɨɜɧɸ ɢɟɪɚɪɯɢɢ ɢ ɜɚɠɧɨɫɬɢ ɫɢɫɬɟɦɧɚɹ ɩɪɨɝɪɚɦɦɚ – ɷɬɨ
ɨɩɟɪɚɰɢɨɧɧɚɹ ɫɢɫɬɟɦɚ (Ɉɋ), ɩɨɞ ɭɩɪɚɜɥɟɧɢɟɦ ɤɨɬɨɪɨɣ ɨɫɭɳɟɫɬɜɥɹɟɬɫɹ ɪɚɛɨɬɚ ɞɪɭɝɢɯ
ɫɢɫɬɟɦɧɵɯ ɢ ɩɪɢɤɥɚɞɧɵɯ ɩɪɨɝɪɚɦɦ. Ɂɚɩɭɫɤ ɨɩɟɪɚɰɢɨɧɧɨɣ ɫɢɫɬɟɦɵ
ɨɫɭɳɟɫɬɜɥɹɟɬ ɩɪɨɝɪɚɦɦɚ-ɡɚɝɪɭɡɱɢɤ, ɤɨɬɨɪɚɹ ɪɚɫɩɨɥɨɠɟɧɚ ɜ ɧɚɱɚɥɶɧɵɯ ɫɟɤɬɨɪɚɯ ɫɢɫɬɟɦɧɨɝɨ ɠɟɫɬɤɨɝɨ ɞɢɫɤɚ. ȼɡɚɢɦɨɞɟɣɫɬɜɢɟ Ɉɋ ɫ ɞɪɭɝɢɦɢ ɩɪɨɝɪɚɦɦɚɦɢ ɨɫɭɳɟɫɬɜɥɹɟɬɫɹ ɤɚɤ ɧɚɩɪɹɦɭɸ, ɬɚɤ ɢ ɱɟɪɟɡ ɫɩɟɰɢɚɥɶɧɵɟ ɩɪɨɝɪɚɦɦɵ –
ɫɥɭɠɛɵ.
Ʉɚɠɞɚɹ ɫɢɫɬɟɦɧɚɹ ɢ ɩɪɢɤɥɚɞɧɚɹ ɩɪɨɝɪɚɦɦɚ ɢɫɩɨɥɶɡɭɟɬ ɨɩɟɪɚɬɢɜɧɭɸ ɩɚ-
ɦɹɬɶ ɤɨɦɩɶɸɬɟɪɚ. Ⱦɥɹ ɭɩɪɚɜɥɟɧɢɹ ɪɚɛɨɬɨɣ ɩɪɨɝɪɚɦɦ Ɉɋ ɢɫɩɨɥɶɡɭɟɬ ɬɚɤɢɟ
ɢɯ
ɯɚɪɚɤɬɟɪɢɫɬɢɤɢ, ɤɚɤ ɬɨɱɤɚ ɜɯɨɞɚ (ɚɞɪɟɫ ɜ ɩɚɦɹɬɢ, ɩɨ ɤɨɬɨɪɨɦɭ ɪɚɡɦɟɳɟɧɚ ɩɟɪɜɚɹ ɤɨɦɚɧɞɚ ɩɪɨɝɪɚɦɦɵ) ɢ ɬɪɟɛɭɟɦɵɣ ɨɛɴɟɦ ɩɚɦɹɬɢ.
20
Соседние файлы в предмете [НЕСОРТИРОВАННОЕ]
