Добавил:
ivanov666
Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз:
Предмет:
Файл:Системное программирование. Учебное пособие-1
.pdf
ɉɪɢɦɟɪ 2.36. ɂɫɩɨɥɶɡɨɜɚɧɢɟ ɤɨɦɚɧɞɵ ɨɛɦɟɧɚ XCHG.
MOV AX,20 ; AX ɫɨɞɟɪɠɢɬ 20
MOV CX,10 ; CX ɫɨɞɟɪɠɢɬ 10
XCHG AX,CX ; ɩɨɦɟɧɹɬɶ ɦɟɫɬɚɦɢ
; Ɍɟɩɟɪɶ AX ɫɨɞɟɪɠɢɬ 10, ɚ CX ɫɨɞɟɪɠɢɬ 20
Ʉɚɤ ɦɵ ɭɠɟ ɡɧɚɟɦ, ɞɥɹ ɨɛɪɚɳɟɧɢɹ ɤ ɤɚɤɨɦɭ-ɥɢɛɨ ɭɫɬɪɨɣɫɬɜɭ, ɢɥɢ ɹɱɟɣɤɟ
ɩɚɦɹɬɢ (ɯɪɚɧɹɳɟɣ, ɧɚɩɪɢɦɟɪ, ɡɧɚɱɟɧɢɟ ɩɟɪɟɦɟɧɧɨɣ), ɧɟɨɛɯɨɞɢɦɨ ɡɧɚɬɶ ɢɯ ɚɞɪɟɫɚ. Ⱦɥɹ ɭɤɚɡɚɧɢɹ ɚɞɪɟɫɚ ɜ ɩɪɨɝɪɚɦɦɚɯ Ⱥɫɫɟɦɛɥɟɪɚ ɢɫɩɨɥɶɡɭɸɬ ɧɟɫɤɨɥɶɤɨ
ɫɩɨɫɨɛɨɜ:
ɪɟɝɢɫɬɪɨɜɚɹ ɚɞɪɟɫɚɰɢɹ;
ɧɟɩɨɫɪɟɞɫɬɜɟɧɧɚɹ
ɚɞɪɟɫɚɰɢɹ;
ɩɪɹɦɚɹ ɚɞɪɟɫɚɰɢɹ ɩɚɦɹɬɢ:
1. ɛɚɡɨɜɚɹ ɢ ɢɧɞɟɤɫɧɚɹ;
2. ɛɚɡɨɜɚɹ ɢ ɢɧɞɟɤɫɧɚɹ ɫɨ ɫɦɟɳɟɧɢɟɦ;
3. ɛɚɡɨɜɨ-ɢɧɞɟɤɫɧɚɹ;
4. ɛɚɡɨɜɨ-ɢɧɞɟɤɫɧɚɹ ɫɨ ɫɦɟɳɟɧɢɟɦ.
ɉɪɢ ɢɫɩɨɥɶɡɨɜɚɧɢɢ ɪɟɝɢɫɬɪɨɜɨɣ ɚɞɪɟɫɚɰɢɢ ɨɞɢɧ ɢɡ ɨɩɟɪɚɧɞɨɜ (ɛɚɣɬ ɢɥɢ
ɫɥɨɜɨ) ɧɚɯɨɞɢɬɫɹ ɜ ɪɟɝɢɫɬɪɟ (ɤɚɤ ɩɪɚɜɢɥɨ, ɜ ɊɈɇ).
ɉɪɢɦɟɪ 2.37. Ɋɟɝɢɫɬɪɨɜɚɹ ɚɞɪɟɫɚɰɢɹ.
MOV DS, AX
ɉɪɢ ɧɟɩɨɫɪɟɞɫɬɜɟɧɧɨɣ ɚɞɪɟɫɚɰɢɢ ɨɩɟɪɚɧɞ ɪɚɡɦɟɳɚɟɬɫɹ ɜ ɫɚɦɨɣ
ɤɨɦɚɧɞɟ.
ɉɪɢɦɟɪ 2.38. ɇɟɩɨɫɪɟɞɫɬɜɟɧɧɚɹ ɚɞɪɟɫɚɰɢɹ.
MOV AX, 4A0Ch ; Ɉɩɟɪɚɧɞ - 16-ɪɢɱɧɨɟ ɱɢɫɥɨ
MOV DX, offset Var ; ɋɦɟɳɟɧɢɟ ɞɥɹ ɩɟɪɟɦɟɧɧɨɣ
; Var ɡɚɧɨɫɢɬɫɹ ɜ DX
ɉɪɢ ɩɪɹɦɨɣ ɚɞɪɟɫɚɰɢɢ ɨɬɧɨɫɢɬɟɥɶɧɵɣ ɚɞɪɟɫ ɨɩɟɪɚɧɞɚ ɫɨɞɟɪɠɢɬɫɹ ɜ ɜɢɞɟ
ɫɦɟɳɟɧɢɹ.
ɉɪɢɦɟɪ 2.39. ɉɪɹɦɚɹ ɚɞɪɟɫɚɰɢɹ.
MOV AL, off_db; off_db – ɫɦɟɳɟɧɢɟ ɞɥɹ ɛɚɣɬɚ
MOV AX, off_dw; off_dw – ɫɦɟɳɟɧɢɟ ɞɥɹ ɫɥɨɜɚ
ɉɪɢ ɛɚɡɨɜɨɣ ɢ ɢɧɞɟɤɫɧɨɣ ɚɞɪɟɫɚɰɢɹ ɩɚɦɹɬɢ ɨɬɧɨɫɢɬɟɥɶɧɵɣ ɚɞɪɟɫ ɹɱɟɣɤɢ
ɩɚɦɹɬɢ ɧɚɯɨɞɢɬɫɹ ɜ ɪɟɝɢɫɬɪɟ, ɨɛɨɡɧɚɱɟɧɢɟ ɤɨɬɨɪɨɝɨ ɡɚɤɥɸɱɟɧɨ
ɜ ɤɜɚɞɪɚɬɧɵɟ
ɫɤɨɛɤɢ. ɉɪɢ ɢɫɩɨɥɶɡɨɜɚɧɢɢ ɪɟɝɢɫɬɪɨɜ ȼɏ ɢɥɢ ȼɊ ɚɞɪɟɫɚɰɢɸ ɧɚɡɵɜɚɸɬ ɛɚɡɨɜɨɣ, ɩɪɢ ɢɫɩɨɥɶɡɨɜɚɧɢɢ ɪɟɝɢɫɬɪɨɜ SI ɢɥɢ DI – ɢɧɞɟɤɫɧɨɣ.
ɉɪɢ ɚɞɪɟɫɚɰɢɢ ɱɟɪɟɡ ɪɟɝɢɫɬɪɵ ȼɏ, SI ɢɥɢ DI ɜ ɤɚɱɟɫɬɜɟ ɫɟɝɦɟɧɬɧɨɝɨ ɪɟɝɢɫɬɪɚ ɜɫɟɝɞɚ ɩɨɞɪɚɡɭɦɟɜɚɟɬɫɹ DS, ɩɪɢ ɚɞɪɟɫɚɰɢɢ ɱɟɪɟɡ ɪɟɝɢɫɬɪ ȼɊ ɢɫɩɨɥɶɡɭɟɬɫɹ ɪɟɝɢɫɬɪ SS.
ɉɪɢɦɟɪ 2.40. Ȼɚɡɨɜɚɹ ɢ ɢɧɞɟɤɫɧɚɹ ɚɞɪɟɫɚɰɢɹ.
MOV AL, [ȼɏ
]
; ɋɟɝɦɟɧɬɧɵɣ ɚɞɪɟɫ ɜ DS, ɫɦɟɳɟɧɢɟ ɜ ȼɏ
MOV DL,ES:[BX]
; ɋɟɝɦɟɧɬɧɵɣ ɚɞɪɟɫ ES, ɫɦɟɳɟɧɢɟ ɜ ȼɏ
MOV DX,[BP]
; ɋɟɝɦɟɧɬɧɵɣ ɚɞɪɟɫ ɜ SS, ɫɦɟɳɟɧɢɟ ɜ ȼɊ
51

