IV. BOARD PHỤ A BOARD PHỤ
8085A – 8BIT HMOS MICROPROCESSOR
TẬP LỆNH CỦA
Một lệnh (Instruction) là một mẫu nhị phân (binary pattern) được thiết kế bên trong vi xử lý để thực hiện một chức năng cụ thể (Instruction set), xác định các chức năng mà vi xử lý cĩ thể thực hiện. Tập lệnh của 8085 cĩ 74 lệnh (hơn 8080 hai lệnh), các lệnh này cĩ thể được phân thành 5 nhĩm chức
năng :
• Các hoạt động (sao chép) truyền dữ liệu • Các hoạt động tốn học
• Các hoạt động logic • Các hoạt động rẽ nhánh • Và, các hoạt động điều khiển
Các hoạt động (sao chép) truyền dữ liệu
Nhĩm các lệnh này sao chép dữ liệu từ nơi nguồn đến nơi đích, mà khơng hề điều chỉnh nội dung của nơi nguồn. Trong các sổ tay kỹ thuật, từ truyền dữ liệu được sử dụng cho chức năng sao chép này. Sau đây là các dạng truyền dữ liệu :
Dạng truyền Ví dụ
Giữa các thanh ghi Sao chép nội dung của thanh ghi B vào thanh ghi D
hoặc ơ nhớ 32H
Giữa một ơ nhớ và một thanh ghi Từ ơ nhớ 2000H đến thanh ghi B Giữa một thiết bị I/O và thanh ghi
tích trữ Từ bàn phím vào thanh ghi tích trữ Giữa cặp thanh ghi và ngăn xếp Từ cặp thanh ghi BC đến hai ơ nhớ
được định nghĩa như ngăn xếp
Các hoạt động tốn học
Các lệnh này thực hiện các phép tốn như là cộng, trừ, tăng và giảm.
* Cộng : Bất kỳ một số 8 bit, hoặc nội dung của thanh ghi, hoặc nội dung
của một ơ nhớ cĩ thể được cộng với sự nội dung của thanh ghi tích trữ và tổng được lưu vào thanh ghi tích trữ. Hai thanh ghi hoặc ơ nhớ khơng thể cộng trực tiếp với nhau. Lệnh DAD là một ngoại lệ, nĩ cộng trực tiếp dữ liệu 16 bit trong các cặp thanh ghi.
* Trừ : Bất kỳ một số 8 bít, hoặc nội dung của một thanh ghi, hoặc nội
dung của một ơ nhớ cĩ thể được trữ từ nội dung của thanh ghi tích trữ. Lệnh trữ được thực hiện ở dạng bù 2, và kết quả, nếu âm, được biểu diễn ở dạng bù 2. Khi thanh ghi hoặc ơ nhớ khơng thể được trừ trực tiếp.
* Tăng/ giảm : Nội dung 8 bit của một thanh ghi hoặc một ơ nhớ cĩ thể
được tăng hoặc giảm mỗi lần 1 đơn vị. Tương tự nội dung 16 bit của một cặp thanh ghi cĩ thể cũng được tăng hoặc giảm đi 1. Các hoạt động tăng và giảm khác với phép cộng và trừ ở một cách thức rất quan trọng, đĩ là : chúng cĩ thể được thực hiện trong bất kỳ thanh ghi hoặc ơ nhớ nào.
Các hoạt động logic
Các lệnh này thực hiện các hoạt động logic khác nhau với nội dung của thanh ghi tích trữ.
* AND, OR, XOR : Bất kỳ một số 8 bit, hoặc nội dung của một thanh
ghi, hoặc nội dung của một ơ nhớ cĩ thể được logic AND, OR hoặc XOR với nội dung của thanh ghi tích trữ.
* Xoay : Mỗi bit trong thanh ghi tích trữ cĩ thể được dịch trái hoặc phải
đến vị trí kế tiếp.
* So sánh : Bất kỳ một số 8 bit, hoặc nội dung của một thanh ghi, hoặc
nội dung của một ơ nhớ cĩ thể được so sánh bằng, lớn hơn, hoặc nhỏ hơn với nội dung của thanh ghi tích trữ.
* Bù : Nội dung của thanh ghi tích trữ cĩ thể được lấy bù, tất cả 0 được
thay thế bằng 1 và tồn bộ 1 được đổi thành 0.
Các hoạt động rẽ nhánh
Nhĩm các lệnh này làm thay đổi trình tự thi hành chương trình một cách cĩ điều kiện hoặc khơng điều kiện.
* Nhảy : Các lệnh nhảy cĩ điều kiện là một khía cạnh quan trọng để đưa
ra những quyết định trong lập trình. Các lệnh này kiểm tra một điều kiện nào đĩ (cờ Zéro hoặc cờ Carry) và làm thay đổi trình tự chương trình khi bắt gặp điều kiện. Ngồi ra, cịn cĩ các lệnh nhảy khơng điều kiện.
* Gọi, Trở về, và Khởi động lại : Các lệnh này làm thay đổi trình tự của
một chương trình hoặc bằng cách gọi một chương trình con hoặc trở về từ một chương trình con. Các lệnh Gọi và Trở về cũng cĩ thể kiểm tra các cờ điều kiện.
Các hoạt động điều khiển
Các lệnh này điều khiển các chức năng vận hành như là : Dừng, ngắt, hoặc khơng làm gì cả.
Tập lệnh vi xử lý 8085 được phân thành 3 nhĩm tuỳ theo kích cỡ từ : 1. Các lệnh một từ hoặc 1 byte
2. Các lệnh hai từ hoặc 2 byte 3. Các lệnh ba từ hoặc 3 byte
Lệnh một byte chứa mã hoạt động (Opcode) và tốn tử (Operand) trong cùng một byte.
Trong lệnh hai byte, byte thứ nhất nêu lên mã hoạt động và theo sau là tốn tử.
Đối với lệnh ba byte, byte đầu tiên cho biết mã hoạt động, 2 byte theo