Добавил:
ivanov666
Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз:
Предмет:
Файл:Микропроцессоры. Учебник
.pdf
Ⱥɥɝɨɪɢɬɦ ɪɟɤɭɪɫɢɜɧɨɝɨ ɫɩɭɫɤɚ ɦɨɠɟɬ ɨɤɚɡɚɬɶɫɹ ɧɟɷɮɮɟɤɬɢɜɧɵɦ ɜ
ɫɥɭɱɚɟ, ɟɫɥɢ ɩɪɢ ɜɨɡɜɪɚɳɟɧɢɢ ɢɡ ɜɵɡɵɜɚɟɦɨɣ ɮɭɧɤɰɢɢ ɩɨɜɟɞɟɧɢɟ ɩɪɨɝɪɚɦɦɵ ɨɬɤɥɨɧɹɟɬɫɹ ɨɬ ɨɠɢɞɚɟɦɨɝɨ. ɇɚɩɪɢɦɟɪ, ɜ ɤɨɞɟ ɮɭɧɤɰɢɢ ɦɨɠɟɬ
ɩɪɟɞɧɚɦɟɪɟɧɧɨ ɦɨɞɢɮɢɰɢɪɨɜɚɬɶɫɹ ɚɞɪɟɫ ɜɨɡɜɪɚɬɚ.
Ʉɨɦɚɧɞɵ ɜɨɡɜɪɚɬɚ. ȼ ɧɟɤɨɬɨɪɵɯ ɫɥɭɱɚɹɯ ɚɥɝɨɪɢɬɦ ɪɟɤɭɪɫɢɜɧɨɝɨ
ɫɩɭɫɤɚ ɧɟ ɦɨɠɟɬ ɛɵɬɶ ɜɵɩɨɥɧɟɧ. Ʉɨɦɚɧɞɚ ɜɨɡɜɪɚɬɚ ɢɡ ɮɭɧɤɰɢɢ (ɧɚɩɪɢɦɟɪ, ret ×86) ɧɟ ɩɪɟɞɨɫɬɚɜɥɹɟɬ ɢɧɮɨɪɦɚɰɢɢ
ɨ ɬɨɦ, ɤɚɤɚɹ ɤɨɦɚɧɞɚ ɛɭɞɟɬ
ɜɵɩɨɥɧɟɧɚ ɞɚɥɟɟ. ȿɫɥɢ ɩɪɨɝɪɚɦɦɚ ɛɭɞɟɬ ɧɚ ɫɚɦɨɦ ɞɟɥɟ ɡɚɩɭɳɟɧɚ, ɬɨ
ɭɩɪɚɜɥɟɧɢɟ ɛɭɞɟɬ ɩɟɪɟɞɚɧɨ ɩɨ ɚɞɪɟɫɭ, ɪɚɫɩɨɥɨɠɟɧɧɨɦɭ ɧɚ ɜɟɪɲɢɧɟ ɫɬɟɤɚ. ɍ ɞɢɡɚɫɫɟɦɛɥɟɪɚ ɨɬɫɭɬɫɬɜɭɟɬ ɜɨɡɦɨɠɧɨɫɬɶ ɞɨɫɬɭɩɚ ɤ ɫɬɟɤɭ. ȼɦɟɫɬɨ
ɷɬɨɝɨ ɞɢɡɚɫɫɟɦɛɥɢɪɨɜɚɧɢɟ ɜɧɟɡɚɩɧɨ ɨɫɬɚɧɚɜɥɢɜɚɟɬɫɹ. ȼ ɷɬɨɦ ɫɥɭɱɚɟ ɚɥɝɨɪɢɬɦ ɪɟɤɭɪɫɢɜɧɨɝɨ ɫɩɭɫɤɚ ɨɛɪɚɳɚɟɬɫɹ ɤ ɫɩɢɫɤɭ ɨɬɥɨɠɟɧɧɵɯ ɚɞɪɟɫɨɜ, ɢ
ɩɪɨɰɟɫɫ ɞɢɡɚɫɫɟɦɛɥɢɪɨɜɚɧɢɹ ɜɨɡɨɛɧɨɜɥɹɟɬɫɹ. ɗɬɨɬ ɪɟɤɭɪɫɢɜɧɵɣ ɩɪɨɰɟɫɫ
ɨɬɪɚɠɚɟɬ ɫɦɵɫɥ ɧɚɡɜɚɧɢɹ ɚɥɝɨɪɢɬɦɚ.
ȼɵɩɨɥɧɟɧɢɟ ɚɥɝɨɪɢɬɦɚ ɪɟɤɭɪɫɢɜɧɨɝɨ ɫɩɭɫɤɚ ɩɨɡɜɨɥɹɟɬ ɪɚɡɞɟɥɢɬɶ
ɤɨɞ ɢ ɞɚɧɧɵɟ. Ƚɥɚɜɧɵɦ ɧɟɞɨɫɬɚɬɤɨɦ ɬɚɤɨɝɨ ɩɨɞɯɨɞɚ ɹɜɥɹɟɬɫɹ ɧɟɫɩɨɫɨɛɧɨɫɬɶ ɪɚɫɩɨɡɧɚɜɚɬɶ ɜɟɬɜɢ, ɨɛɪɚɡɭɟɦɵɟ ɬɚɤɢɦ ɤɨɦɚɧɞɚɦɢ, ɤɚɤ jump ɢ call,
ɢɫɩɨɥɶɡɭɸɳɢɦɢ ɞɥɹ ɚɞɪɟɫɚɰɢɢ ɬɚɛɥɢɰɵ ɩɨɢɫɤɚ. ȼ ɫɨɱɟɬɚɧɢɢ ɫ ɷɜɪɢɫɬɢɱɟɫɤɢɦɢ ɦɟɬɨɞɚɦɢ ɞɥɹ ɪɚɫɩɨɡɧɚɜɚɧɢɹ ɭɤɚɡɚɬɟɥɟɣ ɧɚ ɤɨɞ, ɚɥɝɨɪɢɬɦ ɪɟɤɭɪɫɢɜɧɨɝɨ ɫɩɭɫɤɚ ɫɩɨɫɨɛɟɧ ɨɛɟɫɩɟɱɢɬɶ ɯɨɪɨɲɟɟ ɩɨɤɪɵɬɢɟ ɤɨɞɚ ɜ ɫɨɱɟɬɚɧɢɢ
ɫ ɪɚɡɞɟɥɟɧɢɟɦ ɤɨɞɚ ɢ ɞɚɧɧɵɯ.
22. ɉɪɨɝɪɚɦɦɚ «*.EXE»
ȼ ɨɬɥɢɱɢɟ ɨɬ com-ɩɪɨɝɪɚɦɦɵ, ɡɚɝɪɭɠɚɟɦɨɣ ɜɫɟɝɞɚ ɜ ɨɞɢɧ ɫɟɝɦɟɧɬ
ɨɩɟɪɚɬɢɜɧɨɣ ɩɚɦɹɬɢ (ɨɛɴɟɦɨɦ 64 K), ɩɪɨɝɪɚɦɦɚ ɬɢɩɚ «.exe» ɦɨɠɟɬ ɡɚɧɢɦɚɬɶ ɧɟɫɤɨɥɶɤɨ ɬɚɤɢɯ ɫɟɝɦɟɧɬɨɜ. ɋɥɟɞɫɬɜɢɟɦ ɷɬɨɝɨ ɹɜɥɹɟɬɫɹ ɧɚɥɢɱɢɟ
ɜ ɩɪɨɝɪɚɦɦɟ ɤɨɦɚɧɞ, ɜɵɩɨɥɧɹɸɳɢɯ ɡɚɩɢɫɶ ɜ ɪɟɝɢɫɬɪɵ ɚɞɪɟɫɨɜ-ɫɟɝɦɟɧɬɨɜ,
ɬɪɟɛɭɸɳɢɯ ɧɚɫɬɪɨɣɤɢ ɜɨ ɜɪɟɦɹ ɡɚɝɪɭɡɤɢ.
ȼ ɪɟɡɭɥɶɬɚɬɟ ɩɨɥɭɱɟɧɢɟ «.exe» ɩɪɨɝɪɚɦɦɵ ɧɟ ɬɨɥɶɤɨ ɬɪɟɛɭɟɬ ɤɨɩɢɪɨɜɚɧɢɹ ɫɨɨɬɜɟɬɫɬɜɭɸɳɟɝɨ ɮɚɣɥɚ ɜ ɨɩɟɪɚɬɢɜɧɭɸ ɩɚɦɹɬɶ, ɧɨ ɩɪɟɞɩɨɥɚɝɚɟɬ
ɩɪɟɨɛɪɚɡɨɜɚɧɢɟ ɷɬɨɝɨ ɮɚɣɥɚ ɡɚɝɪɭɡɱɢɤɨɦ. ȼ ɪɟɡɭɥɶɬɚɬɟ, ɜɨ-ɩɟɪɜɵɯ, ɡɚɩɢɫɵɜɚɸɬɫɹ PSP ɩɪɨɝɪɚɦɦɵ, ɚ ɜɨ-ɜɬɨɪɵɯ, ɧɚɫɬɪɚɢɜɚɸɬɫɹ ɧɟɤɨɬɨɪɵɟ ɚɞɪɟɫɚ
ɜ ɩɨɥɹɯ ɦɚɲɢɧɧɵɯ ɤɨɦɚɧɞ. ɇɚɥɢɱɢɟ ɩɟɪɜɨɣ ɢɡ ɷɬɢɯ ɮɭɧɤɰɢɣ ɨɛɭɫɥɨɜɥɟɧɨ ɬɟɦ, ɱɬɨ ɩɪɟɨɛɪɚɡɭɟɦɵɣ exe-ɮɚɣɥ ɜɨɨɛɳɟ ɧɟ ɫɨɞɟɪɠɢɬ PSP. ȼɦɟɫɬɨ
ɧɟɝɨ ɜ ɧɚɱɚɥɟ ɷɬɨɝɨ ɮɚɣɥɚ ɧɚɯɨɞɢɬɫɹ ɡɚɝɨɥɨɜɨɤ,
ɪɚɡɦɟɪ ɤɨɬɨɪɨɝɨ ɤɪɚɬɟɧ
512 ɛɚɣɬɚɦ, ɫɨɞɟɪɠɚɳɢɣ ɭɩɪɚɜɥɹɸɳɭɸ ɢɧɮɨɪɦɚɰɢɸ, ɢɫɩɨɥɶɡɭɟɦɭɸ ɡɚɝɪɭɡɱɢɤɨɦ ɞɥɹ ɩɨɥɭɱɟɧɢɹ «.exe» ɩɪɨɝɪɚɦɦɵ.
ɋɜɨɸ ɪɚɛɨɬɭ ɩɨ ɫɨɡɞɚɧɢɸ «.exe» ɮɚɣɥɚ ɪɟɞɚɤɬɨɪ ɫɜɹɡɟɣ ɧɚɱɢɧɚɟɬ
ɫ ɬɨɝɨ, ɱɬɨ ɩɨɫɥɟɞɨɜɚɬɟɥɶɧɨ ɡɚɩɢɫɵɜɚɟɬ ɜ ɫɜɨɸ ɩɚɦɹɬɶ ɤɨɞ (ɤɨɦɚɧɞɵ),
ɞɚɧɧɵɟ ɢ ɫɬɟɤ ɛɭɞɭɳɟɣ ɩɪɨɝɪɚɦɦɵ. ɉɨɪɹɞɨɤ ɪɚɫɩɨɥɨɠɟɧɢɹ ɷɬɢɯ ɱɚɫɬɟɣ
ɩɪɨɝɪɚɦɦɵ, ɜ ɨɬɥɢɱɢɟ ɨɬ «.com» ɮɚɣɥɚ, ɦɨɠɟɬ ɛɵɬɶ ɥɸɛɵɦ. ɂɯ ɫɨɞɟɪ-
101

