Lệnh chuyển hướng chương trình

Một phần của tài liệu md-01-dien-tu-co-ban-va-may-tinh (Trang 94 - 97)

CHƯƠNG 6 : NGÔN NGỮ ASSEMBLY

3. Các lệnh điều khiển

3.3 Lệnh chuyển hướng chương trình

a. Nhảy có điều kiện

Cú pháp: Jxxx nhãn_đích Công việc Điều kiện đúng sai

94

Nếu điều kiện nhảy được thoả mãn thì sẽ nhảy đến nhãn_đích và thi hành lệnh này. Nhãn có thể trước hoặc sau. Trước không quá 126 byte, sau không quá 127 byte.

Bảng các lệnh nhảy

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

nhảy nếu không nhỏ hơn hay bằng

Zf = 0, sf = 0f

Jge/jnl nhảy nếu lớn hơn hay bằng

nhảy nếu không nhỏ hơn

Sf = 0f

Jl/jnge nhảy nếu nhỏ hơn

nhảy nếu không lớn hơn hay bằng

Sf <> 0f

Jle/jng nhảy nếu nhỏ hơn hay bằng

nhảy nếu không lớn hơn

Zf = 1 hay sf = 0f nhảy không dấu

Ja/jnbe nhảy nếu lớn hơn

nhảy nếu không nhỏ hơn hay bằng

Cf = 0 và zf = 0

Jae/jnb nhảy nếu lớn hơn hay bằng

nhảy nếu không nhỏ hơn

Cf = 0

Jb/jnae nhảy nếu nhỏ hơn

nhảy nếu không lớn hơn hay bằng

Cf = 1

nhảy điều kiện đơn

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

nhảy nếu không bằng 0

Zf = 0

b. Nhảy không điều kiện

Cú pháp:

JMP nhãn_đích

Nhãn đích nằm trong cùng đoạn với JMP, vượt xa 126 byte đối với các lệnh nhảy có điều kiện.

c. Lệnh logic

Trong nhóm này ta quan tâm đến các lệnh sau:AND, OR,XOR,NOT * AND

Cú pháp

AND đích,nguồn

Đích, nguồn phải có điều kiện: - cùng độ dài

- không phải đồng thời là 2 ô nhớ, 2 thanh ghi đoạn.

Tác dụng: thường dùng để che đi hay giữ lại một vài bit nào đó của toán hạng đích Ví dụ: AND AX,0Fh

* OR Cú pháp

95 OR đích,nguồn

Đích, nguồn phải có điều kiện: - cùng độ dài

- không phải đồng thời là 2 ô nhớ, 2 thanh ghi đoạn.

Tác dụng: thường dùng để thiết lập một vài bit nào đó của toán hạng đích bằng cách cộng logic toán hạng đó với toán hạng tức thời mà các bit 1 có vị trí tương ứng với bít cần lập. Ví dụ: OR AL,BL

OR AL,0F h * NOT

Cú pháp

NOT toanhang

Tác dụng: lấy phủ định của toán hạng ( dùng để dảo bít một toán hay hạng lấy bù1) * XOR : hoặc (loại trừ toán hạng)

Cú pháp

XOR toanhang, toanhang

Tác dụng: dùng để xóa về 0 một thanh ghi nào đó. Ví dụ: XOR AX,AX ;xóa thanh ghi AX về 0

d. Nhóm lệnh dịch chuyển và quay

* SHL : Shift – left (dịch trái) Cú pháp

SHL đích,CL

Tác dụng: dịch các bit của toán hạng đích sang trái CL vị trí, một giá trị 0 được đưa vào bên phải của toán hạng đích, còn bít MSB được đưa vào CF.

* SHR: Shift – Right; dịch phải Cú pháp

SHR đích,CL

Tác dụng: dịch các bit của toán hạng đích sang phải CL vị trí, một giá trị 0 được đưa vào bít MSB còn giá trị của bit LSB được chuyển vào cờ CF.

* ROL: Rotation Left- quay trái Cú pháp

ROL đích,CL

Dịch các bit sang bên trái. Bit MSB được đưa và LSB và cờ CF. muốn quay nhiều lần thì chứa trong CL 0 CF 0 0 CF 15 15 0

96 * ROR: Rotation Right – quay phải

Cú pháp ROR đích, CL

Dịch sang bên phải. bit LSB được đưa vào MSB và cờ CF. muốn quay nhiều lần thì chứa trong CL.

Một phần của tài liệu md-01-dien-tu-co-ban-va-may-tinh (Trang 94 - 97)

Tải bản đầy đủ (PDF)

(106 trang)