Lệnh nhảy không điều kiện : - Nhảy gần :
+ Cú pháp: SJMP <NHÃN>
Trong đó: <NHÃN> là một từ, hay nhóm từ viết liền nhau, theo sau bằng dấu ”:” dùng để đánh dấu vị trí chương trình. + Thực hiện: nhày không điều kiện đến vị trí chương trình được chỉ định bởi <NHÃN>, khoảng cách từ lệnh đến <NHÃN> không vượt quá 128 byte mã lệnh.
- Nhảy xa :
+ Cú pháp: LJMP <NHÃN>
+ Thực hiện: nhảy đến vị trí được chỉ định bởi <NHÃN>, <NHÃN> có thể nằm ở bất kì vị trí nào trong chương trình.
Lệnh nhảy có điều kiện :
- Nhảy so sánh và nhảy nếu không bằng :
Trong đó <TOÁN HẠNG> có thể là thanh ghi, ô nhớ hoặc #<giá trị>
+ Thực hiện: So sánh A và <TOÁN HẠNG>, nếu: * A ≠ <TOÁN HẠNG>: nhảy đến <NHÃN> và nếu: . A > <TOÁN HẠNG>: bit C = 0
. A < <TOÁN HẠNG>: bit C = 1
* A = <TOÁN HẠNG>: thực hiện lệnh kế tiếp + Một dạng khác của lệnh:
CJNE Ri/@Rp, #<GIÁ TRỊ>, <NHÃN> - Lệnh giảm Ri một đơn vị và nhảy nếu bằng 0 :
+ Cú pháp: DJNZ Ri, <NHÃN> + Thực hiện: Ri = Ri - 1, nếu:
. Ri > 0: nhảy đến <NHÃN> . Ri =0: thực hiện lệnh kế tiếp
- Lệnh nhảy phụ thuộc vào trạng thái bit kiểm tra : + Cú pháp:JB/ JNB BIT, <NHÃN>
+ Trong đó: BIT có thể là các bit của một thanh ghi hoặc các chân I/O của vi điều khiển
+ Thực hiện: nhảy đến vị trí chương trình được chỉ định bởi <NHÃN> nếu BIT bằng 1 hoặc bằng 0
- Lệnh nhảy thông qua việc kiểm tra cờ CARRY : - Cú pháp: JC/ JNC <NHÃN>
- Thực hiện: nhảy đến vị trí chương trình được chỉ định bởi <NHÃN> nếu C bằng 1 hoặc bằng 0
- Lệnh nhảy thông qua việc kiểm tra cờ ZERO : + Cú pháp: JZ/ JNZ <NHÃN>
+ Thực hiện: nhảy đến vị trí chương trình được chỉ định bởi <NHÃN> nếu Z bằng 1 hoặc bằng 0