ɠɢɦɨɟ ɪɟɞɚɤɬɨɪ ɫɜɹɡɟɣ ɫɱɢɬɵɜɚɟɬ ɢɡ ɞɨɫɬɭɩɧɵɯ ɟɦɭ ɨɛɴɟɤɬɧɵɯ ɦɨɞɭɥɟɣ
ɩɪɨɝɪɚɦɦɵ. Ɋɟɞɚɤɬɨɪ ɫɜɹɡɟɣ, ɜɵɩɨɥɧɹɹ ɪɚɡɦɟɳɟɧɢɟ ɩɪɨɝɪɚɦɦɵ ɜ ɩɚɦɹɬɢ,
ɨɛɪɚɳɚɟɬɫɹ ɫ ɟɟ ɚɞɪɟɫɚɦɢ ɬɚɤ, ɤɚɤ ɛɭɞɬɨ ɩɪɨɝɪɚɦɦɚ ɡɚɝɪɭɠɟɧɚ ɜ ɨɩɟɪɚɬɢɜɧɭɸ ɩɚɦɹɬɶ, ɧɚɱɢɧɚɹ ɫ ɭɫɥɨɜɧɨɝɨ ɚɞɪɟɫɚ 00000h. ɉɨɷɬɨɦɭ ɫɱɢɬɚɟɬɫɹ,
ɱɬɨ ɱɚɫɬɶ ɩɪɨɝɪɚɦɦɵ (ɤɨɞ, ɞɚɧɧɵɟ ɢɥɢ ɫɬɟɤ), ɪɚɡɦɟɳɚɟɦɚɹ ɩɟɪɜɨɣ, ɢɦɟɟɬ
ɧɚɱɚɥɶɧɵɣ ɥɨɝɢɱɟɫɤɢɣ ɚɞɪɟɫ 0000h:0000h. ȿɫɥɢ, ɧɚɩɪɢɦɟɪ
, ɜɬɨɪɚɹ ɱɚɫɬɶ
ɩɪɨɝɪɚɦɦɵ ɧɚɱɢɧɚɟɬɫɹ ɫ ɭɫɥɨɜɧɨɝɨ ɪɟɚɥɶɧɨɝɨ ɚɞɪɟɫɚ 000E7h, ɬɨ ɟɦɭ ɫɨɨɬɜɟɬɫɬɜɭɟɬ ɧɚɱɚɥɶɧɵɣ ɥɨɝɢɱɟɫɤɢɣ ɚɞɪɟɫ 000Eh:0007h. ɉɪɢɦɟɧɟɧɢɟ ɬɚɤɢɯ
ɭɫɥɨɜɧɵɯ ɚɞɪɟɫɨɜ ɩɨɡɜɨɥɹɟɬ ɪɟɞɚɤɬɨɪɭ ɫɜɹɡɟɣ ɜɵɩɨɥɧɢɬɶ ɡɚɩɢɫɶ ɱɢɫɥɟɧɧɵɯ ɡɧɚɱɟɧɢɣ ɞɥɹ ɜɫɟɯ ɜɧɟɲɧɢɯ ɚɞɪɟɫɨɜ, ɨɫɬɚɜɲɢɯɫɹ ɧɟ ɩɪɨɫɬɚɜɥɟɧɧɵɦɢ
ɩɨɫɥɟ ɬɪɚɧɫɥɹɰɢɢ.
ɂɫɤɥɸɱɟɧɢɟ ɫɨɫɬɚɜɥɹɸɬ ɤɨɦɚɧɞɵ, ɜɵɩɨɥɧɹɸɳɢɟ ɡɚɩɢɫɶ ɜ ɪɟɝɢɫɬɪɵ
ɡɧɚɱɟɧɢɣ ɚɞɪɟɫɨɜ-ɫɟɝɦɟɧɬɨɜ. Ʉ ɬɚɤɢɦ ɤɨɦɚɧɞɚɦ ɨɬɧɨɫɹɬɫɹ,
ɜɨ-ɩɟɪɜɵɯ,
ɤɨɦɚɧɞɵ ɞɚɥɶɧɟɝɨ ɩɟɪɟɯɨɞɚ JMP ɢ CALL (ɨɧɢ ɜɵɩɨɥɧɹɸɬ ɡɚɩɢɫɶ ɚɞɪɟɫɚɫɟɝɦɟɧɬɚ ɜ ɪɟɝɢɫɬɪ CS), ɚ ɜɨ-ɜɬɨɪɵɯ, ɤɨɦɚɧɞɵ MOV, ɜɵɩɨɥɧɹɸɳɢɟ ɡɚɩɢɫɶ ɚɞɪɟɫɨɜ-ɫɟɝɦɟɧɬɨɜ ɜ ɪɟɝɢɫɬɪɵ ɞɚɧɧɵɯ (ɢɡ ɧɢɯ ɞɪɭɝɢɟ ɤɨɦɚɧɞɵ MOV
ɩɟɪɟɩɢɫɵɜɚɸɬ ɡɧɚɱɟɧɢɹ ɜ ɪɟɝɢɫɬɪɵ ɫɟɝɦɟɧɬɨɜ DS, ES ɢɥɢ SS).
ɇɚɩɪɢɦɟɪ, ɫɥɟɞɭɸɳɢɟ ɞɜɚ ɨɩɟɪɚɬɨɪɚ ɢɫɯɨɞɧɨɣ ɩɪɨɝɪɚɦɦɵ ɜɵɩɨɥɧɹɸɬ ɡɚɩɢɫɶ ɜ ɪɟɝɢɫɬɪ DS ɬɨɝɨ ɚɞɪɟɫɚ-ɫɟɝɦɟɧɬɚ, ɤɨɬɨɪɵɣ ɫɨɨɬɜɟɬɫɬɜɭɟɬ
ɬɨɱɤɟ ɢɫɯɨɞɧɨɣ ɩɪɨɝɪɚɦɦɵ ɫ ɦɟɬɤɨɣ Msg:
MOV DX, SEG
Msg MOV DS, DX
ɉɟɪɜɵɣ ɨɩɟɪɚɬɨɪ MOV ɬɪɚɧɫɥɢɪɭɟɬɫɹ ɜ ɬɪɟɯ-, ɚ ɜɬɨɪɨɣ – ɜ 2-ɛɚɣɬɨɜɭɸ ɦɚɲɢɧɧɭɸ ɤɨɦɚɧɞɭ. ɉɪɢ ɷɬɨɦ ɜɬɨɪɨɣ ɢ ɬɪɟɬɢɣ ɛɚɣɬɵ ɩɟɪɜɨɣ ɤɨɦɚɧɞɵ ɢɫɩɨɥɶɡɭɸɬɫɹ ɞɥɹ ɪɚɡɦɟɳɟɧɢɹ ɚɞɪɟɫɚ-ɫɟɝɦɟɧɬɚ, ɡɚɝɪɭɠɚɟɦɨɝɨ ɜ
ɪɟɝɢɫɬɪ DX.
Ɍɚɤ ɤɚɤ ɚɞɪɟɫɚ-ɫɟɝɦɟɧɬɵ
ɡɚɜɢɫɹɬ ɨɬ ɮɚɤɬɢɱɟɫɤɨɝɨ ɪɚɡɦɟɳɟɧɢɹ ɛɭɞɭɳɟɣ
ɩɪɨɝɪɚɦɦɵ ɜ ɨɩɟɪɚɬɢɜɧɨɣ ɩɚɦɹɬɢ, ɤɨɬɨɪɨɟ ɪɟɞɚɤɬɨɪ ɫɜɹɡɟɣ «ɧɟ ɡɧɚɟɬ», ɬɨ ɨɧ
ɧɟ ɦɨɠɟɬ ɩɪɨɫɬɚɜɢɬɶ ɱɢɫɥɟɧɧɵɟ ɡɧɚɱɟɧɢɹ ɚɞɪɟɫɨɜ-ɫɟɝɦɟɧɬɨɜ ɜ ɩɨɥɹ ɦɚɲɢɧɧɵɯ ɤɨɦɚɧɞ. Ɍɟɦ ɧɟ ɦɟɧɟɟ, ɨɧ ɜɵɩɨɥɧɹɟɬ ɡɧɚɱɢɬɟɥɶɧɭɸ ɩɨɞɝɨɬɨɜɤɭ ɞɥɹ ɛɭɞɭɳɟɣ ɩɪɨɫɬɚɧɨɜɤɢ ɷɬɢɯ ɡɧɚɱɟɧɢɣ ɡɚɝɪɭɡɱɢɤɨɦ. Ⱦɥɹ ɷɬɨɝɨ, ɜɨ-ɩɟɪɜɵɯ, ɪɟɞɚɤɬɨɪ ɫɜɹɡɟɣ ɩɨɦɟɳɚɟɬ
ɜ ɷɬɢ ɩɨɥɹ ɭɫɥɨɜɧɵɟ ɚɞɪɟɫɚ-ɫɟɝɦɟɧɬɵ, ɩɨɥɭɱɟɧɧɵɟ
ɜ ɩɪɟɞɩɨɥɨɠɟɧɢɢ, ɱɬɨ ɩɪɨɝɪɚɦɦɚ ɡɚɝɪɭɠɚɟɬɫɹ ɜ ɩɚɦɹɬɶ, ɧɚɱɢɧɚɹ ɫ ɧɭɥɟɜɨɝɨ
ɚɞɪɟɫɚ. ȼɨ-ɜɬɨɪɵɯ, ɪɟɞɚɤɬɨɪ ɫɜɹɡɟɣ ɫɨɡɞɚɟɬ ɬɚɛɥɢɰɭ ɧɚɫɬɪɨɣɤɢ, ɡɚɧɢɦɚɸɳɭɸ ɩɨɱɬɢ ɜɟɫɶ ɨɛɴɟɦ ɡɚɝɨɥɨɜɤɚ «.exe» ɮɚɣɥɚ. ɗɬɚ ɬɚɛɥɢɰɚ ɫɨɫɬɨɢɬ ɢɡ
4-ɛɚɣɬɨɜɵɯ ɩɨɥɟɣ, ɤɚɠɞɨɟ ɢɡ ɤɨɬɨɪɵɯ ɫɨɨɬɜɟɬɫɬɜɭɟɬ ɨɞɧɨɦɭ ɚɞɪɟɫɭɫɟɝɦɟɧɬɭ, ɢɫɩɨɥɶɡɭɟɦɨɦɭ ɤɚɤɨɣ-ɬɨ ɤɨɦɚɧɞɨɣ
ɩɪɨɝɪɚɦɦɵ ɢ ɬɪɟɛɭɸɳɟɦɭ
ɧɚɫɬɪɨɣɤɢ ɜ ɡɚɜɢɫɢɦɨɫɬɢ ɨɬ ɮɚɤɬɢɱɟɫɤɨɝɨ ɪɚɡɦɟɳɟɧɢɹ ɩɪɨɝɪɚɦɦɵ ɜ ɩɚɦɹɬɢ.
ȼ ɤɚɱɟɫɬɜɟ ɫɨɞɟɪɠɢɦɨɝɨ ɷɬɨɝɨ ɩɨɥɹ ɪɟɞɚɤɬɨɪ ɫɜɹɡɟɣ ɡɚɩɢɫɵɜɚɟɬ ɭɫɥɨɜɧɵɣ
ɥɨɝɢɱɟɫɤɢɣ ɚɞɪɟɫ (ɫɟɝɦɟɧɬ ɢ ɫɦɟɳɟɧɢɟ) ɬɨɣ ɹɱɟɣɤɢ (ɞɜɭɯ ɛɚɣɬɨɜ) ɩɪɨɝɪɚɦɦɵ, ɤɨɬɨɪɚɹ ɫɨɞɟɪɠɢɬ ɚɞɪɟɫ-ɫɟɝɦɟɧɬ, ɬɪɟɛɭɸɳɢɣ ɧɚɫɬɪɨɣɤɢ.
102