MOV AL, [DI]
; ɋɟɝɦɟɧɬɧɵɣ ɚɞɪɟɫ ɜ DS, ɫɦɟɳɟɧɢɟ ɜ DI
Ȼɚɡɨɜɚɹ ɢ ɢɧɞɟɤɫɧɚɹ ɚɞɪɟɫɚɰɢɹ ɫɨ ɫɦɟɳɟɧɢɟɦ ɩɪɟɞɩɨɥɚɝɚɟɬ, ɱɬɨ ɨɬɧɨɫɢɬɟɥɶɧɵɣ ɚɞɪɟɫ ɨɩɟɪɚɧɞɚ ɨɩɪɟɞɟɥɹɟɬɫɹ ɫɭɦɦɨɣ ɫɨɞɟɪɠɢɦɨɝɨ ɪɟɝɢɫɬɪɚ (ȼɏ, ȼɊ,
SI ɢɥɢ DI) ɢ ɭɤɚɡɚɧɧɨɝɨ ɜ ɤɨɦɚɧɞɟ ɱɢɫɥɚ, ɤɨɬɨɪɨɟ ɧɚɡɵɜɚɸɬ ɫɦɟɳɟɧɢɟɦ.
ɉɪɢɦɟɪ 2.41. Ȼɚɡɨɜɚɹ ɢ ɢɧɞɟɤɫɧɚɹ ɚɞɪɟɫɚɰɢɹ ɫɨ ɫɦɟɳɟɧɢɟɦ.
; Ɉɛɴɹɜɥɹɟɦ ɦɚɫɫɢɜ ɫɢɦɜɨɥɨɜ
mas db 1,2,5,6,7,9,1,3,2
MOV BX, 2
; ȼɏ – ɢɧɞɟɤɫ ɷɥɟɦɟɧɬɚ ɜ
ɦɚɫɫɢɜɟ
MOV DL, mas[BX]
; ȼ DL ɡɚɧɨɫɢɬɫɹ ɬɪɟɬɢɣ ɷɥɟɦɟɧɬ ɦɚɫɫɢɜɚ
; (ɚɞɪɟɫɚɰɢɹ ɫ 0), ɬ. ɟ. ɱɢɫɥɨ 5
; ɉɪɟɞɩɨɥɚɝɚɟɬɫɹ, ɱɬɨ ɛɚɡɨɜɵɣ ɚɞɪɟɫ
; ɫɟɝɦɟɧɬɚ, ɜ ɤɨɬɨɪɵɣ ɜɯɨɞɢɬ ɦɚɫɫɢɜ mas,
; ɡɚɝɪɭɠɟɧ ɜ DS
ɉɪɢ ɛɚɡɨɜɨ-ɢɧɞɟɤɫɧɨɣ ɚɞɪɟɫɚɰɢɢ ɨɬɧɨɫɢɬɟɥɶɧɵɣ ɚɞɪɟɫ ɨɩɟɪɚɧɞɚ ɪɚɜɟɧ
ɫɭɦɦɟ ɫɨɞɟɪɠɢɦɨɝɨ ɛɚɡɨɜɨɝɨ ɢ ɢɧɞɟɤɫɧɨɝɨ ɪɟɝɢɫɬɪɨɜ. Ⱦɨɩɭɫɤɚɟɬɫɹ ɢɫɩɨɥɶɡɨɜɚɧɢɟ ɫɥɟɞɭɸɳɢɯ ɩɚɪ: [BX][SI], [BX][DI], [BP][SI] ɢ [BP][DI].
ȿɫɥɢ
ɜ ɤɚɱɟɫɬɜɟ ɛɚɡɨɜɨɝɨ ɪɟɝɢɫɬɪɚ ɢɫɩɨɥɶɡɭɟɬɫɹ ȼɏ, ɬɨ ɜ ɤɚɱɟɫɬɜɟ ɫɟɝɦɟɧɬɧɨɝɨ
ɩɨɞɪɚɡɭɦɟɜɚɟɬɫɹ DS, ɩɪɢ ɢɫɩɨɥɶɡɨɜɚɧɢɢ ɛɚɡɨɜɨɝɨ ɪɟɝɢɫɬɪɚ ȼɊ ɫɟɝɦɟɧɬɧɵɦ ɪɟɝɢɫɬɪɨɦ ɩɨ ɭɦɨɥɱɚɧɢɸ ɧɚɡɧɚɱɚɟɬɫɹ SS. ɉɪɢ ɧɟɨɛɯɨɞɢɦɨɫɬɢ ɦɨɠɧɨ ɹɜɧɨ ɭɤɚɡɚɬɶ ɧɟɩɨɫɪɟɞɫɬɜɟɧɧɨ ɬɪɟɛɭɟɦɵɣ ɫɟɝɦɟɧɬɧɵɣ ɪɟɝɢɫɬɪ.
ɉɪɢɦɟɪ 2.42. Ȼɚɡɨɜɨ-ɢɧɞɟɤɫɧɚɹ ɚɞɪɟɫɚɰɢɹ.
MOV BX,[BP][SI]
; ȼ ȼɏ ɡɚɧɨɫɢɬɫɹ ɫɥɨɜɨ ɢɡ ɫɬɟɤɚ
;(ɫɟɝɦɟɧɬɧɵɣ ɚɞɪɟɫ ɜ SS),
;ɚ
ɫɦɟɳɟɧɢɟ ɜɵɱɢɫɥɹɟɬɫɹ ɤɚɤ ɫɭɦɦɚ
; ɫɨɞɟɪɠɢɦɨɝɨ ȼɊ ɢ SI
MOV BX,ES:[BP][SI]
; ȼ ȼɏ ɡɚɧɨɫɢɬɫɹ ɫɥɨɜɨ ɢɡ ɫɟɝɦɟɧɬɚ,
; ɚɞɪɟɫ ɤɨɬɨɪɨɝɨ ɧɚɯɨɞɢɬɫɹ ɜ ES,
; ɚ ɫɦɟɳɟɧɢɟ ɜɵɱɢɫɥɹɟɬɫɹ ɤɚɤ
; ɫɭɦɦɚ ɫɨɞɟɪɠɢɦɨɝɨ ȼɊ ɢ SI
MOV ES:[BX+DI],AX
;ȼ ɹɱɟɣɤɭ ɩɚɦɹɬɢ, ɫɟɝɦɟɧɬɧɵɣ ɚɞɪɟɫ
; ɤɨɬɨɪɨɣ ɯɪɚɧɢɬɫɹ ɜ ES, ɚ ɫɦɟɳɟɧɢɟ
; ɪɚɜɧɨ ɫɭɦɦɟ ɫɨɞɟɪɠɢɦɨɝɨ ȼɏ ɢ DI,
; ɩɟɪɟɫɵɥɚɟɬɫɹ ɫɨɞɟɪɠɢɦɨɟ Ⱥɏ
Ȼɚɡɨɜɨ-ɢɧɞɟɤɫɧɚɹ
ɚɞɪɟɫɚɰɢɹ ɫɨ ɫɦɟɳɟɧɢɟɦ ɩɪɟɞɩɨɥɚɝɚɟɬ, ɱɬɨ ɨɬɧɨ-
ɫɢɬɟɥɶɧɵɣ ɚɞɪɟɫ ɨɩɟɪɚɧɞɚ ɨɩɪɟɞɟɥɹɟɬɫɹ ɫɭɦɦɨɣ ɫɨɞɟɪɠɢɦɨɝɨ ɛɚɡɨɜɨɝɨ ɢ ɢɧɞɟɤɫɧɨɝɨ ɪɟɝɢɫɬɪɨɜ, ɚ ɬɚɤɠɟ ɫɦɟɳɟɧɢɹ. Ⱦɨɩɭɫɤɚɟɬɫɹ ɢɫɩɨɥɶɡɨɜɚɧɢɟ ɬɟɯ ɠɟ ɩɚɪ
ɪɟɝɢɫɬɪɨɜ, ɱɬɨ ɢ ɩɪɢ ɛɚɡɨɜɨ-ɢɧɞɟɤɫɧɨɦ ɫɩɨɫɨɛɟ ɚɞɪɟɫɚɰɢɢ.
52

