Các lệnh điều khiển chƣơng trình

Một phần của tài liệu bài giảng kiến trúc máy tính - hoàng xuân dậu - học viện công nghệ bưu chính viễn thông (Trang 31 - 32)

Các lệnh điều khiển chƣơng trình đƣợc sử dụng để thay đổi trật tự thực hiện các lệnh khác trong chƣơng trình hay làm thay đổi logic chƣơng trình. Đây là nhóm lệnh gây ra các rẽ nhánh (branching), hoặc nhảy (jumping) làm cho quá trình thực hiện chƣơng trình phức tạp

hơn. Một trong các đặc tính của các lệnh này là chúng làm thay đổi nội dung của bộ đếm chƣơng trình PC – nơi chứa địa chỉ ô nhớ chứa lệnh tiếp theo đƣợc thực hiện, có nghĩa là yêu

Chương 3- Tập lệnh máy tính

29

cầu CPU thực hiện chƣơng trình từ một vị trí mới thay vì thực hiện lệnh kế tiếp lệnh đang thực hiện. Các lệnh điều khiển chƣơng trình sử dụng các cờ của ALU (lƣu trong thanh ghi cờ FR) để xác định điều kiện rẽ nhánh hoặc nhảy. Có thể chia các lệnh điều khiển chƣơng trình thành 3 loại chính sau:

 Các lệnh nhảy / rẽ nhánh có điều kiện (CONDITIONAL BRANCHING/ CONDITIONAL JUMP);

 Các lệnh nhảy/ rẽ nhánh không điều kiện (UNCONDITIONAL BRANCHING / JUMP);

 Các lệnh gọi thực hiện (CALL) và trở về (RETURN) từ chƣơng trình con.

Ví dụ:Cộng nội dung 100 ô nhớ cạnh nhau, bắt đầu từ địa chỉ 1000. Kết quả lƣu vào R0. LOAD R1, #100; R1 100 LOAD R2, #1000; R2 1000 LOAD R0, #0; R0 0 Loop: ADD R0, (R2); R0 R0 + M[R2] INCREMENT R2; R2 R2 + 1 DECREMENT R1; R1 R1 – 1 BRANCH-IF-GREATER-THAN Loop;

; Quay lại thực hiện lệnh sau nhãn Loop nếu R1 còn lớn hơn 0.

Một số lệnh điều khiển chương trình thông dụng

Tên lệnh Ý nghĩa

BRANCH-IF-CONDITION Chuyển đến thực hiện lệnh ở địa chỉ mới nếu điều kiện là đúng.

JUMP Chuyển đến thực hiện lệnh ở địa chỉ mới.

CALL Chuyển đến thực hiện chƣơng trình con.

RETURN Trở về (từ chƣơng trình con) thực hiện tiếp chƣơng trình gọi.

Một phần của tài liệu bài giảng kiến trúc máy tính - hoàng xuân dậu - học viện công nghệ bưu chính viễn thông (Trang 31 - 32)