ɇɚɫɬɪɨɣɤɚ ɚɞɪɟɫɨɜ-ɫɟɝɦɟɧɬɨɜ ɩɪɨɝɪɚɦɦɵ ɩɪɨɢɡɜɨɞɢɬɫɹ ɡɚɝɪɭɡɱɢɤɨɦ
ɧɟɩɨɫɪɟɞɫɬɜɟɧɧɨ ɩɨɫɥɟ ɪɚɡɦɟɳɟɧɢɹ ɩɪɨɝɪɚɦɦɵ (ɜ ɬɨɦ ɱɢɫɥɟ ɢ PSP)
ɜ ɨɩɟɪɚɬɢɜɧɨɣ ɩɚɦɹɬɢ. Ⱦɥɹ ɷɬɨɝɨ ɡɚɝɪɭɡɱɢɤ ɩɨɫɥɟɞɨɜɚɬɟɥɶɧɨ ɩɪɨɫɦɚɬɪɢɜɚɟɬ ɬɚɛɥɢɰɭ ɧɚɫɬɪɨɣɤɢ, ɫɱɢɬɵɜɚɹ ɢɡ ɧɟɟ ɭɤɚɡɚɬɟɥɶ ɧɚ ɨɱɟɪɟɞɧɭɸ ɩɨɫɥɟɞɨɜɚɬɟɥɶɧɨɫɬɶ, ɫɨɫɬɨɹɳɭɸ ɢɡ ɞɜɭɯ ɛɚɣɬɨɜ ɩɪɨɝɪɚɦɦɵ ɢ ɬɪɟɛɭɸɳɭɸ
ɧɚɫɬɪɨɣɤɢ. Ɂɚɬɟɦ ɡɚɝɪɭɡɱɢɤ ɩɪɢɛɚɜɥɹɟɬ ɤ ɢɯ ɫɨɞɟɪɠɢɦɨɦɭ (ɬɨ ɟɫɬɶ
ɤ
ɭɫɥɨɜɧɨɦɭ ɚɞɪɟɫɭ-ɫɟɝɦɟɧɬɭ) ɧɨɦɟɪ ɬɨɝɨ ɩɚɪɚɝɪɚɮɚ ɨɩɟɪɚɬɢɜɧɨɣ ɩɚɦɹɬɢ,
ɧɚɱɢɧɚɹ ɫ ɤɨɬɨɪɨɝɨ ɩɪɨɝɪɚɦɦɚ ɡɚɝɪɭɠɟɧɚ ɮɚɤɬɢɱɟɫɤɢ.
ɉɨɫɥɟ ɬɨɝɨ ɤɚɤ ɩɪɨɝɪɚɦɦɚ ɡɚɝɪɭɠɟɧɚ, ɡɚɝɪɭɡɱɢɤ ɩɟɪɟɞɚɟɬ ɟɣ ɭɩɪɚɜɥɟɧɢɟ. ɋɟɝɦɟɧɬɧɵɟ ɪɟɝɢɫɬɪɵ ɢ ɭɤɚɡɚɬɟɥɢ ɫɬɟɤɚ SP ɜ ɦɨɦɟɧɬ ɩɟɪɟɞɚɱɢ
ɭɩɪɚɜɥɟɧɢɹ «.exe» ɩɪɨɝɪɚɦɦɟ ɫɨɞɟɪɠɚɬ ɧɨɦɟɪ ɧɚɱɚɥɶɧɨɝɨ ɩɚɪɚɝɪɚɮɚ PSP.
Ȼɥɚɝɨɞɚɪɹ ɷɬɨɦɭ ɩɪɨɝɪɚɦɦɚ ɦɨɠɟɬ ɢɫɩɨɥɶɡɨɜɚɬɶ ɩɨɥɟɡɧɭɸ ɢɧɮɨɪɦɚɰɢɸ,
ɫɨɞɟɪɠɚɳɭɸɫɹ ɜ PSP. ɉɪɨɝɪɚɦɦɚ ɡɚɩɨɦɢɧɚɟɬ ɩɟɪɜɨɧɚɱɚɥɶɧɨɟ ɡɧɚɱɟɧɢɟ
ɷɬɢɯ ɪɟɝɢɫɬɪɨɜ ɢ ɨɛɵɱɧɨ ɡɚɩɢɫɵɜɚɟɬ ɜ ɧɢɯ ɧɨɜɨɟ ɡɧɚɱɟɧɢɟ, ɭɤɚɡɵɜɚɸɳɟɟ
ɧɚ ɧɚɱɚɥɨ ɨɛɥɚɫɬɢ ɞɚɧɧɵɯ ɩɪɨɝɪɚɦɦɵ. ȼ CS ɡɚɝɪɭɡɱɢɤ ɩɨɦɟɳɚɟɬ ɧɚɱɚɥɶɧɵɣ ɧɨɦɟɪ ɩɚɪɚɝɪɚɮɚ ɧɟ PSP, ɚ ɨɛɥɚɫɬɢ ɤɨɞɚ ɩɪɨɝɪɚɦɦɵ. Ⱥɧɚɥɨɝɢɱɧɨ ɫɨɞɟɪɠɢɦɨɟ SS ɭɤɚɡɵɜɚɟɬ ɧɚ ɝɪɚɧɢɰɭ ɨɛɥɚɫɬɢ ɫɬɟɤɚ ɩɪɨɝɪɚɦɦɵ.
ɂɫɯɨɞɧɚɹ ɩɪɨɝɪɚɦɦɚ, ɜɵɩɨɥɧɟɧɧɚɹ ɧɚ ɚɫɫɟɦɛɥɟɪɟ, ɨɪɢɟɧɬɢɪɨɜɚɧɧɚɹ
ɧɚ ɩɨɥɭɱɟɧɢɟ «.exe» ɩɪɨɝɪɚɦɦɵ, ɤɪɨɦɟ ɜɢɪɬɭɚɥɶɧɵɯ ɫɟɝɦɟɧɬɨɜ ɤɨɞɚ ɢ
ɞɚɧɧɵɯ, ɨɛɹɡɚɬɟɥɶɧɨ ɢɦɟɟɬ ɜɢɪɬɭɚɥɶɧɵɣ ɫɟɝɦɟɧɬ ɫɬɟɤɚ. ɉɨɪɹɞɨɤ ɡɚɩɢɫɢ
ɷɬɢɯ ɫɟɝɦɟɧɬɨɜ ɜ ɩɪɨɝɪɚɦɦɟ ɦɨɠɟɬ ɛɵɬɶ ɪɚɡɥɢɱɧɵɦ. ȼ ɤɚɱɟɫɬɜɟ ɬɨɱɤɢ
ɜɯɨɞɚ ɜ ɩɪɨɝɪɚɦɦɭ (ɨɩɟɪɚɧɞ ɨɩɟɪɚɬɨɪɚ END) ɦɨɠɟɬ ɛɵɬɶ ɡɚɞɚɧ ɥɸɛɨɣ
ɢɫɩɨɥɧɢɬɟɥɶɧɵɣ ɨɩɟɪɚɬɨɪ ɩɪɨɝɪɚɦɦɵ.
23. Ɋɟɡɢɞɟɧɬɧɵɟ ɩɪɨɝɪɚɦɦɵ
Ɉɛɵɱɧɵɟ ɩɪɢɤɥɚɞɧɵɟ ɩɪɨɝɪɚɦɦɵ ɩɪɢɫɭɬɫɬɜɭɸɬ ɜ ɨɩɟɪɚɬɢɜɧɨɣ ɩɚɦɹɬɢ ɬɨɥɶɤɨ ɜɨ ɜɪɟɦɹ ɫɜɨɟɝɨ ɜɵɩɨɥɧɟɧɢɹ. Ʉɨɝɞɚ ɨɧɨ ɡɚɜɟɪɲɟɧɨ (ɧɚɩɪɢɦɟɪ, ɜ ɪɟɡɭɥɶɬɚɬɟ ɫɢɫɬɟɦɧɨɝɨ ɜɵɡɨɜɚ INT 21h, ɮɭɧɤɰɢɹ 4Ch), ɜɫɹ ɡɚɧɢɦɚɜɲɚɹɫɹ ɩɪɨɝɪɚɦɦɨɣ ɩɚɦɹɬɶ ɨɫɜɨɛɨɠɞɚɟɬɫɹ ɢ ɦɨɠɟɬ ɛɵɬɶ ɪɚɫɩɪɟɞɟɥɟɧɚ
ɞɪɭɝɨɣ ɩɪɨɝɪɚɦɦɟ. ȿɫɥɢ ɩɪɨɝɪɚɦɦɚ ɛɭɞɟɬ ɜɨɫɬɪɟɛɨɜɚɧɚ ɜ ɞɚɥɶɧɟɣɲɟɦ
ɞɥɹ ɦɧɨɝɨɤɪɚɬɧɨɝɨ ɨɛɫɥɭɠɢɜɚɧɢɹ ɞɪɭɝɢɯ ɩɪɢɤɥɚɞɧɵɯ ɩɪɨɝɪɚɦɦ ɢ/ɢɥɢ
ɨɫɨɛɨɣ ɨɛɪɚɛɨɬɤɢ ɤɚɤɢɯ-ɬɨ ɫɨɛɵɬɢɣ, ɜɨɡɧɢɤɚɸɳɢɯ ɜ ɜɵɱɢɫɥɢɬɟɥɶɧɨɣ ɫɢɫɬɟɦɟ, ɬɨ ɠɟɥɚɬɟɥɶɧɨ ɫɞɟɥɚɬɶ ɩɪɨɝɪɚɦɦɭ ɪɟɡɢɞɟɧɬɧɨɣ.
Ɋɟɡɢɞɟɧɬɧɚɹ ɩɪɨɝɪɚɦɦɚ – ɩɪɨɝɪɚɦɦɚ, ɩɨɫɬɨɹɧɧɨ ɧɚɯɨɞɹɳɚɹɫɹ ɜ ɨɩɟɪɚɬɢɜɧɨɣ ɩɚɦɹɬɢ. ɇɚɩɪɢɦɟɪ, ɪɟɡɢɞɟɧɬɧɚ ɨɫɧɨɜɧɚɹ ɱɚɫɬɶ ɨɩɟɪɚɰɢɨɧɧɨɣ
ɫɢɫɬɟɦɵ, ɧɚɡɵɜɚɟɦɚɹ ɹɞɪɨɦ.
Ⱦɥɹ ɬɨɝɨ ɱɬɨɛɵ ɫɞɟɥɚɬɶ ɩɪɨɝɪɚɦɦɭ ɪɟɡɢɞɟɧɬɧɨɣ, ɞɨɫɬɚɬɨɱɧɨ ɜɨɫɩɨɥɶɡɨɜɚɬɶɫɹ ɫɢɫɬɟɦɧɵɦ ɜɵɡɨɜɨɦ INT 27h. Ɉɧ ɡɚɜɟɪɲɚɟɬ ɜɵɩɨɥɧɟɧɢɟ
ɩɪɨɝɪɚɦɦɵ, ɨɫɬɚɜɢɜ ɟɟ
ɜ ɩɚɦɹɬɢ. ɉɟɪɟɞ ɩɪɢɦɟɧɟɧɢɟɦ ɜɵɡɨɜɚ ɩɪɨɝɪɚɦɦɚ
ɞɨɥɠɧɚ ɩɨɦɟɫɬɢɬɶ ɜ ɪɟɝɢɫɬɪ DX ɚɞɪɟɫ-ɫɦɟɳɟɧɢɟ ɞɥɹ ɛɚɣɬɚ, ɪɚɫɩɨɥɨɠɟɧɧɨɝɨ ɩɨɫɥɟ ɪɟɡɢɞɟɧɬɧɨɣ ɩɪɨɝɪɚɦɦɵ.
103

ɋɨɡɞɚɧɧɚɹ ɪɟɡɢɞɟɧɬɧɚɹ ɩɪɨɝɪɚɦɦɚ ɡɚɧɢɦɚɟɬ ɫɜɨɟ ɦɟɫɬɨ ɜ ɩɚɦɹɬɢ, ɧɨ
ɧɢɱɟɝɨ ɧɟ ɪɚɛɨɬɚɟɬ (ɧɟ ɜɵɩɨɥɧɢɦɚ ɧɚ ɰɟɧɬɪɚɥɶɧɨɦ ɩɪɨɰɟɫɫɨɪɟ). ɗɬɨ ɩɪɨɞɨɥɠɚɟɬɫɹ ɞɨ ɬɟɯ ɩɨɪ, ɩɨɤɚ ɩɪɨɝɪɚɦɦɚ ɧɟ ɛɭɞɟɬ ɢɧɢɰɢɢɪɨɜɚɧɚ (ɡɚɩɭɳɟɧɚ).
ȿɞɢɧɫɬɜɟɧɧɨ ɜɨɡɦɨɠɧɵɦ ɢɫɬɨɱɧɢɤɨɦ ɬɚɤɨɝɨ ɢɧɢɰɢɢɪɨɜɚɧɢɹ ɹɜɥɹɟɬɫɹ ɩɨɫɬɭɩɥɟɧɢɟ ɜ ɰɟɧɬɪɚɥɶɧɵɣ ɩɪɨɰɟɫɫɨɪ ɫɢɝɧɚɥɚ ɩɪɟɪɵɜɚɧɢɹ. ɉɨɷɬɨɦɭ ɪɟɡɢɞɟɧɬɧɚɹ ɩɪɨɝɪɚɦɦɚ ɜɫɟɝɞɚ ɹɜɥɹɟɬɫɹ ɨɛɪɚɛɨɬɱɢɤɨɦ ɩɪɟɪɵɜɚɧɢɣ.
Ɉɛɹɡɚɬɟɥɶɧɵɦ
ɭɫɥɨɜɢɟɦ ɡɚɩɭɫɤɚɟɦɨɫɬɢ ɨɛɪɚɛɨɬɱɢɤɚ ɩɪɟɪɵɜɚɧɢɣ ɹɜɥɹɟɬɫɹ ɪɚɡɦɟɳɟɧɢɟ ɟɝɨ ɫɬɚɪɬɨɜɨɝɨ ɚɞɪɟɫɚ ɜ ɜɟɤɬɨɪɟ ɩɪɟɪɵɜɚɧɢɣ, ɧɨɦɟɪ
ɤɨɬɨɪɨɝɨ ɫɨɜɩɚɞɚɟɬ ɫ ɧɨɦɟɪɨɦ ɩɪɟɪɵɜɚɧɢɹ. Ⱦɥɹ ɬɚɤɨɝɨ ɪɚɡɦɟɳɟɧɢɹ ɫɥɟɞɭɟɬ ɢɫɩɨɥɶɡɨɜɚɬɶ ɫɢɫɬɟɦɧɵɣ ɜɵɡɨɜ INT 21h (ɮɭɧɤɰɢɹ 25h). ɉɟɪɟɞ ɩɪɢɦɟɧɟɧɢɟɦ ɜɵɡɨɜɚ ɩɪɨɝɪɚɦɦɚ ɞɨɥɠɧɚ ɩɨɦɟɫɬɢɬɶ ɜ ɪɟɝɢɫɬɪ AL ɧɨɦɟɪ ɩɪɟɪɵɜɚɧɢɹ, ɚ ɜ ɪɟɝɢɫɬɪɵ DS ɢ DX – ɫɨɨɬɜɟɬɫɬɜɟɧɧɨ
ɚɞɪɟɫ-ɫɟɝɦɟɧɬ ɢ ɚɞɪɟɫ-
ɫɦɟɳɟɧɢɟ ɞɥɹ ɨɛɪɚɛɨɬɱɢɤɚ ɩɪɟɪɵɜɚɧɢɣ.
ȼɵɛɨɪ ɧɨɦɟɪɚ ɩɪɟɪɵɜɚɧɢɹ ɡɚɜɢɫɢɬ ɨɬ ɬɨɝɨ, ɤɚɤɭɸ ɮɭɧɤɰɢɸ ɛɭɞɟɬ
ɜɵɩɨɥɧɹɬɶ ɨɛɪɚɛɨɬɱɢɤ ɩɪɟɪɵɜɚɧɢɣ. ȿɫɥɢ ɜɵɩɨɥɧɹɟɦɚɹ ɢɦ ɮɭɧɤɰɢɹ ɪɟɚɥɢɡɨɜɚɧɚ ɜ ɫɢɫɬɟɦɟ, ɬɨ ɧɨɜɵɣ ɨɛɪɚɛɨɬɱɢɤ ɩɪɟɪɵɜɚɧɢɣ ɞɨɥɠɟɧ ɛɵɬɶ ɨɪɢɟɧɬɢɪɨɜɚɧ ɧɚ ɢɫɩɨɥɶɡɭɟɦɵɣ ɧɨɦɟɪ ɩɪɟɪɵɜɚɧɢɹ. ȼ ɩɪɨɬɢɜɧɨɦ ɫɥɭɱɚɟ ɞɥɹ ɧɨɜɨɣ
ɮɭɧɤɰɢɢ ɧɟɨɛɯɨɞɢɦɨ ɩɪɢɦɟɧɹɬɶ ɧɨɜɵɣ ɧɨɦɟɪ ɩɪɟɪɵɜɚɧɢɹ.
Ⱦɥɹ ɜɵɛɨɪɚ ɫɜɨɛɨɞɧɨɝɨ ɧɨɦɟɪɚ ɩɪɟɪɵɜɚɧɢɹ ɦɨɠɧɨ ɢɫɩɨɥɶɡɨɜɚɬɶ ɨɬɥɚɞɱɢɤ Debug. ɋ ɩɨɦɨɳɶɸ ɟɝɨ ɤɨɦɚɧɞɵ D 0:0 ɩɪɨɫɦɨɬɪɢɦ ɧɚɱɚɥɨ ɨɛɥɚɫɬɢ ɩɚɦɹɬɢ, ɡɚɧɢɦɚɟɦɨɣ ɬɚɛɥɢɰɟɣ ɜɟɤɬɨɪɨɜ ɩɪɟɪɵɜɚɧɢɣ. ȼ ɷɬɨɣ ɨɛɥɚɫɬɢ
ɜɵɛɟɪɟɦ ɥɸɛɭɸ ɩɨɫɥɟɞɨɜɚɬɟɥɶɧɨɫɬɶ ɢɡ ɱɟɬɵɪɟɯ ɧɭɥɟɜɵɯ ɛɚɣɬɨɜ, ɧɨɦɟɪ
ɦɥɚɞɲɟɝɨ ɢɡ ɤɨɬɨɪɵɯ ɞɟɥɢɬɫɹ ɛɟɡ ɨɫɬɚɬɤɚ ɧɚ ɱɟɬɵɪɟ. Ɍɨɝɞɚ ɱɚɫɬɧɨɟ ɨɬ ɬɚɤɨɝɨ ɞɟɥɟɧɢɹ ɟɫɬɶ ɢɫɤɨɦɵɣ ɧɨɦɟɪ ɩɪɟɪɵɜɚɧɢɹ.
ɇɚɩɪɢɦɟɪ, ɩɭɫɬɶ ɜɵɛɪɚɧɧɚɹ ɩɨɫɥɟɞɨɜɚɬɟɥɶɧɨɫɬɶ ɱɟɬɵɪɟɯ ɛɚɣɬɨɜ
ɧɚɱɢɧɚɟɬɫɹ ɫ ɧɨɦɟɪɚ 200h = 512. Ɍɨɝɞɚ ɢɫɤɨɦɵɣ ɧɨɦɟɪ ɩɪɟɪɵɜɚɧɢɹ
n = 200h/4 = 80h = 128.
Ⱦɪɭɝɢɦ ɫɪɟɞɫɬɜɨɦ ɭɦɟɧɶɲɟɧɢɹ ɡɚɬɪɚɬ ɩɚɦɹɬɢ, ɤɨɬɨɪɨɟ ɩɪɢɦɟɧɢɦɨ ɜ
ɩɪɨɝɪɚɦɦɟ, ɹɜɥɹɟɬɫɹ ɨɫɜɨɛɨɠɞɟɧɢɟ ɨɛɥɚɫɬɢ, ɜɵɞɟɥɟɧɧɨɣ ɞɥɹ ɛɥɨɤɚ ɨɤɪɭɠɟɧɢɹ ɩɪɨɝɪɚɦɦɵ. Ɉɧɚ ɫɬɚɬɢɱɟɫɤɢ ɧɚɡɧɚɱɚɟɬɫɹ ɥɸɛɨɣ ɩɪɨɝɪɚɦɦɟ, ɢ ɟɟ
ɪɚɡɦɟɪ ɤɪɚɬɟɧ 512 ɛɚɣɬɚɦ. ɉɨɞɨɛɧɨɟ ɨɫɜɨɛɨɠɞɟɧɢɟ ɜɨɡɦɨɠɧɨ ɩɨɬɨɦɭ,
ɱɬɨ ɧɚɲ ɨɛɪɚɛɨɬɱɢɤ ɩɪɟɪɵɜɚɧɢɣ (ɤɚɤ ɢ ɥɸɛɨɣ ɞɪɭɝɨɣ) ɷɬɭ ɨɛɥɚɫɬɶ ɧɟ ɢɫɩɨɥɶɡɭɟɬ.
ɉɟɪɜɵɟ ɤɨɦɚɧɞɵ ɨɛɪɚɛɨɬɱɢɤɚ ɩɪɟɪɵɜɚɧɢɣ ɡɚɩɨɦɢɧɚɸɬ ɜ ɫɬɟɤɟ, ɚ ɩɨɫɥɟɞɧɢɟ ɤɨɦɚɧɞɵ ɢɡɜɥɟɤɚɸɬ ɢɡ ɧɟɝɨ ɫɨɞɟɪɠɢɦɨɟ ɬɟɯ ɪɟɝɢɫɬɪɨɜ, ɜ ɤɨɬɨɪɵɟ
ɜɵɩɨɥɧɹɟɬɫɹ ɡɚɩɢɫɶ ɜ ɩɪɨɝɪɚɦɦɟ ɨɛɪɚɛɨɬɱɢɤɚ.
ɋɪɟɞɢ ɷɬɢɯ ɪɟɝɢɫɬɪɨɜ ɫɭɳɟɫɬɜɭɟɬ ɪɟɝɢɫɬɪ ɫɟɝɦɟɧɬɚ ɞɚɧɧɵɯ DS, ɜ ɤɨɬɨɪɵɣ ɨɛɪɚɛɨɬɱɢɤ ɡɚɩɢɫɵɜɚɟɬ ɧɨɜɨɟ ɡɧɚɱɟɧɢɟ, ɫɨɜɩɚɞɚɸɳɟɟ ɫ ɫɨɞɟɪɠɢɦɵɦ ɪɟɝɢɫɬɪɚ CS. ɗɬɨ ɨɛɭɫɥɨɜɥɟɧɨ ɬɟɦ, ɱɬɨ ɩɪɢ ɜɵɡɨɜɟ ɨɛɪɚɛɨɬɱɢɤɚ (ɱɟɪɟɡ ɩɪɟɪɵɜɚɧɢɟ) ɧɨɜɨɟ ɡɧɚɱɟɧɢɟ ɡɚɩɢɫɵɜɚɟɬɫɹ ɥɢɲɶ ɜ ɟɞɢɧɫɬɜɟɧɧɵɣ ɫɟɝɦɟɧɬɧɵɣ ɪɟɝɢɫɬɪ CS (ɷɬɨ ɡɧɚɱɟɧɢɟ ɛɟɪɟɬɫɹ ɢɡ ɜɟɤɬɨɪɚ ɩɪɟɪɵɜɚɧɢɣ).
104