ɉɪɢɦɟɪ 2.43. Ȼɚɡɨɜɨ-ɢɧɞɟɤɫɧɚɹ ɚɞɪɟɫɚɰɢɹ ɫɨ ɫɦɟɳɟɧɢɟɦ.
MOV mas [ȼɏ] [SI] , 20
;ɑɢɫɥɨ 20 ɩɟɪɟɫɵɥɚɟɬɫɹ ɜ ɹɱɟɣɤɭ ɩɚɦɹɬɢ,
;ɫɟɝɦɟɧɬɧɵɣ ɚɞɪɟɫ ɤɨɬɨɪɨɣ ɯɪɚɧɢɬɫɹ ɜ DS, ɚ ;ɫɦɟɳɟɧɢɟ
ɪɚɜɧɨ ɫɭɦɦɟ ɫɨɞɟɪɠɢɦɨɝɨ
;ȼɏ ɢ SI ɢ ɫɦɟɳɟɧɢɹ ɹɱɟɣɤɢ mas
MOV AX,[BP+2+DI]
;ȼ Ⱥɏ ɩɟɪɟɫɵɥɚɟɬɫɹ ɢɡ ɫɬɟɤɚ ɫɥɨɜɨ,
;ɫɦɟɳɟɧɢɟ ɤɨɬɨɪɨɝɨ ɪɚɜɧɨ ɫɭɦɦɟ ȼɊ, DI ɢ 2
Ɉɫɨɛɨɟ ɦɟɫɬɨ ɜ ɩɪɨɝɪɚɦɦɚɯ Ⱥɫɫɟɦɛɥɟɪɚ ɡɚɧɢɦɚɸɬ ɨɩɟɪɚɰɢɢ ɫɨ
ɫɬɟɤɨɦ.
ɋɬɟɤ – ɷɬɨ ɨɛɥɚɫɬɶ ɨɩɟɪɚɬɢɜɧɨɣ ɩɚɦɹɬɢ, ɜɵɞɟɥɹɟɦɚɹ ɞɥɹ ɜɵɩɨɥɧɟɧɢɹ ɨɩɟɪɚɰɢɣ ɨɛɦɟɧɚ ɞɚɧɧɵɦɢ, ɩɟɪɟɞɚɱɢ ɞɚɧɧɵɯ ɜ ɩɨɞɩɪɨɝɪɚɦɦɵ, ɚ ɬɚɤɠɟ ɞɥɹ ɜɪɟɦɟɧɧɨɝɨ ɯɪɚɧɟɧɢɹ ɡɧɚɱɟɧɢɣ ɪɟɝɢɫɬɪɨɜ ɢ ɩɟɪɟɦɟɧɧɵɯ ɩɪɢ ɨɛɪɚɛɨɬɤɟ ɩɪɟɪɵɜɚɧɢɣ. ɋɬɟɤ ɩɪɟɞɫɬɚɜɥɹɟɬ ɫɨɛɨɣ ɨɞɧɨɦɟɪɧɵɣ ɦɚɫɫɢɜ, ɞɨɫɬɭɩ ɤ ɫɨɞɟɪɠɢɦɨɦɭ ɤɨɬɨɪɨɝɨ ɪɟɚɥɢɡɨɜɚɧ ɩɨ ɩɪɢɧɰɢɩɭ «ɩɨɫɥɟɞɧɢɦ ɜɨɲɟɥ – ɩɟɪɜɵɣ ɜɵɲɟɥ», ɬ. ɟ.
ɞɚɧ
ɧɵɟ, ɩɨɦɟɳɟɧɧɵɟ ɜ ɫɬɟɤ ɩɟɪɜɵɦɢ, ɦɨɝɭɬ ɛɵɬɶ ɢɡɜɥɟɱɟɧɵ ɩɨɫɥɟɞɧɢɦɢ.
Ⱦɥɹ ɪɚɛɨɬɵ ɫɨ ɫɬɟɤɨɦ ɢɫɩɨɥɶɡɭɸɬɫɹ ɫɥɟɞɭɸɳɢɟ ɪɟɝɢɫɬɪɵ:
RSP (ESP, SP) – ɪɟɝɢɫɬɪ ɭɤɚɡɚɬɟɥɹ ɫɬɟɤɚ, ɫɨɞɟɪɠɚɳɢɣ ɭɤɚɡɚɬɟɥɶ ɧɚ
ɜɟɪɲɢɧɭ ɫɬɟɤɚ ɜ ɬɟɤɭɳɟɦ ɫɟɝɦɟɧɬɟ ɫɬɟɤɚ;
RBP (EBP, BP) – ɪɟɝɢɫɬɪ ɭɤɚɡɚɬɟɥɹ ɛɚɡɵ ɤɚɞɪɚ ɫɬɟɤɚ, ɨɪɝɚɧɢɡɭɸɳɢɣ ɩɪɨɢɡɜɨɥɶɧɵɣ ɞɨɫɬɭɩ ɤ ɞɚɧɧɵɦ ɜɧɭɬɪɢ ɫɬɟɤɚ;
SS ɨɛɟɫɩɟɱɢɜɚɟɬ ɞɨɫɬɭɩ ɤ
ɫɟɝɦɟɧɬɭ ɫɬɟɤɚ.
Ⱥɞɪɟɫ, ɯɪɚɧɹɳɢɣɫɹ ɜ ɪɟɝɢɫɬɪɟ RSP (ESP, SP), ɧɚɡɵɜɚɟɬɫɹ ɜɟɪɲɢɧɨɣ ɫɬɟ-
ɤɚ.
ȿɫɥɢ ɧɟɨɛɯɨɞɢɦɨ ɩɨɥɭɱɢɬɶ ɞɨɫɬɭɩ ɤ ɷɥɟɦɟɧɬɚɦ ɧɟ ɧɚ ɜɟɪɲɢɧɟ, ɚ ɜɧɭɬɪɢ
ɫɬɟɤɚ, ɬɨ ɧɟɨɛɯɨɞɢɦɨ ɢɫɩɨɥɶɡɨɜɚɬɶ ɪɟɝɢɫɬɪ RBP (EBP, BP) – ɷɬɨ ɪɟɝɢɫɬɪ ɭɤɚɡɚɬɟɥɹ ɛɚɡɵ ɤɚɞɪɚ ɫɬɟɤɚ, ɝɞɟ ɦɨɠɧɨ ɡɚɩɢɫɚɬɶ ɧɟɨɛɯɨɞɢɦɵɣ ɚɞɪɟɫ ɫɬɟɤɚ.
ɉɪɢ ɪɚɛɨɬɟ ɫɨ ɫɬɟɤɨɦ ɢɫɩɨɥɶɡɭɸɬɫɹ
ɞɜɟ ɤɨɦɚɧɞɵ: PUSH – ɩɨɦɟɫɬɢɬɶ ɜ
ɫɬɟɤ, ɢ POP – ɢɡɜɥɟɱɶ ɢɡ ɫɬɟɤɚ.
ɉɪɢɦɟɪ 2.44. Ɂɚɧɟɫɟɧɢɟ ɞɚɧɧɵɯ ɜ ɫɬɟɤ ɢ ɢɡɜɥɟɱɟɧɢɟ ɢɡ ɧɟɝɨ.
PUSH AX ; ɡɚɧɨɫɢɦ ɜ ɫɬɟɤ ɫɨɞɟɪɠɢɦɨɟ AX
PUSH BX ; ɡɚɧɨɫɢɦ ɜ ɫɬɟɤ ɫɨɞɟɪɠɢɦɨɟ BX
POP BX ; ɢɡɜɥɟɤɚɟɦ ɢɡ ɫɬɟɤɚ ɫɨɞɟɪɠɢɦɨɟ BX
POP AX ; ɢɡɜɥɟɤɚɟɦ ɢɡ ɫɬɟɤɚ ɫɨɞɟɪɠɢɦɨɟ BX
ȿɫɬɶ ɬɚɤɠɟ ɤɨɦɚɧɞɵ ɪɚɛɨɬɵ ɫɨ ɫɬɟɤɨɦ, ɩɨɡɜɨɥɹɸɳɢɟ ɫɨɯɪɚɧɢɬɶ ɢ ɜɨɫɫɬɚɧɨɜɢɬɶ «ɩɚɤɟɬɨɦ»
ɫɨɞɟɪɠɢɦɨɟ
ɪɟɝɢɫɬɪɨɜ AX, DX, CX, DX, SP, BP, SI ɢ DI –
ɷɬɨ PUSHA ɢ POPA; ɚ ɬɚɤɠɟ ɫɨɯɪɚɧɹɬɶ ɢ ɜɨɫɫɬɚɧɚɜɥɢɜɚɬɶ ɪɟɝɢɫɬɪ ɮɥɚɝɨɜ –
PUSHF ɢ POPF.
2.2.5. Ⱥɪɢɮɦɟɬɢɱɟɫɤɢɟ ɢ ɥɨɝɢɱɟɫɤɢɟ ɨɩɟɪɚɰɢɢ
ɋɨɜɪɟɦɟɧɧɵɟ ɦɢɤɪɨɩɪɨɰɟɫɫɨɪɵ ɨɛɟɫɩɟɱɢɜɚɸɬ ɪɟɚɥɢɡɚɰɢɸ ɛɚɡɨɜɵɯ ɚɪɢɮɦɟɬɢɱɟɫɤɢɯ ɢ ɥɨɝɢɱɟɫɤɢɯ ɨɩɟɪɚɰɢɣ ɫ ɞɜɨɢɱɧɵɦɢ ɢ ɞɜɨɢɱɧɨɞɟɫɹɬɢɱɧɵɦɢ ɱɢɫɥɚɦɢ.
53
-

ɋɥɟɞɭɟɬ ɨɬɦɟɬɢɬɶ, ɱɬɨ ɡɧɚɱɢɬɟɥɶɧɚɹ ɱɚɫɬɶ ɚɪɢɮɦɟɬɢɱɟɫɤɢɯ ɨɩɟɪɚɰɢɣ ɜ Ⱥɫɫɟɦɛɥɟɪɟ ɜɵɩɨɥɧɹɸɬɫɹ ɧɚɞ ɱɢɫɥɚɦɢ ɛɟɡ ɡɧɚɤɚ. Ɉɞɧɚɤɨ, ɬɚɤ ɤɚɤ ɡɧɚɤ ɱɢɫɥɚ ɜ
ɞɜɨɢɱɧɵɯ ɱɢɫɥɚɯ ɩɪɟɞɫɬɚɜɥɟɧ ɫɬɚɪɲɢɦ ɛɢɬɨɦ, ɜɫɟɝɞɚ ɢɦɟɟɬɫɹ ɜɨɡɦɨɠɧɨɫɬɶ ɷɬɨ
ɭɱɟɫɬɶ.
Ʉ ɚɪɢɮɦɟɬɢɱɟɫɤɢɦ ɨɩɟɪɚɰɢɹɦ Ⱥɫɫɟɦɛɥɟɪɚ ɨɬɧɨɫɹɬɫɹ: ɫɥɨɠɟɧɢɟ, ɜɵɱɢɬɚɧɢɟ, ɭɦɧɨɠɟɧɢɟ ɢ ɞɟɥɟɧɢɟ, ɚ ɬɚɤɠɟ ɢɧɤɪɟɦɟɧɬ (ɭɜɟɥɢɱɟɧɢɟ ɧɚ ɟɞɢɧɢɰɭ) ɢ ɞɟɤɪɟɦɟɧɬ
(ɭɦɟɧɶɲɟɧɢɟ ɧɚ ɟɞɢɧɢɰɭ).
Ⱦɥɹ ɫɥɨɠɟɧɢɹ ɩɪɟɞɭɫɦɨɬɪɟɧɵ ɞɜɟ ɤɨɦɚɧɞɵ: ADD (ɫɥɨɠɟɧɢɟ ɛɟɡ ɭɱɟɬɚ ɩɟɪɟɧɨɫɚ) ɢ ADC (ɫɥɨɠɟɧɢɟ ɫ ɭɱɟɬɨɦ ɩɟɪɟɧɨɫɚ). ɋɢɧɬɚɤɫɢɫ ɷɬɢɯ ɤɨɦɚɧɞ ɫɥɟɞɭɸɳɢɣ:
ADD ɩɪɢɟɦɧɢɤ, ɢɫɬɨɱɧɢɤ,
ADC ɩɪɢɟɦɧɢɤ, ɢɫɬɨɱɧɢɤ,
ɝɞɟ ɩɪɢɟɦɧɢɤ, ɢɫɬɨɱɧɢɤ – ɨɩɟɪɚɧɞɵ, ɭɱɚɫɬɜɭɸɳɢɟ ɜ ɨɩɟɪɚɰɢɢ ɫɥɨɠɟɧɢɹ.
Ɋɟɡɭɥɶɬɚɬ ɨɩɟɪɚɰɢɢ ɩɨɦɟɳɚɟɬɫɹ ɜ ɩɪɢɟɦɧɢɤ.
ɉɪɢɦɟɪ 2.45. ɋɥɨɠɟɧɢɟ ɞɜɭɯ ɛɚɣɬɨɜ.
VAR1 DB 10 ; Ɉɛɴɹɜɥɹɟɦ
ɩɟɪɟɦɟɧɧɵɟ -
VAR2 DB 33 ; ɨɩɟɪɚɧɞɵ
RES DB ? ; ɉɟɪɟɦɟɧɧɚɹ ɞɥɹ ɯɪɚɧɟɧɢɹ ɪɟɡɭɥɶɬɚɬɚ
MOV AX, VAR1 ; ɉɨɦɟɳɚɟɦ ɡɧɚɱɟɧɢɟ ɢɡ VAR1 ɜ AX
ADD AX, VAR2 ; ɋɤɥɚɞɵɜɚɟɦ
MOV RES, AX ; Ɋɟɡɭɥɶɬɚɬ – ɜ RES, RES = 43
ɉɪɢɦɟɪ 2.46. ɋɥɨɠɟɧɢɟ ɞɜɭɯ ɞɜɨɣɧɵɯ ɫɥɨɜ.
VAR1 DD 02FE540FH
VAR2 DD 0050A4CDH
flagRES DB 0 ; ɮɥɚɝ ɭɱɟɬɚ ɩɟɪɟɧɨɫɚ ɢɡ
; ɫɬɚɪɲɟɝɨ ɪɚɡɪɹɞɚ ɪɟɡɭɥɶɬɚɬɚ
RES DD 0
MOV AX,VAR1
ADD AX, VAR2 ; ɫɥɨɠɟɧɢɟ ɦɥɚɞɲɢɯ ɫɥɨɜ ɫɥɚɝɚɟɦɵɯ
MOV RES, AX ; ɩɟɪɟɧɨɫ ɪɟɡɭɥɶɬɚɬɚ ɜ RES
MOV AX, VARl+2
ADC ax, VAR2+2 ;ɫɥɨɠɟɧɢɟ ɫɬɚɪɲɢɯ ɫɥɨɜ ɫɥɚɝɚɟɦɵɯ ; ɢ
ɮɥɚɝɚ ɩɟɪɟɧɨɫɚ CF
MOV RES+2,AX
ADC flagRES,0 ;ɭɱɟɫɬɶ ɜɨɡɦɨɠɧɵɣ ɩɟɪɟɧɨɫ
ȿɫɬɶ
ɟɳɟ ɨɞɧɚ ɨɫɨɛɚɹ ɤɨɦɚɧɞɚ ɫɥɨɠɟɧɢɹ – ɫɥɨɠɟɧɢɟ ɫ ɩɟɪɟɧɨɫɨɦ: XADD
ɩɪɢɟɦɧɢɤ, ɢɫɬɨɱɧɢɤ, ɤɨɬɨɪɚɹ ɩɪɨɢɡɜɨɞɢɬ ɫɭɦɦɢɪɨɜɚɧɢɟ ɫɨɞɟɪɠɢɦɨɝɨ ɩɪɢɟɦ-
ɧɢɤɚ ɢ ɢɫɬɨɱɧɢɤɚ, ɩɨɫɥɟ ɱɟɝɨ ɩɪɢɟɦɧɢɤ ɫɨɞɟɪɠɢɬ ɡɧɚɱɟɧɢɟ ɫɭɦɦɵ, ɚ ɢɫɬɨɱɧɢɤ – ɧɚɱɚɥɶɧɨɟ ɡɧɚɱɟɧɢɟ ɩɪɢɟɦɧɢɤɚ.
ɉɪɢɦɟɪ 2.47. ɋɥɨɠɟɧɢɟ ɞɜɭɯ ɛɚɣɬɨɜ ɫ ɨɛɦɟɧɨɦ.
MOV AL,05H
MOV BL,02H
XADD MOV AL,BL ;AL=07h, BL=05h
54

