GIÁO TRÌNH VI XỬ LÝ 1 - CHƯƠNG 2. CẤU TRÚC VI XỬ LÝ 8 BIT VÀ TẬP LỆNH pps

64 465 0
GIÁO TRÌNH VI XỬ LÝ 1 - CHƯƠNG 2. CẤU TRÚC VI XỬ LÝ 8 BIT VÀ TẬP LỆNH pps

Đang tải... (xem toàn văn)

Tài liệu hạn chế xem trước, để xem đầy đủ mời bạn chọn Tải xuống

Thông tin tài liệu

Truong DH SPKT TP HCM http://www.hcmute.edu.vn Chương I II III IV V VI SƠ ĐỒ KHỐI CPU BIT CƠ BẢN Sơ đồ khố i củ a vi xử lý Khố i ALU TỔ CHỨC CÁC THANH GHI HCM Cá c ghi bê n vi xử lý TP huat Chứ c nă ng cá c ghi Ky t pham LỆNH CỦA VI XỬ LÝ H Su ng D Tậ p lệ nh củ a vi xử lý Truo © uyen Từ gợ i nhớ an q B Cá c nhó m lệ nh bả n cá c kiể u truy xuấ t địa củ a vi xử lý VI XỬ LÝ Z80 Sơ đồ cấ u trú c bê n củ a vi xử lý Z80 Tổ c ghi bê n vi xử lý Z80 Chứ c nă ng cá c châ n củ a vi xử lý Z80 Giả n đồ thờ i gian củ a vi xử lý Z80 Đá p ứ ng yê u cầ u ngắ t củ a vi xử lý Z80 Phầ n ng phầ n mề m củ a vi xử lý Z80 VI XỬ LÝ 8085A Sơ đồ cấ u trú c bê n củ a vi xử lý 8085A Tổ c ghi bê n củ a vi xử lý 8085A Sơ đồ châ n củ a vi xử lý 8085A Giả n đồ thờ i gian củ a vi xử lý 8085A Giả i đa hợ p địa liệ u cho vi xử lý 8085A Tậ p lệ nh củ a vi xử lý 8085A TÓM TẮT – CÂU HỎI ÔN TẬP – BÀI TẬP Tó m tắ t Câ u hỏ i ô n tậ p – bà i tậ p Thu vien DH SPKT TP HCM - http://www.thuvienspkt.edu.vn Truong DH SPKT TP HCM Chương 2: Cấ u trú c vi xử lý tậ p lệ n h I http://www.hcmute.edu.vn SPKT SƠ ĐỒ KHỐI CPU BIT CƠ BẢN: Sơ đồ khố i củ a vi xử lý : Cấu trúc tất vi xử lý có khối giống ALU, ghi, khối điều khiển mạch logic Để nắm rõ nguyên lý làm việc vi xử lý cần phải khảo sát nguyên lý kết hợp khối với để xử lý chương trình Sơ đồ khối vi xử lý trình bày cấu trúc vi xử lý Mỗi vi xử lý khác có cấu trúc khác Ví dụ vi xử lý bit có cấu trúc khác với vi xử lý 16 bit Với vi xử lý có sơ đồ cấu trúc bên cho sổ tay nhà chế tạo Sơ đồ cấu trúc dạng khối tiện lợi dễ trình bày nguyên lý hoạt động vi xử lý Hình 2-1 trình bày sơ đồ khối vi xử lý bit: H Su ng D ruo K pham M P HC uat T y th n©T quye an B Hình 2-1 Sơ đồ cấu trúc bên vi xử lý Trong sơ đồ khối vi xử lý bao gồm khối sau: khối ALU, ghi khối control logic Ngoài sơ đồ khối trình bày đường truyền tải tín hiệu từ nơi đến nơi khác bên bên hệ thống Khố i ALU: ALU khối quan trọng vi xử lý, khối ALU chứa mạch điện logic chuyên xử lý liệu Khối ALU có ngõ vào có tên “IN” ngõ vào liệu cho ALU xử lý ngõ có tên “OUT” ngõ kết liệu sau ALU xử lý xong 14 Vi xử lý Thu vien DH SPKT TP HCM - http://www.thuvienspkt.edu.vn Truong DH SPKT TP HCM Chương 2: Cấ u trú c vi xử lý tậ p lệ n h http://www.hcmute.edu.vn SPKT Dữ liệu trước vào ALU chứa ghi tạm thời (Temporarily Register) có tên TEMP TEMP Bus liệu bên vi xử lý kết nối với ngõ vào “IN” ALU thông qua ghi tạm thời Việc kết nối cho phép ALU lấy liệu bus liệu bên vi xử lý Thường ALU lấy liệu từ ghi đặc biệt có tên accumulator (A) Ngõ OUT ALU cho phép ALU gởi kết liệu sau xử lý xong lên bus liệu bên vi xử lý, thiết bị kết nối với bus bên nhận liệu Thường ALU gởi liệu sau xử lý xong tới ghi Accumulator Ví dụ ALU cộng liệu liệu chứa ghi Accumulator, sau phép cộng thực ALU kết gởi trở lại ghi Accumulator lưu trữ ghi ALU xử lý liệu hay liệu tùy thuộc vào lệnh hay yêu cầu điều khiển, ví dụ cộng liệu ALU xử lý liệu dùng ngõ vào “IN” để nhập liệu, tăng liệu lên đơn vị hay lấy bù liệu, ALU xử lý liệu cần ngõ vào “IN” Khối ALU thực phép toán xử lý sau: HCM TP Add Complement thuat OR Exclusive OR y am K u h Subtract Shiftpright Increment DH S ng uo AND en © Tr Shift left Decrement y u an q B Tóm Tắt: Chức khối ALU làm thay đổi liệu hay chuyên xử lý liệu không lưu trữ liệu Để hiểu rõ thêm chức đặc biệt ALU cần phải khảo sát vi xử lý cụ thể II TỔ CHỨC CÁC THANH GHI: Cá c ghi bê n củ a vi xử lý : Các ghi bên có chức lưu trữ tạm thời liệu xử lý Trong số ghi có vài ghi đặc biệt thực lệnh đặc biệt, ghi lại gọi ghi thông dụng Với sơ đồ khối minh họa trên, ghi thông dụng có tên Reg B, Reg C, Reg D, Reg E Caùc ghi thông dụng hữu dụng cho người lập trình dùng để lưu trữ liệu phục vụ cho công việc xử lý liệu điều khiển, viết chương trình sử dụng ghi Số lượng ghi thông dụng thay đổi tùy thuộc vào vi xử lý Số lượng cách sử dụng ghi thông dụng tùy thuộc vào cấu trúc vi xử lý, chúng có vài điểm giống Càng nhiều ghi thông dụng vấn đề lập trình đơn giản Các ghi có vi xử lý ghi A (Accumulator register), ghi đếm chương trình PC (Program Counter register), ghi trỏ ngăn xếp SP ( Stack pointer register), ghi trạng thái F (Status register –Flag register), ghi thông dụng, ghi lệnh IR (Instruction register), ghi địa AR (address register) Vi xử lý 15 Thu vien DH SPKT TP HCM - http://www.thuvienspkt.edu.vn Truong DH SPKT TP HCM Chương 2: Cấ u trú c vi xử lý tậ p lệ n h http://www.hcmute.edu.vn SPKT u DH S K pham M P HC uat T y th ng Hình 2-2 Sơ đồ minh họa ghi bênotrong Microprocessor tô đậm Tru n© Chứ c nă n g củ a cá c ghi: an quye B Thanh ghi Accumulator: Thanh ghi A ghi quan trọng vi xử lý có chức lưu trữ liệu tính toán Hầu hết phép toán số học phép toán logic xảy ALU Accumulator Ví dụ thực lệnh cộng liệu A với liệu B, liệu phải chứa ghi Accumulator giả sử liệu A, sau thực lệnh cộng liệu A (chứa Accumulator) với liệu B (có thể chứa ô nhớ ghi thông dụng), kết lệnh cộng liệu C đặt ghi A thay cho liệu A trước Chú ý: Kết sau thực ALU thường gởi vào ghi Accumulator làm cho liệu trước chứa Accumulator Một chức quan trọng khác ghi Accumulator để truyền liệu từ nhớ từ ghi bên vi xử lý thiết bị điều khiển bên liệu phải chứa ghi Accumulator Thanh ghi Accumulator nhiều chức quan trọng khác thấy rõ qua tập lệnh vi xử lý cụ thể, số bit ghi Accumulator đơn vị đo vi xử lý, vi xử lý bit ghi Accumulator có độ dài bit Thanh ghi đếm chương trình PC (Program counter): 16 Vi xử lý Thu vien DH SPKT TP HCM - http://www.thuvienspkt.edu.vn Truong DH SPKT TP HCM Chương 2: Cấ u trú c vi xử lý tậ p lệ n h http://www.hcmute.edu.vn SPKT Thanh ghi PC ghi có vai trò quan trọng vi xử lý Chương trình cuối lệnh nối tiếp nhớ vi xử lý, lệnh yêu cầu vi xử lý thực xác công việc để giải vấn đề Từng lệnh phải đơn giản xác lệnh phải theo trình tự để chương trình thực Chức ghi PC quản lý lệnh thực lệnh thực Thanh ghi PC vi xử lý có chiều dài từ liệu lớn chiều dài từ liệu vi xử lý Ví dụ vi xử lý bit giao tiếp với 65536 ô nhớ ghi PC phải có chiều dài 16 bit để truy xuất ô nhớ ô nhớ thứ đến ô nhớ thứ 65535 Chú ý nội dung chứa ghi PC nội dung chứa ghi địa Trước vi xử lý thực chương trình ghi PC phải nạp số : “Đó địa ô nhớ chứa lệnh chương trình” Địa lệnh gởi đến IC nhớ thông qua bus địa 16 bit Sau nhớ đặt nội dung ô nhớ lên bus liệu, nội dung CMmã lệnh, trình P H uat T gọi đón lệnh từ nhớ y th am K u củ Tiếp theo vi xử lý tự động tăng nội dung ph a ghi PC để chuẩn bị đón lệnh kế PC DH S ng lệnh đón trước Lệnh thực có tăng vi xử lý bắt đầTrthực u uo en © ythanh ghi PC tăng lên nhiêu byte chiều dài byte qu Ban Một vài lệnh chương trình nạp vào ghi PC giá trị mới, lệnh làm thay đổi ghi PC sang giá trị thực lệnh kế xảy địa – lệnh nhảy lệnh gọi chương trình Thanh ghi trạng thái (Status Register): Hình 2-3 Cấu trúc ghi trạng thái Thanh ghi trạng thái gọi ghi cờ (Flag register) dùng để lưu trữ kết số lệnh kiểm tra Việc lưu trữ kết kiểm tra cho phép người lập trình thực Vi xử lý 17 Thu vien DH SPKT TP HCM - http://www.thuvienspkt.edu.vn Truong DH SPKT TP HCM Chương 2: Cấ u trú c vi xử lý tậ p lệ n h http://www.hcmute.edu.vn SPKT việc rẽ nhánh chương trình Khi rẽ nhánh, chương trình bắt đầu vị trí Trong trường hợp rẽ nhánh có điều kiện chương trình rẽ nhánh thực kết kiểm tra điều kiện Thanh ghi trạng thái lưu trữ kết kiểm tra Các bit thường có ghi trạng thái trình bày hình 2-3 Các lệnh xảy khối ALU thường ảnh hưởng đến ghi trạng thái, ví dụ thực lệnh cộng liệu bit, kết lớn 111111112 bit carry mang giá trị Ngược lại kết phép cộng nhỏ 111111112 bit carry Ví dụ lệnh tăng hay giảm giá trị ghi, kết ghi khác bit Z 0, ngược lại kết bit Z Ví dụ rẽ nhánh kiểm tra bit ghi trạng thái: viết chương trình giảm giá trị ghi có giá trị 10 Nạp vào ghi số nhị phân có giá trị 10 Giảm nội dung ghi Kiểm tra bit Zero ghi trạng thái có hay không ? Nếu không nhảy đến thực tiếp lệnh bước Nếu kết thúc chương trình K pham M P HC uat T y th Ý nghóa bit ghi trạng thái: DH Su g ruon n bit [a] Carry/borrow (cờ tràn/mượn):elà © T carry thực phép cộng có giá trị tùy quy Ba cộ thuộc vào kết phép n ng Kết tràn bit carry =1, ngược lại bit carry = Là bit borrow thực phép trừ: số bị trừ lớn số trừ bit borrow = 0, ngược lại bit borrow =1 Bit carry hay bit borrow bit phân biệt thực lệnh cụ thể [b] Zero: bit Z kết phép toán 0, ngược lại bit Z=1 [c] Negative (cờ số aâm): bit N = bit MSB cuûa ghi có giá trị 1, ngược lại N=0 [d] Intermediate carry (cờ tràn phụ): giống bit Carry có tác dụng phép cộng hay trừ bit thấp [e] Interrupt Flag (cờ báo ngắt): Bit IF có giá trị người lập trình muốn cho phép ngắt, ngược lại không cho phép ngắt [f] Overflow (cờ tràn số có dấu): bit bit tràn phép toán cộng với bit dấu liệu [g] Parity (cờ chẵn lẻ): bit có giá trị kết phép toán số chẵn, ngược lại số lẻ bit P = Số lượng bit có ghi trạng thái tùy thuộc vào vi xử lý Trong số vi xử lý xóa đặt bit ghi trạng thái Thanh ghi trỏ ngăn xếp (Stack Pointer Register): 18 Vi xử lý Thu vien DH SPKT TP HCM - http://www.thuvienspkt.edu.vn Truong DH SPKT TP HCM Chương 2: Cấ u trú c vi xử lý tậ p lệ n h http://www.hcmute.edu.vn SPKT Thanh ghi trỏ ngăn xếp ghi quan trọng vi xử lý, độ dài từ liệu ghi SP ghi PC, chức ghi SP gần giống ghi PC dùng để quản lý nhớ ngăn xếp muốn lưu trữ tạm thời liệu vào ngăn xếp Giống ghi PC, ghi SP tự động đến ô nhớ kế Trong hầu hết vi xử lý, ghi SP giảm (để đến ô nhớ ngăn xếp) sau thực lệnh cất liệu vào ngăn xếp Do thiết lập giá trị cho ghi SP địa cuối nhớ Thanh ghi SP phải đến ô nhớ người lập trình thiết lập, trình gọi khởi tạo trỏ ngăn xếp Nếu không khởi tạo, trỏ ngăn xếp đến ô nhớ ngẫu nhiên Khi liệu cất vào ngăn xếp ghi đè lên liệu quan trọng khác làm chương trình xử lý sai ghi SP đến vùng nhớ nhớ RAM làm chương trình thực không không lưu trữ liệu cần cất tạm vào nhớ ngăn xếp Tổ chức ngăn xếp vào sau trước (LAST IN FIRST OUT : LIFO) Thanh ghi địa nhớ (address Register): Mỗi vi xử lý truy xuất nhớ ghi địa phải tạo địa mà vi xử lý muốn Ngõ ghi địa đặt lên bus địa 16 HCM địa dùng để lựa bit Bus P uat T chọn ô nhớ hay lựa chọn port Input/Output y th am K u ph Nội dung ghi địa ô nhớ nội dung ghi PC giống vi DH S g xử lý truy xuất nhớ để đón lệTruon lệnh giải mã ghi PC tăng lên để nh, n© chuẩn bị đón lệnh tiếantheo,e nội dung ghi địa nhớ không tăng, p quy B suốt chu lệnh, nội dung ghi địa phụ thuộc vào lệnh thực hiện, lệnh yêu cầu vi xử lý truy xuất nhớ ghi địa nhớ dùng lần thứ thực lệnh Trong tất vi xử lý, ghi địa nhớ có chiều dài với ghi PC Thanh ghi lệnh (instruction Register): Thanh ghi lệnh dùng để chứa mã lệnh vi xử lý thực Một chu kỳ lệnh bao gồm đón lệnh từ nhớ thực lệnh Đầu tiên lệnh đón từ nhớ, sau PC đến lệnh kế nhớ Khi lệnh đón có nghóa liệu ô nhớ copy vào vi xử lý thông qua bus liệu đến ghi lệnh Tiếp theo lệnh thực hiện, thực lệnh giải mã lệnh đọc nội dung ghi lệnh Bộ giải mã giải mã lệnh để báo cho vi xử lý thực xác công việc mà lệnh yêu cầu Chiều dài từ liệu ghi lệnh tùy thuộc vào vi xử lý Thanh ghi lệnh vi xử lý sử dụng người lập trình không sử dụng ghi Thanh ghi chứa liệu tạm thời (Temporary data Register): Thanh ghi lưu trữ liệu tạm thời dùng để ALU thực phép toán xử lý liệu Do ALU xử lý liệu chức lưu trữ liệu, liệu đưa đến ngõ vào ALU, xuất ngõ Vi xử lý 19 Thu vien DH SPKT TP HCM - http://www.thuvienspkt.edu.vn Truong DH SPKT TP HCM Chương 2: Cấ u trú c vi xử lý tậ p lệ n h http://www.hcmute.edu.vn SPKT Dữ liệu xuất ngõ ALU định lệnh chương trình yêu cầu ALU thực ALU lấy liệu từ bus liệu bên vi xử lý, xử lý liệu, sau đặt liệu vừa xử lý xong trở lại ghi Accumulator, cần phải có ghi lưu trữ liệu tạm thời để ALU thực Người lập trình không phép xử dụng ghi tạm thời Số lượng ghi tùy thuộc vào vi xử lý cụ thể Khối điều khiển logic (control logic) khối giải mà lệnh (instruction decoder): Chức khối giải mã lệnh nhận lệnh từ ghi lệnh sau giải mã để gởi tín hiệu điều khiển đến cho khối điều khiển logic Chức khối điều khiển logic (control logic) nhận lệnh hay tín hiệu điều khiển từ giải mã lệnh, sau thực yêu cầu lệnh Khối điều khiển logic xem vi xử lý nhỏ nằm vi xử lý Các tín hiệu điều khiển khối điều khiển logic tín hiệu điều khiển nhớ, điều khiển thiết bị ngoại vi, đường tín hiệu đọc-ghi tín hiệu điều khiển vi xử lý từ thiết bị bên Các đường tín hiệu trình bày cụ thể sơ đồ vi xử lý cụ thể M Ngõ tín hiệu vào quan trọng khối điều khiển logic tín TP.u clock cần thiết hiệ HC uat cho khối điều khiển logic hoạt động Nếu tín hiệu clock y th xử lý không làm việc K vi pham Mạch tạo xung clock mạch dao động, tín hiệu đưa đến ngõ vào clock vi xử lý H Su ng D Có nhiều vi xử lý có tích hợp mạch tạo dao ruong bên trong, cần thêm tụ thạch T độ © uyen anh bên an q B Bus liệu bên vi xử lý: Bus liệu dùng để kết nối ghi bên ALU với nhau, tất liệu di chuyển vi xử lý thông qua bus liệu Các ghi bên nhận liệu từ bus hay đặt liệu lên bus nên bus liệu bus liệu chiều Bus liệu bên kết nối bus bên vi xử lý cần truy xuất liệu từ nhớ bên hay thiết bị IO Bus liệu bên bus liệu chiều vi xử lý nhận liệu từ bên hay gởi liệu Để biết trình tự làm việc bus liệu bên vi xử lý hoạt động, cho vi xử lý thực lệnh cộng số nhị phân chứa ghi ghi: ghi Accumulator (gọi tắt A) =1101 11102 ghi D=1101 10102 Trình tự cộng sau:  Trước thực lệnh cộng, nội dung ghi phải chứa liệu ghi kết nối với thiết bị khác Để thực lệnh cộng nội dung ghi A D ghi lệnh phải mang mã lệnh phép cộng giả sử mã lệnh ADD Được trình bày hình 2-4 20 Vi xử lý Thu vien DH SPKT TP HCM - http://www.thuvienspkt.edu.vn Truong DH SPKT TP HCM Chương 2: Cấ u trú c vi xử lý tậ p lệ n h http://www.hcmute.edu.vn SPKT H Su ng D ruo K pham M P HC uat T y th n©T quye an B Hình 2-4 Trước cộng liệu  Dữ liệu ghi A đặt lên bus liệu bên vi xử lý, ghi lưu trữ liệu tạm thời kết nối với Bus liệu Thanh ghi tạm thời copy liệu chứa ghi A Chỉ có ghi A ghi tạm thời kết nối với bus thời điểm Xem hình 2-5  Dữ liệu ghi D kết nối với bus liệu ghi tạm thời lại phép kết nối với bus liệu Thanh ghi tạm thời copy nội dung ghi D Chỉ có ghi D ghi tạm thời kết nối với bus thời điểm Xem hình 2-6  ALU cộng trực tiếp liệu ngõ vào Ngõ ALU kết nối với ghi A, kết phép cộng nạp vào ghi A Xem hình 2-7  Sau đặt kết vào ghi A cặp nhật thay đổi bit ghi trạng thái kết nối A khối ALU chấm dứt, ghi tạm thời trở lại trạng thái sẳn sàng cho lệnh Xem hình 2-8 Phép cộng số nhị phân: Vi xử lý 1101 1110 + 1101 1010 1011 1000 Carry negative 21 Thu vien DH SPKT TP HCM - http://www.thuvienspkt.edu.vn Truong DH SPKT TP HCM Chương 2: Cấ u trú c vi xử lý tậ p lệ n h http://www.hcmute.edu.vn SPKT H Su ng D ruo K pham M P HC uat T y th ©T Hình 2-5 Dữ liệu quyen ghi A đưa đến ghi Temp1 an B Hình 2-6 Dữ liệu ghi D đưa đến ghi Temp2 22 Vi xử lý Thu vien DH SPKT TP HCM - http://www.thuvienspkt.edu.vn Truong DH SPKT TP HCM Chương 2: Cấ u trú c vi xử lý tậ p lệ n h http://www.hcmute.edu.vn SPKT Giả i đa hợ p địa liệ u cho vi xử lý 8085A: Khi sử dụng vi xử lý 8085A có đa hợp bus liệu bus địa phải sử dụng IC chốt để tách địa liệu hình 2-36: H Su ng D ruo K pham M P HC uat T y th n©T quye an B Hình 2-36 Giải đa hợp địa liệu vi xử lý 8085A Chân ALE điều khiển IC chốt 74573 để chốt bit địa chỉ, ngõ IC chốt bit địa thấp A0 ÷ A7 kết hợp với bit địa cao A8 ÷ A15 tạo thành bus địa 16 bit đọc lập với đường liệu D0 ÷ D7 giống vi xử lý Z80 Trong hệ thống không sử dụng trạng thái HOLD ngắt INTR nên chúng nối với GND, ngắt TRAP, RST sử dụng, tín hiệu ngõ vào reset kết nối với tụ C1, điện trở R1 nút nhấn reset, tụ thạch anh sử dụng 6Mhz nối với X1 X2 Tín hiệu READY nối với mức cao để vi xử lý không chèn thêm chu kỳ đợi nên phải sử dụng loại nhớ có thời gian truy xuất nhanh vi xử lý Các đường điều khiển lại dùng để kết nối với nhớ thiết bị ngoại vi IO Tậ p lệ n h củ a vi xử lý 8085A: 62 Vi xử lý Thu vien DH SPKT TP HCM - http://www.thuvienspkt.edu.vn Truong DH SPKT TP HCM Chương 2: Cấ u trú c vi xử lý tậ p lệ n h http://www.hcmute.edu.vn SPKT Tập lệnh vi xử lý 8085 giống tập lệnh vi xử lý 8080 ngoại trừ lệnh thêm vào lệnh SIM RIM Phần giới thiệu thành phần mã lệnh, hoạt động bit ghi cờ trạng thái, kiểu định địa cách thức sử dụng cặp ghi H, L cho kiểu định địa gián tiếp Các kí hiệu dùng tập lệnh dùng để diễn tả chức mối quan hệ thành phần lệnh Các kí hiệu chữ thường “r” dùng để chỉnh định ghi, “rp” để xác định cặp ghi, “addr” dùng để xác định địa chỉ, “data” dùng để xác định byte liệu bit, “data 16” dùng để xác định, “rh” “rl” dùng để xác định ghi byte cao ghi byte thấp cặp ghi theo thứ tự Tổ chức lệnh: Các lệnh vi xử lý 8085 thường định dạng theo byte bao gồm lệnh byte, lệnh byte lệnh byte Byte byte chứa thông tin lệnh mã lệnh, byte thứ thứ byte thông tin cho lệnh liệu hay địa liệu Trong byte mã lệnh xử lý liệu ghi bit thứ “2,1,0” thường mã ghi nguồn bit thứ “5,4,3” mã ghi đích, CM ghi mã P H uat T bảng sau : y th am K u ph DDD or SSS Register Name DH S g ruon n©T 111 e A quy Ban 000 B 001 C 010 D 011 E 100 H 101 L Tương tự cho lệnh có liên quan đến cặp ghi mã cặp ghi bảng sau: RP Bits Register Pair 00 B-C 01 D-E 10 H-L 11 SP Caùc kiểu định địa vi xử lý 8085: Vi xử lý 63 Thu vien DH SPKT TP HCM - http://www.thuvienspkt.edu.vn Truong DH SPKT TP HCM Chương 2: Cấ u trú c vi xử lý tậ p lệ n h http://www.hcmute.edu.vn SPKT Vi xử lý 8085 có kiểu định địa khác để truy xuất liệu nằm ghi hay liệu nằm nhớ Kiể u định địa trự c tiế p : kiểu có mã lệnh dài byte Byte thứ byte mã lệnh, byte thứ byte thứ địa ô nhớ cần lấy liệu Byte thứ byte địa thấp byte thứ byte địa cao Kiể u định địa dù n g ghi : kiểu có mã lệnh dài byte Trong byte mã lệnh có bit định ghi chứa liệu hay cặp ghi chứa liệu Kiể u định địa giá n tiế p dù n g ghi : kiểu có mã lệnh dài byte Trong byte mã lệnh có bit định cặp ghi chứa liệu Kiể u định địa tứ c thờ i : kiểu có mã lệnh dài byte byte Byte thứ mã lệnh, byte thứ byte thứ liệu tức thời bit hay 16 bit Nếu liệu 16 bit byte thứ byte thấp byte thứ byte cao Các kiểu lệnh rẽ nhánh: Việc thực lệnh bình thường Theo thứ tự từ xuống Những lệnh rẽ nhánh có tác dụng thay tiến trình thực Các lệnh định địa lệnhM mà vi xử kế P HC lý phải thực hiện, có dạng lệnh nhảy: uat T y th K h Lệ n h nhả y trự c tiế p : kiểu lệnh nhảy chứa địaam nơi mà vi xử lý nhảy Su p H đến để thực hiện, địa lệnh nhảy ong D byte thứ mã lệnh byte địa byte, ru T thấp byte thứ byte địa cao quyen © Ban Lệ n h nhả y giá n tiế p dù n g ghi : kiểu lệnh nhảy địa mà vi xử lý nhảy đến chứa cặp ghi Địa phải lưu cặp ghi trước thực lệnh nhảy Các nhóm lệnh: Hãng Intel chia lệnh vi xử lý 8085 thành nhóm bao gồm: nhóm lệnh truyền liệu, nhóm lệnh số học, nhóm lệnh logic, nhóm lệnh nhảy nhóm lệnh điều khiển IO Nhó m lệ n h truyề n liệ u : nhóm lệnh có chức copy liệu ghi bên vi xử lý, nhớ ghi Nhóm lệnh MOV: bao gồm lệnh (MOV r1,r2; MOV r,M MOV M,r) có chức copy liệu ghi ghi ghi ô nhớ Lệnh thực copy byte liệu Trong lệnh lệnh thứ lệnh thứ sử dụng kiểu định địa gián tiếp dùng ghi, địa ô nhớ lưu cặp ghi HL Nhóm lệnh MVI: bao gồm lệnh (MVI r,data MVI M,data) có chức nạp byte liệu tức thời vào ghi hay ô nhớ Nhóm lệnh LXI: bao gồm lệnh (LXI rp,data 16) có chức nạp byte liệu tức thời vào cặp ghi, byte thứ mã lệnh byte liệu thấp byte thứ mã lệnh byte cao liệu 64 Vi xử lý Thu vien DH SPKT TP HCM - http://www.thuvienspkt.edu.vn Truong DH SPKT TP HCM Chương 2: Cấ u trú c vi xử lý tậ p lệ n h http://www.hcmute.edu.vn SPKT Nhóm lệnh LDA STA: lệnh Load Accumulator Direct (LDA) Store Accumulator Direct (STA) có chức copy liệu ghi A ô nhớ RAM, địa ô nhớ lưu ghi HL Nhóm lệnh LHLD SHLD: lệnh Load H&L Direct (LHLD) Store H&L Direct (SHLD) có chức copy liệu ghi H&L với liệu nhớ RAM Lệnh LHLD copy liệu ô nhớ có địa lưu HL HL+1 nạp vào ghi L ghi H theo thứ tự Lệnh SHLD lưu nội dung cặp ghi HL vào ô nhớ có địa lưu HL HL +1 Nhóm lệnh LDAX STAX: lệnh Load Accumulator Indirect (LDAX) Store Accumulator Indirect (STAX) có chức copy liệu ghi A ô nhớ RAM có địa gián tiếp, địa lưu cặp ghi BC DE Nhóm lệnh XCHG: lệnh Exchange (XCHG) cho phép trao đổi nội dung cặp ghi HL với DE Nhó m lệ n h số họ c : nhóm lệnh có chức thực phép toán số học với liệu bit Nhóm lệnh ADD: lệnh ADD Register (ADD r) ADD HCM P memory (ADD M) có chức uat T ghi A với nội dung ô nhớ cộng nội dung ghi A với ghi nội Ky th dung am p toán không tràn cờ carry có địa lưu cặp ghi HL Nếu kếtSu ph phé DHcòn ảnh hưởng đến bit cờ khác có tràn cờ carry Ngoàruong nh i lệ n©T quye Nhóm lệnh ADD với cờ carry: lệnh ADD Register with carry (ADC r) vaø ADD Ban memory with carry (ADC M) có chức cộng nội dung ghi A với ghi cờ carry nội dung ghi A với nội dung ô nhớ có địa lưu cặp ghi HL cờ carry Nếu kết phép toán không tràn cờ carry có tràn cờ carry Ngoài lệnh ảnh hưởng đến bit cờ khác Nhóm lệnh ADD tức thời: lệnh ADD Immediate (ADI data) vaø ADD Immediate memory with carry (ACI data) có chức cộng nội dung ghi A với liệu tức thời bit cộng nội dung ghi A với liệu tức thời bit cờ carry Nếu kết phép toán không tràn cờ carry có tràn cờ carry Ngoài lệnh ảnh hưởng đến bit cờ khác Nhóm lệnh SUBTRACT: lệnh Subtract Register (SUB r) Subtract memory (SUB M) có chức trừ nội dung ghi A với ghi nội dung ghi A với nội dung ô nhớ có địa lưu cặp ghi HL Nếu kết phép toán không mượn cờ carry có mượn cờ carry Ngoài lệnh ảnh hưởng đến bit cờ khác Nhóm lệnh Subtract với cờ carry: lệnh Subtract Register with borrow (SBB r) Subtract memory with borrow (SBB M) có chức trừ nội dung ghi A với ghi cờ carry nội dung ghi A với nội dung ô nhớ có địa lưu cặp ghi HL cờ carry Nếu kết phép toán không mượn cờ carry có mượn cờ carry Ngoài lệnh ảnh hưởng đến bit cờ khác Nhóm lệnh Subtract tức thời: lệnh Subtract immediate (SUI data) Subtract immediate with borrow (SBI data) có chức trừ nội dung ghi A với liệu tức thời bit nội dung ghi A với liệu tức thời bit cờ carry Nếu kết phép toán không Vi xử lý 65 Thu vien DH SPKT TP HCM - http://www.thuvienspkt.edu.vn Truong DH SPKT TP HCM Chương 2: Cấ u trú c vi xử lý tậ p lệ n h http://www.hcmute.edu.vn SPKT mượn cờ carry có mượn cờ carry Ngoài lệnh ảnh hưởng đến bit cờ khác Nhóm lệnh tăng Increment : lệnh increment register (INR r) Increment memory (INR M) có chức tăng nội dung ghi lên tăng nội dung ô nhớ có địa lưu cặp ghi HL lên Lệnh không ảnh hưởng đến ghi trạng thái Nhóm lệnh giảm Decrement : lệnh Decrement register (DCR r) Decrement memory (DCR M) có chức giảm nội dung ghi xuống giảm nội dung ô nhớ có địa lưu cặp ghi HL xuống Lệnh không ảnh hưởng đến ghi trạng thái Nhóm lệnh xử lý cặp ghi : lệnh Increment Register Pair (INR rp) Decrement Register Pair (DCR rp) có chức tăng nội dung cặp ghi lên giảm nội dung cặp ghi xuống Nhóm lệnh cộng cặp ghi : lệnh Add Register Pair (DAD rp) có chức cộng nội dung cặp ghi BC DE với cặp ghi HL, kết lưu vào cặp ghi HL Lệnh ảnh hưởng đến ghi trạng thái Lệnh hiệu chỉnh thập phân : lệnh Decimal Adjust Accumulator (DAA) có chức hiệu chỉnh giá trị bit ghi A thành số BCD sau thực phép toán cộng HCM TP huat số BCD Ky t pham Nhó m lệ n h logic: nhóm lệnh có chức DH Suthực phép toán logic với g ruon liệu bit n©T uye an q : lệnhBAND Register (ANA r) AND memory (ANA M) có chức Nhóm lệnh AND AND nội dung ghi A với ghi nội dung ghi A với nội dung ô nhớ có địa lưu cặp ghi HL Lệnh And thực phép toán and cặp bit với theo thứ tự Kết qủa sau thực lưu vào ghi A ghi trạng thái bị ảnh hưởng cờ carry Nhóm lệnh AND Immediate : lệnh AND Immediate (ANI data) có chức AND nội dung ghi A với liệu tức thời bit Kết qủa sau thực lưu vào ghi A ghi trạng thái bị ảnh hưởng cờ carry Nhóm lệnh OR: lệnh Or Register (ORA r) Or memory (ORA M) có chức OR nội dung ghi A với ghi nội dung ghi A với nội dung ô nhớ có địa lưu cặp ghi HL Kết qủa sau thực lưu vào ghi A ghi trạng thái bị ảnh hưởng cờ carry Nhóm lệnh OR Immediate : lệnh OR Immediate (ORI data) có chức OR nội dung ghi A với liệu tức thời bit Kết qủa sau thực lưu vào ghi A ghi trạng thái bị ảnh hưởng cờ carry Nhóm lệnh Exclusive Or : lệnh Exclusive Or Register (XRA r) Exclusive Or memory (XRA M) có chức Exclusive nội dung ghi A với ghi nội dung ghi A với nội dung ô nhớ có địa lưu cặp ghi HL Kết qủa sau thực lưu vào ghi A ghi trạng thái bị ảnh hưởng cờ carry 66 Vi xử lý Thu vien DH SPKT TP HCM - http://www.thuvienspkt.edu.vn Truong DH SPKT TP HCM Chương 2: Cấ u trú c vi xử lý tậ p lệ n h http://www.hcmute.edu.vn SPKT Nhóm lệnh Exclusive Immediate : lệnh Exclusive Or Immediate (XRI data) có chức Exclusive Or nội dung ghi A với liệu tức thời bit Kết qủa sau thực lưu vào ghi A ghi trạng thái bị ảnh hưởng cờ carry Nhóm lệnh so sánh : lệnh Compare Register (CMP r) Compare memory (CMP M) có chức so sánh nội dung ghi A với ghi nội dung ghi A với nội dung ô nhớ có địa lưu cặp ghi HL Kết qủa sau thực ảnh hưởng đến ghi trạng thái Nhóm lệnh so sánh tức thời : lệnh Compare Immediate (CPI data) có chức so sánh nội dung ghi A với liệu tức thời bit Kết qủa sau thực ảnh hưởng đến ghi trạng thái Nhóm lệnh xoay : lệnh Rotate Left (RLC ) Rotate Right (RRC) có chức xoay nội dung ghi A sang trái sang phải bit Chỉ có cờ carry bị ảnh hưởng Nhóm lệnh xoay thông qua cờ carry : lệnh Rotate Left through carry (RAL ) Rotate Right through carry (RAR) có chức xoay nội dung ghi A cờ carry sang trái sang phải bit Chỉ có cờ carry bị ảnh hưởng M Nhóm lệnh bù nội dung ghi A : lệnh Complement Accumulator (CMA) P HC tT có chức thực phép toán bù nội dung ghiy thua A K ham Su plệnh Complement carry (CMC) Set Carry Nhóm lệnh bù clear cờ carry : g DH ruonvà làm cờ carry (STC) có chức nghịch đảo cờ©Carry n T quye Ba n Nhó m lệ n h rẽ nhán h: nhóm lệnh gồm có lệnh nhảy không điều kiện lệnh nhảy có điều kiện, lệnh gọi chương trình không điều kiện lệnh gọi chương trình có điều kiện Nhóm lệnh nhảy : lệnh Jump (JMP addr) Jump Conditional (Jxx Addr) có chức thay đổi nội dung ghi PC để nhảy đến địa Addr để tiếp tục thực chương trình Đối với lệnh nhảy có điều khiển nhảy thoả điều kiện không nhảy không thoả điều kiện Các lệnh nhảy có điều kiện vào bit trạng thái liệt kê bảng sau: Mnemonic CCC Bits NZ Not Zero (Z=0) 000 Z Zero (Z=1) 001 NC Not Carry (C=0) 010 C Carry (C=1) 011 PO Parity Odd (P=0) 100 PE Vi xử lý Condition Parity Even (P=1) 101 67 Thu vien DH SPKT TP HCM - http://www.thuvienspkt.edu.vn Truong DH SPKT TP HCM Chương 2: Cấ u trú c vi xử lý tậ p leä n h http://www.hcmute.edu.vn SPKT P Plus (S=0) 110 M Minus (S=1) 111 Nhóm lệnh gọi chương trình : lệnh Call (Call addr) Call Conditional (Cxx Addr) có chức thực chương trình địa Addr lệnh gọi có điều kiện chương trình thực thoả điều kiện, không thoả không thực Các lệnh gọi chương trình có điều kiện vào bit cờ giống lệnh nhảy có điều kiện Khi thực lệnh gọi chương trình nội dung ghi PC cất vào ngăn xếp nạp địa chương trình vào ghi PC, sau thực xong chương trình nội dung cất ngăn xếp trả lại cho PC để tiếp tục thực lệnh chương trình chính, việc cất địa PC lấy lại tương ứng với lệnh gọi Call lệnh trở RET Nhóm lệnh kết thúc chương trình : lệnh Return (RET) Return Conditional (Rxx ) có chức kết thúc chương trình để trở chương trình không điều kiện có điều khiển Trong chương trình phải có lệnh kết thúc RET Không nhảy từ chương trình chương trình ngược lại HCM Nhóm lệnh bắt đầu lại : lệnh Restart (RST n) có chức gọiTP t chương mộ t thua trình địa nhà chế tạo vi xử lý qui định giống cámchương trình phục vụ ngắt c Ky pha liệt kê bảng sau: H Su ng D Truo © NAME: en ADDRESS: uy an q B RST 00H RST 08H RST 10H RST 18H RST 20H TRAP 24H RST 28H REST 5.5 2CH RST 30H RST 6.5 34H RST 38H RST 7.5 3CH Cách thức thực giống lệnh gọi Call 68 Vi xử lý Thu vien DH SPKT TP HCM - http://www.thuvienspkt.edu.vn Truong DH SPKT TP HCM Chương 2: Cấ u trú c vi xử lý tậ p lệ n h http://www.hcmute.edu.vn SPKT Nhóm lệnh nhảy gián tiếp : lệnh Jump H&L Indirect (PCHL) có chức thay đổi nội dung ghi PC giá trị cặp ghi HL bắt đầu thực chương trình địa vừa thay đổi Nhó m lệ n h điề u khiể n má y : : lệnh Push Register Pair (PUSH rp) Pop Register Pair (POP rp) có chức cất tạm nội dung cặp ghi vào nhớ ngăn xếp lấy lại nội dung cất tạm ngăn xếp Nhóm lệnh cất lấy liệu Nhóm lệnh cất lấy nội dung ghi trạng thái : lệnh Push Processor Status Word (PUSH PSW) Pop Processor Status Word (POP PSW) có chức cất tạm nội dung cặp ghi A ghi trạng thái vào nhớ ngăn xếp lấy lại từ ngăn xếp giống cặp ghi khác : lệnh Exchange Stack Top (XTHL) thực trao đổi nội dung cặp ghi HL với nội dung ô nhớ ngăn xếp Nhóm lệnh trao đổi nội dung ghi với nhớ ngăn xếp Nhóm lệnh copy nội dung cặp ghi : lệnh Move HL Register to SP (SPHL) thực trao nội dung cặp ghi HL cho thi SP.P HCM uat T y th K Nhó m lệ n h IO : ham Su p g DH Nhóm lệnh nhập xuất dữnliệu port : lệnh Input (IN port) Output (OUT ruo T port) có chức nhập quyetndữ liệu ghi A vi xử lý với thiết bị ngoại vi xuấ © Ban IO Nội dung cần gởi port phải lưu ghi A liệu đọc từ port lưu ghi A Nhóm lệnh cho phép ngắt cấm ngắt : lệnh Enable Interrupt (EI) Disenable Interrupt (DI) có chức cho phép cấm ngắt ngắt ngăn Nhóm lệnh ngừng lệnh Nop : lệnh Halt (HLT) No - operation (NOP) có chức ngừng thực chương trình lệnh Nop không làm để dành vùng nhớ sử dụng sau delay vài µs Tóm tắt tập lệnh vi xử lý 8085 : |Mnemonic |Op|SZAPC|~s|Description |Notes | | -+ + -+ + + -| |ACI n |CE|*****| 7|Add with Carry Immediate |A=A+n+CY | |ADC r |8F|*****| 4|Add with Carry |A=A+r+CY(21X)| |ADC M |8E|*****| 7|Add with Carry to Memory |A=A+[HL]+CY | |ADD r |87|*****| 4|Add |A=A+r (20X)| |ADD M |86|*****| 7|Add to Memory |A=A+[HL] | |ADI n |C6|*****| 7|Add Immediate |A=A+n | |ANA r |A7|****0| 4|AND Accumulator |A=A&r (24X)| |ANA M |A6|****0| 7|AND Accumulator and Memory|A=A&[HL] | |ANI n |E6|**0*0| 7|AND Immediate |A=A&n | |CALL a |CD| -|18|Call unconditional |-[SP]=PC,PC=a| |CC a |DC| -| 9|Call on Carry |If CY=1(18~s)| |CM a |FC| -| 9|Call on Minus |If S=1 (18~s)| |CMA |2F| -| 4|Complement Accumulator |A=~A | |CMC |3F| *| 4|Complement Carry |CY=~CY | |CMP r |BF|*****| 4|Compare |A-r (27X)| Vi xử lý 69 Thu vien DH SPKT TP HCM - http://www.thuvienspkt.edu.vn Truong DH SPKT TP HCM http://www.hcmute.edu.vn Chương 2: Cấ u trú c vi xử lý tậ p lệ n h SPKT |CMP M |BF|*****| 7|Compare with Memory |A-[HL] | |CNC a |D4| -| 9|Call on No Carry |If CY=0(18~s)| |CNZ a |C4| -| 9|Call on No Zero |If Z=0 (18~s)| |CP a |F4| -| 9|Call on Plus |If S=0 (18~s)| |CPE a |EC| -| 9|Call on Parity Even |If P=1 (18~s)| |CPI n |FE|*****| 7|Compare Immediate |A-n | |CPO a |E4| -| 9|Call on Parity Odd |If P=0 (18~s)| |CZ a |CC| -| 9|Call on Zero |If Z=1 (18~s)| |DAA |27|*****| 4|Decimal Adjust Accumulator|A=BCD format | |DAD B |09| *|10|Double Add BC to HL |HL=HL+BC | |DAD D |19| *|10|Double Add DE to HL |HL=HL+DE | |DAD H |29| *|10|Double Add HL to HL |HL=HL+HL | |DAD SP |39| *|10|Double Add SP to HL |HL=HL+SP | |DCR r |3D|****-| 4|Decrement |r=r-1 (0X5)| |DCR M |35|****-|10|Decrement Memory |[HL]=[HL]-1 | |DCX B |0B| -| 6|Decrement BC |BC=BC-1 | |DCX D |1B| -| 6|Decrement DE |DE=DE-1 | |DCX H |2B| -| 6|Decrement HL |HL=HL-1 | |DCX SP |3B| -| 6|Decrement Stack Pointer |SP=SP-1 | |DI |F3| -| 4|Disable Interrupts | | |EI |FB| -| 4|Enable Interrupts | | |HLT |76| -| 5|Halt | | |IN p |DB| -|10|Input |A=[p] | |INR r |3C|****-| 4|Increment |r=r+1 (0X4)|M HC t TP |INR M |3C|****-|10|Increment Memory |[HL]=[HL]+1 | thua Ky |INX B |03| -| 6|Increment BC |BC=BC+1 | pham |INX D |13| -| 6|Increment DE | Su |DE=DE+1 H |INX H |23| -| 6|Increment HL ruong D |HL=HL+1 | |INX SP |33| -| 6|Incrementyen © T Pointer Stack |SP=SP+1 | |JMP a |C3| -| 7|Jump an qu unconditional |PC=a | B |JC a |DA| -| 7|Jump on Carry |If CY=1(10~s)| |JM a |FA| -| 7|Jump on Minus |If S=1 (10~s)| |JNC a |D2| -| 7|Jump on No Carry |If CY=0(10~s)| |JNZ a |C2| -| 7|Jump on No Zero |If Z=0 (10~s)| |JP a |F2| -| 7|Jump on Plus |If S=0 (10~s)| |JPE a |EA| -| 7|Jump on Parity Even |If P=1 (10~s)| |JPO a |E2| -| 7|Jump on Parity Odd |If P=0 (10~s)| |JZ a |CA| -| 7|Jump on Zero |If Z=1 (10~s)| |LDA a |3A| -|13|Load Accumulator direct |A=[a] | |LDAX B |0A| -| 7|Load Accumulator indirect |A=[BC] | |LDAX D |1A| -| 7|Load Accumulator indirect |A=[DE] | |LHLD a |2A| -|16|Load HL Direct |HL=[a] | |LXI B,nn |01| -|10|Load Immediate BC |BC=nn | |LXI D,nn |11| -|10|Load Immediate DE |DE=nn | |LXI H,nn |21| -|10|Load Immediate HL |HL=nn | |LXI SP,nn|31| -|10|Load Immediate Stack Ptr |SP=nn | |MOV r1,r2|7F| -| 4|Move register to register |r1=r2 (1XX)| |MOV M,r |77| -| 7|Move register to Memory |[HL]=r (16X)| |MOV r,M |7E| -| 7|Move Memory to register |r=[HL] (1X6)| |MVI r,n |3E| -| 7|Move Immediate |r=n (0X6)| |MVI M,n |36| -|10|Move Immediate to Memory |[HL]=n | |NOP |00| -| 4|No Operation | | |ORA r |B7|**0*0| 4|Inclusive OR Accumulator |A=Avr (26X)| |ORA M |B6|**0*0| 7|Inclusive OR Accumulator |A=Av[HL] | |ORI n |F6|**0*0| 7|Inclusive OR Immediate |A=Avn | |OUT p |D3| -|10|Output |[p]=A | |PCHL |E9| -| 6|Jump HL indirect |PC=[HL] | |POP B |C1| -|10|Pop BC |BC=[SP]+ | |POP D |D1| -|10|Pop DE |DE=[SP]+ | |POP H |E1| -|10|Pop HL |HL=[SP]+ | 70 Vi xử lý Thu vien DH SPKT TP HCM - http://www.thuvienspkt.edu.vn Truong DH SPKT TP HCM http://www.hcmute.edu.vn Chương 2: Cấ u trú c vi xử lý tậ p lệ n h SPKT |POP PSW |F1| -|10|Pop Processor Status Word |{PSW,A}=[SP]+| |Mnemonic |Op|SZAPC|~s|Description |Notes | | -+ + -+ + + -| |PUSH B |C5| -|12|Push BC |-[SP]=BC | |PUSH D |D5| -|12|Push DE |-[SP]=DE | |PUSH H |E5| -|12|Push HL |-[SP]=HL | |PUSH PSW |F5| -|12|Push Processor Status Word|-[SP]={PSW,A}| |RAL |17| *| 4|Rotate Accumulator Left |A={CY,A}{CY,A} | |RET |C9| -|10|Return |PC=[SP]+ | |RC |D8| -| 6|Return on Carry |If CY=1(12~s)| |RIM |20| -| 4|Read Interrupt Mask |A=mask | |RM |F8| -| 6|Return on Minus |If S=1 (12~s)| |RNC |D0| -| 6|Return on No Carry |If CY=0(12~s)| |RNZ |C0| -| 6|Return on No Zero |If Z=0 (12~s)| |RP |F0| -| 6|Return on Plus |If S=0 (12~s)| |RPE |E8| -| 6|Return on Parity Even |If P=1 (12~s)| |RPO |E0| -| 6|Return on Parity Odd |If P=0 (12~s)| |RZ |C8| -| 6|Return on Zero |If Z=1 (12~s)| |RLC |07| *| 4|Rotate Left Circular |A=AA | |RST z |C7| -|12|Restart (3X7)|-[SP]=PC,PC=z| HCM t TP |SBB r |9F|*****| 4|Subtract with Borrow | thua |A=A-r-CY |SBB M |9E|*****| 7|Subtract with Borrow Ky |A=A-[HL]-CY | pham |SBI n |DE|*****| 7|Subtract with SBorrow Immed|A=A-n-CY | H u |SHLD a |22| -|16|Store rHLng D Direct |[a]=HL | uo |SIM |30| -| 4|Set © Interrupt Mask |mask=A | n T uye |SPHL |F9| -|n 6|Move HL to SP |SP=HL | a q B |STA a |32| -|13|Store Accumulator |[a]=A | |STAX B |02| -| 7|Store Accumulator indirect|[BC]=A | |STAX D |12| -| 7|Store Accumulator indirect|[DE]=A | |STC |37| 1| 4|Set Carry |CY=1 | |SUB r |97|*****| 4|Subtract |A=A-r (22X)| |SUB M |96|*****| 7|Subtract Memory |A=A-[HL] | |SUI n |D6|*****| 7|Subtract Immediate |A=A-n | |XCHG |EB| -| 4|Exchange HL with DE |HLDE | |XRA r |AF|**0*0| 4|Exclusive OR Accumulator |A=Axr (25X)| |XRA M |AE|**0*0| 7|Exclusive OR Accumulator |A=Ax[HL] | |XRI n |EE|**0*0| 7|Exclusive OR Immediate |A=Axn | |XTHL |E3| -|16|Exchange stack Top with HL|[SP]HL | | + -+ + | | PSW |-*01 | |Flag unaffected/affected/reset/set | | S |S | |Sign (Bit 7) | | Z | Z | |Zero (Bit 6) | | AC | A | |Auxilary Carry (Bit 4) | | P | P | |Parity (Bit 2) | | CY | C| |Carry (Bit 0) | | -+ | | a p |Direct addressing | | M z |Register indirect addressing | | n nn |Immediate addressing | | r |Register addressing | | -+ | |DB n(,n) |Define Byte(s) | |DB 'string' |Define Byte ASCII character string | |DS nn |Define Storage Block | |DW nn(,nn) |Define Word(s) | | -+ | Vi xử lý 71 Thu vien DH SPKT TP HCM - http://www.thuvienspkt.edu.vn Truong DH SPKT TP HCM http://www.hcmute.edu.vn Chương 2: Cấ u trú c vi xử lý tậ p lệ n h SPKT | A B C D E H L |Registers (8-bit) | | BC DE HL |Register pairs (16-bit) | | PC |Program Counter register (16-bit) | | PSW |Processor Status Word (8-bit) | | SP |Stack Pointer register (16-bit) | | -+ | | a nn |16-bit address/data (0 to 65535) | | n p |8-bit data/port (0 to 255) | | r |Register (X=B,C,D,E,H,L,M,A) | | z |Vector (X=0H,8H,10H,18H,20H,28H,30H,38H)| | -+ | | + |Arithmetic addition/subtraction | | & ~ |Logical AND/NOT | | v x |Logical inclusive/exclusive OR | | |Rotate left/right | | |Exchange | | [ ] |Indirect addressing | | [ ]+ -[ ] |Indirect address auto-inc/decrement | | { } |Combination operands | | ( X ) |Octal op code where X is a 3-bit code | | If ( ~s) |Number of cycles if condition true | VI HCM TP t thua K tiế Chúng ta vừa khảo sát xong vi xử lý Z80 phần y p tục khảo sát vi xử lý pham H Su Tóm tắt: ng D Truo n© uy khố Một vi xử lý có phần chính: e i ALU, ghi, khối control logic an q B Khối ALU có ngõ vào ngõ Một port nhận liệu từ data bus, ngõ vào lại nhận liệu từ ghi A khối ALU xử lý liệu, chức khối ALU thực phép toán số học, phép toán logic kiểm tra liệu TÓM TẮT – CÂU HỎI ÔN TẬP – BÀI TẬP : Thanh ghi vi xử lý lưu trữ tạm thời liệu, ghi thông dụng, ghi có chức đặc biệt Tất vi xử lý có ghi  Accumulator  Program counter  Stack pointer  General purpose registers  Memory address register and logic  Instruction register  Temporary register Các ghi cần thiết cho vi xử lý làm việc Tuy nhiên người lập trình sử dụng hết tất ghi 72 Vi xử lý Thu vien DH SPKT TP HCM - http://www.thuvienspkt.edu.vn Truong DH SPKT TP HCM Chương 2: Cấ u trú c vi xử lý tậ p lệ n h http://www.hcmute.edu.vn SPKT Thanh ghi Accumulator làm việc với khối ALU, Accumulator ghi quan trọng vi xử lý xử lý liệu Chiều dài từ liệu ghi Accumulator với chiều dài từ liệu vi xử lý Thanh ghi Program counter có chức tạo địa để đón lệnh vi xử lý thực chương trình, vi xử lý đón lệnh xong thực lệnh nội dung PC tăng lên để chuẩn bị đón lệnh Thanh ghi PC phải có chiều dài từ liệu hay số bit có khả truy xuất hết nhớ Một chương trình bắt đầu vị trí nhớ kết thúc vị trí nhớ Tuy nhiên lệnh chương trình phải theo trình tự hợp lý Khi vi xử lý bắt đầu thực chương trình:  Từng lệnh chương trình thực theo trình tự nối tiếp trừ có lệnh đặc biệt làm thay đổi trình tự  Khi PC đến ô nhớ khối control logic đón lệnh từ ô nhớ  Mỗi lệnh đón, vi xử lý tăng nội dung PC để chuẩn bị cho lệnh kế HCM bắt đầu thực lệnh vừa đón TP huat Ky tđể truy xuất liệu vi xử lý yêu  Thanh ghi địa nhớ đến m nhớ ô pha H Su cầu ng D Truo  Dữ liệu uyen © ghi địa nhớ gởi bus địa bên để kết q Ban Thanh ghi địa nhớ phải có đủ số bit để truy xuất hết nối với nhớ tất ô nhớ mà vi xử lý 10 Thanh ghi trạng thái lưu trữ lại kết số lệnh, ghi trạng thái thường có bit sau: bit zero, bit negative, bit carry, bit haft carry, bit parity, bit overflow, bit interrupt bit trạng thái dùng để xác định trạng thái số lựa chọn chương trình 11 Thanh ghi SP đến ô nhớ dùng để lưu trữ liệu tạm thời Mỗi ngăn xếp dùng để lưu trữ liệu giá trị SP giảm để chuẩn bị cho việc lưu trữ liệu 12 Thanh ghi lệnh lưu trữ lệnh dạng số nhị phân để lệnh cho khối control logic thực mà lệnh yêu cầu 13 Khi lệnh đón từ nhớ có nghóa thực trình copy liệu ô nhớ chương trình vào ghi lệnh 14 Trong trình thực lệnh khối control logic khối giải mã lệnh đọc lệnh ghi lệnh 15 Thanh ghi tạm thời dùng để lưu trữ liệu cho ALU xử lý 16 Khối giải mã lệnh thực công việc giải mã lệnh để xem lệnh yêu cầu thực công việc gì, sau khối control logic thực công việc Vi xử lý 73 Thu vien DH SPKT TP HCM - http://www.thuvienspkt.edu.vn Truong DH SPKT TP HCM Chương 2: Cấ u trú c vi xử lý tậ p lệ n h http://www.hcmute.edu.vn SPKT 17 Các khối vi xử lý kết nối với thông qua bus liệu bên Quá trình kết nối để trao đổi liệu khối control logic định, định tùy thuộc vào lệnh Bus liệu bus chiều 18 Một lệnh vi xử lý từ dạng số nhị phân, dùng để khối giải mã khối control logic thực công việc định 19 Tập lệnh vi xử lý tất lệnh mà vi xử lý hiểu thực 20 Chiều dài lệnh (số lượng bit lệnh) với chiều dài từ liệu 21 Lệnh vi xử lý giải mã thực lệnh nạp ghi lệnh bên vi xử lý chu kỳ đón lệnh Ở chu lệnh khối giải mã khối control logic thực yêu cầu lệnh 22 Một lệnh vi xử lý bao gồm phần hay thông tin Thông tin thứ để báo cho vi xử lý biết làm công việc Thông tin thứ báo cho vi xử lý địa liệu Thông tin thứ thường gọi mã lệnh hay mã công tác Thông tin thứ gọi địa hay địa công tác (có nghóa lệnh xảy liệu địa đó) M 23 Có nhóm lệnh có nhiều mã lệnh cho nhóm lệnh TP HC huat Ky t 24 Lệnh vi xử lý số nhị phân gồm thôam tin địa gọi mã ng ph H Su sang mã gợi nhớ, từ gợi nhớ có ý máy Để dễ nhớ lệnh mã máy đượcgchuyển D u n T h.o nghóa gần với chức lệnr Tập hợp từ gợi nhớ gọi ngôn ngữ © uyen an Assembly Khi viết chươngqtrình Assembly, để máy thực chương trình B phải có chương trình dịch lệnh viết Assembly sang mã máy để vi xử lý xử lý, chương trình dịch gọi Assembler Câu hỏi ôn tập tập trắc nghiệm: Sơ đồ khối vi xử lý dùng để A Diễn tả chi tiết cổng logic Flip Flop dùng để thiết kế nên vi xử lý B Diễn tả mạch logic vi xử lý kết nối với thiết bị IO nhớ bên C Dùng để trình bày khối logic có chức xử lý liệu để giải vấn đề D Cả câu Trong câu sau câu chức ALU: A Add B Shift C Complement D Lưu trữ liệu ALU có ngõ vào, ngõ vào kết nối với: A Program Counter B Bus liệu bên C Control logic D Thanh ghi địa nhớ Chức khối ALU: A Thực phép cộng 74 Vi xử lý Thu vien DH SPKT TP HCM - http://www.thuvienspkt.edu.vn Truong DH SPKT TP HCM Chương 2: Cấ u trú c vi xử lý tậ p lệ n h http://www.hcmute.edu.vn SPKT B Đóng vài trò xuất liệu giống ghi Accumulator C Thực phép toán logic số học để xử lý liệu D Tất câu Hầu hết phép toán logic số học vi xử lý thực nội dung ô nhớ nội dung ghi với: A Nội dung ghi Accumulator B Noäi dung ghi Program Counter C Noäi dung ghi địa D Thanh ghi lệnh Một vi xử lý 16 bit truy xuất 220 = 1.048.567 ô nhớ cho biết ghi PC Microprocessor có chiều dài từ liệu bit: A B C 16 D 20 E 22 E 32 Thanh ghi Program counter vi xử lý ghi: A Đặc biệt B Thông dụng C Memory D Tất câu HCM TP Khi vi xử lý thực lệnh, ghi PC đangtchỉ t n: hua đế Ky A Lệnh vừa thực pham H Su B Lệnh thực ng D Truo C Lệnh quyen © an D Cả câu B u sai đề Hãy thực phép cộng số nhị phân bit Sau cộng xong số này, xác định ảnh hưởng phép cộng đến bit Zero (Z), bit Negative (N), bit Carry (C) 0000 1111 + 1111 0000 0011 1011 + 1100 0101 1110 1111 + 1111 1111 + 0000 0001 1111 0001 + 0000 0001 0111 1111 0111 0100 + 1100 1100 10 Khi taêng nội dung ghi lên lần (mỗi lần tăng 1) làm cho bit Zero trạng thái Set mức logic lần tăng thứ Vậy giá trị ban đầu chứa ghi ? 11 Thanh ghi địa nhớ dùng để đến: A Nội dung nhớ B Vị trí ô nhớ C Vị trí CPU D Vị trí ghi Vi xử lý 75 Thu vien DH SPKT TP HCM - http://www.thuvienspkt.edu.vn Truong DH SPKT TP HCM Chương 2: Cấ u trú c vi xử lý tậ p lệ n h http://www.hcmute.edu.vn SPKT 12 Thanh ghi địa nhớ kết nối với bus liệu bên vi xử lý để nạp giá trị từ: A Thanh ghi Program counter B Các ghi thông dụng C Memory D Cả câu 13 Các ngõ ghi địa dùng để kết nối với A Thanh ghi Accumulator vi xử lý B Bus liệu bên Microprocessor C Bus địa nhớ bên vi xử lý D Với ngõ vào giải mã lệnh H Su ng D ruo K pham M P HC uat T y th n©T quye an B 76 Vi xử lý Thu vien DH SPKT TP HCM - http://www.thuvienspkt.edu.vn ... thực Nếu tập lệnh vi xử lý giống với tập lệnh vi xử lý khác cấu trúc vi xử lý giống Độ dài lệnh với độ dài từ liệu vi xử lý, vi xử lý bit độ dài lệnh bit, vi xử lý 16 bit độ dài lệnh 16 bit Trong... nguyên lý làm vi? ??c vi xử lý cần phải khảo sát nguyên lý kết hợp khối với để xử lý chương trình Sơ đồ khối vi xử lý trình bày cấu trúc vi xử lý Mỗi vi xử lý khác có cấu trúc khác Ví dụ vi xử lý bit. .. mà vi xử lý máy tính xử lý Trong phần khảo sát vi xử lý bit: vi xử lý 80 85 hảng Intel vi xử lý Z80 hãng Zilog Vi xử lý Z80 hãng Zilog phát triển từ vi xử lý gốc 80 80 hãng Intel Vi xử lý Sơ đồ

Ngày đăng: 26/07/2014, 21:20

Từ khóa liên quan

Tài liệu cùng người dùng

Tài liệu liên quan