Xem mẫu

KIẾN TRÚC VÀ TỔ CHỨC MÁY TÍNH (Computer Organization and Architecture) Chương 6 Lập trình Hợp ngữ bangtqh@utc2.edu.vn Nội dung 1. Giới thiệu cấu trúc tập lệnh của CPU 2. Tập thanh ghi của 8086/8088 3. Các kiểu thao tác của tập lệnh 4. Tập lệnh họ 8086/8088 bangtqh@utc2.edu.vn Chương 6 - Lập trình hợp ngữ 2 6.1. Giới thiệu tập lệnh của CPU Mỗi CPU có 1 tập lệnh xác định Tập lệnh có hàng chục hoặc hàng trăm lệnh. Intel 8086/8088 có tập lệnh khoảng 115 lệnh chia làm 5 nhóm Mỗi lệnh là một chuỗi số nhị phân mà CPU hiểu được và thực hiện 1 thao tác xác định Các lệnh được mô tả bằng ký hiệu gợi nhớ Là các lệnh của hợp ngữ (Assembly) bangtqh@utc2.edu.vn Chương 6 - Lập trình hợp ngữ 3 Giản đồ trạng thái của Chu kỳ lệnh NhËn lÖnh NhËn to¸n h¹ng CÊt to¸n h¹ng NhiÒu NhiÒu to¸n kÕt h¹ng qu¶ TÝnh to¸n ®Þa chØ lÖnh Gi¶i m· thao t¸c lÖnh TÝnh to¸n ®Þa chØ to¸n Xö lý d÷ liÖu h¹ng TÝnh to¸n ®Þa chØ to¸n h¹ng KÕt thóc lªnh, nhËn lÖnh tiÕp theo DL d¹ng x©u hoÆc vect¬ Không kiểm tra ngắt bangtqh@utc2.edu.vn 4 Giản đồ trạng thái của chu kỳ lệnh NhËnlÖnh NhËnto¸n h¹ng CÊt to¸n h¹ng NhiÒu NhiÒu to¸n kÕt h¹ng qu¶ TÝnh to¸n ®Þa chØ lÖnh Gi¶i m· thao t¸c lÖnh TÝnh to¸n ®Þa chØ to¸n h¹ng Xö lý d÷ liÖu TÝnh to¸n ®Þa chØ to¸n h¹ng KiÓm tra ng¾t Ng¾t KÕt thóc lªnh, nhËn lÖnh tiÕp theo DLd¹ng x©u hoÆc vect¬ Kh«ng cã ng¾t Có kiểm tra ngắt cuối mỗi chu kỳ lệnh bangtqh@utc2.edu.vn 5 6.2. Tập thanh ghi của 8086/8088 Nhóm thanh ghi đa Nhóm năng thanh ghi đoạn (segment) 8086/8088 có 14 thanh ghi 16 bit chia làm 4 nhóm như hình vẽ 8086/8088 có bus địa chỉ 20 bit (1MB không gian địa chỉ) sử dụng phương pháp đánh địa chỉ phân đoạn (segment addressing) Địa chỉ vật lý = địa chỉ segment*16 + địa chỉ offset bangtqh@utc2.edu.vn Chương 6 - Lập trình hợp ngữ 6 Nhóm thanh ghi đa năng Còn gọi là nhóm thanh ghi công dụng chung (General purpose registers) Có thể dùng ½ mỗi thanh ghi như những thanh ghi độc lập 8086/8088 tự động sử dụng một số thanh ghi đa dụng vào một số mục đích cụ thể bangtqh@utc2.edu.vn Chương 6 - Lập trình hợp ngữ 7 Nhóm thanh ghi đoạn CS: chứa địa chỉ cơ sở đoạn mã lệnh của chương trình đang chạy DS: chứa địa chỉ đoạn của vùng dữ liệu chương trình đang thực hiện ES: (Extra segment) Chứa địa chỉ đoạn dữ liệu bổ sung (vùng chứa biến của chương trình) SS: Chứa địa chỉ bộ nhớ stack của chương trình đang chạy bangtqh@utc2.edu.vn Chương 6 - Lập trình hợp ngữ 8 Thanh ghi con trỏ và chỉ số IP: (instruction pointer): luôn chỉ đến địa chỉ lệnh sắp được thi hành trong bộ do do CS đang trỏ tới Cặp CS:IP chứa địa chỉ vật lý của lệnh trong bộ nhớ SP: luôn kết hợp với SS tạo thành cặp SS:SP để trỏ tới địa chỉ vùng nhớ stack của chương trình. SI và DI (Source index và Destination index): được thiết kế chuyên dụng trong các thao tác vận chuyển số liệu. Cặp DS:SI trỏ tới dữ liệu nguồn, ES:DI trỏ tới dữ liệu đích bangtqh@utc2.edu.vn Chương 6 - Lập trình hợp ngữ 9 Thanh ghi cờ của 8086/8088 15 14 13 12 11 10 9 8 7 6 X X X X OF DF IF TF SF ZF 5 4 3 2 1 0 X AF X PF X CF bangtqh@utc2.edu.vn Chương 6 - Lập trình hợp ngữ 10 ... - tailieumienphi.vn
nguon tai.lieu . vn