Ɉɩɟɪɚɰɢɹ ɜɵɱɢɬɚɧɢɹ ɪɟɚɥɢɡɭɟɬɫɹ ɞɜɭɦɹ ɤɨɦɚɧɞɚɦɢ: SUB ɢ SBB. ɉɟɪɜɚɹ ɢ
ɜɬɨɪɚɹ ɩɪɨɢɡɜɨɞɹɬ ɰɟɥɨɱɢɫɥɟɧɧɨɟ ɜɵɱɢɬɚɧɢɟ, ɧɨ ɜɬɨɪɚɹ ɤɨɦɚɧɞɚ ɭɱɢɬɵɜɚɟɬ ɡɚɟɦ. ɋɢɧɬɚɤɫɢɫ ɤɨɦɚɧɞ:
SUB ɩɪɢɟɦɧɢɤ, ɢɫɬɨɱɧɢɤ,
SBB ɩɪɢɟɦɧɢɤ, ɢɫɬɨɱɧɢɤ,
ɝɞɟ ɩɪɢɟɦɧɢɤ, ɢɫɬɨɱɧɢɤ – ɨɩɟɪɚɧɞɵ, ɭɱɚɫɬɜɭɸɳɢɟ ɜ ɨɩɟɪɚɰɢɢ ɜɵɱɢɬɚɧɢɹ.
Ɋɟɡɭɥɶɬɚɬ ɨɩɟɪɚɰɢɢ ɩɨɦɟɳɚɟɬɫɹ ɜ ɩɪɢɟɦɧɢɤ.
ɉɪɢɦɟɪ 2.48. ȼɵɱɢɬɚɧɢɟ ɞɜɭɯ ɛɚɣɬɨɜ.
VAR1 DB 20 ; Ɉɛɴɹɜɥɹɟɦ ɩɟɪɟɦɟɧɧɵɟ -
VAR2 DB 10 ; ɨɩɟɪɚɧɞɵ
RES DB ? ; ɉɟɪɟɦɟɧɧɚɹ ɞɥɹ
ɯɪɚɧɟɧɢɹ ɪɟɡɭɥɶɬɚɬɚ
MOV AX, VAR1 ; ɉɨɦɟɳɚɟɦ ɡɧɚɱɟɧɢɟ ɢɡ VAR1 ɜ AX
SUB AX, VAR2 ; ȼɵɱɢɬɚɟɦ
MOV RES, AX ; Ɋɟɡɭɥɶɬɚɬ – ɜ RES, RES = 10
Ⱦɥɹ ɭɦɧɨɠɟɧɢɹ ɜ Ⱥɫɫɟɦɛɥɟɪɟ ɢɫɩɨɥɶɡɭɸɬ ɞɜɟ ɤɨɦɚɧɞɵ: MUL – ɰɟɥɨɱɢɫɥɟɧɧɨɟ ɭɦɧɨɠɟɧɢɟ ɛɟɡ ɡɧɚɤɚ ɢ IMUL – ɰɟɥɨɱɢɫɥɟɧɧɨɟ ɭɦɧɨɠɟɧɢɟ ɫɨ ɡɧɚɤɨɦ.
ɋɢɧɬɚɤɫɢɫ ɷɬɢɯ ɤɨɦɚɧɞ ɫɥɟɞɭɸɳɢɣ:
MUL ɦɧɨɠɢɬɟɥɶ_1
IMUL ɦɧɨɠɢɬɟɥɶ_1
IMUL ɦɧɨɠɢɬɟɥɶ_1, ɦɧɨɠɢɬɟɥɶ_2
IMUL ɪɟɡɭɥɶɬɚɬ, ɦɧɨɠɢɬɟɥɶ_1, ɦɧɨɠɢɬɟɥɶ_2
Ɇɟɫɬɨɩɨɥɨɠɟɧɢɟ ɜɬɨɪɨɝɨ ɫɨɦɧɨɠɢɬɟɥɹ ɮɢɤɫɢɪɨɜɚɧɨ ɢ ɡɚɜɢɫɢɬ ɨɬ ɪɚɡɦɟɪɚ
ɩɟɪɜɨɝɨ ɫɨɦɧɨɠɢɬɟɥɹ:
ɟɫɥɢ ɨɩɟɪɚɧɞ, ɭɤɚɡɚɧɧɵɣ ɜ ɤɨɦɚɧɞɟ, – ɛɚɣɬ, ɬɨ ɜɬɨɪɨɣ ɫɨɦɧɨɠɢɬɟɥɶ ɪɚɫ-
ɩɨɥɚɝɚɟɬɫɹ ɜ AL;
ɟɫɥɢ ɨɩɟɪɚɧɞ, ɭɤɚɡɚɧɧɵɣ ɜ ɤɨɦɚɧɞɟ, – ɫɥɨɜɨ, ɬɨ ɜɬɨɪɨɣ ɫɨɦɧɨɠɢɬɟɥɶ
ɪɚɫɩɨɥɚɝɚɟɬɫɹ ɜ AX;
ɟɫɥɢ ɨɩɟɪɚɧɞ, ɭɤɚɡɚɧɧɵɣ ɜ ɤɨɦɚɧɞɟ, – ɞɜɨɣɧɨɟ ɫɥɨɜɨ, ɬɨ ɜɬɨɪɨɣ ɫɨɦɧɨ-
ɠɢɬɟɥɶ ɪɚɫɩɨɥɚɝɚɟɬɫɹ ɜ EAX.
Ɋɟɡɭɥɶɬɚɬ ɭɦɧɨɠɟɧɢɹ ɞɥɹ ɤɨɦɚɧɞɵ ɫ ɨɞɧɢɦ
ɨɩɟɪɚɧɞɨɦ ɩɨɦɟɳɚɟɬɫɹ ɜ ɫɬɪɨ-
ɝɨ ɨɩɪɟɞɟɥɟɧɧɨɟ ɦɟɫɬɨ, ɨɩɪɟɞɟɥɹɟɦɨɟ ɪɚɡɦɟɪɨɦ ɫɨɦɧɨɠɢɬɟɥɟɣ:
ɩɪɢ ɭɦɧɨɠɟɧɢɢ ɛɚɣɬɨɜ ɪɟɡɭɥɶɬɚɬ ɩɨɦɟɳɚɟɬɫɹ ɜ AX;
ɩɪɢ ɭɦɧɨɠɟɧɢɢ ɫɥɨɜ ɪɟɡɭɥɶɬɚɬ ɩɨɦɟɳɚɟɬɫɹ ɜ ɩɚɪɭ DX:AX;
ɩɪɢ ɭɦɧɨɠɟɧɢɢ ɞɜɨɣɧɵɯ ɫɥɨɜ ɪɟɡɭɥɶɬɚɬ ɩɨɦɟɳɚɟɬɫɹ ɜ ɩɚɪɭ EDX:EAX.
Ⱦɟɥɟɧɢɟ ɩɪɨɢɡɜɨɞɢɬɫɹ ɫ ɩɨɦɨɳɶɸ ɤɨɦɚɧɞɵ DIV – ɛɟɡɡɧɚɤɨɜɨɟ ɞɟɥɟɧɢɟ
ɞɜɭɯ ɞɜɨɢɱɧɵɯ ɛɟɡɡɧɚɤɨɜɵɯ ɡɧɚɱɟɧɢɣ ɢɥɢ IDIV
– ɞɟɥɟɧɢɟ ɫɨ ɡɧɚɤɨɦ. ɋɢɧɬɚɤ-
ɫɢɫ ɤɨɦɚɧɞ ɞɟɥɟɧɢɹ:
DIV ɞɟɥɢɬɟɥɶ
IDIV ɞɟɥɢɬɟɥɶ
Ʉɨɦɚɧɞɚ ɜɵɩɨɥɧɹɟɬ ɰɟɥɨɱɢɫɥɟɧɧɨɟ ɞɟɥɟɧɢɟ ɨɩɟɪɚɧɞɨɜ ɢ ɜɵɞɚɟɬ ɪɟɡɭɥɶɬɚɬ ɜ ɜɢɞɟ ɱɚɫɬɧɨɝɨ ɢ ɨɫɬɚɬɤɚ ɨɬ ɞɟɥɟɧɢɹ. ɉɪɢ ɜɵɩɨɥɧɟɧɢɢ ɨɩɟɪɚɰɢɢ ɞɟɥɟɧɢɹ
55

