Các kiểu lệnh.

Một phần của tài liệu 20101005022225_lvmmt10 (Trang 30 - 31)

Lệnh Load chuyển data giữa các thanh ghi CPU với nhau và giữa thanh ghi CPU với bộ nhớ ngoài. Tất cả các lệnh phải xác định nguồn và đích. Ví dụ như việc truyền data từ thanh ghi C đến thanh ghi B. Nhóm này bao gồm cả Load tức thời tới thanh ghi CPU hoặc bộ nhớ ngoài bất kỳ. Các kiểu khác của lệnh Load cho phép truyền giữa các thanh ghi CPU và bộ nhớ. Lệnh exchange có thể chuyển nội dung của hai thanh ghi.

Một tập duy nhất của nhóm lệnh truyền khối được cung cấp bên trong Z80. Với một lệnh đơn giản, một khối bộ nhớ với kích thước bất kỳ có thể được chuyển đến vị trí khác trong bộ nhớ. Các lệnh chuyển khối có lợi khi phải xử lý một chuỗi dữ liệu lớn. Với 1 lệnh đơn, khối bộ nhớ ngoài với chiều dài tùy thích có thể tìm được 1 ký tự 8 bit bất kỳ. Khi ký tự được tìm thấy hay gặp cuối khối , lệnh sẽ tự động chấm dứt. Cả hai lệnh chuyển và tìm khối đều có thể bị ngắt trong lúc thực thi do đó không chiếm giữ CPU trong chuỗi thời gian dài.

Lệnh logic và số học tác động lên data trong thanh ghi tích lũy, thanh ghi đa dụng và bộ nhớ ngoài. Kết quả của các phép toán được đặt trong thanh ghi tích lũy và cờ đặc trưng được set tùy theo kết quả của các phép toán. Một ví dụ về phép toán số học là cộng nội dung thanh ghi tích lũy với nội dung bộ nhớ ngoài. Kết quả của phép cộng được đặt vào thanh ghi tích lũy. Nhóm này gồm phép cộng và trừ các thanh ghi 16 bit.

Nhóm lệnh rotate và shift cho phép quay phải(trái) hay dịch phải(trái) bất kỳ thanh ghi hay bộ nhớ nào có hay không có cờ carry.

Lệnh thao tác bit cho phép bit bất kỳ trong thanh ghi tích lũy, thanh ghi đa dụng hay bộ nhớ ngoài được set, reset hay test với 1 lệnh đơn. Ví dụ, MSB của thanh ghi H có thể reset. Nhóm này đặc biệt hữu dụng trong các ứng dụng điều khiển.

Lệnh jump, call, return được dùng để di chuyển giữa hai vị trí khác nhau. Kiểu khác của lệnh call là lệnh restart. Lệnh này chứa địa chỉ mới như 1 phần của mã lệnh 8 bit. Chương trình nhảy được thi hành bởi sự nạp trực tiếp thanh ghi HL, IX, IY lên PC, do đó cho phép địa chỉ nhảy là hàm phức hợp của lệnh đang được thi hành.

Nhóm lệnh Input/Output trong Z80 cho phép truyền trong 1 khoảng rộng giữa bộ nhớ ngoài hay thanh ghi đa dụng với thiết bị I/O bên ngoài. Trong mỗi trường hợp, địa chỉ cổng được cung cấp trên 8 bit thấp của bus địa chỉ trong khi thực thi I/O. Sự thuận lợi khi dùng thanh ghi C như con trỏ chỉ tới thiết bị I/O là cho phép các cổng I/O khác nhau chia sẻ driver phần mềm chung. Điều không thể khi địa chỉ là 1 phần của mã lệnh nếu chương trình được chứa trong ROM. Đặc điểm khác của lệnh Input là chúng set thanh ghi cờ tự động do đó không yêu cầu xác định trạng thái của data nhập vào. Z80 CPU chứa lệnh đơn có thể chuyển khối dữ liệu (lên đến 256 byte) một cách tự động tới hay từ cổng I/O bất kỳ đến vị trí bộ nhớ bất kỳ. Sự kết hợp với tập các cặp thanh ghi đa dụng, lệnh này cho tốc độ truyền khối I/O cao. Giá trị của tập lệnh I/O này được chứng minh bởi Z80 có thể cung cấp các yêu cầu định dạng đĩa mềm ( có nghĩa là CPU cung cấp header, địa chỉ, data, và cho phép mã CRC ) trên đĩa mật độ cao dựa trên ngắt căn bản.

Kết luận, lệnh điều khiển CPU căn bản cho phép các chức năng và chế độ khác nhau. Nhóm lệnh này gồm setting hay resetting các F-F cho phép ngắt hay cài đặt chế độ đáp ứng ngắt.

Một phần của tài liệu 20101005022225_lvmmt10 (Trang 30 - 31)

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

(181 trang)
w