Ɉɫɬɚɥɶɧɵɟ ɪɟɝɢɫɬɪɵ ɫɟɝɦɟɧɬɨɜ (DS, SS ɢ ES) ɫɨɯɪɚɧɹɸɬ ɫɜɨɟ ɡɧɚɱɟɧɢɟ,
ɩɨɥɭɱɟɧɧɨɟ ɪɚɧɟɟ ɜ ɜɵɡɜɚɜɲɟɣ ɩɪɨɝɪɚɦɦɟ. ɉɨɷɬɨɦɭ ɞɥɹ ɬɨɝɨ, ɱɬɨɛɵ ɩɪɨɝɪɚɦɦɚ ɨɛɪɚɛɨɬɱɢɤɚ ɦɨɝɥɚ ɢɫɩɨɥɶɡɨɜɚɬɶ ɫɜɨɢ ɞɚɧɧɵɟ, ɨɧɚ ɩɨɦɟɳɚɟɬ ɜ DS
ɫɨɨɬɜɟɬɫɬɜɭɸɳɢɣ ɚɞɪɟɫ-ɫɟɝɦɟɧɬ (ɞɥɹ «*.com» ɩɪɨɝɪɚɦɦ ɨɧ ɫɨɜɩɚɞɚɟɬ
ɫ ɫɨɞɟɪɠɢɦɵɦ CS).
ɋɨɞɟɪɠɢɦɨɟ ɪɟɝɢɫɬɪɨɜ SS ɢ SP ɩɨɫɬɭɩɚɟɬ ɜ ɨɛɪɚɛɨɬɱɢɤ ɩɪɟɪɵɜɚɧɢɣ
ɢɡ
ɜɵɡɵɜɚɸɳɟɣ ɩɪɨɝɪɚɦɦɵ ɛɟɡ ɢɡɦɟɧɟɧɢɣ, ɩɨɷɬɨɦɭ ɨɧ ɢɫɩɨɥɶɡɭɟɬ ɬɨɬ ɠɟ
ɫɚɦɵɣ ɫɬɟɤ, ɱɬɨ ɢ ɩɪɨɝɪɚɦɦɚ. ɗɬɨ ɫɜɨɣɫɬɜɨ ɩɨɡɜɨɥɹɟɬ ɜ ɞɨɫɬɚɬɨɱɧɨɣ ɫɬɟɩɟɧɢ ɭɩɪɨɫɬɢɬɶ ɜɵɩɨɥɧɟɧɢɟ ɢɧɮɨɪɦɚɰɢɨɧɧɨɝɨ ɨɛɦɟɧɚ ɦɟɠɞɭ ɩɪɨɝɪɚɦɦɨɣ ɢ ɨɛɪɚɛɨɬɱɢɤɨɦ, ɢɫɩɨɥɶɡɭɹ ɫɬɟɤ.
ɋɥɨɠɧɵɣ ɫɥɭɱɚɣ, ɤɨɝɞɚ ɨɛɪɚɛɨɬɱɢɤ ɩɪɟɪɵɜɚɧɢɣ ɞɨɥɠɟɧ ɢɫɩɨɥɶɡɨ-
ɜɚɬɶ ɭɠɟ ɡɚɧɹɬɵɣ ɜɟɤɬɨɪ ɩɪɟɪɵɜɚɧɢɣ, ɬɪɟɛɭɟɬ ɜɵɩɨɥɧɟɧɢɹ ɩɟɪɟɯɜɚɬɚ
ɩɪɟɪɵɜɚɧɢɣ – ɡɚɩɢɫɶ ɜ ɜɟɤɬɨɪ ɩɪɟɪɵɜɚɧɢɣ ɫɬɚɪɬɨɜɨɝɨ ɚɞɪɟɫɚ ɧɨɜɨɝɨ ɨɛɪɚɛɨɬɱɢɤɚ. ɗɬɨ ɦɨɠɧɨ ɫɞɟɥɚɬɶ, ɢɫɩɨɥɶɡɭɹ ɪɚɫɫɦɨɬɪɟɧɧɵɣ ɪɚɧɟɟ ɫɢɫɬɟɦɧɵɣ ɜɵɡɨɜ INT 21h, ɮɭɧɤɰɢɸ 25h. Ⱦɨɩɨɥɧɢɬɟɥɶɧɚɹ ɡɚɞɚɱɚ ɡɚɤɥɸɱɚɟɬɫɹ ɜ
ɬɨɦ, ɱɬɨ ɨɛɵɱɧɨ ɬɪɟɛɭɟɬɫɹ ɫɨɯɪɚɧɢɬɶ ɩɪɟɞɵɞɭɳɟɟ ɫɨɞɟɪɠɢɦɨɟ ɜɟɤɬɨɪɚ
ɩɪɟɪɵɜɚɧɢɣ ɞɥɹ ɬɨɝɨ, ɱɬɨɛɵ ɨɛɪɚɛɨɬɱɢɤ ɩɪɟɪɵɜɚɧɢɣ ɦɨɠɧɨ ɛɵɥɨ ɛɵ
ɜɩɨɫɥɟɞɫɬɜɢɢ ɢɧɢɰɢɢɪɨɜɚɬɶ.
Ⱦɥɹ ɱɬɟɧɢɹ ɭɫɬɚɪɟɜɲɟɝɨ ɫɨɞɟɪɠɢɦɨɝɨ ɜɟɤɬɨɪɚ ɩɪɟɪɵɜɚɧɢɣ ɢɫɩɨɥɶɡɭ-
ɫɢɫɬɟɦɧɵɣ ɜɵɡɨɜ INT 21h, ɮɭɧɤɰɢɹ 35h. ɉɟɪɟɞ ɜɵɩɨɥɧɟɧɢɟɦ ɜɵɡɨɜɚ
ɟɬɫɹ
ɩɪɨɝɪɚɦɦɚ ɞɨɥɠɧɚ ɩɨɦɟɫɬɢɬɶ ɜ ɪɟɝɢɫɬɪ AL ɧɨɦɟɪ ɩɪɟɪɵɜɚɧɢɹ. ȼ ɪɟɡɭɥɶɬɚɬɟ ɪɟɝɢɫɬɪɵ ES ɢ BX ɫɨɞɟɪɠɚɬ, ɫɨɨɬɜɟɬɫɬɜɟɧɧɨ, ɚɞɪɟɫ-ɫɟɝɦɟɧɬ ɢ ɚɞɪɟɫɫɦɟɳɟɧɢɟ, ɧɚɯɨɞɹɳɢɟɫɹ ɜ ɜɟɤɬɨɪɟ ɩɪɟɪɵɜɚɧɢɣ. Ⱦɚɥɟɟ ɷɬɢ ɚɞɪɟɫɚ ɦɨɝɭɬ
ɛɵɬɶ ɩɟɪɟɩɢɫɚɧɵ ɞɥɹ ɫɨɯɪɚɧɟɧɢɹ ɜ ɥɸɛɨɟ ɦɟɫɬɨ ɨɩɟɪɚɬɢɜɧɨɣ ɩɚɦɹɬɢ.
ɂɧɢɰɢɢɪɨɜɚɧɢɟ ɩɪɟɠɧɟɝɨ ɨɛɪɚɛɨɬɱɢɤɚ ɩɪɟɪɵɜɚɧɢɣ
ɦɨɠɟɬ ɩɨɬɪɟɛɨɜɚɬɶɫɹ ɜ ɞɜɭɯ ɫɥɭɱɚɹɯ. ȼɨ-ɩɟɪɜɵɯ, ɜ ɬɨɦ ɫɥɭɱɚɟ, ɟɫɥɢ ɧɨɜɵɣ ɨɛɪɚɛɨɬɱɢɤ
ɩɪɟɪɵɜɚɧɢɣ ɧɟ ɡɚɦɟɧɹɟɬ, ɚ ɪɚɫɲɢɪɹɟɬ ɮɭɧɤɰɢɢ, ɜɵɩɨɥɧɹɜɲɢɟɫɹ ɩɪɟɠɧɢɦ
ɨɛɪɚɛɨɬɱɢɤɨɦ.
ɉɨɫɥɟ ɬɨɝɨ, ɤɚɤ ɧɨɜɵɣ ɨɛɪɚɛɨɬɱɢɤ ɛɭɞɟɬ ɜɵɩɨɥɧɟɧ, ɨɧ ɞɨɥɠɟɧ ɩɟɪɟɞɚɬɶ ɭɩɪɚɜɥɟɧɢɟ ɫɬɚɪɨɦɭ ɨɛɪɚɛɨɬɱɢɤɭ. ȼɨ-ɜɬɨɪɵɯ, ɱɚɫɬɨ ɨɛɪɚɛɨɬɱɢɤ ɩɪɟɪɵɜɚɧɢɣ ɞɨɥɠɟɧ ɧɚɯɨɞɢɬɶɫɹ ɜ ɨɩɟɪɚɬɢɜɧɨɣ ɩɚɦɹɬɢ ɧɟ ɞɨ ɤɨɧɰɚ ɪɚɛɨɬɵ
ɫɢɫɬɟɦɵ. ȼ ɷɬɨɦ ɫɥɭɱɚɟ ɩɟɪɟɞ ɬɟɦ, ɤɚɤ ɨɫɜɨɛɨɞɢɬɶ ɩɚɦɹɬɶ, ɧɟɨɛɯɨɞɢɦɨ
ɜɨɫɫɬɚɧɨɜɢɬɶ ɫɬɚɪɵɣ ɨɛɪɚɛɨɬɱɢɤ ɩɪɟɪɵɜɚɧɢɣ. ɗɬɨ ɧɟɬɪɭɞɧɨ ɫɞɟɥɚɬɶ ɫ
ɩɨɦɨɳɶɸ ɫɢɫɬɟɦɧɨɝɨ ɜɵɡɨɜɚ INT 21h, ɮɭɧɤɰɢɹ 25h.
ȿɫɥɢ ɪɟɡɢɞɟɧɬɧɚɹ ɩɪɨɝɪɚɦɦɚ ɩɨɥɧɨɫɬɶɸ ɡɚɦɟɧɹɟɬ ɨɩɟɪɚɰɢɨɧɧɭɸ ɫɢɫɬɟɦɭ ɜ ɨɛɪɚɛɨɬɤɟ ɤɚɤɢɯ-ɬɨ ɬɢɩɨɜ ɩɪɟɪɵɜɚɧɢɣ, ɬɨ ɩɨ ɢɫɬɟɱɟɧɢɢ ɨɩɪɟɞɟɥɟɧɧɨɝɨ ɜɪɟɦɟɧɢ ɭ ɩɨɥɶɡɨɜɚɬɟɥɹ (ɢɥɢ ɭ ɩɪɢɤɥɚɞɧɨɣ ɩɪɨɝɪɚɦɦɵ) ɦɨɠɟɬ
ɜɨɡɧɢɤɧɭɬɶ ɠɟɥɚɧɢɟ ɜɟɪɧɭɬɶɫɹ ɤ ɫɢɫɬɟɦɧɨɣ ɨɛɪɚɛɨɬɤɟ ɷɬɢɯ ɩɪɟɪɵɜɚɧɢɣ.
Ⱦɥɹ ɷɬɨɝɨ ɫɥɟɞɭɟɬ ɜɵɩɨɥɧɢɬɶ ɫɥɟɞɭɸɳɢɟ ɬɪɢ ɞɟɣɫɬɜɢɹ:
–
ɡɚɤɪɵɬɶ ɮɚɣɥɵ, ɨɬɤɪɵɬɵɟ ɪɟɡɢɞɟɧɬɧɨɣ ɩɪɨɝɪɚɦɦɨɣ;
105