ɜɨɡɦɨɠɧɨ ɜɨɡɧɢɤɧɨɜɟɧɢɟ ɢɫɤɥɸɱɢɬɟɥɶɧɨɣ ɫɢɬɭɚɰɢɢ: 0 – ɨɲɢɛɤɚ ɞɟɥɟɧɢɹ. ɗɬɚ
ɫɢɬɭɚɰɢɹ ɜɨɡɧɢɤɚɟɬ ɜ ɨɞɧɨɦ ɢɡ ɞɜɭɯ ɫɥɭɱɚɟɜ: ɞɟɥɢɬɟɥɶ ɪɚɜɟɧ 0 ɢɥɢ ɱɚɫɬɧɨɟ
ɫɥɢɲɤɨɦ ɜɟɥɢɤɨ ɞɥɹ ɟɝɨ ɪɚɡɦɟɳɟɧɢɹ ɜ ɪɟɝɢɫɬɪɟ EAX/AX/AL.
Ⱦɟɥɢɦɨɟ ɡɚɞɚɟɬɫɹ ɜ ɤɨɦɚɧɞɚɯ DIV ɢ IDIV ɡɚɞɚɟɬɫɹ ɧɟɹɜɧɨ ɢ ɪɚɡɦɟɪ ɟɝɨ
ɡɚɜɢɫɢɬ ɨɬ ɪɚɡɦɟɪɚ ɞɟɥɢɬɟɥɹ:
ɟɫɥɢ ɞɟɥɢɬɟɥɶ – ɛɚɣɬ, ɬɨ ɞɟɥɢɦɨɟ ɞɨɥɠɧɨ ɛɵɬɶ
ɪɚɫɩɨɥɨɠɟɧɨ ɜ ɪɟɝɢɫɬɪɟ
AX. ɑɚɫɬɧɨɟ ɩɨɦɟɳɚɟɬɫɹ ɜ AL, ɚ ɨɫɬɚɬɨɤ – ɜ AH;
ɟɫɥɢ ɞɟɥɢɬɟɥɶ – ɫɥɨɜɨ, ɬɨ ɞɟɥɢɦɨɟ ɞɨɥɠɧɨ ɛɵɬɶ ɪɚɫɩɨɥɨɠɟɧɨ ɜ ɩɚɪɟ ɪɟ-
ɝɢɫɬɪɨɜ DX:AX, ɩɪɢɱɟɦ ɦɥɚɞɲɚɹ ɱɚɫɬɶ ɞɟɥɢɦɨɝɨ ɧɚɯɨɞɢɬɫɹ ɜ AX. ɉɨɫɥɟ ɨɩɟɪɚɰɢɢ ɱɚɫɬɧɨɟ ɩɨɦɟɳɚɟɬɫɹ ɜ AX, ɚ ɨɫɬɚɬɨɤ – ɜ DX;
ɟɫɥɢ ɞɟɥɢɬɟɥɶ – ɞɜɨɣɧɨɟ ɫɥɨɜɨ, ɬɨ
ɞɟɥɢɦɨɟ ɞɨɥɠɧɨ ɛɵɬɶ ɪɚɫɩɨɥɨɠɟɧɨ ɜ
ɩɚɪɟ ɪɟɝɢɫɬɪɨɜ EDX:EAX, ɩɪɢɱɟɦ ɦɥɚɞɲɚɹ ɱɚɫɬɶ ɞɟɥɢɦɨɝɨ ɧɚɯɨɞɢɬɫɹ ɜ EAX.
ɉɨɫɥɟ ɨɩɟɪɚɰɢɢ ɱɚɫɬɧɨɟ ɩɨɦɟɳɚɟɬɫɹ ɜ EAX, ɚ ɨɫɬɚɬɨɤ – ɜ EDX.
ɉɪɢɦɟɪ 2.49. ɐɟɥɨɱɢɫɥɟɧɧɨɟ ɞɟɥɟɧɢɟ.
;ɞɟɥɟɧɢɟ ɫɥɨɜɚ ɧɚ ɛɚɣɬ
MOV AX,10234 ; ɞɟɥɢɦɨɟ
MOV BL,154
DIV BL ; Ⱥɇ=ɨɫɬɚɬɨɤ, AL=4acmHoe
;ɞɟɥɟɧɢɟ ɫɥɨɜ
MOV AX,1045 ;ɞɟɥɢɦɨɟ
MOV BX,587 ;ɞɟɥɢɬɟɥɶ
CWD ; ɪɚɫɲɢɪɟɧɢɟ ɞɟɥɢɦɨɝɨ DX:AX
IDIV BX ;ɱɚɫɬɧɨɟ ɜ AX, ɨɫɬɚɬɨɤ ɜ DX
Ʉɨɦɚɧɞɵ
ɢɧɤɪɟɦɟɧɬɚ INC ɢ ɞɟɤɪɟɦɟɧɬɚ DEC ɩɨɡɜɨɥɹɸɬ ɭɜɟɥɢɱɢɜɚɬɶ ɢ
ɭɦɟɧɶɲɚɬɶ ɡɧɚɱɟɧɢɟ ɱɢɫɥɨɜɨɝɨ ɨɩɟɪɚɧɞɚ ɧɚ ɟɞɢɧɢɰɭ. Ɉɩɟɪɚɧɞ ɦɨɠɟɬ ɢɦɟɬɶ
ɪɚɡɦɟɪ ɛɚɣɬɚ, ɫɥɨɜɚ, ɞɜɨɣɧɨɝɨ ɢ ɭɱɟɬɜɟɪɟɧɧɨɝɨ ɫɥɨɜɚ. ɋɢɧɬɚɤɫɢɫ ɨɩɟɪɚɰɢɣ:
INC ɨɩɟɪɚɧɞ
DEC ɨɩɟɪɚɧɞ
ɉɪɢɦɟɪ 2.50. ɂɫɩɨɥɶɡɨɜɚɧɢɟ ɨɩɟɪɚɰɢɣ ɢɧɤɪɟɦɟɧɬɚ ɢ ɞɟɤɪɟɦɟɧɬɚ.
MOV AX, 7
INC AX ; ɭɜɟɥɢɱɢɦ AX ɧɚ 1 : AX = 8
MOV AL,9
DEC AL ; AL=8
Ⱥɫɫɟɦɛɥɟɪ ɩɨɞɞɟɪɠɢɜɚɟɬ ɫɥɟɞɭɸɳɢɟ ɥɨɝɢɱɟɫɤɢɟ ɨɩɟɪɚɰɢɢ:
NOT (ɨɩɟɪɚɰɢɹ ɥɨɝɢɱɟɫɤɨɝɨ ɨɬɪɢɰɚɧɢɹ) ɩɪɨɢɡɜɨɞɢɬ ɩɨɪɚɡɪɹɞɧɨɟ ɢɧɜɟɪɬɢ-
ɪɨɜɚɧɢɟ
ɤɚɠɞɨɝɨ ɛɢɬɚ ɨɩɟɪɚɧɞɚ. Ɋɟɡɭɥɶɬɚɬ ɡɚɩɢɫɵɜɚɟɬɫɹ ɨɛɪɚɬɧɨ ɜ ɬɨɬ ɠɟ ɨɩɟ-
ɪɚɧɞ;
AND (ɨɩɟɪɚɰɢɹ ɥɨɝɢɱɟɫɤɨɝɨ ɂ) ɜɵɩɨɥɧɹɟɬ ɩɨɪɚɡɪɹɞɧɭɸ ɥɨɝɢɱɟɫɤɭɸ ɨɩɟ-
ɪɚɰɢɸ ɂ (ɤɨɧɴɸɧɤɰɢɹ). Ɋɟɡɭɥɶɬɚɬ ɡɚɩɢɫɵɜɚɟɬɫɹ ɜ ɩɪɢɟɦɧɢɤ;
OR (ɨɩɟɪɚɰɢɹ ɥɨɝɢɱɟɫɤɨɝɨ ɂɅɂ) ɜɵɩɨɥɧɹɟɬ ɩɨɪɚɡɪɹɞɧɭɸ ɥɨɝɢɱɟɫɤɭɸ ɨɩɟ-
ɪɚɰɢɸ ɂɅɂ (ɞɢɡɴɸɧɤɰɢɹ). Ɋɟɡɭɥɶɬɚɬ ɡɚɩɢɫɵɜɚɟɬɫɹ ɜ ɩɪɢɟɦɧɢɤ;
XOR (ɨɩɟɪɚɰɢɹ ɥɨɝɢɱɟɫɤɨɝɨ ɢɫɤɥɸɱɚɸɳɟɝɨ ɂɅɂ) ɜɵɩɨɥɧɹɟɬ ɩɨɪɚɡɪɹɞɧɭɸ
ɥɨɝɢɱɟɫɤɭɸ ɨɩɟɪɚɰɢɸ ɢɫɤɥɸɱɚɸɳɟɝɨ ɫɥɨɠɟɧɢɹ
;
56

