Добавил:
ivanov666
Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз:
Предмет:
Файл:Микропроцессоры. Учебник
.pdf
3) ɱɟɪɟɡ ɫɬɟɤ;
4) ɫ ɩɨɦɨɳɶɸ ɞɢɪɟɤɬɢɜɵ extrn ɢ ɪubliɫ.
ɉɟɪɟɞɚɱɚ ɚɪɝɭɦɟɧɬɨɜ ɱɟɪɟɡ ɪɟɝɢɫɬɪɵ
ɗɬɨ ɧɚɢɛɨɥɟɟ ɩɪɨɫɬɨɣ ɜ ɪɟɚɥɢɡɚɰɢɢ ɫɩɨɫɨɛ ɩɟɪɟɞɚɱɢ ɞɚɧɧɵɯ. Ɉɧɢ
ɫɬɚɧɨɜɹɬɫɹ ɞɨɫɬɭɩɧɵɦɢ ɧɟɦɟɞɥɟɧɧɨ ɩɨɫɥɟ ɩɟɪɟɞɚɱɢ ɭɩɪɚɜɥɟɧɢɹ ɩɪɨɰɟɞɭɪɟ. ɗɬɨɬ ɫɩɨɫɨɛ ɨɫɨɛɟɧɧɨ ɷɮɮɟɤɬɢɜɟɧ ɩɪɢ ɧɟɛɨɥɶɲɨɦ ɨɛɴɟɦɟ ɩɟɪɟɞɚɜɚɟɦɵɯ ɞɚɧɧɵɯ. Ɉɝɪɚɧɢɱɟɧɢɹ ɧɚ ɫɩɨɫɨɛ ɩɟɪɟɞɚɱɢ ɚɪɝɭɦɟɧɬɨɜ ɱɟɪɟɡ ɪɟɝɢɫɬɪɵ:
1. ɇɟɡɧɚɱɢɬɟɥɶɧɨɟ ɱɢɫɥɨ ɞɨɫɬɭɩɧɵɯ ɞɥɹ ɩɨɥɶɡɨɜɚɬɟɥɹ ɪɟɝɢɫɬɪɨɜ.
2. ɇɟɨɛɯɨɞɢɦɨ ɭɱɢɬɵɜɚɬɶ ɢɧɮɨɪɦɚɰɢɸ ɜ ɤɚɠɞɨɦ
ɪɟɝɢɫɬɪɟ.
3. Ɉɝɪɚɧɢɱɟɧɢɟ ɪɚɡɦɟɪɚ ɩɟɪɟɞɚɜɚɟɦɵɯ ɞɚɧɧɵɯ ɪɚɡɦɟɪɚɦɢ ɪɟɝɢɫɬɪɚ.
ȿɫɥɢ ɪɚɡɦɟɪ ɞɚɧɧɵɯ ɩɪɟɜɵɲɚɟɬ ɜɨɫɟɦɶ, ɲɟɫɬɧɚɞɰɚɬɶ ɢɥɢ ɬɪɢɞɰɚɬɶ ɞɜɚ
ɛɢɬɚ, ɬɨ ɢɯ ɩɟɪɟɞɚɬɶ ɩɨɫɪɟɞɫɬɜɨɦ ɪɟɝɢɫɬɪɨɜ ɧɟɜɨɡɦɨɠɧɨ. ȼ ɷɬɨɦ ɫɥɭɱɚɟ
ɧɟɨɛɯɨɞɢɦɨ ɩɟɪɟɞɚɜɚɬɶ ɧɟ ɫɚɦɢ ɞɚɧɧɵɟ, ɚ ɭɤɚɡɚɬɟɥɢ ɧɚ ɧɢɯ.
include \masm32\include\windows.inc
include \masm32\include\kernel32.inc
include \masm32\include\fpu.inc
include \masm32\include\user32.inc
includelib \masm32\lib\user32.lib
includelib \masm32\lib\kernel32.lib
includelib \masm32\lib\fpu.lib
ExitProcess proto: DWORD
. Data; ɞɢɪɟɤɬɢɜɚ ɨɩɪɟɞɟɥɟɧɢɹ ɞɚɧɧɵɯ
st1 db "ȼɵɜɨɞ", 0
st2 db 10 dup (?), 0
ifmd db "Ɋɚɡɦɟɪ ɦɚɫɫɢɜɚ =% d. Ʉɨɥɢɱɟɫɬɜɨ ɨɞɢɧɚɤɨɜɵɯ ɛɢɬɨɜ 4 ɢ 9
=% d", 0
masivA dw 591,34,34,45,2,6,2, -6,1,9,8,6,4,5,45,12,12,31,46,84,54, -54, -
25 , 88,70,37, -1,0,0,5,0
masivB dw 963,2,7,43,13, -7,65,9,5,100,126,145,123,2,32, -
48,84,256,987,20, -54, -12, -200,4,0,0,9,8,215 ,54
masivC dw 30 dup (0)
work1 dw 0
work2 dw 0
sum dd 0
. Code; ɞɢɪɟɤɬɢɜɚ ɧɚɱɚɥɚ ɤɨɞɚ
_start:
mov eax, 0
mov ebx, 0
61