–
ɜɨɫɫɬɚɧɨɜɢɬɶ ɜɟɤɬɨɪɵ ɩɪɟɪɵɜɚɧɢɣ ɬɚɤ, ɱɬɨɛɵ ɨɧɢ ɭɤɚɡɵɜɚɥɢ ɧɚ ɫɢ-
ɫɬɟɦɧɵɟ ɨɛɪɚɛɨɬɱɢɤɢ;
–
ɨɫɜɨɛɨɞɢɬɶ ɩɚɦɹɬɶ, ɡɚɧɢɦɚɟɦɭɸ ɪɟɡɢɞɟɧɬɧɨɣ ɩɪɨɝɪɚɦɦɨɣ.
ɉɟɪɟɱɢɫɥɟɧɧɵɟ ɞɟɣɫɬɜɢɹ ɞɨɥɠɧɚ ɜɵɩɨɥɧɢɬɶ ɫɚɦɚ ɪɟɡɢɞɟɧɬɧɚɹ ɩɪɨɝɪɚɦɦɚ ɩɪɢ ɩɨɥɭɱɟɧɢɢ ɟɸ ɤɨɦɚɧɞɵ ɨ ɡɚɜɟɪɲɟɧɢɢ. ɇɚɩɪɢɦɟɪ, ɟɫɥɢ ɨɧɚ
ɜɵɩɨɥɧɹɟɬ ɨɛɪɚɛɨɬɤɭ ɩɪɟɪɵɜɚɧɢɣ ɨɬ ɤɥɚɜɢɚɬɭɪɵ, ɬɨ ɤɨɞ ɨɞɧɨɣ ɢɡ ɤɥɚɜɢɲ
(ɢɯ ɤɨɦɛɢɧɚɰɢɢ) ɦɨɠɟɬ ɢɫɩɨɥɶɡɨɜɚɬɶɫɹ ɜ ɤɚɱɟɫɬɜɟ ɬɚɤɨɣ ɤɨɦɚɧɞɵ.
Ⱦɥɹ ɜɨɫɫɬɚɧɨɜɥɟɧɢɹ ɜɟɤɬɨɪɨɜ ɩɪɟɪɵɜɚɧɢɣ ɦɨɠɧɨ ɢɫɩɨɥɶɡɨɜɚɬɶ ɪɚɫɫɦɨɬɪɟɧɧɵɟ ɪɚɧɟɟ ɫɢɫɬɟɦɧɵɟ ɜɵɡɨɜɵ INT 21h (ɮɭɧɤɰɢɢ 35h ɢ
25h). ɉɟɪɜɵɣ ɢɡ ɧɢɯ ɩɨɡɜɨɥɹɟɬ ɡɚɩɨɦɧɢɬɶ, ɚ ɜɬɨɪɨɣ – ɜɨɫɫɬɚɧɨɜɢɬɶ ɩɪɟɠɧɟɟ ɫɨɞɟɪɠɢɦɨɟ ɜɟɤɬɨɪɚ ɩɪɟɪɵɜɚɧɢɹ.
ɋ ɰɟɥɶɸ ɨɫɜɨɛɨɠɞɟɧɢɹ ɩɚɦɹɬɢ, ɡɚɧɢɦɚɟɦɨɣ ɪɟɡɢɞɟɧɬɧɨɣ ɩɪɨɝɪɚɦɦɨɣ, ɦɨɠɧɨ ɜɨɫɩɨɥɶɡɨɜɚɬɶɫɹ ɫɢɫɬɟɦɧɵɦ ɜɵɡɨɜɨɦ INT 21h (ɮɭɧɤɰɢɹ 49h),
ɤɨɬɨɪɵɣ ɬɪɟɛɭɟɬ ɡɚɞɚɧɢɹ ɜ ɪɟɝɢɫɬɪɟ ES ɚɞɪɟɫɚ-ɫɟɝɦɟɧɬɚ, ɬɚɤ ɤɚɤ ɜɨ ɜɪɟɦɹ
ɟɟ ɜɵɩɨɥɧɟɧɢɹ ɨɧ ɧɚɯɨɞɢɬɫɹ ɜ ɪɟɝɢɫɬɪɟ CS.
24. Ɏɚɣɥɨɜɚɹ ɨɪɝɚɧɢɡɚɰɢɹ
ɇɚ ɥɸɛɨɦ ɧɨɫɢɬɟɥɟ ɢɧɮɨɪɦɚɰɢɹ ɯɪɚɧɢɬɫɹ ɜ ɜɢɞɟ ɞɥɢɧɧɨɣ ɛɢɬɨɜɨɣ
ɫɬɪɨɤɢ, ɬɨ ɟɫɬɶ ɜ ɜɢɞɟ ɩɨɫɥɟɞɨɜɚɬɟɥɶɧɨɫɬɢ ɧɭɥɟɣ ɢ ɟɞɢɧɢɰ. ȼ ɨɬɥɢɱɢɟ ɨɬ
ɨɩɟɪɚɬɢɜɧɨɣ ɩɚɦɹɬɢ, ɜ ɤɨɬɨɪɨɣ ɛɢɬɨɜɚɹ ɫɬɪɨɤɚ ɪɚɡɛɢɬɚ ɧɚ ɛɚɣɬɵ, ɢɧɮɨɪɦɚɰɢɹ ɧɚ ɧɨɫɢɬɟɥɟ, ɧɚɩɪɢɦɟɪ, ɧɚ ɞɢɫɤɟ, ɪɚɡɛɢɜɚɟɬɫɹ ɧɚ ɮɢɤɫɢɪɨɜɚɧɧɵɟ
ɱɚɫɬɢ ɛɨɥɶɲɟɣ ɞɥɢɧɵ, ɧɚɡɵɜɚɟɦɵɟ ɫɟɤɬɨɪɚɦɢ ɜɨ ɜɪɟɦɹ ɮɢɡɢɱɟɫɤɨɝɨ
ɮɨɪɦɚɬɢɪɨɜɚɧɢɹ ɧɨɫɢɬɟɥɹ. Ɉɧɨ
ɡɚɜɢɫɢɬ ɧɟ ɬɨɥɶɤɨ ɨɬ ɢɫɩɨɥɶɡɭɟɦɨɣ ɨɩɟ-
ɪɚɰɢɨɧɧɨɣ ɫɢɫɬɟɦɵ, ɧɨ ɢ ɨɬ ɫɜɨɣɫɬɜ ɧɨɫɢɬɟɥɹ.
Ʉɪɨɦɟ ɹɱɟɟɤ (ɛɚɣɬɵ) ɨɩɟɪɚɬɢɜɧɨɣ ɩɚɦɹɬɢ, ɩɪɨɧɭɦɟɪɨɜɚɧɵ ɬɚɤɠɟ ɜɫɟ
ɫɟɤɬɨɪɵ ɧɨɫɢɬɟɥɹ ɜɧɟɲɧɟɣ ɩɚɦɹɬɢ. Ʌɸɛɚɹ ɩɪɢɤɥɚɞɧɚɹ ɢɥɢ ɫɢɫɬɟɦɧɚɹ ɩɪɨɝɪɚɦɦɚ, ɩɨɥɶɡɭɹɫɶ ɧɨɦɟɪɨɦ ɬɪɟɛɭɟɦɨɝɨ ɫɟɤɬɨɪɚ, ɦɨɠɟɬ ɜɵɩɨɥɧɢɬɶ ɱɬɟɧɢɟ
ɢɥɢ ɡɚɩɢɫɶ ɷɬɨɝɨ ɫɟɤɬɨɪɚ, ɨɛɪɚɬɢɜɲɢɫɶ ɤ ɞɪɚɣɜɟɪɭ ɫɨɨɬɜɟɬɫɬɜɭɸɳɟɝɨ
ɭɫɬɪɨɣɫɬɜɚ. Ⱦɪɚɣɜɟɪɵ ɩɨɡɜɨɥɹɸɬ ɩɪɨɝɪɚɦɦɚɦ ɜɵɩɨɥɧɹɬɶ ɢɧɮɨɪɦɚɰɢɨɧɧɵɣ ɨɛɦɟɧ ɧɟ ɬɨɥɶɤɨ ɫ ɭɫɬɪɨɣɫɬɜɚɦɢ, ɧɨ ɢ ɫ ɭɫɬɪɨɣɫɬɜɚɦɢ ɜɜɨɞɚ/ɜɵɜɨɞɚ.
Ɉɫɧɨɜɧɵɟ ɧɟɞɨɫɬɚɬɤɢ ɜɵɩɨɥɧɹɟɦɨɝɨ ɢɧɮɨɪɦɚɰɢɨɧɧɨɝɨ ɨɛɫɥɭɠɢɜɚɧɢɹ ɩɪɨɝɪɚɦɦ:
–
ɟɫɥɢ ɨɛɴɟɦ ɢɧɮɨɪɦɚɰɢɢ ɧɚ ɧɨɫɢɬɟɥɟ ɞɨɫɬɚɬɨɱɧɨ ɜɟɥɢɤ, ɬɨ ɜɫɹ ɪɚɛɨɬɚ ɩɨ ɩɨɢɫɤɭ ɧɟɨɛɯɨɞɢɦɵɯ ɫɟɤɬɨɪɨɜ ɜ ɷɬɨɦ ɨɛɴɟɦɟ ɩɟɪɟɤɥɚɞɵɜɚɟɬɫɹ ɧɚ
ɫɨɨɬɜɟɬɫɬɜɭɸɳɭɸ ɫɢɫɬɟɦɧɭɸ ɢɥɢ ɩɪɢɤɥɚɞɧɭɸ ɩɪɨɝɪɚɦɦɭ;
–
ɫɟɤɬɨɪɵ ɱɚɫɬɨ ɧɟ ɫɨɨɬɜɟɬɫɬɜɭɸɬ ɩɚɪɚɦɟɬɪɚɦ ɢɯ ɨɛɪɚɛɨɬɤɢ ɜ ɩɪɨɝɪɚɦɦɟ;
–
ɩɪɢ ɫɦɟɧɟ ɬɢɩɚ, ɢɫɩɨɥɶɡɭɟɦɨɝɨ ɞɥɹ ɜɜɨɞɚ ɢɥɢ ɜɵɜɨɞɚ ɢɧɮɨɪɦɚɰɢɢ
ɷɬɨɝɨ ɜɢɞɚ, ɩɪɢɯɨɞɢɬɫɹ ɜɧɨɫɢɬɶ ɫɭɳɟɫɬɜɟɧɧɵɟ ɢɡɦɟɧɟɧɢɹ ɜ ɩɪɨɝɪɚɦɦɭ
ɢɡ-ɡɚ ɜɥɢɹɧɢɹ ɢɧɬɟɪɮɟɣɫɨɜ ɫɨɨɬɜɟɬɫɬɜɭɸɳɢɯ ɞɪɚɣɜɟɪɨɜ. ɉɪɢɦɟɪɨɦ ɹɜɥɹɟɬɫɹ ɜɵɜɨɞ ɜɵɯɨɞɧɵɯ ɞɚɧɧɵɯ ɩɪɨɝɪɚɦɦɵ ɧɚ ɩɪɢɧɬɟɪ ɢɥɢ ɧɚ ɷɤɪɚɧ.
106

