
Chöông 2: CAÙC CHÆ THÒ LOGIC VAØ ÑIEÀU KHIEÅN
Các lệnh điều khiển rẻ nhánh
Các lệnh nhảy có điều kiện:
* Phạm vi của lệnh nhảy có điều kiện: cấu trúc mã máy của
lệnh nhảy có điều kiện đòi hỏi nhãn đích phải đứng trước lệnh
nhảy không quá 126 byte hoặc đứng sau không quá 127 byte
* Có 3 loại lệnh nhảy có điều kiện:
+ Các lệnh nhảy có dấu: được dùng khi kết quả trả về là các
số có dấu
+ Các lệnh nhảy không dấu: được dùng khi kết quả trả về là
các số không dấu
+ Các lệnh nhảy điều kiện đơn: điều kiện phụ thuộc vào 1 cờ
riêng biệt

Chöông 2: CAÙC CHÆ THÒ LOGIC VAØ ÑIEÀU KHIEÅN
Các lệnh điều khiển rẻ nhánh
Các lệnh nhảy có điều kiện:
* Các lệnh nhảy có dấu:
Ký hiệu Chức năng Điều kiện nhảy
JG/JNLE
Nhảy nếu
lớn hơn
ZF=0 và
SF=0F
JGE/JNL
Nhảy
nếu lớn hơn hoặc bằng
SF=0F
JL/JNGE
Nhảy
nếu nhỏ hơn
SF<>0F
JLE/JNG
Nhảy
nếu nhỏ hơn hoặc bằng
ZF=1 hay
SF=0F

Chöông 2: CAÙC CHÆ THÒ LOGIC VAØ ÑIEÀU KHIEÅN
Các lệnh điều khiển rẻ nhánh
Các lệnh nhảy có điều kiện:
* Các lệnh nhảy không dấu:
Ký hiệu Chức năng Điều kiện nhảy
JA/JNBE
Nhảy nếu lớn hơn
CF=0 và
ZF=0
JAE/JNB
Nhảy
nếu lớn hơn hoặc bằng
CF=0
JB/JNAE
Nhảy
nếu nhỏ hơn
CF=1
JBE/JNA
Nhảy
nếu nhỏ hơn hoặc bằng
CF=1 hay ZF=1

Chöông 2: CAÙC CHÆ THÒ LOGIC VAØ ÑIEÀU KHIEÅN
Các lệnh điều khiển rẻ nhánh
Các lệnh nhảy có điều kiện:
* Các lệnh nhảy điều kiện đơn:
Ký hiệu Chức năng Điều kiện nhảy
JE/JZ
Nhảy nếu bằng/Nhảy nếu bằng 0
ZF=1
JNE/JNZ
Nhảy
nếu không bằng/Nếu khác 0
ZF=0
JC
Nhảy
nếu có nhớ
CF=1
JNC
Nhảy
nếu không nhớ
CF=0
JO
Nhảy
nếu tràn số
OF=1
JNO
Nhảy
nếu không tràn
OF=0
JS
Nhảy
nếu dấu âm
SF=1
JNS
Nhảy
nếu dấu dương
SF=0
JP/JPE
Nhảy
nếu cờ chẵn
PF=1
JNP/JPO
Nhảy
nếu cờ lẻ
PF=0

Chöông 2: CAÙC CHÆ THÒ LOGIC VAØ ÑIEÀU KHIEÅN
Các lệnh điều khiển rẻ nhánh
Các lệnh nhảy có điều kiện:
Ví dụ: Viết chương trình hiển thị toàn bộ tập hợp các ký tự của hệ IBM
TITLE BAITAP4:IBM
.MODEL SMALL
.STACK 100h
.CODE
MAIN PROC MAIN ENDP
END MAIN
MOV AH,4Ch
;trả quyền điều khiển
INT 21h
MOV AH,2
MOV CX,256 ; số ký tự
MOV DL,0 ; NULL
PRINT_LOOP
INT 21h
INC DL
DEC CX
JNZ PRINT_LOOP