TEST (ɨɩɟɪɚɰɢɹ ɩɪɨɜɟɪɤɢ) ɜɵɩɨɥɧɹɟɬ ɩɨɪɚɡɪɹɞɧɭɸ ɥɨɝɢɱɟɫɤɭɸ ɨɩɟɪɚɰɢɸ ɂ.
Ɋɟɡɭɥɶɬɚɬ ɧɢɤɭɞɚ ɧɟ ɡɚɩɢɫɵɜɚɟɬɫɹ, ɚ ɢɞɟɧɬɢɮɢɰɢɪɭɟɬɫɹ ɱɟɪɟɡ ɪɟɝɢɫɬɪ ɮɥɚɝɨɜ.
ɋɢɧɬɚɤɫɢɫ ɥɨɝɢɱɟɫɤɢɯ ɨɩɟɪɚɰɢɣ:
NOT ɨɩɟɪɚɧɞ
AND ɢɫɬɨɱɧɢɤ, ɩɪɢɟɦɧɢɤ
OR ɢɫɬɨɱɧɢɤ, ɩɪɢɟɦɧɢɤ
XOR ɢɫɬɨɱɧɢɤ, ɩɪɢɟɦɧɢɤ
TEST ɢɫɬɨɱɧɢɤ, ɩɪɢɟɦɧɢɤ
ɉɪɢɦɟɪ 2.51. ɂɫɩɨɥɶɡɨɜɚɧɢɟ ɥɨɝɢɱɟɫɤɢɯ ɨɩɟɪɚɰɢɣ.
; Ɉɩɪɟɞɟɥɹɟɦ ɡɧɚɱɟɧɢɹ ɨɩɟɪɚɧɞɨɜ
MOV AL, 01h ; AL = 01h
MOV BL, 10h ; BL = 10h
; Ɉɩɟɪɚɰɢɹ ɂɅɂ
OR BL, AL ; AL = 01h BL = 11h
;ɢɡɦɟɧɢɬɶ ɡɧɚɱɟɧɢɟ ɛɢɬɚ 0 ɪɟɝɢɫɬɪɚ AL ɧɚ ; ɂɫɤɥɸɱɚɸɳɟɟ ɂɅɂ
XOR AL, 01h ; AL = 02h
2.2.6. ɍɩɪɚɜɥɟɧɢɟ ɯɨɞɨɦ ɜɵɩɨɥɧɟɧɢɹ ɩɪɨɝɪɚɦɦɵ
Ʉ ɤɨɦɚɧɞɚɦ Ⱥɫɫɟɦɛɥɟɪɚ, ɭɩɪɚɜɥɹɸɳɢɦ ɜɵɩɨɥɧɟɧɢɟɦ ɩɪɨɝɪɚɦɦɵ, ɨɬɧɨɫɹɬɫɹ ɤɨɦɚɧɞɵ ɩɟɪɟɯɨɞɨɜ, ɤɨɦɚɧɞɵ ɨɪɝɚɧɢɡɚɰɢɢ ɰɢɤɥɨɜ ɢ ɤɨɦɚɧɞɵ ɜɵɡɨɜɚ
ɩɨɞɩɪɨɝɪɚɦɦ.
Ʉɨɦɚɧɞɵ ɩɟɪɟɯɨɞɨɜ ɩɨɡɜɨɥɹɸɬ ɪɟɚɥɢɡɨɜɚɬɶ ɜɟɬɜɥɟɧɢɟ ɜ ɩɪɨɝɪɚɦɦɟ ɜ ɡɚɜɢɫɢɦɨɫɬɢ ɨɬ ɡɚɞɚɧɧɵɯ ɭɫɥɨɜɢɣ ɢɥɢ ɪɟɡɭɥɶɬɚɬɨɜ ɜɵɩɨɥɧɟɧɢɹ ɞɪɭɝɢɯ ɤɨɦɚɧɞ (ɤɚɤ
ɩɪɚɜɢɥɨ, ɚɪɢɮɦɟɬɢɱɟɫɤɢɯ ɢ ɥɨɝɢɱɟɫɤɢɯ). ɋɪɟɞɢ ɧɢɯ ɨɫɨɛɨɟ ɦɟɫɬɨ ɡɚɧɢɦɚɟɬ ɤɨɦɚɧɞɚ ɛɟɡɭɫɥɨɜɧɨɝɨ ɩɟɪɟɯɨɞɚ JMP, ɤɨɬɨɪɚɹ
ɩɪɨɢɡɜɨɞɢɬ ɩɟɪɟɯɨɞ ɧɚ ɭɤɚɡɚɧɧɭɸ
ɫɬɪɨɤɭ ɩɪɨɝɪɚɦɦɵ. ɋɢɧɬɚɤɫɢɫ ɤɨɦɚɧɞɵ JMP ɫɥɟɞɭɸɳɢɣ:
JMP [ɦɨɞɢɮɢɤɚɬɨɪ] ɚɞɪɟɫ_ɩɟɪɟɯɨɞɚ,
ɝɞɟ ɦɨɞɢɮɢɤɚɬɨɪ – ɫɥɭɠɟɛɧɵɟ ɫɥɨɜɚ, ɭɤɚɡɵɜɚɸɳɢɟ ɧɚ ɞɚɥɶɧɨɫɬɶ ɩɟɪɟɯɨɞɚ;
ɚɞɪɟɫ_ɩɟɪɟɯɨɞɚ – ɚɞɪɟɫ ɫɬɪɨɤɢ ɜ ɩɪɨɝɪɚɦɦɟ, ɧɚ ɤɨɬɨɪɭɸ ɧɭɠɧɨ ɩɪɨɢɡɜɟɫɬɢ ɩɟɪɟɯɨɞ. ȼ ɤɚɱɟɫɬɜɟ ɚɞɪɟɫɚ_ɩɟɪɟɯɨɞɚ ɱɚɫɬɨ ɢɫɩɨɥɶɡɭɸɬ ɬɟɤɫɬɨɜɭɸ
ɦɟɬɤɭ.
Ɇɨɞɢɮɢɤɚɬɨɪ ɦɨɠɟɬ ɛɵɬɶ ɫɥɟɞɭɸɳɢɦ:
near ptr – ɩɪɹɦɨɣ ɩɟɪɟɯɨɞ
ɧɚ ɦɟɬɤɭ ɜɧɭɬɪɢ ɬɟɤɭɳɟɝɨ ɫɟɝɦɟɧɬɚ ɤɨɞɚ (ɜ ɩɪɟ-
ɞɟɥɚɯ 64 ɤȻɚɣɬ);
far ptr – ɩɪɹɦɨɣ ɩɟɪɟɯɨɞ ɧɚ ɦɟɬɤɭ ɜ ɞɪɭɝɨɦ ɫɟɝɦɟɧɬɟ ɤɨɞɚ;
word ptr – ɤɨɫɜɟɧɧɵɣ ɩɟɪɟɯɨɞ ɧɚ ɦɟɬɤɭ ɜɧɭɬɪɢ ɬɟɤɭɳɟɝɨ ɫɟɝɦɟɧɬɚ ɤɨ-
ɞɚ;
dword ptr – ɤɨɫɜɟɧɧɵɣ ɩɟɪɟɯɨɞ ɧɚ ɦɟɬɤɭ ɜ ɞɪɭɝɨɦ ɫɟɝɦɟɧɬɟ ɤɨɞɚ.
Ɋɚɫɫɦɨɬɪɢɦ ɪɚɡɥɢɱɧɵɟ ɜɚɪɢɚɧɬɵ ɢɫɩɨɥɶɡɨɜɚɧɢɹ ɤɨɦɚɧɞɵ ɛɟɡɭɫɥɨɜɧɨɝɨ
ɩɟɪɟɯɨɞɚ ɧɚ ɩɪɢɦɟɪɚɯ.
57