ɉɟɪɜɵɟ ɞɜɚ ɧɟɞɨɫɬɚɬɤɚ ɨɬɧɨɫɹɬɫɹ ɬɨɥɶɤɨ ɤ ɭɫɬɪɨɣɫɬɜɚɦ ɜɧɟɲɧɟɣ ɩɚɦɹɬɢ, ɚ ɩɨɫɥɟɞɧɟɟ – ɤɨ ɜɫɟɦ. Ⱦɥɹ ɭɫɬɪɚɧɟɧɢɹ ɩɟɪɟɱɢɫɥɟɧɧɵɯ ɬɪɭɞɧɨɫɬɟɣ
ɢɧɮɨɪɦɚɰɢɨɧɧɨɟ ɨɛɫɥɭɠɢɜɚɧɢɟ ɩɪɨɝɪɚɦɦ ɜ ɛɨɥɶɲɢɧɫɬɜɟ ɨɩɟɪɚɰɢɨɧɧɵɯ
ɫɢɫɬɟɦ ɜɵɩɨɥɧɹɟɬɫɹ ɫ ɩɨɦɨɳɶɸ ɮɚɣɥɨɜ. Ⱦɚɥɟɟ ɛɭɞɟɦ ɪɚɡɥɢɱɚɬɶ ɮɢɡɢɱɟɫɤɢɟ ɢ ɥɨɝɢɱɟɫɤɢɟ ɮɚɣɥɵ.
Ɏɢɡɢɱɟɫɤɢɣ ɮɚɣɥ – ɢɧɮɨɪɦɚɰɢɹ, ɪɚɫɩɨɥɨɠɟɧɧɚɹ ɜ ɧɟɩɪɟɪɵɜɧɨɣ
ɢɥɢ ɪɚɡɪɵɜɧɨɣ ɨɛɥɚɫɬɢ ɧɨɫɢɬɟɥɹ ɜɧɟɲɧɟɣ ɩɚɦɹɬɢ ɢ
ɢɦɟɸɳɚɹ ɭɧɢɤɚɥɶɧɨɟ
ɞɥɹ ɞɚɧɧɨɣ ɜɵɱɢɫɥɢɬɟɥɶɧɨɣ ɫɢɫɬɟɦɵ ɢɦɹ. ɂɧɮɨɪɦɚɰɢɹ (ɛɢɬɨɜɚɹ ɫɬɪɨɤɚ)
ɧɚ ɧɨɫɢɬɟɥɟ ɞɟɥɢɬɫɹ ɧɚ ɱɚɫɬɢ-ɮɚɣɥɵ ɩɨ ɫɦɵɫɥɨɜɨɦɭ ɩɪɢɧɰɢɩɭ.
ɇɚɩɪɢɦɟɪ, ɨɞɢɧ ɮɚɣɥ ɦɨɠɟɬ ɫɨɞɟɪɠɚɬɶ ɬɟɤɫɬ ɢɫɯɨɞɧɨɣ ɩɪɨɝɪɚɦɦɵ,
ɜɬɨɪɨɣ – ɟɟ ɨɛɴɟɤɬɧɵɣ ɦɨɞɭɥɶ, ɚ ɬɪɟɬɢɣ – ɡɚɝɪɭɡɨɱɧɵɣ ɦɨɞɭɥɶ. Ʉɪɨɦɟ ɬɨɝɨ, ɜ ɛɨɥɶɲɢɧɫɬɜɟ ɫɨɜɪɟɦɟɧɧɵɯ ɨɩɟɪɚɰɢɨɧɧɵɯ ɫɢɫɬɟɦ ɤɚɠɞɨɟ ɭɫɬɪɨɣɫɬɜɨ
ɜɜɨɞɚ-ɜɵɜɨɞɚ ɬɚɤɠɟ ɫɱɢɬɚɟɬɫɹ ɮɢɡɢɱɟɫɤɢɦ ɮɚɣɥɨɦ. ȼ ɪɟɡɭɥɶɬɚɬɟ ɜɫɟ ɢɧɮɨɪɦɚɰɢɨɧɧɨɟ ɨɛɫɥɭɠɢɜɚɧɢɟ ɩɪɨɝɪɚɦɦ ɜɵɩɨɥɧɹɸɬ ɩɨɞɩɪɨɝɪɚɦɦɵ ɨɩɟɪɚɰɢɨɧɧɨɣ ɫɢɫɬɟɦɵ, ɩɪɟɞɧɚɡɧɚɱɟɧɧɵɟ ɞɥɹ ɪɚɛɨɬɵ ɫ ɮɚɣɥɚɦɢ. Ⱦɨɫɬɭɩ ɤ
ɢɧɮɨɪɦɚɰɢɢ ɜ ɨɩɟɪɚɬɢɜɧɨɣ ɩɚɦɹɬɢ ɥɸɛɚɹ ɩɪɨɝɪɚɦɦɚ ɢɦɟɟɬ ɛɟɡ ɩɨɦɨɳɢ
ɷɬɢɯ ɩɨɞɩɪɨɝɪɚɦɦ.
Ɋɚɛɨɬɚ ɢɧɬɟɪɩɪɟɬɚɬɨɪɚ ɤɨɦɚɧɞ MS-DOS ɨɫɧɨɜɚɧɚ ɧɚ ɢɫɩɨɥɶɡɨɜɚɧɢɢ
ɫɢɫɬɟɦɧɨɝɨ ɜɵɡɨɜɚ EXEC - INT 21h (ɮɭɧɤɰɢɹ 4Bh, ɩɨɞɮɭɧɤɰɢɹ 00h),
ɨɛɟɫɩɟɱɢɜɚɸɳɟɝɨ ɡɚɝɪɭɡɤɭ ɡɚɞɚɧɧɨɝɨ com- ɢɥɢ
exe-ɮɚɣɥɚ, ɟɝɨ ɧɚɫɬɪɨɣɤɭ
(ɞɥɹ «*.exe»-ɮɚɣɥɚ), ɜɵɩɨɥɧɟɧɢɟ ɩɨɥɭɱɟɧɧɨɣ ɦɚɲɢɧɧɨɣ ɩɪɨɝɪɚɦɦɵ, ɚ ɡɚ-
ɬɟɦ ɜɨɡɜɪɚɬ ɜ ɬɭ ɬɨɱɤɭ ɩɪɨɝɪɚɦɦɵ ɂɄ, ɨɬɤɭɞɚ ɛɵɥ ɫɞɟɥɚɧ ɷɬɨɬ ɫɢɫɬɟɦɧɵɣ
ɜɵɡɨɜ.
Ȼɥɚɝɨɞɚɪɹ ɩɪɢɦɟɧɟɧɢɸ ɜɵɡɨɜɚ EXEC ɜ ɫɜɨɟɣ ɩɪɢɤɥɚɞɧɨɣ ɩɪɨɝɪɚɦɦɟ, ɦɵ ɫɦɨɠɟɦ ɡɚɩɭɫɬɢɬɶ (ɡɚɝɪɭɡɢɬɶ ɢ ɜɵɩɨɥɧɢɬɶ) ɥɸɛɭɸ ɞɪɭɝɭɸ ɩɪɢɤɥɚɞɧɭɸ ɢɥɢ ɫɢɫɬɟɦɧɭɸ ɨɛɪɚɛɚɬɵɜɚɸɳɭɸ ɩɪɨɝɪɚɦɦɭ. ȼ ɪɟɡɭɥɶɬɚɬɟ ɩɪɢɤɥɚɞɧɚɹ ɩɪɨɝɪɚɦɦɚ ɧɚɱɢɧɚɟɬ ɜɵɩɨɥɧɹɬɶ ɧɟɤɨɬɨɪɵɟ ɮɭɧɤɰɢɢ ɂɄ, ɚ ɩɪɢ
ɧɟɤɨɬɨɪɨɣ ɞɨɪɚɛɨɬɤɟ ɫɦɨɠɟɬ ɞɚɠɟ ɟɝɨ ɡɚɦɟɧɢɬɶ, ɬɚɤ ɤɚɤ ɨɫɧɨɜɧɚɹ ɱɚɫɬɶ
Ɉɋ (ɹɞɪɨ) ɪɚɫɫɦɚɬɪɢɜɚɟɬ ɂɄ ɤɚɤ ɨɛɵɱɧɭɸ ɨɛɪɚɛɚɬɵɜɚɸɳɭɸ ɩɪɨɝɪɚɦɦɭ
(ɥɢɧɝɜɢɫɬɢɱɟɫɤɢɣ ɩɪɨɰɟɫɫɨɪ).
Ɉɫɨɛɟɧɧɨɫɬɢ ɫɢɫɬɟɦɧɨɝɨ ɜɵɡɨɜɚ EXEC:
1. Ɉɬɧɨɲɟɧɢɟ ɦɟɠɞɭ «ɪɨɞɢɬɟɥɶɫɤɨɣ» ɢ «ɞɨɱɟɪɧɟɣ» ɩɪɨɝɪɚɦɦɚɦɢ
ɥɨɝɢɱɟɫɤɢ ɷɤɜɢɜɚɥɟɧɬɧɨ ɨɬɧɨɲɟɧɢɸ ɦɟɠɞɭ ɩɪɨɝɪɚɦɦɨɣ ɢ ɩɨɞɩɪɨɝɪɚɦɦɨɣ, ɜɵɡɵɜɚɟɦɨɣ ɫ ɩɨɦɨɳɶɸ ɤɨɦɚɧɞɵ CALL ɢɥɢ INT. ɉɨɞɨɛɧɨ ɩɨɞɩɪɨɝɪɚɦɦɟ, ɞɨɱɟɪɧɹɹ ɩɪɨɝɪɚɦɦɚ ɩɨ ɨɬɧɨɲɟɧɢɸ ɤ ɪɨɞɢɬɟɥɶɫɤɨɣ ɩɪɨɝɪɚɦɦɟ
ɹɜɥɹɟɬɫɹ ɥɨɝɢɱɟɫɤɨɣ ɩɪɨɰɟɞɭɪɨɣ, ɬɚɤ ɤɚɤ ɧɚ ɜɪɟɦɹ ɜɵɩɨɥɧɟɧɢɹ ɞɨɱɟɪɧɟɣ
ɩɪɨɝɪɚɦɦɵ ɞɟɣɫɬɜɢɟ ɪɨɞɢɬɟɥɶɫɤɨɣ ɩɪɨɝɪɚɦɦɵ ɩɪɢɨɫɬɚɧɚɜɥɢɜɚɟɬɫɹ, ɚ ɡɚɬɟɦ ɩɪɨɞɨɥɠɚɟɬɫɹ ɫ ɬɨɣ ɤɨɦɚɧɞɵ, ɤɨɬɨɪɚɹ ɪɚɫɩɨɥɨɠɟɧɚ ɜ ɩɪɨɝɪɚɦɦɟ
ɧɟɩɨɫɪɟɞɫɬɜɟɧɧɨ ɩɨɫɥɟ ɜɵɡɨɜɚ EXEC.
107

2. ɉɨɞɨɛɧɨ ɨɛɵɱɧɵɦ ɩɪɨɝɪɚɦɦɧɵɦ ɩɪɨɰɟɞɭɪɚɦ, ɞɨɱɟɪɧɢɟ ɩɪɨɝɪɚɦ-
ɦɵ ɦɨɝɭɬ ɛɵɬɶ ɜɥɨɠɟɧɧɵɦɢ, ɬ. ɟ ɫɨɞɟɪɠɚɬɶ ɜɵɡɨɜ EXEC, ɩɨɪɨɠɞɚɸɳɢɣ
ɞɪɭɝɭɸ ɩɪɨɝɪɚɦɦɭ ɢ ɬɚɤ ɞɚɥɟɟ.
3. ɉɪɟɠɞɟ ɱɟɦ ɜɵɞɚɜɚɬɶ ɜɵɡɨɜ EXEC, ɤɪɨɦɟ ɪɨɞɢɬɟɥɶɫɤɨɣ ɩɪɨɝɪɚɦɦɵ, ɞɨɥɠɧɚ ɛɵɬɶ ɜ ɧɚɥɢɱɢɢ ɫɜɨɛɨɞɧɚɹ ɩɚɦɹɬɶ, ɞɨɫɬɚɬɨɱɧɚɹ ɞɥɹ ɪɚɡɦɟɳɟɧɢɹ ɞɨɱɟɪɧɟɣ ɩɪɨɝɪɚɦɦɵ. ɋ ɷɬɨɣ ɰɟɥɶɸ ɪɨɞɢɬɟɥɶɫɤɚɹ ɩɪɨɝɪɚɦɦɚ ɞɨɥɠɧɚ
ɨɫɜɨɛɨɞɢɬɶɫɹ ɨɬ ɩɨɫɬɨɪɨɧɧɟɣ ɩɚɦɹɬɢ, ɪɚɧɟɟ ɜɵɞɟɥɟɧɧɨɣ, ɢɫɩɨɥɶɡɭɹ ɫɢɫɬɟɦɧɵɟ ɜɵɡɨɜɵ.
4. Ɂɚɩɭɫɤ ɩɪɨɝɪɚɦɦɵ ɫ ɩɨɦɨɳɶɸ ɜɵɡɨɜɚ EXEC ɩɪɟɞɩɨɥɚɝɚɟɬ ɧɚɥɢɱɢɟ ɦɟɠɞɭ ɪɨɞɢɬɟɥɶɫɤɨɣ ɢ ɞɨɱɟɪɧɟɣ ɩɪɨɝɪɚɦɦɚɦɢ ɧɟ ɬɨɥɶɤɨ ɭɩɪɚɜɥɹɸɳɟɝɨ, ɧɨ ɢ ɢɧɮɨɪɦɚɰɢɨɧɧɨɝɨ ɜɡɚɢɦɨɞɟɣɫɬɜɢɹ. ɉɪɢ ɷɬɨɦ ɢɧɮɨɪɦɚɰɢɹ ɦɨɠɟɬ ɛɵɬɶ ɩɟɪɟɞɚɧɚ ɤɚɤ ɜ ɩɪɹɦɨɦ ɧɚɩɪɚɜɥɟɧɢɢ (ɨɬ ɪɨɞɢɬɟɥɶɫɤɨɣ ɩɪɨɝɪɚɦɦɵ ɤ ɞɨɱɟɪɧɟɣ
), ɬɚɤ ɢ ɜ ɨɛɪɚɬɧɨɦ ɧɚɩɪɚɜɥɟɧɢɢ.
ɉɟɪɟɞɚɱɚ ɢɧɮɨɪɦɚɰɢɢ ɤ ɞɨɱɟɪɧɟɣ ɩɪɨɝɪɚɦɦɟ ɜɵɩɨɥɧɹɟɬɫɹ ɫ ɩɨɦɨɳɶɸ ɟɟ PSP, ɤɨɬɨɪɵɣ ɫɨɡɞɚɟɬɫɹ ɩɪɢ ɜɵɩɨɥɧɟɧɢɢ ɜɵɡɨɜɚ EXEC. ȿɫɥɢ ɢɧɮɨɪɦɚɰɢɹ ɧɟɡɧɚɱɢɬɟɥɶɧɚɹ ɩɨ ɨɛɴɟɦɭ, ɬɨ ɨɧɚ ɦɨɠɟɬ ɛɵɬɶ ɪɚɡɦɟɳɟɧɚ ɜ
«ɯɜɨɫɬɟ». Ȼɨɥɶɲɨɣ ɨɛɴɟɦ ɢɧɮɨɪɦɚɰɢɢ (ɞɨ 32 Ʉɛɚɣɬ) ɦɨɠɟɬ ɛɵɬɶ
ɪɚɡɦɟɳɟɧ ɜ ɛɥɨɤɟ ɨɤɪɭɠɟɧɢɹ ɩɪɨɝɪɚɦɦɵ. Ʉɪɨɦɟ ɬɨɝɨ, ɞɥɹ ɩɟɪɟɞɚɱɢ
ɞɚɧɧɵɯ ɧɚ ɜɯɨɞ ɞɨɱɟɪɧɟɣ ɩɪɨɝɪɚɦɦɵ ɦɨɝɭɬ
ɛɵɬɶ ɢɫɩɨɥɶɡɨɜɚɧɵ ɞɜɚ ɩɨɥɹ
PSP, ɩɪɟɞɧɚɡɧɚɱɟɧɧɵɟ ɞɥɹ ɯɪɚɧɟɧɢɹ ɭɫɬɚɪɟɜɲɢɯ ɬɢɩɨɜ ɛɥɨɤɨɜ
ɭɩɪɚɜɥɟɧɢɹ ɮɚɣɥɚɦɢ.
Ⱦɥɹ ɬɨɝɨ, ɱɬɨɛɵ ɜɵɩɨɥɧɟɧɢɟ ɜɵɡɨɜɚ EXEC ɩɪɢɜɟɥɨ ɤ ɫɨɡɞɚɧɢɸ
ɬɪɟɛɭɟɦɨɝɨ PSP, ɜ ɦɨɦɟɧɬ ɜɵɡɨɜɚ ɪɟɝɢɫɬɪɵ ɞɨɥɠɧɵ ɫɨɞɟɪɠɚɬɶ
ɫɥɟɞɭɸɳɢɟ ɞɚɧɧɵɟ:
DS : DX – (ɚɞɪɟɫ-ɫɟɝɦɟɧɬ : ɚɞɪɟɫ-ɫɦɟɳɟɧɢɟ) ɫɢɦɜɨɥɶɧɨɣ ɫɬɪɨɤɢ,
ɫɨɞɟɪɠɚɳɟɣ ɢɦɹ com- ɢɥɢ exe-ɮɚɣɥɚ, ɩɨɞɥɟɠɚɳɟɝɨ ɡɚɝɪɭɡɤɟ. ɋɪɚɡɭ ɩɨɫɥɟ
ɢɦɟɧɢ ɮɚɣɥɚ ɞɨɥɠɟɧ ɧɚɯɨɞɢɬɶɫɹ ɧɭɥɟɜɨɣ ɛɚɣɬ (00h);
ES : BX – (ɚɞɪɟɫ-ɫɟɝɦɟɧɬ : ɚɞɪɟɫ-ɫɦɟɳɟɧɢɟ) ɛɥɨɤɚ ɩɚɪɚɦɟɬɪɨɜ.
Ȼɥɨɤ ɩɚɪɚɦɟɬɪɨɜ ɫɨɞɟɪɠɢɬ:
1) 2 ɛɚɣɬɚ – ɚɞɪɟɫ-ɫɟɝɦɟɧɬ ɛɥɨɤɚ ɨɤɪɭɠɟɧɢɹ. ȿɫɥɢ ɷɬɢ ɛɚɣɬɵ
ɫɨɞɟɪɠɚɬ 0, ɬɨ ɞɨɱɟɪɧɹɹ ɩɪɨɝɪɚɦɦɚ ɩɨɥɭɱɚɟɬ ɤɨɩɢɸ ɛɥɨɤɚ ɨɤɪɭɠɟɧɢɹ
ɪɨɞɢɬɟɥɶɫɤɨɣ ɩɪɨɝɪɚɦɦɵ;
2) 4 ɛɚɣɬɚ – ɚɞɪɟɫ-ɫɦɟɳɟɧɢɟ ɢ ɚɞɪɟɫ-ɫɟɝɦɟɧɬ ɫɢɦɜɨɥɶɧɨɣ ɫɬɪɨɤɢ,
ɫɨɞɟɪɠɚɳɟɣ «ɯɜɨɫɬ» ɤɨɦɚɧɞɵ. ɗɬɚ ɫɬɪɨɤɚ ɡɚɤɚɧɱɢɜɚɟɬɫɹ ɫɢɦɜɨɥɨɦ
«ɜɨɡɜɪɚɬ ɤɚɪɟɬɤɢ» (0Dh), ɤɨɬɨɪɵɣ ɧɟ ɭɱɢɬɵɜɚɟɬɫɹ ɩɪɢ ɩɨɞɫɱɟɬɟ ɞɥɢɧɵ
«ɯɜɨɫɬɚ»;
3) 8 ɛɚɣɬɨɜ – ɚɞɪɟɫ-ɫɦɟɳɟɧɢɟ ɢ ɚɞɪɟɫ-ɫɟɝɦɟɧɬ ɞɜɭɯ ɛɥɨɤɨɜ ɭɩɪɚɜ-
ɥɟɧɢɹ ɮɚɣɥɚɦɢ (ɩɨ 4 ɛɚɣɬɚ).
ȼ ɩɪɨɫɬɟɣɲɟɦ ɫɥɭɱɚɟ, ɤɨɝɞɚ ɧɢ «ɯɜɨɫɬ», ɧɢ ɛɥɨɤɢ ɭɩɪɚɜɥɟɧɢɹ
ɮɚɣɥɚɦɢ ɧɟ ɢɫɩɨɥɶɡɭɸɬɫɹ ɞɥɹ ɩɟɪɟɞɚɱɢ ɢɧɮɨɪɦɚɰɢɢ ɧɚ ɜɯɨɞ ɞɨɱɟɪɧɟɣ
ɩɪɨɝɪɚɦɦɵ, ɚ ɛɥɨɤ ɨɤɪɭɠɟɧɢɹ ɬɚɤɨɣ ɠɟ, ɤɚɤ ɢ ɭ ɪɨɞɢɬɟɥɶɫɤɨɣ
108

