Greater ZF=1 JGE Jump if Greater or Equal JNGE Jump if Not Greater or Equal SFOF JL JL Jump if Less SFOF JNGE JNL Jump if Not Less SF=OF JGE JLE Jump if Less or Equal SFOF hoặc ZF=1 JNG
Trang 1Greater (ZF=1)
JGE Jump if Greater
or Equal
JNGE Jump if Not
Greater or Equal
(SF<>OF) JL
JL Jump if Less (SF<>OF) JNGE
JNL Jump if Not Less (SF=OF) JGE
JLE Jump if Less or
Equal
(SF<>OF) hoặc (ZF=1)
JNG
JNLE Jump if Not Less
or Equal
(SF=OF) hoặc (ZF=0)
JG
JNS Jump on Not
Sign
JNZ Jump on Not
Zero
c So sánh
Các điều điện nhảy thường được cung cấp bởi lệnh CMP (compare) Nó có dạng sau:
CMP đích,nguồn
Lệnh này so sánh toán tử đích với toán tử nguồn bằng cách lấy toán hạng đích trừ đi toán hạng nguồn Tuy nhiên kết quả được sử dụng để thiết lập giá trị cho các cờ nhớ chứ không được chứa ở dâu cả
Trang 2Chương trình nguồn ViDu_1.asm
Code Segment
Assume cs:Code, ds:Code
Org 100h
Begin:
Mov ah,02
Mov cx,256 ;Số ký tự hiện thị Mov Dl,0 ;DL chứa mã ASCII bằng ký tự NULL
For:
Int 21h ;Xuất ra màn hình
Inc DL ;Tăng vị trí mã ASCII lên
Loop For ;Lặp
Mov ah,4ch ; Trở về DOS Int 21h ; đừng để xem
Code ends
end Begin
d Gọi chương trình con
Dùng lệnh Call
a.Nhảy không điều kiện
Lệnh nhảy không điều kiện là lệnh JMP (jump) dẫn đến việc chuyển điều khiển không điều kiện Cú pháp
Trang 3JMP đích; đích là một địa chỉ, nhãn …
Mô tả: Thực hiện rẽ nhánh không điều kiện chương trình tới địa chỉ được chỉ ra, địa chỉ này có thể là một giá trị hằng số, hoặc một nhãn,… Lệnh JMP làm thay đổi CS:IP, làm cho nó chứa địa chỉ của đích cần nhảy tới
Có thể áp dụng cho các bộ vi xử lý: 8086/8088,
80286, 80386, 80486
Thuộc nhóm lệnh: chuyển điều khiển
Có cờ bị ảnh hưởng: không
Ví dụ:
JMP loc_1 ;với loc_1 là tên nhãn
JMP AX ;nhảy tới địa chỉ trong AX
JMP [BX] ;nhảy tới địa chỉ trong BX
b.Nhảy có điều kiện
Mô tả: Lệnh nhảy có điều kiện là lệnh thực hiện rẽ nhánh tới một địa chỉ toán hạng nếu như cờ CF và cờ ZF cùng bị xoá
Phạm vi của lệnh nhảy có điều kiện: máy đòi hỏi nhãn đích phải đứng trước lệnh nhảy không quá 126 byte và đứng sau không quá 127 byte
Ví dụ: Lệnh JA – (Jump if Above nhảy nếu kết quả cho phép so sánh là lớn hơn)
Cú pháp JA TARGET ; TARGET là đĩa chỉ,nhãn…
Trang 4Các lệnh nhảy có điều kiện
Mã
lệnh
Y nghĩa Điều kiện nhảy Các lệnh
tương đương
JA Jump if Above (CF=0) và
(ZF=0)
JNBE
JNA Jump if not
Above
(CF=1) hoặc (ZF=1)
JBE
JAE Jump if Above or
Equal
JNAE Jump if Not
Above or Equal
JNB Jump if Not
Below
JBE Jump if Below or
Equal
(CF=1) hoặc (ZF=1)
JNA
JNBE Jump if Not
Below or Equal
(CF=0) và (ZF=0)
JA
JC Jump on Carry CF = 1 JB,JNAE JNC Jump on Not
Carry
JCXZ Jump if CX =0 CX = 0
Trang 5Equal
JG Jump if Greater (SF=OF) hoặc
(ZF=0)
JNLE
JNG Jump if Not
Greater
(SF<>OF) hoặc (ZF=1)
JLE
JGE Jump if Greater
or Equal
JNGE Jump if Not
Greater or Equal
(SF<>OF) JL
JL Jump if Less (SF<>OF) JNGE
JNL Jump if Not Less (SF=OF) JGE
JLE Jump if Less or
Equal
(SF<>OF) hoặc (ZF=1)
JNG
JNLE Jump if Not Less
or Equal
(SF=OF) hoặc (ZF=0)
JG
JNS Jump on Not
Sign
JNZ Jump on Not
Zero
c So sánh
Các điều điện nhảy thường được cung cấp bởi lệnh CMP (compare) Nó có dạng sau:
CMP đích,nguồn