ɭ
ɭ
ɉɪɢɦɟɪ 2.52. Ȼɟɡɭɫɥɨɜɧɵɟ ɩɟɪɟɯɨɞɵ ɜ Ⱥɫɫɟɦɛɥɟɪɟ.
;1. ɉɪɹɦɨɣ ɤɨɪɨɬɤɢɣ ɩɟɪɟɯɨɞ
JMP short pt1 ;ɉɟɪɟɯɨɞ ɧɚ ɦɟɬɤɭ shpt
;ɜ ɩɪɟɞɟɥɚɯ +127...-128 ɛɚɣɬ
JMP pt2 ;To ɠɟ ɫɚɦɨɟ, ɟɫɥɢ shpt
;ɧɚɯɨɞɢɬɫɹ ɜɵɲɟ ɩɨ ɬɟɤɫɬɭ ɩɪɨɝɪɚɦɦɵ
; 2. ɉɪɹɦɨɣ ɛɥɢɠɧɢɣ ɩɟɪɟɯɨɞ
JMP near ptr pt3 ; Ⱥɧɚɥɨɝɢɱɧɨ MOV
; 3. Ʉɨɫɜɟɧɧɵɟ ɛɥɢɠɧɢɟ ɩɟɪɟɯɨɞɵ
mov BX,offset pt4 ; ȼɏ=ɚɞɪɟɫ ɬɨɱɤɢ ɩɟɪɟɯɨɞɚ JMP BX
;ɉɟɪɟɯɨɞ ɜ ɬɨɱɤɭ pt
addrpt dw pt4 ;əɱɟɣɤɚ ɫ ɚɞɪɟɫɨɦ ɬɨɱɤɢ ɩɟɪɟɯɨɞɚ
JMP DS:addr ;ɉɟɪɟɯɨɞ ɜ ɬɨɱɤɭ pt
JMP word ptr addrpt ;To ɠɟ ɫɚɦɨɟ
addr dw pt5 ;əɱɟɣɤɚ ɫ ɚɞɪɟɫɨɦ ɬɨɱɤɢ ɩɟɪɟɯɨɞɚ
MOV DI,offset addr ; ɩɨɥɭɱɚɟɦ ɚɞɪɟɫ ɹɱɟɣɤɢ
; ɫ ɚɞɪɟɫɨɦ ɬɨɱɤɢ ɩɟɪɟɯɨɞɚ
JMP [DI] ; ɉɟɪɟɯɨɞ ɜ ɬɨɱɤɭ pt
; 4. ɉɪɹɦɨɣ ɞɚɥɶɧɢɣ ɩɟɪɟɯɨɞ
JMP far ptr farpt ;ɉɟɪɟɯɨɞ ɧɚ ɦɟɬɤɭ farpt ɜ
;ɞɪɭɝɨɦ ɩɪɨɝɪɚɦɦɧɨɦ ɫɟɝɦɟɧɬɟ
; 5. Ʉɨɫɜɟɧɧɵɣ ɞɚɥɶɧɢɣ ɩɟɪɟɯɨɞ
addr dd pt ;ɉɨɥɟ ɫ ɞɜɭɯɫɥɨɜɧɵɦ
;ɚɞɪɟɫɨɦ ɬɨɱɤɢ ɩɟɪɟɯɨɞɚ
JMP DS:addr ;ɉɟɪɟɯɨɞ ɜ ɬɨɱɤɭ pt
JMP dword ptr addr ;To ɠɟ ɫɚɦɨɟ
Ʉɨɦɚɧɞɵ ɭɫɥɨɜɧɨɝɨ ɩɟɪɟɯɨɞɚ
ɢɦɟɸɬ ɫɥɟɞɭɸɳɢɣ ɫɢɧɬɚɤɫɢɫ:
JCC ɦɟɬɤɚ_ɩɟɪɟɯɨɞɚ,
ɝɞɟ ɫɢɦɜɨɥɵ CC ɨɩɪɟɞɟɥɹɸɬ ɤɨɧɤɪɟɬɧɨɟ ɭɫɥɨɜɢɟ, ɚɧɚɥɢɡɢɪɭɟɦɨɟ ɤɨɦɚɧɞɨɣ
(ɫɦ. ɬɚɛɥ. 2.6);
ɦɟɬɤɚ_ɩɟɪɟɯɨɞɚ ɦɨɠɟɬ ɧɚɯɨɞɢɬɶɫɹ ɬɨɥɶɤɨ ɜ ɩɪɟɞɟɥɚɯ ɬɟɤɭɳɟɝɨ ɫɟɝ-
ɦɟɧɬɚ ɤɨɞɚ.
Ɍ ɚ ɛ ɥ ɢ ɰ ɚ 2.6
Ʉɨɦɚɧɞɵ ɭɫɥɨɜɧɵɯ ɩɟɪɟɯɨɞɨɜ
Ʉɨɦɚɧɞɚ ɉɟɪɟɯɨɞ, ɟɫɥɢ Ɏɥɚɝɢ
JZ/JE
JNZ/JNE
JC/JNAE/JB
JNC/JAE/JNB
ɧ
ɥɶ ɢɥɢ ɪɚɜɧɨ
ɧɟ ɧ
ɥɶ ɢɥɢ ɧɟ ɪɚɜɧɨ
ɟɫɬɶ ɩɟɪɟɩɨɥɧɟɧɢɟ/ɧɟ ɜɵɲɟ
ɢ ɧɟ ɪɚɜɧɨ/ɧɢɠɟ
ɧɟɬ ɩɟɪɟɩɨɥɧɟɧɢɹ/ɜɵɲɟ ɢɥɢ ɪɚɜɧɨ/
ɧɟ ɧɢɠɟ
ZF=1
ZF=0
CF=1
CF=0
JP/JNP ɱɢɫɥɨ ɟɞɢɧɢɱɧɵɯ ɛɢɬ ɱɟɬɧɨɟ/ɧɟɱɟɬɧɨɟ PF=1 / PF=0
58

Ɉ ɤ ɨ ɧ ɱ ɚ ɧ ɢ ɟ ɬ ɚ ɛ ɥ ɢ ɰ ɵ 2.6
Ʉɨɦɚɧɞɚ
JS/JNS
JO/JNO
JA/JNBE
ɡɧɚɤ ɪɚɜɟɧ 1/0
ɩɟɪɟɩɨɥɧɟɧɢɟ ɟɫɬɶ/ɧɟɬ
ɜɵɲɟ/ɧɟ ɧɢɠɟ ɢ ɧɟ ɪɚɜɧɨ
ɉɟɪɟɯɨɞ, ɟɫɥɢ
JNA/JBE ɧɟ ɜɵɲɟ/ɧɢɠɟ ɢɥɢ ɪɚɜɧɨ
JG/JNLE
JGE/JNL
JL/JNGE
ɛɨɥɶɲɟ/ɧɟ ɦɟɧɶɲɟ ɢ ɧɟ ɪɚɜɧɨ
ɛɨɥɶɲɟ ɢɥɢ ɪɚɜɧɨ/ɧɟ ɦɟɧɶɲɟ
ɦɟɧɶɲɟ/ɧɟ ɛɨɥɶɲɟ ɢ ɧɟ ɪɚɜɧɨ
JLE/JNG ɦɟɧɶɲɟ ɢɥɢ ɪɚɜɧɨ/ɧɟ ɛɨɥɶɲɟ
JCXZ
ɫɨɞɟɪɠɢɦɨɟ CX ɪɚɜɧɨ ɧɭɥɸ
Ɏɥɚɝɢ
SF=1/SF=0
OF=1 / OF=0
CF=0 ɢ ZF=0
CF=1 ɢɥɢ
ZF=1
ZF=0 ɢ SF=OF
SF=OF
SF^OF
ZF=1 ɢɥɢ
SFOF
ɉɪɢɦɟɱɚɧɢɟ: ɜɵɲɟ/ɧɢɠɟ – ɞɥɹ ɛɟɡɡɧɚɤɨɜɵɯ ɨɩɟɪɚɧɞɨɜ; ɛɨɥɶɲɟ/ɦɟɧɶɲɟ –
ɞɥɹ ɨɩɟɪɚɧɞɨɜ ɫɨ ɡɧɚɤɨɦ.
ɂɫɬɨɱɧɢɤɚɦɢ ɭɫɥɨɜɢɹ ɩɟɪɟɞɚɱɢ ɭɩɪɚɜɥɟɧɢɹ ɦɨɝɭɬ ɛɵɬɶ:
ɪɟɡɭɥɶɬɚɬ ɜɵɩɨɥɧɟɧɢɹ ɥɸɛɨɣ ɤɨɦɚɧɞɵ, ɢɡɦɟɧɹɸɳɟɣ ɫɨɫɬɨɹɧɢɟ ɚɪɢɮɦɟ-
ɬɢɱɟɫɤɢɯ ɮɥɚɝɨɜ;
ɤɨɦɚɧɞɚ ɫɪɚɜɧɟɧɢɹ CMP, ɫɪɚɜɧɢɜɚɸɳɚɹ ɡɧɚɱɟɧɢɹ ɞɜɭɯ ɨɩɟɪɚɧɞɨɜ;
ɫɨɞɟɪɠɢɦɨɟ ɪɟɝɢɫɬɪɚ RCX/ECX/CX.
Ʉɨɦɚɧɞɚ ɫɪɚɜɧɟɧɢɹ CMP ɜɵɩɨɥɧɹɟɬ ɜɵɱɢɬɚɧɢɟ ɨɩɟɪɚɧɞɨɜ ɢ ɭɫɬɚɧɚɜɥɢɜɚɟɬ
ɫɨɨɬɜɟɫɬɜɭɸɳɢɟ ɮɥɚɝɢ. ɋɢɧɬɚɤɫɢɫ
ɤɨɦɚɧɞɵ ɫɪɚɜɧɟɧɢɹ:
CMP ɨɩɟɪɚɧɞ_1, ɨɩɟɪɚɧɞ_2
Ɏɥɚɝɢ, ɭɫɬɚɧɚɜɥɢɜɚɟɦɵɟ ɤɨɦɚɧɞɨɣ CMP, ɡɚɬɟɦ ɚɧɚɥɢɡɢɪɭɸɬ ɫɨɨɬɜɟɬɫɬɜɭɸɳɢɦɢ ɤɨɦɚɧɞɚɦɢ ɭɫɥɨɜɧɨɝɨ ɩɟɪɟɯɨɞɚ (ɬɚɛɥ. 2.7). ȿɫɥɢ ɫɪɚɜɧɢɬɶ ɤɨɦɚɧɞɵ ɭɫɥɨɜɧɨɝɨ ɩɟɪɟɯɨɞɚ, ɩɪɢɜɟɞɟɧɧɵɟ ɜ ɬɚɛɥɢɰɟ 2.6, ɫ ɤɨɦɚɧɞɚɦɢ ɜ ɬɚɛɥ. 2.7,
ɦɨɠɧɨ ɭɜɢɞɟɬɶ, ɱɬɨ ɨɧɢ ɨɞɢɧɚɤɨɜɵ ɩɨ ɧɚɩɢɫɚɧɢɸ, ɧɨ ɪɚɡɥɢɱɚɸɬɫɹ ɩɨ ɫɦɵɫɥɭ.
Ɍ ɚ ɛ ɥ ɢ ɰ ɚ 2.7
Ʉɨɦɚɧɞɵ ɭɫɥɨɜɧɨɝɨ
ɩɟɪɟɯɨɞɚ ɞɥɹ ɚɧɚɥɢɡɚ ɪɟɡɭɥɶɬɚɬɨɜ
ɫɪɚɜɧɟɧɢɹ ɤɨɦɚɧɞɨɣ CMP
Ɍɢɩɵ
ɨɩɟɪɚɧɞɨɜ
Ʉɨɦɚɧɞɚ
ɭɫɥɨɜɧɨɝɨ
ɩɟɪɟɯɨɞɚ
Ʉɪɢɬɟɪɢɣ ɭɫɥɨɜɧɨɝɨ
ɩɟɪɟɯɨɞɚ
Ɏɥɚɝɢ
Ʌɸɛɵɟ JE ɨɩɟɪɚɧɞ_1 = ɨɩɟɪɚɧɞ_2 ZF = 1
Ʌɸɛɵɟ JNE ɨɩɟɪɚɧɞ_1<>ɨɩɟɪɚɧɞ_2 ZF = 0
ɋɨ ɡɧɚɤɨɦ JL/JNGE ɨɩɟɪɚɧɞ_1 < ɨɩɟɪɚɧɞ_2 SF <>OF
ɋɨ ɡɧɚɤɨɦ JLE/JNG ɨɩɟɪɚɧɞ_1 <= ɨɩɟɪɚɧɞ_2
59
SF <>OF ɢɥɢ
ZF = 1