ɩɪɨɝɪɚɦɦɵ, ɛɥɨɤ ɩɚɪɚɦɟɬɪɨɜ ɦɨɠɟɬ ɛɵɬɶ ɨɮɨɪɦɥɟɧ ɜ ɩɪɨɝɪɚɦɦɟ ɤɚɤ
ɩɨɫɥɟɞɨɜɚɬɟɥɶɧɨɫɬɶ 14 ɛɚɣɬɨɜ, ɡɚɩɨɥɧɟɧɧɵɯ ɧɭɥɹɦɢ.
ȼ ɫɥɭɱɚɟ ɨɲɢɛɨɱɧɨɝɨ ɡɚɜɟɪɲɟɧɢɹ ɜɵɡɨɜɚ EXEC ɜ ɪɨɞɢɬɟɥɶɫɤɭɸ
ɩɪɨɝɪɚɦɦɭ ɜɨɡɜɪɚɳɚɟɬɫɹ ɮɥɚɝ FC=1, ɚ ɜ ɪɟɝɢɫɬɪɟ AX – ɤɨɞ ɨɲɢɛɤɢ.
ȼ ɫɥɭɱɚɟ ɭɫɩɟɲɧɨɝɨ ɡɚɩɭɫɤɚ ɢ ɜɵɩɨɥɧɟɧɢɹ ɞɨɱɟɪɧɟɣ ɩɪɨɝɪɚɦɦɵ ɨɧɚ
ɦɨɠɟɬ ɩɟɪɟɞɚɬɶ ɜ ɪɨɞɢɬɟɥɶɫɤɭɸ ɩɪɨɝɪɚɦɦɭ ɥɸɛɨɣ ɨɛɴɟɦ ɢɧɮɨɪɦɚɰɢɢ,
ɢɫɩɨɥɶɡɭɹ ɞɥɹ ɷɬɨɝɨ
ɬɭ ɨɛɥɚɫɬɶ Ɉɉ, ɚɞɪɟɫ ɤɨɬɨɪɨɣ ɛɵɥ ɩɨɥɭɱɟɧ ɪɚɧɟɟ ɜ
ɫɨɫɬɚɜɟ ɞɪɭɝɨɣ ɢɧɮɨɪɦɚɰɢɢ, ɩɟɪɟɞɚɧɧɨɣ ɨɬ ɪɨɞɢɬɟɥɶɫɤɨɣ ɩɪɨɝɪɚɦɦɵ.
ɉɪɢɦɟɪ. ɋɥɟɞɭɸɳɚɹ ɩɪɨɝɪɚɦɦɚ ɜɵɩɨɥɧɹɟɬ ɪɨɥɶ ɩɪɨɫɬɟɣɲɟɝɨ ɢɧɬɟɪɩɪɟɬɚɬɨɪɚ ɤɨɦɚɧɞ MS-DOS. Ɉɧɚ ɡɚɩɪɚɲɢɜɚɟɬ ɭ ɩɨɥɶɡɨɜɚɬɟɥɹ ɢɦɹ
ɮɚɣɥɚ, ɫɨɞɟɪɠɚɳɟɝɨ ɡɚɝɪɭɡɨɱɧɵɣ ɦɨɞɭɥɶ ɬɪɟɛɭɟɦɨɣ ɩɪɨɝɪɚɦɦɵ, ɚ ɡɚɬɟɦ
ɷɬɭ ɩɪɨɝɪɚɦɦɭ ɡɚɩɭɫɤɚɟɬ. ɉɪɢ ɷɬɨɦ ɦɨɝɭɬ ɡɚɩɭɫɤɚɬɶɫɹ ɬɨɥɶɤɨ ɬɚɤɢɟ ɩɪɨɝɪɚɦɦɵ, ɤɨɬɨɪɵɟ ɧɟ ɬɪɟɛɭɸɬ ɨɬ ɪɨɞɢɬɟɥɶɫɤɨɣ ɩɪɨɝɪɚɦɦɵ ɤɚɤɢɯ-ɬɨ ɜɯɨɞɧɵɯ ɞɚɧɧɵɯ. ɉɨɫɥɟ ɡɚɩɭɫɤɚ ɞɨɱɟɪɧɟɣ ɩɪɨɝɪɚɦɦɵ (ɭɫɩɟɲɧɨɝɨ ɢɥɢ ɧɟɭɫɩɟɲɧɨɝɨ) ɧɚ ɷɤɪɚɧ ɨɩɹɬɶ ɜɵɜɨɞɢɬɫɹ ɩɪɢɝɥɚɲɟɧɢɟ ɜɜɟɫɬɢ ɢɦɹ ɮɚɣɥɚ.
ɉɪɨɝɪɚɦɦɚ, ɩɨ ɡɚɩɪɨɫɭ ɤɨɬɨɪɨɣ ɨɩɟɪɚɰɢɨɧɧɚɹ ɫɢɫɬɟɦɚ ɜɵɩɨɥɧɹɟɬ ɨɬɤɪɵɬɢɟ ɮɚɣɥɚ, ɞɨɥɠɧɚ ɫɨɨɛɳɢɬɶ ɜ ɫɢɫɬɟɦɧɨɦ ɡɚɩɪɨɫɟ ɧɟ ɬɨɥɶɤɨ ɢɦɹ ɨɬɤɪɵɜɚɟɦɨɝɨ ɮɢɡɢɱɟɫɤɨɝɨ ɮɚɣɥɚ, ɧɨ
ɢ ɬɢɩ ɩɨɫɥɟɞɭɸɳɟɣ ɪɚɛɨɬɵ ɫ ɧɢɦ
(ɱɬɟɧɢɟ ɢɥɢ ɡɚɩɢɫɶ). ȼ ɤɚɱɟɫɬɜɟ ɪɟɡɭɥɶɬɚɬɚ ɨɬɤɪɵɬɢɹ ɮɚɣɥɚ ɜ ɩɪɨɝɪɚɦɦɭ
ɜɨɡɜɪɚɳɚɟɬɫɹ ɥɨɝɢɱɟɫɤɢɣ ɟɝɨ ɧɨɦɟɪ.
Ɋɚɫɫɦɨɬɪɢɦ ɜɧɭɬɪɟɧɧɸɸ ɪɚɛɨɬɭ ɨɩɟɪɚɰɢɨɧɧɨɣ ɫɢɫɬɟɦɵ ɩɪɢ ɨɬɤɪɵɬɢɢ ɮɚɣɥɚ. ȼɨ-ɩɟɪɜɵɯ, ɨɩɟɪɚɰɢɨɧɧɚɹ ɫɢɫɬɟɦɚ ɫɨɡɞɚɟɬ ɞɥɹ ɪɚɛɨɬɵ ɫ ɧɢɦ
ɫɬɨɥɶɤɨ ɛɭɮɟɪɨɜ, ɫɤɨɥɶɤɨ ɬɢɩɨɜ ɨɩɟɪɚɰɢɣ ɢɧɮɨɪɦɚɰɢɨɧɧɨɝɨ ɨɛɦɟɧɚ ɫ ɧɢɦ
ɛɭɞɭɬ ɜɵɩɨɥɧɹɬɶɫɹ. ɉɨɷɬɨɦɭ ɩɪɢ ɨɬɤɪɵɬɢɢ ɮɚɣɥɚ ɢ ɧɚ ɱɬɟɧɢɟ, ɢ ɧɚ ɡɚɩɢɫɶ
ɟɦɭ ɜɵɞɟɥɹɸɬɫɹ ɞɜɚ ɛɭɮɟɪɚ, ɚ ɩɪɢ ɨɬɤɪɵɬɢɢ ɬɨɥɶɤɨ ɧɚ ɱɬɟɧɢɟ – ɨɞɢɧ.
Ɋɚɡɦɟɪ ɫɢɫɬɟɦɧɵɯ ɛɭɮɟɪɨɜ ɤɪɚɬɟɧ ɨɞɧɨɦɭ ɫɟɤɬɨɪɭ ɢ ɨɛɵɱɧɨ ɪɚɜɟɧ ɨɞɧɨɦɭ
ɤɥɚɫɬɟɪɭ.
ȼɨ-ɜɬɨɪɵɯ, ɨɩɟɪɚɰɢɨɧɧɚɹ ɫɢɫɬɟɦɚ ɩɨɦɟɳɚɟɬ ɛɥɨɤ ɭɩɪɚɜɥɟɧɢɹ ɮɚɣ-
ɥɨɦ (ȻɍɎ) ɜ ɫɜɨɸ ɬɚɛɥɢɰɭ ɨɬɤɪɵɬɵɯ ɮɚɣɥɨɜ. Ȼɥɨɤ ɭɩɪɚɜɥɟɧɢɹ ɮɚɣɥɨɦ
ɫɨɞɟɪɠɢɬ ɟɝɨ ɚɬɪɢɛɭɬɵ (ɩɟɪɟɩɢɫɵɜɚɸɬɫɹ ɢɡ ɤɚɬɚɥɨɝɚ), ɚ ɬɚɤɠɟ ɭɤɚɡɚɬɟɥɢ
ɧɚ ɫɢɫɬɟɦɧɵɟ ɛɭɮɟɪɵ, ɩɪɟɞɧɚɡɧɚɱɟɧɧɵɟ ɞɥɹ ɪɚɛɨɬɵ ɫ ɧɢɦ.
ȼ-ɬɪɟɬɶɢɯ, ɨɩɟɪɚɰɢɨɧɧɚɹ ɫɢɫɬɟɦɚ ɩɪɨɫɦɚɬɪɢɜɚɟɬ ɬɚɛɥɢɰɭ ɥɨɝɢɱɟɫɤɢɯ ɧɨɦɟɪɨɜ ɮɚɣɥɨɜ ɞɥɹ ɷɬɨɣ ɩɪɨɝɪɚɦɦɵ ɢ ɜɵɛɢɪɚɟɬ ɢɡ ɧɟɟ ɩɟɪɜɵɣ ɫɜɨ-
ɛɨɞɧɵɣ ɷɥɟɦɟɧɬ (ɫɨɞɟɪɠɢɬ FFh). ȼ ɧɟɝɨ ɩɨɦɟɳɚɟɬɫɹ ɧɨɦɟɪ ɫɨɨɬɜɟɬɫɬɜɭɸɳɟɝɨ ɛɥɨɤɚ ɭɩɪɚɜɥɟɧɢɹ ɜ ɬɚɛɥɢɰɟ ɨɬɤɪɵɬɵɯ ɮɚɣɥɨɜ
. ɉɨɫɥɟ ɷɬɨɝɨ ɨɩɟɪɚɰɢɨɧɧɚɹ ɫɢɫɬɟɦɚ ɜɨɡɜɪɚɳɚɟɬ ɭɩɪɚɜɥɟɧɢɟ ɜ ɩɪɨɝɪɚɦɦɭ, ɩɟɪɟɞɚɜ ɟɣ ɜ ɤɚɱɟɫɬɜɟ ɥɨɝɢɱɟɫɤɨɝɨ ɧɨɦɟɪɚ ɮɚɣɥɚ ɧɨɦɟɪ ɷɥɟɦɟɧɬɚ ɜ ɬɚɛɥɢɰɟ ɥɨɝɢɱɟɫɤɢɯ ɧɨɦɟɪɨɜ. Ɍɚɤɢɦ ɨɛɪɚɡɨɦ, ɜ ɪɟɡɭɥɶɬɚɬɟ ɨɬɤɪɵɬɢɹ ɮɚɣɥɚ ɫɨɡɞɚɟɬɫɹ ɩɭɬɶ ɨɬ ɥɨɝɢɱɟɫɤɨɝɨ ɧɨɦɟɪɚ ɮɚɣɥɚ ɜ ɩɪɨɝɪɚɦɦɟ ɞɨ ɮɢɡɢɱɟɫɤɨɝɨ ɮɚɣɥɚ ɧɚ ɧɨɫɢɬɟɥɟ.
Ⱦɥɹ ɩɪɨɝɪɚɦɦɵ, ɜɵɩɨɥɧɹɟɦɨɣ ɜ ɫɪɟɞɟ MS-DOS,
ɬɚɛɥɢɰɚ ɥɨɝɢɱɟɫɤɢɯ
ɧɨɦɟɪɨɜ ɮɚɣɥɨɜ ɫɨɞɟɪɠɢɬɫɹ ɜ PSP ɩɪɨɝɪɚɦɦɵ, ɧɚɱɢɧɚɹ ɫ ɚɞɪɟɫɚ-
109