mov ecx, 30
mov edx, 0
lea esi, masivA
lea edi, masivB
lea edx, masivC
M1:
mov ax, [esi]
mov bx, [edi]
inc esi
inc esi
inc edi
inc edi
mov work1, ax; ɫɨɯɪɚɧɟɧɢɟ ɡɧɚɱɟɧɢɣ
mov work2, bx; ɫɨɯɪɚɧɟɧɢɟ ɡɧɚɱɟɧɢɣ
and eax, 210h; ɦɚɫɤɚ ɞɥɹ ɩɪɨɜɟɪɤɢ
and ebx, 210h;ɦɚɫɤɚ ɞɥɹ ɩɪɨɜɟɪɤɢ
. IF (eax == ebx; ɭɫɥɨɜɢɟ
jmp M3
. ENDIF
M2:
loop M1
jmp M4
M3:
inc sum
mov ax,work1
mov bx,work2
add ax,bx
mov [edx],ax; ɩɟɪɟɫɵɥɤɚ ɫɭɦɦɚ ɜ ɦɚɫɫɢɜ ɋ
inc edx
inc edx
jmp M2
M4:
mov ecx,30
mov ebx,sum
invoke wsprintf,\
ADDR st2,\
ADDR ifmd,\
62

ecx,bx
invoke MessageBox, \
NULL, \
addr st2, \
addr st1 \
MB_OK
invoke ExitProcess, 0
end _start; ɨɤɨɧɱɚɧɢɹ ɩɪɨɝɪɚɦɦɵ
ɉɟɪɟɞɚɱɚ ɚɪɝɭɦɟɧɬɨɜ ɱɟɪɟɡ ɨɛɳɭɸ ɨɛɥɚɫɬɶ ɩɚɦɹɬɢ
ɗɬɨɬ ɜɚɪɢɚɧɬ ɩɟɪɟɞɚɱɢ ɚɪɝɭɦɟɧɬɨɜ ɩɪɟɞɩɨɥɚɝɚɟɬ, ɱɬɨ ɜɵɡɵɜɚɸɳɚɹ ɢ
ɜɵɡɵɜɚɟɦɚɹ ɩɪɨɝɪɚɦɦɵ ɭɫɥɨɜɢɥɢɫɶ ɢɫɩɨɥɶɡɨɜɚɬɶ ɧɟɤɨɬɨɪɭɸ ɨɛɥɚɫɬɶ ɩɚɦɹɬɢ ɤɚɤ ɨɛɳɭɸ. Ɍɪɚɧɫɥɹɬɨɪ ɩɪɟɞɨɫɬɚɜɥɹɟɬ ɫɩɟɰɢɚɥɶɧɨɟ ɫɪɟɞɫɬɜɨ ɞɥɹ ɨɪɝɚɧɢɡɚɰɢɢ ɬɚɤɨɣ ɨɛɥɚɫɬɢ ɩɚɦɹɬɢ, ɤɚɤ ɚɬɪɢɛɭɬ ɤɨɦɛɢɧɢɪɨɜɚɧɢɹ ɫɟɝɦɟɧɬɨɜ.
ȿɝɨ ɧɚɥɢɱɢɟ ɭɤɚɡɵɜɚɟɬ ɤɨɦɩɨɧɨɜɳɢɤɭ ɧɚ ɬɨ, ɤɚɤ ɧɭɠɧɨ ɤɨɦɛɢɧɢɪɨɜɚɬɶ
ɫɟɝɦɟɧɬɵ, ɢɦɟɸɳɢɟ ɨɞɧɨ ɢɦɹ. Ɂɧɚɱɟɧɢɟ ɋɨmmɨn ɫɜɢɞɟɬɟɥɶɫɬɜɭɟɬ ɨ ɬɨɦ,
ɱɬɨ ɜɫɟ ɫɟɝɦɟɧɬɵ, ɢɦɟɸɳɢɟ ɨɞɢɧɚɤɨɜɨɟ ɢɦɹ ɜ ɨɛɴɟɞɢɧɹɟɦɵɯ ɦɨɞɭɥɹɯ, ɛɭɞɭɬ ɪɚɫɩɨɥɚɝɚɬɶɫɹ ɤɨɦɩɨɧɨɜɳɢɤɨɦ, ɧɚɱɢɧɚɹ ɫ ɨɞɧɨɝɨ ɚɞɪɟɫɚ ɨɩɟɪɚɬɢɜɧɨɣ
ɩɚɦɹɬɢ. ɗɬɨ ɡɧɚɱɢɬ, ɱɬɨ ɨɧɢ ɛɭɞɭɬ ɩɪɨɫɬɨ ɩɟɪɟɤɪɵɜɚɬɶɫɹ ɜ ɩɚɦɹɬɢ ɢ, ɫɥɟɞɨɜɚɬɟɥɶɧɨ, ɫɨɜɦɟɫɬɧɨ ɢɫɩɨɥɶɡɨɜɚɬɶ ɜɵɞɟɥɟɧɧɭɸ ɩɚɦɹɬɶ. ɇɟɞɨɫɬɚɬɤɨɦ
ɷɬɨɝɨ ɫɩɨɫɨɛɚ ɜ ɪɟɚɥɶɧɨɦ ɪɟɠɢɦɟ ɪɚɛɨɬɵ ɦɢɤɪɨɩɪɨɰɟɫɫɨɪɚ ɹɜɥɹɟɬɫɹ
ɨɬɫɭɬɫɬɜɢɟ ɫɪɟɞɫɬɜ ɡɚɳɢɬɵ ɞɚɧɧɵɯ ɨɬ ɪɚɡɪɭɲɟɧɢɹ, ɬɚɤ ɤɚɤ ɧɟɜɨɡɦɨɠɧɨ ɩɪɨɤɨɧɬɪɨɥɢɪɨɜɚɬɶ ɫɨɛɥɸɞɟɧɢɟ ɩɪɚɜɢɥ ɞɨɫɬɭɩɚ ɤ ɷɬɢɦ ɞɚɧɧɵɦ.
ɉɟɪɟɞɚɱɚ ɚɪɝɭɦɟɧɬɨɜ ɱɟɪɟɡ ɫɬɟɤ
ɗɬɨɬ ɫɩɨɫɨɛ ɧɚɢɛɨɥɟɟ ɱɚɫɬɨ ɢɫɩɨɥɶɡɭɟɬɫɹ ɞɥɹ ɩɟɪɟɞɚɱɢ ɚɪɝɭɦɟɧɬɨɜ
ɩɪɢ ɜɵɡɨɜɟ ɩɪɨɰɟɞɭɪ. ȿɝɨ ɫɭɬɶ ɡɚɤɥɸɱɚɟɬɫɹ ɜ ɬɨɦ, ɱɬɨ ɜɵɡɵɜɚɸɳɚɹ ɩɪɨɰɟɞɭɪɚ ɫɚɦɨɫɬɨɹɬɟɥɶɧɨ ɡɚɧɨɫɢɬ ɜ ɫɬɟɤ ɩɟɪɟɞɚɜɚɟɦɵɟ ɞɚɧɧɵɟ, ɩɨɫɥɟ ɱɟɝɨ
ɩɪɨɢɡɜɨɞɢɬ
ɜɵɡɨɜ ɩɪɨɰɟɞɭɪɵ. ɋɬɟɤ ɨɛɫɥɭɠɢɜɚɟɬɫɹ ɬɪɟɦɹ ɪɟɝɢɫɬɪɚɦɢ ss,
sɪ, bɪ. Ɇɢɤɪɨɩɪɨɰɟɫɫɨɪ ɚɜɬɨɦɚɬɢɱɟɫɤɢ ɪɚɛɨɬɚɟɬ ɫ ɪɟɝɢɫɬɪɚɦɢ ss ɢ sɪ ɜ
ɩɪɟɞɩɨɥɨɠɟɧɢɢ, ɱɬɨ ɨɧɢ ɜɫɟɝɞɚ ɭɤɚɡɵɜɚɸɬ ɜɟɪɲɢɧɭ ɫɬɟɤɚ. ɉɨ ɷɬɨɣ ɩɪɢɱɢɧɟ ɢɯ ɫɨɞɟɪɠɢɦɨɟ ɢɡɦɟɧɹɬɶ ɧɟ ɪɟɤɨɦɟɧɞɭɟɬɫɹ. Ⱦɥɹ ɨɫɭɳɟɫɬɜɥɟɧɢɹ ɩɪɨɢɡɜɨɥɶɧɨɝɨ ɞɨɫɬɭɩɚ ɤ ɞɚɧɧɵɦ ɜ ɫɬɟɤɟ ɚɪɯɢɬɟɤɬɭɪɚ ɦɢɤɪɨɩɪɨɰɟɫɫɨɪɚ ɢɦɟɟɬ
ɫɩɟɰɢɚɥɶɧɵɣ ɪɟɝɢɫɬɪ ebɪ/b
ɪ, ɤɨɬɨɪɵɣ ɚɜɬɨɦɚɬɢɱɟɫɤɢ ɩɪɟɞɩɨɥɚɝɚɟɬ ɪɚɛɨ-
ɬɭ ɫ ɫɟɝɦɟɧɬɨɦ ɫɬɟɤɚ. ɉɟɪɟɞ ɢɫɩɨɥɶɡɨɜɚɧɢɟɦ ɷɬɨɝɨ ɪɟɝɢɫɬɪɚ ɞɥɹ ɞɨɫɬɭɩɚ ɤ
ɞɚɧɧɵɦ ɫɬɟɤɚ ɟɝɨ ɫɨɞɟɪɠɢɦɨɟ ɧɟɨɛɯɨɞɢɦɨ ɩɪɚɜɢɥɶɧɨ ɢɧɢɰɢɚɥɢɡɢɪɨɜɚɬɶ,
ɱɬɨ ɩɪɟɞɩɨɥɚɝɚɟɬ ɮɨɪɦɢɪɨɜɚɧɢɟ ɜ ɧɟɦ ɚɞɪɟɫɚ, ɤɨɬɨɪɵɣ ɛɵ ɭɤɚɡɵɜɚɥ ɧɟɩɨɫɪɟɞɫɬɜɟɧɧɨ ɧɚ ɩɟɪɟɞɚɧɧɵɟ ɞɚɧɧɵɟ. Ⱦɥɹ ɷɬɨɝɨ ɜ ɧɚɱɚɥɨ ɩɪɨɰɟɞɭɪɵ ɪɟɤɨɦɟɧɞɭɟɬɫɹ ɜɤɥɸɱɚɬɶ ɞɨɩɨɥɧɢɬɟɥɶɧɵɣ ɮɪɚɝɦɟɧɬ ɤɨɞɚ, ɤɨɬɨɪɵɣ ɢɦɟɟɬ
ɧɚɡɜɚɧɢɟ «ɩɪɨɥɨɝ ɩɪɨɰɟɞɭɪɵ». Ɉɛɵɱɧɨ ɤɨɞ ɩɪɨɥɨɝɚ ɫɨɫɬɨɢɬ ɜɫɟɝɨ ɢɡ ɞɜɭɯ
ɤɨɦɚɧɞ.
63

ɉɟɪɜɚɹ ɤɨɦɚɧɞɚ
ɪush bɪ
ɫɨɯɪɚɧɹɟɬ ɫɨɞɟɪɠɢɦɨɟ bɪ ɜ ɫɬɟɤɟ ɬɚɤɢɦ ɨɛɪɚɡɨɦ, ɱɬɨɛɵ ɢɫɤɥɸɱɢɬɶ ɩɨɪɱɭ
ɧɚɯɨɞɹɳɟɝɨɫɹ ɜ ɧɟɦ ɡɧɚɱɟɧɢɹ.
ȼɬɨɪɚɹ ɤɨɦɚɧɞɚ
mɨv bɪ, sɪ
ɧɚɫɬɪɚɢɜɚɟɬ bɪ ɧɚ ɜɟɪɲɢɧɭ ɫɬɟɤɚ, ɩɨɞɬɜɟɪɠɞɚɹ ɬɟɦ ɫɚɦɵɦ, ɱɬɨ ɫɨɞɟɪɠɢɦɨɟ sɪ ɹɜɥɹɟɬɫɹ ɚɤɬɭɚɥɶɧɵɦ ɢ ɨɫɭɳɟɫɬɜɟɥɹɟɬ ɩɪɹɦɨɣ ɞɨɫɬɭɩ ɤ ɫɨɞɟɪɠɢɦɨɦɭ ɫɬɟɤɚ.
Ɂɚɜɟɪɲɟɧɢɟ ɩɪɨɰɟɞɭɪɵ ɞɨɥɠɧɨ ɛɵɬɶ
ɨɮɨɪɦɥɟɧɨ ɨɫɨɛɵɦ ɨɛɪɚɡɨɦ ɢ
ɫɨɞɟɪɠɚɬɶ ɞɟɣɫɬɜɢɹ, ɨɛɟɫɩɟɱɢɜɚɸɳɢɟ ɤɨɪɪɟɤɬɧɵɣ ɜɨɡɜɪɚɬ ɢɡ ɩɪɨɰɟɞɭɪɵ.
Ɏɪɚɝɦɟɧɬ ɤɨɞɚ, ɜɵɩɨɥɧɹɸɳɟɝɨ ɬɚɤɢɟ ɞɟɣɫɬɜɢɹ, ɢɦɟɟɬ ɧɚɡɜɚɧɢɟ «ɷɩɢɥɨɝ
ɩɪɨɰɟɞɭɪɵ». Ʉɨɞ ɷɩɢɥɨɝɚ ɞɨɥɠɟɧ ɜɨɫɫɬɚɧɨɜɢɬɶ ɤɨɧɬɟɤɫɬ ɩɪɨɝɪɚɦɦɵ ɜ
ɬɨɱɤɟ ɜɵɡɨɜɚ ɩɪɨɰɟɞɭɪɵ ɢɡ ɜɵɡɵɜɚɸɳɟɣ ɩɪɨɝɪɚɦɦɵ. ɉɪɢ ɷɬɨɦ ɧɟɨɛɯɨɞɢɦɨ ɨɬɤɨɪɪɟɤɬɢɪɨɜɚɬɶ ɫɨɞɟɪɠɢɦɨɟ ɫɬɟɤɚ, ɭɫɬɪɚɧɢɜ ɢɡ ɧɟɝɨ ɫɬɚɜɲɢɟ ɧɟɚɤɬɭɚɥɶɧɵɦɢ ɚɪɝɭɦɟɧɬɵ, ɩɟɪɟɞɚɜɚɜɲɢɟɫɹ ɜ ɩɪɨɰɟɞɭɪɭ.
ɗɬɨ ɦɨɠɧɨ ɫɞɟɥɚɬɶ ɧɟ-
ɫɤɨɥɶɤɢɦɢ ɫɩɨɫɨɛɚɦɢ:
1. ɂɫɩɨɥɶɡɭɹ ɩɨɫɥɟɞɨɜɚɬɟɥɶɧɨɫɬɶ ɢɡ n ɤɨɦɚɧɞ ɪɨɪ xx, ɩɪɟɞɩɨɱɬɢɬɟɥɶ-
ɧɨ ɜ ɜɵɡɵɜɚɸɳɟɣ ɩɪɨɝɪɚɦɦɟ ɫɪɚɡɭ ɩɨɫɥɟ ɜɨɡɜɪɚɬɚ ɭɩɪɚɜɥɟɧɢɹ ɢɡ ɩɪɨɰɟɞɭɪɵ.
2. Ɉɬɤɨɪɪɟɤɬɢɪɨɜɚɬɶ ɪɟɝɢɫɬɪ ɭɤɚɡɚɬɟɥɹ ɫɬɟɤɚ sɪ ɧɚ ɜɟɥɢɱɢɧɭ 2
ɧɚɩɪɢɦɟɪ, ɤɨɦɚɧɞɨɣ ɚdd sɪ, NN ɝɞɟ NN = 2
x n, ɚ n – ɤɨɥɢɱɟɫɬɜɨ ɚɪɝɭɦɟɧ-
x n,
ɬɨɜ. ɗɬɨ ɬɚɤɠɟ ɥɭɱɲɟ ɞɟɥɚɬɶ ɩɨɫɥɟ ɜɨɡɜɪɚɬɚ ɭɩɪɚɜɥɟɧɢɹ ɜɵɡɵɜɚɸɳɟɣ
ɩɪɨɰɟɞɭɪɟ.
3. ɂɫɩɨɥɶɡɭɹ ɤɨɦɚɧɞɭ ret n ɜ ɤɚɱɟɫɬɜɟ ɩɨɫɥɟɞɧɟɣ ɢɫɩɨɥɧɹɟɦɨɣ ɤɨɦɚɧ-
ɞɵ ɜ ɩɪɨɰɟɞɭɪɟ, ɝɞɟ n – ɤɨɥɢɱɟɫɬɜɨ ɛɚɣɬ, ɧɚ ɤɨɬɨɪɨɟ ɧɭɠɧɨ ɭɜɟɥɢɱɢɬɶ ɫɨɞɟɪɠɢɦɨɟ ɪɟɝɢɫɬɪɚ esɪ/sɪ ɩɨɫɥɟ ɬɨɝɨ, ɤɚɤ ɫɨ ɫɬɟɤɚ ɛɭɞɭɬ ɫɧɹɬɵ ɫɨɫɬɚɜɥɹɸɳɢɟ ɚɞɪɟɫɚ ɜɨɡɜɪɚɬɚ. ɗɬɨɬ ɫɩɨɫɨɛ ɚɧɚɥɨɝɢɱɟɧ ɩɪɟɞɵɞɭɳɟɦɭ, ɧɨ ɜɵɩɨɥɧɹɟɬɫɹ ɦɢɤɪɨɩɪɨɰɟɫɫɨɪɨɦ ɚɜɬɨɦɚɬɢɱɟɫɤɢ. Ⱥɪɝɭɦɟɧɬɵ ɦɨɝɭɬ ɩɟɪɟɞɚɜɚɬɶɫɹ
ɥɢɛɨ ɩɨ ɡɧɚɱɟɧɢɸ, ɥɢɛɨ ɩɨ ɚɞɪɟɫɭ.
14. ɋɨɡɞɚɧɢɟ Windows-ɩɪɢɥɨɠɟɧɢɣ ɧɚ ɚɫɫɟɦɛɥɟɪɟ
Ʉɨɦɛɢɧɢɪɨɜɚɧɢɟ ɩɪɨɝɪɚɦɦ ɧɚ ɹɡɵɤɟ ɜɵɫɨɤɨɝɨ ɭɪɨɜɧɹ ɫ ɤɨɞɨɦ ɧɚ ɚɫɫɟɦɛɥɟɪɟ ɢɫɩɨɥɶɡɭɟɬɫɹ ɜ ɬɨɦ ɫɥɭɱɚɟ, ɟɫɥɢ ɩɪɢɫɭɬɫɬɜɭɸɬ ɭɱɚɫɬɤɢ, ɤɨɬɨɪɵɟ
ɧɟɜɨɡɦɨɠɧɨ ɪɟɚɥɢɡɨɜɚɬɶ ɛɟɡ ɢɫɩɨɥɶɡɨɜɚɧɢɹ ɷɬɨɝɨ ɹɡɵɤɚ ɩɪɨɝɪɚɦɦɢɪɨɜɚɧɢɹ, ɥɢɛɨ ɟɝɨ ɩɪɢɦɟɧɟɧɢɟ ɡɧɚɱɢɬɟɥɶɧɨ ɩɨɜɵɲɚɟɬ ɷɮɮɟɤɬɢɜɧɨɫɬɶ ɪɚɛɨɬɵ.
ɋɭɳɟɫɬɜɭɸɬ ɫɥɟɞɭɸɳɢɟ ɮɨɪɦɵ ɤɨɦɛɢɧɢɪɨɜɚɧɢɹ ɩɪɨɝɪɚɦɦ ɧɚ ɹɡɵɤɚɯ
ɜɵɫɨɤɨɝɨ ɭɪɨɜɧɹ ɫ ɚɫɫɟɦɛɥɟɪɨɦ:
–
ɂɫɩɨɥɶɡɨɜɚɧɢɟ ɨɩɟɪɚɬɨɪɨɜ ɬɢɩɚ inline ɢ ɚɫɫɟɦɛɥɟɪɧɵɯ ɜɫɬɚɜɨɤ.
ɗɬɚ ɮɨɪɦɚ ɜ ɡɧɚɱɢɬɟɥɶɧɨɣ ɫɬɟɩɟɧɢ ɡɚɜɢɫɢɬ ɨɬ ɫɢɧɬɚɤɫɢɫɚ ɹɡɵɤɚ ɜɵɫɨɤɨɝɨ
ɭɪɨɜɧɹ ɢ ɤɨɧɤɪɟɬɧɨɝɨ ɤɨɦɩɢɥɹɬɨɪɚ. Ɉɧɚ ɩɪɟɞɩɨɥɚɝɚɟɬ, ɱɬɨ ɚɫɫɟɦɛɥɟɪɧɵɟ
64

ɤɨɞɵ ɜ ɜɢɞɟ ɤɨɦɚɧɞ ɚɫɫɟɦɛɥɟɪɚ ɢɥɢ ɩɪɹɦɨ ɜ ɦɚɲɢɧɧɵɯ ɤɨɦɚɧɞɚɯ ɜɫɬɚɜ-
–
ɥɹɸɬɫɹ ɜ ɬɟɤɫɬ ɩɪɨɝɪɚɦɦɵ ɧɚ ɹɡɵɤɟ ɜɵɫɨɤɨɝɨ ɭɪɨɜɧɹ. Ʉɨɦɩɢɥɹɬɨɪ ɹɡɵɤɚ
ɪɚɫɩɨɡɧɚɟɬ ɢɯ ɤɚɤ ɚɫɫɟɦɛɥɟɪ ɢ ɛɟɡ ɢɡɦɟɧɟɧɢɣ ɜɤɥɸɱɚɟɬ ɜ ɮɨɪɦɢɪɭɟɦɵɣ
ɢɦ ɨɛɴɟɤɬɧɵɣ ɤɨɞ. ɗɬɚ ɮɨɪɦɚ ɭɞɨɛɧɚ, ɟɫɥɢ ɜɫɬɚɜɥɹɬɶ ɧɟɛɨɥɶɲɨɣ ɮɪɚɝɦɟɧɬ.
–
ɂɫɩɨɥɶɡɨɜɚɧɢɟ ɜɧɟɲɧɢɯ ɩɪɨɰɟɞɭɪ ɢ ɮɭɧɤɰɢɣ. ɗɬɨ ɧɚɢɛɨɥɟɟ ɭɧɢɜɟɪɫɚɥɶɧɚɹ ɮɨɪɦɚ ɤɨɦɛɢɧɢɪɨɜɚɧɢɹ, ɢɦɟɸɳɚɹ ɪɹɞ ɩɪɟɢɦɭɳɟɫɬɜ:
1. ɇɚɩɢɫɚɧɢɟ ɢ ɨɬɥɚɞɤɭ ɩɪɨɝɪɚɦɦ ɦɨɠɧɨ ɩɪɨɢɡɜɨɞɢɬɶ ɧɟɡɚɜɢɫɢɦɨ.
2. ɇɚɩɢɫɚɧɧɵɟ ɩɪɨɝɪɚɦɦɵ ɦɨɠɧɨ ɢɫɩɨɥɶɡɨɜɚɬɶ ɜ ɞɪɭɝɢɯ ɩɪɨɟɤɬɚɯ.
3. ɍɩɪɨɳɚɸɬɫɹ ɦɨɞɢɮɢɤɚɰɢɹ ɢ ɫɨɩɪɨɜɨɠɞɟɧɢɟ ɩɨɞɩɪɨɝɪɚɦɦ ɜ ɬɟɱɟ-
ɧɢɟ ɠɢɡɧɟɧɧɨɝɨ ɰɢɤɥɚ ɩɪɨɟɤɬɚ.
ȼɨɡɦɨɠɧɵ ɞɜɚ ɜɢɞɚ ɫɜɹɡɢ – ɩɪɨɝɪɚɦɦɚ ɧɚ ɹɡɵɤɟ ɜɵɫɨɤɨɝɨ ɭɪɨɜɧɹ ɜɵ-
ɡɵɜɚɟɬ ɩɪɨɰɟɞɭɪɭ ɧɚ ɚɫɫɟɦɛɥɟɪɟ (ɬɚɛɥɢɰɚ 4) ɢ ɧɚɨɛɨɪɨɬ.
ɋɢɧɬɚɤɫɢɫ ɞɢɪɟɤɬɢɜɵ:
ɢɦɹ_ɩɪɨɰɟɞɭɪɵ ɊRɈɋ [[ɦɨɞɢɮɢɤɚɬɨɪ_ɹɡɵɤɚ]ɹɡɵɤ] [ɪɚɫɫɬɨɹɧɢɟ]
Ɍɚɛɥɢɰɚ 4 – Ɂɧɚɱɟɧɢɹ ɨɩɟɪɚɧɞɚ «ɹɡɵɤ»
Ɉɩɟɪɚɧɞ «ɹɡɵɤ» əɡɵɤ
ɇɚɩɪɚɜɥɟɧɢɟ
ɩɟɪɟɞɚɱɢ
ɚɪɝɭɦɟɧɬɨɜ
Ʉɚɤɚɹ
ɩɪɨɰɟɞɭɪɚ
ɨɱɢɳɚɟɬ ɫɬɟɤ
NɈLȺNGUȺGE Ⱥɫɫɟɦɛɥɟɪ ɋɥɟɜɚ ɧɚɩɪɚɜɨ ȼɵɡɵɜɚɟɦɚɹ
BȺSIɋ Bɚsiɫ ɋɥɟɜɚ ɧɚɩɪɚɜɨ ȼɵɡɵɜɚɟɦɚɹ
ɊRɈLɈG Ɋrɨlɨg ɋɩɪɚɜɚ ɧɚɥɟɜɨ ȼɵɡɵɜɚɸɳɚɹ
FɈRTRȺN Fɨrtrɚn ɋɥɟɜɚ ɧɚɩɪɚɜɨ ȼɵɡɵɜɚɟɦɚɹ
ɋ ɋ ɋɩɪɚɜɚ ɧɚɥɟɜɨ ȼɵɡɵɜɚɸɳɚɹ
ɋ++ ɋ++ ɋɩɪɚɜɚ ɧɚɥɟɜɨ ȼɵɡɵɜɚɸɳɚɹ
ɊȺSɋȺL Ɋɚsɫɚl ɋɥɟɜɚ ɧɚɩɪɚɜɨ ȼɵɡɵɜɚɟɦɚɹ
STDɋȺLL
ɋɩɪɚɜɚ ɧɚɥɟɜɨ ȼɵɡɵɜɚɟɦɚɹ
SYSɋȺLL ɋ++ ɋɩɪɚɜɚ ɧɚɥɟɜɨ ȼɵɡɵɜɚɸɳɚɹ
Ɉɛɨɫɧɨɜɚɧɢɟ ɧɟɨɛɯɨɞɢɦɨɫɬɢ ɪɚɡɪɚɛɨɬɤɢ ɧɚ ɚɫɫɟɦɛɥɟɪɟ Windɨws-
ɩɪɢɥɨɠɟɧɢɣ:
1. əɡɵɤ ɚɫɫɟɦɛɥɟɪɚ ɩɨɡɜɨɥɹɟɬ ɩɪɨɝɪɚɦɦɢɫɬɭ ɩɨɥɧɨɫɬɶɸ ɤɨɧɬɪɨɥɢɪɨ-
ɜɚɬɶ ɫɨɡɞɚɜɚɟɦɵɣ ɢɦ ɩɪɨɝɪɚɦɦɧɵɣ ɤɨɞ ɢ ɨɩɬɢɦɢɡɢɪɨɜɚɬɶ ɟɝɨ ɩɨ ɫɜɨɟɦɭ
ɭɫɦɨɬɪɟɧɢɸ.
2. Ʉɨɦɩɢɥɹɬɨɪɵ ɹɡɵɤɨɜ ɜɵɫɨɤɨɝɨ ɭɪɨɜɧɹ ɩɨɦɟɳɚɸɬ ɜ ɡɚɝɪɭɡɨɱɧɵɣ
ɦɨɞɭɥɶ ɩɪɨɝɪɚɦɦɵ ɢɡɛɵɬɨɱɧɭɸ ɢɧɮɨɪɦɚɰɢɸ. ɗɤɜɢɜɚɥɟɧɬɧɵɟ ɢɫɩɨɥɧɹɟɦɵɟ ɦɨɞɭɥɢ, ɢɫɯɨɞɧɵɣ ɬɟɤɫɬ ɤɨɬɨɪɵɯ ɧɚɩɢɫɚɧ ɧɚ ɹɡɵɤɟ ɚɫɫɟɦɛɥɟɪɚ, ɢɦɟɸɬ
ɜ ɧɟɫɤɨɥɶɤɨ ɪɚɡ ɦɟɧɶɲɢɣ ɪɚɡɦɟɪ.
3. ɉɪɢ ɩɪɨɝɪɚɦɦɢɪɨɜɚɧɢɢ ɧɚ ɚɫɫɟɦɛɥɟɪɟ ɫɨɯɪɚɧɹɟɬɫɹ ɩɨɥɧɵɣ ɞɨɫɬɭɩ
ɤ ɚɩɩɚɪɚɬɧɵɦ ɪɟɫɭɪɫɚɦ ɤɨɦɩɶɸɬɟɪɚ.
65

4. ɉɪɢɥɨɠɟɧɢɟ, ɧɚɩɢɫɚɧɧɨɟ ɧɚ ɹɡɵɤɟ ɚɫɫɟɦɛɥɟɪɚ, ɤɚɤ ɩɪɚɜɢɥɨ, ɛɵɫɬɪɟɟ ɡɚɝɪɭɠɚɟɬɫɹ ɜ ɨɩɟɪɚɬɢɜɧɭɸ ɩɚɦɹɬɶ ɤɨɦɩɶɸɬɟɪɚ.
5. ɉɪɢɥɨɠɟɧɢɟ, ɧɚɩɢɫɚɧɧɨɟ ɧɚ ɹɡɵɤɟ ɚɫɫɟɦɛɥɟɪɚ, ɤɚɤ ɩɪɚɜɢɥɨ, ɨɛɥɚ-
ɞɚɟɬ ɛɨɥɟɟ ɜɵɫɨɤɨɣ ɫɤɨɪɨɫɬɶɸ ɪɚɛɨɬɵ ɢ ɪɟɚɤɬɢɜɧɨɫɬɶɸ ɨɬɜɟɬɚ ɧɚ ɞɟɣɫɬɜɢɹ ɩɨɥɶɡɨɜɚɬɟɥɹ.
Ɇɢɧɢɦɚɥɶɧɨɟ ɩɪɢɥɨɠɟɧɢɟ Windɨws ɫɨɫɬɨɢɬ ɢɡ ɬɪɟɯ ɱɚɫɬɟɣ:
–
ɝɥɚɜɧɚɹ ɮɭɧɤɰɢɹ;
–
ɰɢɤɥ ɨɛɪɚɛɨɬɤɢ ɫɨɨɛɳɟɧɢɣ;
–
ɨɤɨɧɧɚɹ ɮɭɧɤɰɢɹ.
ɉɪɢ ɧɚɥɢɱɢɢ ɢɫɯɨɞɧɨɝɨ ɮɚɣɥɚ Windɨws-ɩɪɢɥɨɠɟɧɢɹ ɧɚ ɹɡɵɤɟ ɋ/ɋ++
ɦɨɠɧɨ ɩɨɥɭɱɢɬɶ ɬɟɤɫɬ ɧɚ ɹɡɵɤɟ ɚɫɫɟɦɛɥɟɪɚ. ɇɚ ɟɝɨ ɨɫɧɨɜɟ ɜɩɨɫɥɟɞɫɬɜɢɢ
ɦɨɠɧɨ ɫɮɨɪɦɢɪɨɜɚɬɶ ɮɭɧɤɰɢɨɧɚɥɶɧɨ ɷɤɜɢɜɚɥɟɧɬɧɵɣ ɢɫɩɨɥɧɹɟɦɵɣ ɦɨɞɭɥɶ. ɇɟɨɛɯɨɞɢɦɨ ɞɢɡɚɫɫɟɦɛɥɢɪɨɜɚɬɶ ɢɫɩɨɥɧɹɟɦɵɣ ɦɨɞɭɥɶ ɩɪɨɝɪɚɦɦɵ
ɬɟɦ ɞɢɡɚɫɫɟɦɛɥɟɪɨɦ, ɤɨɬɨɪɵɣ ɩɨɧɢɦɚɟɬ ɢɧɬɟɪɮɟɣɫ Win32 ȺɊI. Ⱦɢɡɚɫɫɟɦɛɥɢɪɨɜɚɧɧɵɣ ɮɚɣɥ ɦɨɠɧɨ ɫɨɯɪɚɧɢɬɶ ɤɚɤ ɥɢɫɬɢɧɝ (ɪɚɫɲɢɪɟɧɢɟ «*.lst») ɢ
ɤɚɤ ɢɫɯɨɞɧɵɣ ɬɟɤɫɬ ɚɫɫɟɦɛɥɟɪɚ (ɪɚɫɲɢɪɟɧɢɟ «*.ɚsm»). Ɏɚɣɥ ɥɢɫɬɢɧɝɚ ɜ
ɥɟɜɨɣ ɱɚɫɬɢ ɫɨɞɟɪɠɢɬ ɤɨɥɨɧɤɭ ɫ ɚɞɪɟɫɚɦɢ ɫɦɟɳɟɧɢɹ ɤɨɦɚɧɞ. ȼɫɟ ɦɟɬɤɢ ɢ
ɫɢɦɜɨɥɢɱɟɫɤɢɟ ɢɦɟɧɚ ɜ ɞɢɡɚɫɫɟɦɛɥɢɪɨɜɚɧɧɨɦ ɬɟɤɫɬɟ ɮɨɪɦɢɪɭɸɬɫɹ ɫ ɢɫɩɨɥɶɡɨɜɚɧɢɟɦ ɷɬɢɯ ɫɦɟɳɟɧɢɣ.
Ɉɞɧɢɦ ɢɡ ɝɥɚɜɧɵɯ ɤɪɢɬɟɪɢɟɜ ɜɵɛɨɪɚ ɹɡɵɤɚ ɪɚɡɪɚɛɨɬɤɢ Windɨwsɩɪɢɥɨɠɟɧɢɹ ɹɜɥɹɟɬɫɹ ɧɚɥɢɱɢɟ ɜ ɧɟɦ ɫɪɟɞɫɬɜ, ɫɩɨɫɨɛɧɵɯ ɩɨɞɞɟɪɠɚɬɶ ɫɬɪɨɝɨ ɨɩɪɟɞɟɥɟɧɧɭɸ ɩɨɫɥɟɞɨɜɚɬɟɥɶɧɨɫɬɶ
ɲɚɝɨɜ. Ʉɚɪɤɚɫɧɨɟ Windɨws-
ɩɪɢɥɨɠɟɧɢɟ ɧɚ ɚɫɫɟɦɛɥɟɪɟ ɫɨɞɟɪɠɢɬ ɨɞɢɧ ɫɟɝɦɟɧɬ ɞɚɧɧɵɯ (.dɚtɚ) ɢ ɨɞɢɧ
ɫɟɝɦɟɧɬ ɤɨɞɚ (.ɫɨde). ɋɟɝɦɟɧɬ ɫɬɟɤɚ ɜ ɢɫɯɨɞɧɵɯ ɬɟɤɫɬɚɯ Windɨwsɩɪɢɥɨɠɟɧɢɣ ɧɟɩɨɫɪɟɞɫɬɜɟɧɧɨ ɧɟ ɨɩɢɫɵɜɚɸɬ. Windɨws ɜɵɞɟɥɹɟɬ ɞɥɹ ɫɬɟɤɚ
ɨɛɴɟɦ ɩɚɦɹɬɢ, ɪɚɡɦɟɪ ɤɨɬɨɪɨɝɨ ɡɚɞɚɧ ɩɪɨɝɪɚɦɦɢɫɬɨɦ ɜ ɮɚɣɥɟ ɫ ɪɚɫɲɢɪɟɧɢɟɦ «*.def».
ȼɫɟ ɫɢɦɜɨɥɢɱɟɫɤɢɟ ɢɦɟɧɚ ɜ ɩɪɨɝɪɚɦɦɟ ɧɚ ɚɫɫɟɦɛɥɟɪɟ ɩɨ ɭɦɨɥɱɚɧɢɸ
ɹɜɥɹɸɬɫɹ ɝɥɨɛɚɥɶɧɵɦɢ. Ɂɚɞɚɧɢɟ ɞɢɪɟɤɬɢɜɵ lɨɫɚls ɜɤɥɸɱɚɟɬ ɜ ɬɪɚɧɫɥɹɬɨɪɟ
ɦɟɯɚɧɢɡɦ ɤɨɧɬɪɨɥɹ ɨɛɥɚɫɬɟɣ ɜɢɞɢɦɨɫɬɢ ɢɦɟɧ ɢ ɩɨɡɜɨɥɹɟɬ ɢɫɩɨɥɶɡɨɜɚɬɶ ɜ
ɩɪɨɝɪɚɦɦɟ ɥɨɤɚɥɶɧɵɟ ɢɦɟɧɚ. ɋɢɦɜɨɥɢɱɟɫɤɢɦ ɢɦɟɧɚɦ, ɤɨɬɨɪɵɟ ɧɟɨɛɯɨɞɢɦɨ ɫɞɟɥɚɬɶ ɥɨɤɚɥɶɧɵɦɢ, ɞɨɥɠɧɚ ɩɪɟɞɲɟɫɬɜɨɜɚɬɶ ɨɩɪɟɞɟɥɟɧɧɚɹ ɩɨɫɥɟɞɨɜɚɬɟɥɶɧɨɫɬɶ, ɫɨɫɬɨɹɳɚɹ ɧɟ ɦɟɧɟɟ, ɱɟɦ ɢɡ ɞɜɭɯ ɫɢɦɜɨɥɨɜ. Ɉɧɢ ɡɚɞɚɸɬɫɹ ɤɚɤ
ɩɚɪɚɦɟɬɪɵ ɞɢɪɟɤɬɢɜɵ lɨɫɚls. ȿɫɥɢ ɷɬɨɝɨ ɧɟ ɫɞɟɥɚɬɶ, ɬɨ ɩɨ ɭɦɨɥɱɚɧɢɸ ɢɫɩɨɥɶɡɭɟɬɫɹ ɩɨɫɥɟɞɨɜɚɬɟɥɶɧɨɫɬɶ ɢɡ ɞɜɭɯ ɫɢɦɜɨɥɨɜ @@. Ȼɥɨɤɨɦ, ɜ ɩɪɟɞɟɥɚɯ
ɤɨɬɨɪɨɝɨ ɦɨɠɧɨ ɨɛɴɹɜɢɬɶ ɥɨɤɚɥɶɧɵɟ ɢɦɟɧɚ, ɦɨɠɟɬ ɛɵɬɶ ɧɟ ɬɨɥɶɤɨ ɮɭɧɤɰɢɹ, ɧɨ ɢ ɭɱɚɫɬɨɤ ɩɪɨɝɪɚɦɦɵ, ɪɚɫɩɨɥɨɠɟɧɧɵɣ ɦɟɠɞɭ ɞɜɭɦɹ ɦɟɬɤɚɦɢ.
Flɚt
STDɋȺLL
Ⱦɢɪɟɤɬɢɜɚ .mɨdel ɡɚɞɚɟɬ ɦɨɞɟɥɶ ɫɟɝɦɟɧɬɚɰɢɢ flɚt ɢ ɫɬɢɥɶ ɝɟɧɟɪɚɰɢɢ
ɩɪɢ ɜɯɨɞɟ ɜ ɩɪɨɰɟɞɭɪɵ ɩɪɨɝɪɚɦɦɵ ɢ ɜɵɯɨɞɟ ɢɡ ɧɢɯ (STDɋȺLL). Ʉɨɞ
ɤɨɞɚ
66

ɡɚɝɪɭɡɨɱɧɨɝɨ ɦɨɞɭɥɹ, ɝɟɧɟɪɢɪɭɟɦɵɣ ɫ ɨɩɰɢɟɣ flɚt, ɛɭɞɟɬ ɪɚɛɨɬɚɬɶ ɧɚ ɦɢɤɪɨɩɪɨɰɟɫɫɨɪɚɯ .386 ɢ ɫɬɚɪɲɟ. ɉɨ ɷɬɨɣ ɩɪɢɱɢɧɟ ɞɢɪɟɤɬɢɜɟ .mɨdel ɞɨɥɠɧɚ
ɩɪɟɞɲɟɫɬɜɨɜɚɬɶ ɨɞɧɚ ɢɡ ɞɢɪɟɤɬɢɜ .386, .486 ɢɥɢ .586. ɍɤɚɡɚɧɢɟ ɷɬɨɣ ɦɨɞɟɥɢ ɩɚɦɹɬɢ ɡɚɫɬɚɜɥɹɟɬ ɫ ɩɨɦɨɳɶɸ ɤɨɦɩɨɧɨɜɳɢɤɚ ɫɨɡɞɚɜɚɬɶ ɢɫɩɨɥɧɹɟɦɵɟ
ɮɚɣɥ ɫ ɪɚɫɲɢɪɟɧɢɟɦ «*.exe». ȼ ɩɪɨɝɪɚɦɦɟ ɫ ɩɥɨɫɤɨɣ ɦɨɞɟɥɶɸ ɩɚɦɹɬɢ ɢɫɩɨɥɶɡɭɟɬɫɹ ɚɞɪɟɫɚɰɢɹ ɩɪɨɝɪɚɦɦɧɨɝɨ
ɤɨɞɚ ɬɢɩɚ neɚr. ɉɚɪɚɦɟɬɪ STDɋȺLL
ɨɩɪɟɞɟɥɹɟɬ ɩɨɪɹɞɨɤ ɩɟɪɟɞɚɱɢ ɩɚɪɚɦɟɬɪɨɜ ɱɟɪɟɡ ɫɬɟɤ, ɫɩɪɚɜɚ ɧɚɥɟɜɨ.
Ɏɭɧɤɰɢɢ Win32ȺɊI, ɢɫɩɨɥɶɡɭɟɦɵɟ ɜ ɩɪɨɝɪɚɦɦɟ, ɞɨɥɠɧɵ ɛɵɬɶ ɨɛɴɹɜɥɟɧɵ
ɜɧɟɲɧɢɦɢ ɫ ɩɨɦɨɳɶɸ ɞɢɪɟɤɬɢɜɵ extrn. ɗɬɨ ɧɟɨɛɯɨɞɢɦɨ ɫɞɟɥɚɬɶ ɞɥɹ ɬɨɝɨ,
ɱɬɨɛɵ ɤɨɦɩɢɥɹɬɨɪ ɦɨɝ ɫɝɟɧɟɪɢɪɨɜɚɬɶ ɩɪɚɜɢɥɶɧɵɣ ɤɨɞ, ɬɚɤ ɤɚɤ ɬɟɥɚ ɮɭɧɤɰɢɣ Win32ȺɊI ɫɨɞɟɪɠɚɬɫɹ ɜ dll-
ɛɢɛɥɢɨɬɟɤɚɯ ɫɢɫɬɟɦɵ Windɨws. ȼ ɫɨɨɬɜɟɬɫɬɜɢɢ ɫ ɫɨɝɥɚɲɟɧɢɹɦɢ ɨɩɟɪɚɰɢɨɧɧɨɣ ɫɢɫɬɟɦɵ Windɨws ɨɤɨɧɧɚɹ ɮɭɧɤɰɢɹ ɩɪɢɥɨɠɟɧɢɹ ɞɨɥɠɧɚ ɛɵɬɶ ɜɢɞɢɦɨɣ ɡɚ ɩɪɟɞɟɥɚɦɢ ɩɪɢɥɨɠɟɧɢɹ, ɜ ɤɨɬɨɪɨɦ ɨɧɚ ɧɚɩɢɫɚɧɚ. ɗɬɨ ɫɜɹɡɚɧɨ ɫ ɬɟɦ, ɱɬɨ ɨɤɨɧɧɚɹ ɮɭɧɤɰɢɹ ɜɵɡɵɜɚɟɬɫɹ ɫɚɦɨɣ ɨɩɟɪɚɰɢɨɧɧɨɣ ɫɢɫɬɟɦɨɣ Windɨws ɩɪɢ ɩɨɫɬɭɩɥɟɧɢɢ ɫɨɨɛɳɟɧɢɹ ɞɥɹ
ɞɚɧɧɨɝɨ ɩɪɢɥɨɠɟɧɢɹ. Ɂɚɝɪɭɡɱɢɤ Windɨws ɫɚɦɨɫɬɨɹɬɟɥɶɧɨ ɡɚɝɪɭɠɚɟɬ ɫɟɝɦɟɧɬɧɵɟ ɪɟɝɢɫɬɪɵ, ɩɪɢ ɷɬɨɦ ɭɱɢɬɵɜɚɟɬɫɹ ɬɪɟɛɭɟɦɚɹ ɦɨɞɟɥɶ ɩɚɦɹɬɢ.
ɉɨɞ ɤɥɚɫɫɨɦ ɨɤɧɚ ɩɨɧɢɦɚɟɬɫɹ ɫɨɜɨɤɭɩɧɨɫɬɶ ɩɪɢɫɭɳɢɯ ɟɦɭ ɯɚɪɚɤɬɟɪɢɫɬɢɤ, ɬɚɤɢɯ ɤɚɤ ɫɬɢɥɶ ɟɝɨ ɝɪɚɧɢɰ, ɮɨɪɦ ɤɭɪɫɨɪɚ, ɩɢɤɬɨɝɪɚɦɦ, ɰɜɟɬ ɮɨɧɚ,
ɧɚɥɢɱɢɟ ɦɟɧɸ ɢ ɬ. ɞ. ɏɚɪɚɤɬɟɪɢɫɬɢɤɢ ɨɤɧɚ ɨɩɢɫɵɜɚɸɬɫɹ ɫ ɩɨɦɨɳɶɸ ɫɩɟɰɢɚɥɶɧɨɣ ɫɬɪɭɤɬɭɪɵ WND ɋLȺSS.
WND ɋLȺSS
WNDɋLȺSSEX – wɫl
ɂɫɩɨɥɶɡɨɜɚɧɢɟ ɜ
ɩɪɨɝɪɚɦɦɟ:
wɫl WNDɋLȺSSEX <?>
ȼ ɫɟɝɦɟɧɬɟ ɞɚɧɧɵɯ ɨɩɪɟɞɟɥɟɧ ɷɤɡɟɦɩɥɹɪ ɫɬɪɭɤɬɭɪɵ WNDɋLȺSSEX –
wɫl. ɉɟɪɜɨɟ ɩɨɥɟ ɫɬɪɭɤɬɭɪɵ WNDɋLȺSSEX ɞɨɥɠɧɨ ɫɨɞɟɪɠɚɬɶ ɞɥɢɧɭ
ɫɬɪɭɤɬɭɪɵ. ȼ ɩɨɥɟ style ɦɨɠɧɨ ɨɩɪɟɞɟɥɹɬɶ ɫɬɢɥɶ ɝɪɚɧɢɰ ɨɤɧɚ ɢ ɟɝɨ ɩɨɜɟɞɟɧɢɟ ɩɪɢ ɩɟɪɟɪɢɫɨɜɤɟ. Ɂɧɚɱɟɧɢɟ ɫɬɢɥɹ ɩɪɟɞɫɬɚɜɥɹɟɬ ɫɨɛɨɣ ɰɟɥɨɱɢɫɥɟɧɧɨɟ ɡɧɚɱɟɧɢɟ, ɮɨɪɦɢɪɭɟɦɨɟ ɢɡ ɤɨɧɫɬɚɧɬ.
lɪfnWnd
Ɋrɨɫ
hIɫɨn ɢ hɋursɨr
hbrBɚɫkgrɨund
GetStɨɫkɈbjeɫt
ȼ ɩɨɥɟ lɪfnWndɊrɨɫ ɡɚɩɢɫɵɜɚɟɬɫɹ ɚɞɪɟɫ ɨɤɨɧɧɨɣ ɮɭɧɤɰɢɢ. ɋ ɟɟ ɩɨɦɨɳɶɸ ɜɫɟ ɨɤɧɚ, ɫɨɡɞɚɜɚɟɦɵɟ ɧɚ ɨɫɧɨɜɟ ɷɬɨɝɨ ɤɥɚɫɫɚ, ɛɭɞɭɬ ɨɛɪɚɛɚɬɵɜɚɬɶ
ɩɨɫɥɚɧɧɵɟ ɢɦ ɫɨɨɛɳɟɧɢɹ. ȼ ɩɨɥɹ hIɫɨn ɢ hɋursɨr ɡɚɝɪɭɠɚɸɬɫɹ ɞɟɫɤɪɢɩɬɨɪɵ ɡɧɚɱɤɚ ɢ
ɤɭɪɫɨɪɚ. ɉɨɫɥɟ ɡɚɩɭɫɤɚ ɩɪɢɥɨɠɟɧɢɹ ɡɧɚɱɨɤ ɛɭɞɟɬ ɨɬɨɛɪɚ-
ɠɚɬɶɫɹ ɧɚ ɩɚɧɟɥɢ ɡɚɞɚɱ ɢ ɜ ɥɟɜɨɦ ɜɟɪɯɧɟɦ ɭɝɥɭ ɩɪɢɥɨɠɟɧɢɹ, ɚ ɤɭɪɫɨɪ ɩɨɹɜɢɬɫɹ ɜ ɨɛɥɚɫɬɢ ɨɤɧɚ. ɉɨɥɟ hbrBɚɫkgrɨund ɞɨɥɠɧɨ ɫɨɞɟɪɠɚɬɶ ɡɧɚɱɟɧɢɟ
ɞɟɫɤɪɢɩɬɨɪɚ ɤɢɫɬɢ, ɩɪɟɞɫɬɚɜɥɹɸɳɟɣ ɫɨɛɨɣ ɪɟɫɭɪɫ, ɤɨɬɨɪɵɦ ɡɚɤɪɚɲɢɜɚɟɬ-
67

ɫɹ ɧɟɤɨɬɨɪɵɣ ɨɛɴɟɤɬ, ɬ. ɟ. ɮɨɧ ɨɤɧɚ ɩɪɢɥɨɠɟɧɢɹ ɧɟɤɨɬɨɪɨɝɨ ɤɥɚɫɫɚ. Ⱦɥɹ
ɩɨɥɭɱɟɧɢɹ ɬɚɤɨɝɨ ɞɟɫɤɪɢɩɬɨɪɚ ɧɟɨɛɯɨɞɢɦɨ ɢɫɩɨɥɶɡɨɜɚɬɶ ɮɭɧɤɰɢɸ
GetStɨɫkɈbjeɫt. ȼ ɤɚɱɟɫɬɜɟ ɩɚɪɚɦɟɬɪɚ ɟɣ ɩɟɪɟɞɚɟɬɫɹ ɢɦɹ ɧɭɠɧɨɣ ɤɢɫɬɢ.
lɪszMenuNɚme
szɋlɚssNɚme
RegisterɋlɚssExȺ
ȼ ɩɨɥɟ lɪszMenuNɚme ɡɚɩɢɫɵɜɚɟɬɫɹ ɭɤɚɡɚɬɟɥɶ ɧɚ ȺSɋIIZ-ɫɬɪɨɤɭ ɫ
ɢɦɟɧɟɦ ɦɟɧɸ. ȿɫɥɢ ɦɟɧɸ ɧɟ ɢɫɩɨɥɶɡɭɟɬɫɹ, ɬɨ ɜ ɩɨɥɟ ɡɚɩɢɫɵɜɚɟɬɫɹ ɡɧɚɱɟɧɢɟ NULL. ɉɨɫɥɟɞɧɟɟ ɞɟɣɫɬɜɢɟ ɩɪɢ ɨɩɢɫɚɧɢɢ ɤɥɚɫɫɚ ɨɤɧɚ – ɩɪɢɫɜɨɟɧɢɟ
ɟɦɭ ɭɧɢɤɚɥɶɧɨɝɨ ɢɦɟɧɢ. Ɉɧɨ ɨɩɢɫɚɧɨ ɜ ɜɢɞɟ ȺSɋIIZ-ɫɬɪɨɤɢ ɜ ɩɨɥɟ
szɋlɚssNɚme ɫɟɝɦɟɧɬɚ ɞɚɧɧɵɯ. ɉɨɫɥɟ ɢɧɢɰɢɚɥɢɡɚɰɢɢ ɫɬɪɭɤɬɭɪɵ ɧɟɨɛɯɨɞɢɦɨ ɡɚɪɟɝɢɫɬɪɢɪɨɜɚɬɶ ɤɥɚɫɫ ɨɤɧɚ ɜ ɫɢɫɬɟɦɟ. ɗɬɨ ɞɟɣɫɬɜɢɟ ɜɵɩɨɥɧɹɟɬɫɹ
ɫ
ɩɨɦɨɳɶɸ ɮɭɧɤɰɢɢ RegisterɋlɚssExȺ, ɤɨɬɨɪɨɣ ɜ ɤɚɱɟɫɬɜɟ ɩɚɪɚɦɟɬɪɚ ɩɟɪɟɞɚɟɬɫɹ ɭɤɚɡɚɬɟɥɸ ɧɚ ɫɬɪɭɤɬɭɪɭ WNDɋLȺSSEX.
Ɉɤɨɧɧɚɹ ɮɭɧɤɰɢɹ ɩɪɟɞɧɚɡɧɚɱɟɧɚ ɞɥɹ ɨɪɝɚɧɢɡɚɰɢɢ ɚɞɟɤɜɚɬɧɨɣ ɪɟɚɤɰɢɢ ɫɨ ɫɬɨɪɨɧɵ ɩɪɢɥɨɠɟɧɢɹ ɧɚ ɞɟɣɫɬɜɢɹ ɩɨɥɶɡɨɜɚɬɟɥɹ ɢ ɩɨɞɞɟɪɠɚɧɢɹ ɜ
ɚɤɬɭɚɥɶɧɨɦ ɫɨɫɬɨɹɧɢɢ ɬɨɝɨ ɨɤɧɚ ɩɪɢɥɨɠɟɧɢɹ, ɫɨɨɛɳɟɧɢɹ ɤɨɬɨɪɨɝɨ ɨɧɚ
ɨɛɪɚɛɚɬɵɜɚɟɬ. ɉɪɢɥɨɠɟɧɢɟ ɦɨɠɟɬ ɢɦɟɬɶ ɧɟɫɤɨɥɶɤɨ ɨɤɨɧɧɵɯ ɮɭɧɤɰɢɣ. ɂɯ
ɤɨɥɢɱɟɫɬɜɨ ɨɩɪɟɞɟɥɹɟɬɫɹ ɱɢɫɥɨɦ ɤɥɚɫɫɨɜ ɨɤɧɚ, ɡɚɪɟɝɢɫɬɪɢɪɨɜɚɧɧɵɯ ɜ ɫɢɫɬɟɦɟ. ȿɫɥɢ ɞɥɹ ɨɤɧɚ Windɨws-ɩɪɢɥɨɠɟɧɢɹ ɩɨɹɜɥɹɟɬɫɹ ɫɨɨɛɳɟɧɢɟ, ɬɨ
ɨɩɟɪɚɰɢɨɧɧɚɹ ɫɢɫɬɟɦɚ Windɨws ɩɪɨɢɡɜɨɞɢɬ ɜɵɡɨɜ ɫɨɨɬɜɟɬɫɬɜɭɸɳɟɣ
ɨɤɨɧɧɨɣ ɮɭɧɤɰɢɢ. ɋɨɨɛɳɟɧɢɹ ɜ ɡɚɜɢɫɢɦɨɫɬɢ ɨɬ ɢɫɬɨɱɧɢɤɚ ɢɯ ɩɨɹɜɥɟɧɢɹ ɜ
ɨɤɨɧɧɨɣ ɮɭɧɤɰɢɢ ɦɨɝɭɬ ɛɵɬɶ ɞɜɭɯ ɬɢɩɨɜ: ɫɢɧɯɪɨɧɧɵɟ ɢ ɚɫɢɧɯɪɨɧɧɵɟ.
Ʉ ɫɢɧɯɪɨɧɧɵɦ ɨɬɧɨɫɹɬɫɹ ɬɟ ɫɨɨɛɳɟɧɢɹ, ɤɨɬɨɪɵɟ ɪɚɡɦɟɳɟɧɵ ɜ ɨɱɟɪɟɞɢ ɫɨɨɛɳɟɧɢɣ ɩɪɢɥɨɠɟɧɢɹ ɞɨ ɬɨɝɨ ɦɨɦɟɧɬɚ, ɤɨɝɞɚ ɨɧɢ ɛɭɞɭɬ ɜɵɛɪɚɧɵ
ɮɭɧɤɰɢɟɣ. ɉɨɫɥɟ ɷɬɨɝɨ ɩɨɫɬɭɩɢɜɲɢɟ ɫɨɨɛɳɟɧɢɹ ɩɨɩɚɞɚɸɬ ɜ ɨɤɨɧɧɭɸ
ɮɭɧɤɰɢɸ, ɝɞɟ ɢ ɩɪɨɢɡɜɨɞɢɬɫɹ ɢɯ ɨɛɪɚɛɨɬɤɚ. Ⱥɫɢɧɯɪɨɧɧɵɟ ɫɨɨɛɳɟɧɢɹ
ɩɪɨɧɢɤɚɸɬ ɜ ɨɤɨɧɧɭɸ ɮɭɧɤɰɢɸ ɜ ɷɤɫɬɪɟɧɧɨɦ ɩɨɪɹɞɤɟ, ɦɢɧɭɹ ɩɪɢ ɷɬɨɦ
ɜɫɟ ɨɱɟɪɟɞɢ. Ʉɨɨɪɞɢɧɚɰɢɸ ɫɢɧɯɪɨɧɧɵɯ ɢ ɚɫɢɧɯɪɨɧɧɵɯ ɫɨɨɛɳɟɧɢɣ ɨɫɭɳɟɫɬɜɥɹɟɬ Windɨws.
GetMessɚge
DisɪɚtɫhMessɚge
ȿɫɥɢ ɪɚɫɫɦɚɬɪɢɜɚɬɶ ɫɢɧɯɪɨɧɧɨɟ ɫɨɨɛɳɟɧɢɟ, ɬɨ ɟɝɨ ɢɡɜɥɟɱɟɧɢɟ ɩɪɨɢɡɜɨɞɢɬɫɹ ɮɭɧɤɰɢɟɣ GetMessɚge ɫ ɩɨɫɥɟɞɭɸɳɟɣ ɩɟɪɟɞɚɱɟɣ ɟɝɨ ɨɛɪɚɬɧɨ ɜ
Windɨws ɮɭɧɤɰɢɟɣ DisɪɚtɫhMessɚge. Ⱥɫɢɧɯɪɨɧɧɨɟ ɫɨɨɛɳɟɧɢɟ, ɧɟɡɚɜɢɫɢɦɨ ɨɬ ɢɫɬɨɱɧɢɤɚ, ɤɨɬɨɪɵɣ ɢɧɢɰɢɢɪɭɟɬ ɟɝɨ ɩɨɹɜɥɟɧɢɟ, ɫɧɚɱɚɥɚ ɩɨɩɚɞɚɟɬ ɜ
Windɨws ɢ ɡɚɬɟɦ ɜ ɧɭɠɧɭɸ ɨɤɨɧɧɭɸ ɮɭɧɤɰɢɸ.
ȼ Windɨws ɭɱɢɬɵɜɚɟɬɫɹ, ɱɬɨɛɵ ɨɤɨɧɧɚɹ ɮɭɧɤɰɢɹ ɫɨɯɪɚɧɹɥɚ ɡɧɚɱɟɧɢɹ
ɪɟɝɢɫɬɪɨɜ ebi, edi, esi. ɉɪɢɱɢɧɚ ɡɚɤɥɸɱɚɟɬɫɹ ɜ ɬɨɦ, ɱɬɨ ɮɭɧɤɰɢɹ ɞɨɥɠɧɚ
ɛɵɬɶ ɪɟɤɭɪɫɢɜɧɨɣ. ȼɨɡɦɨɠɧɚ ɫɢɬɭɚɰɢɹ, ɤɨɝɞɚ ɧɟɫɤɨɥɶɤɨ ɤɥɚɫɫɨɜ ɨɤɨɧ ɢɫɩɨɥɶɡɭɸɬ ɨɞɧɭ ɢ ɬɭ ɠɟ ɨɤɨɧɧɭɸ ɮɭɧɤɰɢɸ ɞɥɹ ɨɛɪɚɛɨɬɤɢ ɫɨɨɛɳɟɧɢɣ, ɩɨ-
68

ɫɬɭɩɚɸɳɢɯ ɜ ɫɨɡɞɚɧɧɵɟ ɧɚ ɛɚɡɟ ɷɬɢɯ ɤɥɚɫɫɨɜ ɨɤɧɚ. ɂɦɟɟɬ ɫɦɵɫɥ ɫɨɯɪɚɧɹɬɶ ɢ ɞɪɭɝɢɟ ɪɟɝɢɫɬɪɵ, ɡɚ ɢɫɤɥɸɱɟɧɢɟɦ eɚx, ɟɫɥɢ ɨɧɢ ɡɚɞɟɣɫɬɜɨɜɚɧɵ ɜ
ɨɤɨɧɧɨɣ ɮɭɧɤɰɢɢ. ɂɫɯɨɞɹ ɢɡ ɬɪɟɛɨɜɚɧɢɹ ɪɟɤɭɪɫɢɜɧɨɫɬɢ, ɜɫɟ ɩɟɪɟɦɟɧɧɵɟ,
ɢɫɩɨɥɶɡɭɟɦɵɟ ɜ ɨɤɨɧɧɨɣ ɮɭɧɤɰɢɢ, ɞɨɥɠɧɵ ɛɵɬɶ ɥɨɤɚɥɶɧɵɦɢ. Ⱦɥɹ ɭɞɨɜɥɟɬɜɨɪɟɧɢɹ ɬɪɟɛɨɜɚɧɢɣ ɫɨɯɪɚɧɟɧɢɹ ɪɟɝɢɫɬɪɨɜ ɥɭɱɲɟ ɢɫɩɨɥɶɡɨɜɚɬɶ ɫɨɨɬɜɟɬɫɬɜɭɸɳɟɟ ɫɪɟɞɫɬɜɨ ɬɪɚɧɫɥɹɬɨɪɚ ɚɫɫɟɦɛɥɟɪɚ
– ɞɢɪɟɤɬɢɜɭ uses. ɉɪɢ ɟɟ
ɢɫɩɨɥɶɡɨɜɚɧɢɢ ɬɪɚɧɫɥɹɬɨɪ ɜɫɬɚɜɥɹɟɬ ɜ ɧɚɱɚɥɨ ɢ ɜ ɤɨɧɟɰ ɨɤɨɧɧɨɣ ɮɭɧɤɰɢɢ
ɫɨɨɬɜɟɬɫɬɜɭɸɳɭɸ ɩɨɫɥɟɞɨɜɚɬɟɥɶɧɨɫɬɶ ɤɨɦɚɧɞ ɚɫɫɟɦɛɥɟɪɚ ɪush.
ɐɟɧɬɪɚɥɶɧɵɦ ɦɟɫɬɨɦ ɨɤɨɧɧɨɣ ɮɭɧɤɰɢɢ ɹɜɥɹɟɬɫɹ ɫɢɧɬɚɤɫɢɱɟɫɤɚɹ ɤɨɧɫɬɪɭɤɰɢɹ, ɜ ɡɚɞɚɱɭ ɤɨɬɨɪɨɣ ɜɯɨɞɢɬ ɪɚɫɩɨɡɧɚɜɚɧɢɟ ɩɨɫɬɭɩɢɜɲɟɝɨ ɫɨɨɛɳɟɧɢɹ ɩɨ ɟɝɨ ɬɢɩɭ ɢ ɩɟɪɟɞɚɱɚ ɭɩɪɚɜɥɟɧɢɹ ɧɚ ɬɭ ɜɟɬɜɶ ɤɨɞɚ ɨɤɨɧɧɨɣ ɮɭɧɤɰɢɢ,
ɤɨɬɨɪɚɹ ɩɪɨɞɨɥɠɚɟɬ ɪɚɛɨɬɭ
ɫ ɩɚɪɚɦɟɬɪɚɦɢ ɫɨɨɛɳɟɧɢɹ. ɉɨ ɡɚɜɟɪɲɟɧɢɸ
ɪɚɛɨɬɵ ɨɤɨɧɧɚɹ ɮɭɧɤɰɢɹ ɮɨɪɦɢɪɭɟɬ ɡɧɚɱɟɧɢɟ ɜ ɪɟɝɢɫɬɪɟ eɚx. ȿɫɥɢ ɫɨɨɛɳɟɧɢɟ ɨɛɪɚɛɚɬɵɜɚɥɨɫɶ ɜ ɨɤɨɧɧɨɣ ɮɭɧɤɰɢɢ, ɬɨ ɜ eɚx ɧɟɨɛɯɨɞɢɦɨ ɩɨɦɟɫɬɢɬɶ ɧɭɥɟɜɨɟ ɡɧɚɱɟɧɢɟ.
Ⱦɥɹ ɜɤɥɸɱɟɧɢɹ ɪɟɫɭɪɫɨɜ ɜ Windɨws-ɩɪɢɥɨɠɟɧɢɹ, ɧɚɩɢɫɚɧɧɵɟ ɧɚ ɚɫɫɟɦɛɥɟɪɟ, ɢɫɩɨɥɶɡɭɸɬ ɬɭ ɠɟ ɬɟɯɧɨɥɨɝɢɸ, ɱɬɨ ɢ ɞɥɹ ɩɪɨɝɪɚɦɦ ɧɚ ɋ/
ɋ++.
Ɋɟɫɭɪɫ – ɷɬɨ ɫɩɟɰɢɚɥɶɧɵɣ ɨɛɴɟɤɬ, ɢɫɩɨɥɶɡɭɟɦɵɣ ɩɪɨɝɪɚɦɦɨɣ, ɧɨ ɧɟ ɨɩɪɟɞɟɥɹɟɦɵɣ ɜ ɟɟ ɬɟɥɟ. Ʉ ɪɟɫɭɪɫɚɦ ɨɬɧɨɫɹɬɫɹ ɫɥɟɞɭɸɳɢɟ ɷɥɟɦɟɧɬɵ ɩɨɥɶɡɨɜɚɬɟɥɶɫɤɨɝɨ ɢɧɬɟɪɮɟɣɫɚ: ɡɧɚɱɤɢ, ɦɟɧɸ, ɨɤɧɚ ɞɢɚɥɨɝɚ ɢ ɬ. ɞ.
Ɉɩɪɟɞɟɥɟɧɢɟ ɪɟɫɭɪɫɨɜ ɩɪɨɢɡɜɨɞɢɬɫɹ ɜ ɬɟɤɫɬɨɜɨɦ ɮɚɣɥɟ ɫ ɪɚɫɲɢɪɟɧɢ-
ɟɦ «*.rɫ». ɉɨɞɝɨɬɨɜɤɭ ɷɬɨɝɨ ɮɚɣɥɚ ɦɨɠɧɨ ɩɪɨɢɡɜɨɞɢɬɶ ɞɜɭɦɹ ɫɩɨɫɨɛɚɦɢ:
ɪɭɱɧɵɦ ɢ ɚɜɬɨɦɚɬɢɡɢɪɨɜɚɧɧɵɦ. Ɋɭɱɧɨɣ
ɫɩɨɫɨɛ ɩɪɟɞɩɨɥɚɝɚɟɬ ɫɥɟɞɭɸɳɟɟ:
ɪɚɡɪɚɛɨɬɱɢɤ ɪɟɫɭɪɫɚ ɯɨɪɨɲɨ ɡɧɚɟɬ ɨɩɟɪɚɬɨɪɵ, ɧɟɨɛɯɨɞɢɦɵɟ ɞɥɹ ɨɩɢɫɚɧɢɹ
ɤɨɧɤɪɟɬɧɨɝɨ ɪɟɫɭɪɫɚ; ɜɜɨɞ ɬɟɤɫɬɚ ɪɟɫɭɪɫɧɨɝɨ ɮɚɣɥɚ ɜɵɩɨɥɧɹɟɬɫɹ ɫ ɩɨɦɨɳɶɸ ɪɟɞɚɤɬɨɪɚ, ɤɨɬɨɪɵɣ ɧɟ ɜɫɬɚɜɥɹɟɬ ɜ ɜɜɨɞɢɦɵɣ ɬɟɤɫɬ ɷɥɟɦɟɧɬɵ ɮɨɪɦɚɬɢɪɨɜɚɧɢɹ.
Ⱥɜɬɨɦɚɬɢɱɟɫɤɢɣ ɫɩɨɫɨɛ ɫɨɡɞɚɧɢɹ ɪɟɫɭɪɫɧɨɝɨ ɮɚɣɥɚ ɩɪɟɞɩɨɥɚɝɚɟɬ ɢɫɩɨɥɶɡɨɜɚɧɢɟ ɫɩɟɰɢɚɥɶɧɨɣ ɩɪɨɝɪɚɦɦɵ – ɪɟɞɚɤɬɨɪɚ ɪɟɫɭɪɫɨɜ, ɤɨɬɨɪɵɣ ɩɨɡɜɨɥɹɟɬ ɜɢɡɭɚɥɢɡɢɪɨɜɚɬɶ ɩɪɨɰɟɫɫ ɢɯ ɫɨɡɞɚɧɢɹ. Ʉɨɧɟɱɧɵɟ
ɪɟɡɭɥɶɬɚɬɵ ɪɚɛɨ-
ɬɵ ɷɬɨɣ ɩɪɨɝɪɚɦɦɵ ɦɨɝɭɬ ɛɵɬɶ ɞɜɭɯ ɜɢɞɨɜ: ɜ ɜɢɞɟ ɬɟɤɫɬɨɜɨɝɨ ɮɚɣɥɚ ɫ
ɪɚɫɲɢɪɟɧɢɟɦ «*.rɫ», ɤɨɬɨɪɵɣ ɜɩɨɫɥɟɞɫɬɜɢɢ ɦɨɠɧɨ ɩɨɞɜɟɪɝɚɬɶ ɪɭɱɧɨɦɭ
ɪɟɞɚɤɬɢɪɨɜɚɧɢɸ, ɥɢɛɨ ɜ ɜɢɞɟ ɞɜɨɢɱɧɨɝɨ ɮɚɣɥɚ, ɭɠɟ ɩɪɢɝɨɞɧɨɝɨ ɤ ɜɤɥɸɱɟɧɢɸ ɜ ɢɫɩɨɥɧɹɟɦɵɣ ɮɚɣɥ ɩɪɢɥɨɠɟɧɢɹ.
69

ȽɅȺȼȺ 4. ɌȿɏɇɈɅɈȽɂɑȿɋɄɂȿ ɈɋɈȻȿɇɇɈɋɌɂ
15. Ɂɚɳɢɳɟɧɧɵɣ ɪɟɠɢɦ ɪɚɛɨɬɵ ɦɢɤɪɨɩɪɨɰɟɫɫɨɪɚ
Ʌɸɛɨɣ ɫɟɝɦɟɧɬ ɩɚɦɹɬɢ ɜ ɡɚɳɢɳɟɧɧɨɦ ɪɟɠɢɦɟ ɢɦɟɟɬ ɫɥɟɞɭɸɳɢɟ ɚɬɪɢɛɭɬɵ:
–
ɪɚɫɩɨɥɨɠɟɧɢɟ ɜ ɩɚɦɹɬɢ;
–
ɪɚɡɦɟɪ;
–
ɭɪɨɜɟɧɶ ɩɪɢɜɢɥɟɝɢɣ – ɩɪɚɜɨ ɨɬɧɨɫɢɬɟɥɶɧɨ ɞɪɭɝɢɯ ɫɟɝɦɟɧɬɨɜ;
–
ɬɢɩ ɞɨɫɬɭɩɚ – ɧɚɡɧɚɱɟɧɢɟ.
ɋɨɫɬɚɜ ɩɟɪɟɱɢɫɥɟɧɧɵɯ ɚɬɪɢɛɭɬɨɜ ɩɨɤɚɡɵɜɚɟɬ, ɱɬɨ ɜ ɡɚɳɢɳɟɧɧɨɦ ɪɟɠɢɦɟ ɦɢɤɪɨɩɪɨɰɟɫɫɨɪ ɚɩɩɚɪɚɬɧɨ ɩɨɞɞɟɪɠɢɜɚɟɬ ɞɜɚ ɬɢɩɚ ɡɚɳɢɬɵ – ɩɨ
ɩɪɢɜɢɥɟɝɢɹɦ ɢ ɩɨ ɞɨɫɬɭɩɭ ɤ ɩɚɦɹɬɢ. ȼ ɨɬɥɢɱɢɟ ɨɬ ɪɟɚɥɶɧɨɝɨ ɪɟɠɢɦɚ, ɜ
ɡɚɳɢɳɟɧɧɨɦ ɪɟɠɢɦɟ ɩɪɨɝɪɚɦɦɚ ɧɟ ɦɨɠɟɬ ɨɛɪɚɬɢɬɶɫɹ ɩɨ ɥɸɛɨɦɭ ɮɢɡɢɱɟɫɤɨɦɭ ɚɞɪɟɫɭ ɩɚɦɹɬɢ. Ⱦɥɹ ɷɬɨɝɨ ɨɧɚ ɞɨɥɠɧɚ ɛɵɬɶ ɧɚɞɟɥɟɧɚ ɨɩɪɟɞɟɥɟɧɧɵɦɢ ɩɨɥɧɨɦɨɱɢɹɦɢ ɢ ɭɞɨɜɥɟɬɜɨɪɹɬɶ
ɪɹɞɭ ɬɪɟɛɨɜɚɧɢɣ.
Ʉɥɸɱɟɜɵɦ ɨɛɴɟɤɬɨɦ ɡɚɳɢɳɟɧɧɨɝɨ ɪɟɠɢɦɚ ɹɜɥɹɟɬɫɹ ɫɩɟɰɢɚɥɶɧɚɹ
ɫɬɪɭɤɬɭɪɚ – ɞɟɫɤɪɢɩɬɨɪ ɫɟɝɦɟɧɬɚ, ɤɨɬɨɪɵɣ ɩɪɟɞɫɬɚɜɥɹɟɬ ɫɨɛɨɣ 8-ɛɚɣɬɨɜɵɣ
ɞɟɫɤɪɢɩɬɨɪ ɧɟɩɪɟɪɵɜɧɨɣ ɨɛɥɚɫɬɢ ɩɚɦɹɬɢ. Ʌɸɛɚɹ ɨɛɥɚɫɬɶ ɩɚɦɹɬɢ, ɥɨɝɢɱɟɫɤɢ ɹɜɥɹɸɳɚɹɫɹ ɫɟɝɦɟɧɬɨɦ ɞɚɧɧɵɯ, ɫɬɟɤɚ ɢɥɢ ɤɨɞɚ, ɞɨɥɠɧɚ ɛɵɬɶ ɨɩɢɫɚɧɚ
ɬɚɤɢɦ ɞɟɫɤɪɢɩɬɨɪɨɦ. ȼɫɟ ɞɟɫɤɪɢɩɬɨɪɵ ɫɨɛɢɪɚɸɬɫɹ ɜ ɨɞɧɭ ɢɡ ɬɪɟɯ ɞɟɫɤɪɢɩɬɨɪɧɵɯ ɬɚɛɥɢɰ, ɨɩɪɟɞɟɥɟɧɧɵɯ ɟɝɨ ɧɚɡɧɚɱɟɧɢɟɦ. Ⱥɞɪɟɫ ɪɚɡɦɟɳɟɧɢɹ
ɞɟɫɤɪɢɩɬɨɪɧɵɯ ɬɚɛɥɢɰ ɦɨɠɟɬ ɛɵɬɶ ɥɸɛɵɦ. Ɉɧ ɯɪɚɧɢɬɫɹ ɜ ɫɩɟɰɢɚɥɶɧɨ
ɩɪɟɞɧɚɡɧɚɱɟɧɧɨɦ ɞɥɹ ɧɟɝɨ ɫɟɝɦɟɧɬɧɨɦ ɪɟɝɢɫɬɪɟ.
ɋɟɝɦɟɧɬɧɵɟ ɪɟɝɢɫɬɪɵ ɦɨɠɧɨ ɪɚɡɞɟɥɢɬɶ ɧɚ ɬɪɢ ɝɪɭɩɩɵ:
–
ɩɹɬɶ ɪɟɝɢɫɬɪɨɜ ɭɩɪɚɜɥɟɧɢɹ;
–
ɱɟɬɵɪɟ ɪɟɝɢɫɬɪɚ ɫɢɫɬɟɦɧɵɯ ɚɞɪɟɫɨɜ;
–
ɜɨɫɟɦɶ ɪɟɝɢɫɬɪɨɜ ɨɬɥɚɞɤɢ.
ȼ ɫɨɫɬɚɜ ɫɟɝɦɟɧɬɧɵɯ ɪɟɝɢɫɬɪɨɜ ɦɢɤɪɨɩɪɨɰɟɫɫɨɪɨɜ Ɋentium ɜɜɟɞɟɧɵ
ɢɡɦɟɧɟɧɢɹ:
–
ɡɚɞɟɣɫɬɜɨɜɚɧ ɪɚɧɟɟ ɡɚɪɟɡɟɪɜɢɪɨɜɚɧɧɵɣ ɪɟɝɢɫɬɪ ɭɩɪɚɜɥɟɧɢɹ ɫr4;
–
ɜɜɟɞɟɧɚ ɝɪɭɩɩɚ MSR-ɪɟɝɢɫɬɪɨɜ (ɦɨɞɟɥɶɧɨ-ɡɚɜɢɫɢɦɵɟ ɪɟɝɢɫɬɪɵ),
ɧɚɡɧɚɱɟɧɢɟ ɢ ɜɨɡɦɨɠɧɨɫɬɢ ɤɨɬɨɪɵɯ «ɩɪɢɜɹɡɚɧɵ» ɤ ɤɨɧɤɪɟɬɧɨɣ ɦɨɞɟɥɢ
ɦɢɤɪɨɩɪɨɰɟɫɫɨɪɚ.
Ɋɟɝɢɫɬɪɵ ɭɩɪɚɜɥɟɧɢɹ. ȼ ɝɪɭɩɩɭ ɪɟɝɢɫɬɪɨɜ ɭɩɪɚɜɥɟɧɢɹ ɜɯɨɞɹɬ ɩɹɬɶ
ɪɟɝɢɫɬɪɨɜ ɫr0-ɫr4, ɩɪɟɞɧɚɡɧɚɱɟɧɧɵɯ ɞɥɹ ɨɛɳɟɝɨ ɭɩɪɚɜɥɟɧɢɹ ɫɢɫɬɟɦɨɣ.
Ɉɧɢ ɞɨɫɬɭɩɧɵ ɬɨɥɶɤɨ ɩɪɨɝɪɚɦɦɚɦ ɫ ɭɪɨɜɧɟɦ ɩɪɢɜɢɥɟɝɢɣ 0. ɇɟɫɦɨɬɪɹ ɧɚ
ɬɨ, ɱɬɨ ɦɢɤɪɨɩɪɨɰɟɫɫɨɪ ɢɦɟɟɬ ɩɹɬɶ ɪɟɝɢɫɬɪɨɜ ɭɩɪɚɜɥɟɧɢɹ, ɢɡ ɧɢɯ ɞɨɫɬɭɩɧɵ ɬɨɥɶɤɨ ɱɟɬɵɪɟ, ɫr1 ɢɫɤɥɸɱɚɟɬɫɹ, ɩɨɬɨɦɭ ɱɬɨ ɟɝɨ ɮɭɧɤɰɢɢ ɩɨɤɚ ɧɟ
ɨɩɪɟɞɟɥɟɧɵ, ɨɧ ɡɚɪɟɡɟɪɜɢɪɨɜɚɧ
ɞɥɹ ɛɭɞɭɳɟɝɨ ɢɫɩɨɥɶɡɨɜɚɧɢɹ.
70
Соседние файлы в предмете [НЕСОРТИРОВАННОЕ]