Ɉ ɤ ɨ ɧ ɱ ɚ ɧ ɢ ɟ ɬ ɚ ɛ ɥ ɢ ɰ ɵ 2.7
Ɍɢɩɵ
ɨɩɟɪɚɧɞɨɜ
ɋɨ ɡɧɚɤɨɦ JG/JNLE ɨɩɟɪɚɧɞ_1 > ɨɩɟɪɚɧɞ_2
Ʉɨɦɚɧɞɚ
ɭɫɥɨɜɧɨɝɨ
Ʉɪɢɬɟɪɢɣ ɭɫɥɨɜɧɨɝɨ
ɩɟɪɟɯɨɞɚ
Ɏɥɚɝɢ
SF = OF ɢ
ZF = 0
ɋɨ ɡɧɚɤɨɦ JGE/JNL ɨɩɟɪɚɧɞ_1 => ɨɩɟɪɚɧɞ_2 SF = of
Ȼɟɡ ɡɧɚɤɚ JB/JNAE ɨɩɟɪɚɧɞ_1 < ɨɩɟɪɚɧɞ_2 CF = 1
Ȼɟɡ ɡɧɚɤɚ JBE/JNA ɨɩɟɪɚɧɞ_1 <= ɨɩɟɪɚɧɞ_2
Ȼɟɡ ɡɧɚɤɚ JA/JNBE ɨɩɟɪɚɧɞ_1 > ɨɩɟɪɚɧɞ_2
CF = 1 ɢɥɢ
ZF =1
CF = 0 ɢ
ZF = 0
Ȼɟɡ ɡɧɚɤɚ JAE/JNB ɨɩɟɪɚɧɞ_1 => ɨɩɟɪɚɧɞ_2 CF = 0
Ʉɨɦɚɧɞɵ ɰɢɤɥɨɜ ɢɫɩɨɥɶɡɭɸɬ ɪɟɝɢɫɬɪ RCX/ECX/CX ɤɚɤ ɫɱɟɬɱɢɤ ɰɢɤɥɚ.
ɋɢɧɬɚɤɫɢɫ ɛɚɡɨɜɨɣ ɤɨɦɚɧɞɵ ɰɢɤɥɚ:
LOOP ɦɟɬɤɚ_ɩɟɪɟɯɨɞɚ
Ʉɨɦɚɧɞɚ LOOP ɩɨɡɜɨɥɹɟɬ ɨɪɝɚɧɢɡɨɜɚɬɶ ɰɢɤɥɵ, ɩɨɞɨɛɧɵɟ ɰɢɤɥɚɦ for ɜ ɋɢ
ɫ ɚɜɬɨɦɚɬɢɱɟɫɤɢɦ ɭɦɟɧɶɲɟɧɢɟɦ ɫɱɟɬɱɢɤɚ ɰɢɤɥɚ ɧɚ ɤɚɠɞɨɦ ɲɚɝɟ ɧɚ ɟɞɢɧɢɰɭ.
ɉɨɫɥɟɞɨɜɚɬɟɥɶɧɨɫɬɶ ɪɚɛɨɬɵ ɰɢɤɥɚ LOOP:
ɞɟɤɪɟɦɟɧɬ ɪɟɝɢɫɬɪɚ ȿɋɏ/ɋɏ;
ɫɪɚɜɧɟɧɢɟ ɪɟɝɢɫɬɪɚ ȿɋɏ/ɋɏ ɫ ɧɭɥɟɦ
: ɟɫɥɢ (ȿɋɏ/ɋɏ) = 0, ɬɨ ɭɩɪɚɜɥɟɧɢɟ
ɩɟɪɟɞɚɟɬɫɹ ɧɚ ɫɥɟɞɭɸɳɭɸ ɩɨɫɥɟ loop ɤɨɦɚɧɞɭ.
Ʉɪɨɦɟ LOOP, ɜ ɩɪɨɝɪɚɦɦɚɯ ɚɫɫɟɦɛɥɟɪɚ ɢɫɩɨɥɶɡɭɸɬɫɹ ɬɚɤɠɟ ɬɚɤɢɟ ɤɨɦɚɧɞɵ
ɰɢɤɥɨɜ:
LOOPE/LOOPZ/LOOPNE/LOOPNZ ɦɟɬɤɚ_ɩɟɪɟɯɨɞɚ
Ɋɚɛɨɬɚ ɤɨɦɚɧɞ LOOPE ɢ LOOPZ ɡɚɤɥɸɱɚɟɬɫɹ ɜ ɜɵɩɨɥɧɟɧɢɢ ɫɥɟɞɭɸɳɢɯ
ɞɟɣɫɬɜɢɣ:
ɞɟɤɪɟɦɟɧɬ ɪɟɝɢɫɬɪɚ ȿɋɏ/ɋɏ;
ɫɪɚɜɧɟɧɢɟ ɪɟɝɢɫɬɪɚ ȿɋɏ/ɋɏ ɫ ɧɭɥɟɦ;
ɚɧɚɥɢɡ ɫɨɫɬɨɹɧɢɹ: ɮɥɚɝɚ ɧɭɥɹ ZF ɟɫɥɢ (R
ɋɏ/ȿɋɏ/ɋɏ) = 0 ɢɥɢ ZF = 0,
ɭɩɪɚɜɥɟɧɢɟ ɩɟɪɟɞɚɟɬɫɹ ɧɚ ɫɥɟɞɭɸɳɭɸ ɩɨɫɥɟ LOOPE (LOOPZ) ɤɨɦɚɧɞɭ.
Ɋɚɛɨɬɚ ɤɨɦɚɧɞ LOOPNE ɢ LOOPNZ ɡɚɤɥɸɱɚɟɬɫɹ ɜ ɜɵɩɨɥɧɟɧɢɢ ɫɥɟɞɭɸɳɢɯ ɞɟɣɫɬɜɢɣ:
ɞɟɤɪɟɦɟɧɬ ɪɟɝɢɫɬɪɚ Rɋɏ/ȿɋɏ/ɋɏ;
ɫɪɚɜɧɟɧɢɟ ɪɟɝɢɫɬɪɚ Rɋɏ/ȿɋɏ/ɋɏ ɫ ɧɭɥɟɦ;
ɚɧɚɥɢɡ ɫɨɫɬɨɹɧɢɹ ɮɥɚɝɚ ɧɭɥɹ: ZF: ɟɫɥɢ (Rɋɏ/ȿɋɏ/ɋɏ) = 0 ɢɥɢ ZF = 1,
ɭɩɪɚɜɥɟɧɢɟ
ɩɟɪɟɞɚɟɬɫɹ ɧɚ ɫɥɟɞɭɸɳɭɸ ɩɨɫɥɟ LOOP ɤɨɦɚɧɞɭ.
Ʉɨɦɚɧɞɵ LOOPE/LOOPZ ɢ LOOPNE/LOOPNZ ɪɚɫɲɢɪɹɸɬ ɜɨɡɦɨɠɧɨɫɬɢ
ɤɨɦɚɧɞɵ LOOP ɬɟɦ, ɱɬɨ ɞɨɩɨɥɧɢɬɟɥɶɧɨ ɚɧɚɥɢɡɢɪɭɸɬ ɮɥɚɝ ZF, ɱɬɨ ɩɨɡɜɨɥɹɟɬ
ɨɪɝɚɧɢɡɨɜɚɬɶ ɞɨɫɪɨɱɧɵɣ ɜɵɯɨɞ ɢɡ ɰɢɤɥɚ, ɢɫɩɨɥɶɡɭɹ ɷɬɨɬ ɮɥɚɝ ɜ ɤɚɱɟɫɬɜɟ ɢɧɞɢɤɚɬɨɪɚ.
60
Соседние файлы в предмете [НЕСОРТИРОВАННОЕ]