ɫɦɟɳɟɧɢɹ 18h. Ɋɚɡɦɟɪ ɷɬɨɣ ɬɚɛɥɢɰɵ ɪɚɜɟɧ 20 ɛɚɣɬɚɦ (ɩɨ ɨɞɧɨɦɭ ɛɚɣɬɭ ɧɚ
ɧɨɦɟɪ ɮɚɣɥɚ). ɉɨɷɬɨɦɭ ɨɛɳɟɟ ɱɢɫɥɨ ɮɚɣɥɨɜ, ɨɬɤɪɵɬɵɯ ɜ ɩɪɨɝɪɚɦɦɟ, ɧɟ
ɦɨɠɟɬ ɩɪɟɜɵɲɚɬɶ 20.
ɂɡ ɷɬɢɯ ɧɨɦɟɪɨɜ ɩɟɪɜɵɟ ɩɹɬɶ ɫɪɟɞɚ MS-DOS ɢɫɩɨɥɶɡɭɟɬ ɫɚɦɚ, ɨɬɤɪɵ-
ɜɚɹ ɞɥɹ ɩɪɨɝɪɚɦɦɵ ɫɥɟɞɭɸɳɢɟ ɮɚɣɥɵ:
0 – ɫɬɚɧɞɚɪɬɧɨɟ ɭɫɬɪɨɣɫɬɜɨ ɜɜɨɞɚ (ɨɛɵɱɧɨ ɤɥɚɜɢɚɬɭɪɚ);
1 – ɫɬɚɧɞɚɪɬɧɨɟ ɭɫɬɪɨɣɫɬɜɨ ɜɵɜɨɞɚ (ɨɛɵɱɧɨ ɷɤɪɚɧ);
2 – ɭɫɬɪɨɣɫɬɜɨ
ɜɵɜɨɞɚ ɫɨɨɛɳɟɧɢɣ ɨɛ ɨɲɢɛɤɚɯ (ɷɤɪɚɧ);
3 – ɩɨɫɥɟɞɨɜɚɬɟɥɶɧɵɣ ɩɨɪɬ (ɨɛɵɱɧɨ COM1);
4 – ɩɚɪɚɥɥɟɥɶɧɵɣ ɩɨɪɬ (ɨɛɵɱɧɨ LPT1).
ȼɫɟ ɩɟɪɟɱɢɫɥɟɧɧɵɟ ɮɚɣɥɵ ɹɜɥɹɸɬɫɹ ɮɚɣɥɚɦɢ-ɭɫɬɪɨɣɫɬɜɚɦɢ. Ɇɚɤ-
ɫɢɦɚɥɶɧɨɟ ɱɢɫɥɨ ɮɚɣɥɨɜ, ɨɬɤɪɵɬɵɯ ɫɚɦɨɣ ɩɪɨɝɪɚɦɦɨɣ, ɧɟ ɦɨɠɟɬ ɩɪɟɜɵɲɚɬɶ 15. ɉɪɢ ɷɬɨɦ ɫɥɟɞɭɟɬ ɭɱɢɬɵɜɚɬɶ, ɱɬɨ ɩɪɨɝɪɚɦɦɚ ɧɚɫɥɟɞɭɟɬ ɨɬ ɪɨɞɢɬɟɥɶɫɤɨɣ ɩɪɨɝɪɚɦɦɵ ɜɫɟ ɮɚɣɥɵ, ɨɬɤɪɵɬɵɟ ɟɸ ɤ ɦɨɦɟɧɬɭ ɫɨɡɞɚɧɢɹ ɧɨɜɨɣ
ɩɪɨɝɪɚɦɦɵ. Ⱦɪɭɝɢɦ ɨɝɪɚɧɢɱɢɬɟɥɟɦ ɱɢɫɥɚ ɨɬɤɪɵɬɵɯ ɮɚɣɥɨɜ ɹɜɥɹɟɬɫɹ ɫɬɪɨɤɚ
FILES = N ɜ ɤɨɦɚɧɞɧɨɦ ɮɚɣɥɟ ɤɨɧɮɢɝɭɪɚɰɢɢ ɫɢɫɬɟɦɵ Config.sys.
ɑɢɫɥɨ N
ɡɚɞɚɟɬ ɩɪɟɞɟɥɶɧɨɟ ɫɭɦɦɚɪɧɨɟ ɱɢɫɥɨ ɨɬɤɪɵɬɵɯ ɜɨ ɜɫɟɣ ɫɢɫɬɟɦɟ ɮɚɣɥɨɜ.
ɂɦɟɧɧɨ ɫɬɨɥɶɤɨ ɫɬɪɨɤ ɢɦɟɟɬ ɬɚɛɥɢɰɚ ɨɬɤɪɵɬɵɯ ɮɚɣɥɨɜ. ɉɨɫɥɟɞɧɟɟ ɨɝɪɚɧɢɱɟɧɢɟ ɧɟɬɪɭɞɧɨ ɫɤɨɪɪɟɤɬɢɪɨɜɚɬɶ, ɢɫɩɨɥɶɡɭɹ ɥɸɛɨɣ ɬɟɤɫɬɨɜɵɣ ɪɟɞɚɤɬɨɪ.
ȼ ɨɬɥɢɱɢɟ ɨɬ ɬɚɛɥɢɰɵ ɥɨɝɢɱɟɫɤɢɯ ɧɨɦɟɪɨɜ, ɬɚɛɥɢɰɚ ɨɬɤɪɵɬɵɯ ɮɚɣɥɨɜ
ɹɜɥɹɟɬɫɹ ɜɧɭɬɪɟɧɧɟɣ ɬɚɛɥɢɰɟɣ MS-DOS, ɤ ɤɨɬɨɪɨɣ ɩɪɢɤɥɚɞɧɵɟ ɩɪɨɝɪɚɦɦɵ
ɧɟ ɢɦɟɸɬ ɧɟɩɨɫɪɟɞɫɬɜɟɧɧɨɝɨ ɞɨɫɬɭɩɚ. Ɋɚɛɨɬɭ ɫ ɷɬɨɣ ɬɚɛɥɢɰɟɣ
ɜɵɩɨɥɧɹɸɬ
ɬɨɥɶɤɨ ɩɨɞɩɪɨɝɪɚɦɦɵ Ɉɋ, ɢɧɢɰɢɢɪɭɟɦɵɟ ɜ ɪɟɡɭɥɶɬɚɬɟ ɫɢɫɬɟɦɧɵɯ ɜɵɡɨɜɨɜ.
Ⱦɥɹ ɫɨɡɞɚɧɢɹ ɢ ɨɬɤɪɵɬɢɹ ɮɚɣɥɨɜ ɢɫɩɨɥɶɡɭɸɬɫɹ ɫɥɟɞɭɸɳɢɟ ɫɢɫɬɟɦɧɵɟ ɜɵɡɨɜɵ MS-DOS: INT 21h (ɮɭɧɤɰɢɹ 3ɋh) ɢ INT 21h (ɮɭɧɤɰɢɹ 3Dh).
INT 21h (ɮɭɧɤɰɢɹ 3Ch) – ɫɨɡɞɚɧɢɟ ɢ ɨɬɤɪɵɬɢɟ ɮɚɣɥɚ. Ⱦɚɧɧɵɣ ɜɵɡɨɜ
ɫɨɡɞɚɟɬ ɢ ɨɬɤɪɵɜɚɟɬ ɧɨɜɵɣ ɮɚɣɥ. ȿɫɥɢ ɭɤɚɡɚɧɧɵɣ ɮɚɣɥ ɭɠɟ ɫɭɳɟɫɬɜɭɟɬ,
ɬɨ ɨɧ ɭɫɟɤɚɟɬɫɹ ɞɨ ɧɭɥɟɜɨɣ ɞɥɢɧɵ. ɉɟɪɟɞ ɩɪɢɦɟɧɟɧɢɟɦ ɜɵɡɨɜɚ ɩɪɨɝɪɚɦɦɚ
ɩɨɦɟɳɚɟɬ ɜ ɤɚɤɭɸ-ɬɨ ɨɛɥɚɫɬɶ ɨɩɟɪɚɬɢɜɧɨɣ ɩɚɦɹɬɢ ɫɢɦɜɨɥɶɧɭɸ ɫɬɪɨɤɭ,
ɩɪɟɞɫɬɚɜɥɹɸɳɭɸ ɫɨɛɨɣ ɢɦɹ ɫɨɡɞɚɜɚɟɦɨɝɨ ɮɚɣɥɚ ɢ ɡɚɤɚɧɱɢɜɚɸɳɭɸɫɹ ɧɭɥɟɜɵɦ ɛɚɣɬɨɦ. ɉɪɢ ɷɬɨɦ ɢɦɹ ɮɚɣɥɚ ɦɨɠɟɬ ɛɵɬɶ ɡɚɞɚɧɨ ɜ ɥɸɛɨɣ ɢɡ ɞɨɩɭɫɬɢɦɵɯ ɮɨɪɦ: ɢɦɹ-ɩɭɬɶ, ɩɪɟɞɜɚɪɹɟɦɨɟ ɢɦɟɧɟɦ ɥɨɝɢɱɟɫɤɨɝɨ ɞɢɫɤɚ; ɢɦɹɩɭɬɶ; ɩɪɨɦɟɠɭɬɨɱɧɨɟ ɢɦɹ ɮɚɣɥɚ; ɩɪɨɫɬɨɟ ɢɦɹ
.
ȼ ɪɟɝɢɫɬɪɵ DS ɢ DX ɩɪɨɝɪɚɦɦɚ ɞɨɥɠɧɚ ɩɨɦɟɫɬɢɬɶ, ɫɨɨɬɜɟɬɫɬɜɟɧɧɨ,
ɚɞɪɟɫ-ɫɟɝɦɟɧɬ ɢ ɚɞɪɟɫ-ɫɦɟɳɟɧɢɟ ɨɛɥɚɫɬɢ ɩɚɦɹɬɢ ɫ ɢɦɟɧɟɦ ɮɚɣɥɚ. ȼ ɪɟɝɢɫɬɪɟ CX ɞɨɥɠɧɚ ɛɵɬɶ ɪɚɫɩɨɥɨɠɟɧɚ ɛɢɬɨɜɚɹ ɫɬɪɨɤɚ, ɡɚɞɚɸɳɚɹ ɨɫɨɛɵɟ
ɫɜɨɣɫɬɜɚ ɫɨɡɞɚɜɚɟɦɨɝɨ ɮɚɣɥɚ. ɉɪɢ ɷɬɨɦ ɭɫɬɚɧɨɜɤɚ ɤɚɠɞɨɝɨ ɛɢɬɚ ɡɚɞɚɟɬ
ɨɞɧɨ ɨɫɨɛɨɟ ɫɜɨɣɫɬɜɨ (ɚɬɪɢɛɭɬ) ɮɚɣɥɚ. ɇɚɩɪɢɦɟɪ, ɛɢɬ 1 = 1 ɬɪɟɛɭɟɬ, ɱɬɨɛɵ
ɮɚɣɥ ɛɵɥ ɫɤɪɵɬɵɦ (ɟɝɨ ɢɦɹ ɧɟ ɞɨɥɠɧɨ ɜɵɜɨɞɢɬɶɫɹ ɧɚ ɷɤɪɚɧ ɩɪɢ ɜɵɩɨɥɧɟɧɢɢ ɭɬɢɥɢɬɵ DIR). ȿɫɥɢ ɫɨɡɞɚɟɬɫɹ ɨɛɵɤɧɨɜɟɧɧɵɣ ɮɚɣɥ, ɬɨ ɜɫɟ ɛɢɬɵɚɬɪɢɛɭɬɵ ɞɨɥɠɧɵ ɛɵɬɶ ɧɭɥɟɜɵɦɢ.
110
Соседние файлы в предмете [НЕСОРТИРОВАННОЕ]
