Bài giảng Kỹ thuật vi xử lý - Chương 2: Bộ vi xử lý intel 8086/8088 - Hoàng Xuân Diệu
Tóm tắt Bài giảng Kỹ thuật vi xử lý - Chương 2: Bộ vi xử lý intel 8086/8088 - Hoàng Xuân Diệu: ... bit REG; W: bít chỉ độ rộng toán hạng; W=0: toán hạng 1 byte; W=1: toán hạng 2 bytes BÀI GIẢNG MÔN KỸ THUẬT VI XỬ LÝ www.ptit.edu.vn GIẢNG VIÊN: TS. HOÀNG XUÂN DẬU BỘ MÔN: KHOA HỌC MÁY TÍNH - KHOA CNTT1 Trang 19 CHƯƠNG 2 – BỘ VI XỬ LÝ INTEL 8086/8088 5. Khái niệm về lệnh và cách mã hoá lện...ầy đủ): MOV AL, ES:[BX]; AL [ES:BX] MOV SS:[SI+300], AH; [SS:SI+300] AH BÀI GIẢNG MÔN KỸ THUẬT VI XỬ LÝ www.ptit.edu.vn GIẢNG VIÊN: TS. HOÀNG XUÂN DẬU BỘ MÔN: KHOA HỌC MÁY TÍNH - KHOA CNTT1 Trang 31 CHƯƠNG 2 – BỘ VI XỬ LÝ INTEL 8086/8088 7. Phân loại tập lệnh của vi xử lý Tập lệnh phứ...VI XỬ LÝ INTEL 8086/8088 8. Tập lệnh - Các lệnh logic Lệnh OR Dạng: OR , Ý nghĩa: Cộng các cặp bít của 2 toán hạng Đích, Gốc, kết quả chuyển vào Đích Lệnh OR ảnh hưởng đến các cờ: Z, S, P VD: lập bít thứ 3 của thanh ghi AL (0-7) OR AL, 08H; 08H = 0000 1000B lập bít thứ 7 của tha...
088 Chế độ địa chỉ thanh ghi: Sử dụng các thanh ghi bên trong cpu như l à các toán hạng để chứa dữ liệu cần thao tác. Cả toán hạng nguồn và đích đều là các thanh ghi VD: mov bx, dx; bx dx mov ds, ax; ds ax add al, dl; al al + dl BÀI GIẢNG MÔN KỸ THUẬT VI XỬ LÝ www.ptit.edu.vn GIẢNG VIÊN: TS. HOÀNG XUÂN DẬU BỘ MÔN: KHOA HỌC MÁY TÍNH - KHOA CNTT1 Trang 23 CHƯƠNG 2 – BỘ VI XỬ LÝ INTEL 8086/8088 6. Các chế độ địa chỉ của 8086/8088 Chế độ địa chỉ tức thì: Toán hạng đích là một thanh ghi hay một ô nhớ Toán hạng nguồn là một hằng số VD: mov cl, 200; cl 100 mov ax, 0ff0h; ax 0ff0h mov ds, ax mox [bx], 200; chuyển 200 vào ô nhớ có địa chỉ là DS:BX BÀI GIẢNG MÔN KỸ THUẬT VI XỬ LÝ www.ptit.edu.vn GIẢNG VIÊN: TS. HOÀNG XUÂN DẬU BỘ MÔN: KHOA HỌC MÁY TÍNH - KHOA CNTT1 Trang 24 CHƯƠNG 2 – BỘ VI XỬ LÝ INTEL 8086/8088 6. Các chế độ địa chỉ của 8086/8088 Chế độ địa chỉ trực tiếp: Một toán hạng là một hằng biểu diễn địa chỉ lệch (offset) của ô nhớ Toán hạng còn lại có thể là thanh ghi (không được là ô nhớ) VD: MOV AL, [8088H] MOV [1234H], DL MOV AX, [1234H] DS là thanh ghi đoạn ngầm định trong chế độ địa chỉ trực tiếp. BÀI GIẢNG MÔN KỸ THUẬT VI XỬ LÝ www.ptit.edu.vn GIẢNG VIÊN: TS. HOÀNG XUÂN DẬU BỘ MÔN: KHOA HỌC MÁY TÍNH - KHOA CNTT1 Trang 25 CHƯƠNG 2 – BỘ VI XỬ LÝ INTEL 8086/8088 6. Các chế độ địa chỉ của 8086/8088 Chế độ địa chỉ gián tiếp qua thanh ghi: Một toán hạng là một thanh ghi chứa địa chỉ lệch của ô nhớ Toán hạng còn lại có thể là thanh ghi hoặc hằng (ko được là ô nhớ) VD: MOV AL, [BX]; AL [DS:BX] MOV AL, [BP]; AL [SS:BP] BÀI GIẢNG MÔN KỸ THUẬT VI XỬ LÝ www.ptit.edu.vn GIẢNG VIÊN: TS. HOÀNG XUÂN DẬU BỘ MÔN: KHOA HỌC MÁY TÍNH - KHOA CNTT1 Trang 26 CHƯƠNG 2 – BỘ VI XỬ LÝ INTEL 8086/8088 6. Các chế độ địa chỉ của 8086/8088 Chế độ địa chỉ tương đối cơ sở: Một toán hạng là đ/c của ô nhớ. • Đ/c của ô nhớ được tạo bởi việc sử dụng thanh ghi cơ sở như BX (đoạn DS) hoặc BP (đoạn SS) và một hằng số. • Hằng số trong địa chỉ tương đối cơ sở biểu diễn các giá trị dịch chuyển (displacement) được dùng để tính địa chỉ hiệu dụng của các toán hạng trong các vùng nhớ DS và SS. Toán hạng còn lại có thể là thanh ghi (ko được là ô nhớ) VD: MOV AL, [BX+100]; AL [DS: BX+100] MOV AL, [BP+200]; AL [SS: BP+200] BÀI GIẢNG MÔN KỸ THUẬT VI XỬ LÝ www.ptit.edu.vn GIẢNG VIÊN: TS. HOÀNG XUÂN DẬU BỘ MÔN: KHOA HỌC MÁY TÍNH - KHOA CNTT1 Trang 27 CHƯƠNG 2 – BỘ VI XỬ LÝ INTEL 8086/8088 6. Các chế độ địa chỉ của 8086/8088 Chế độ địa chỉ tương đối chỉ số: Một toán hạng là đ/c của ô nhớ. • Đ/c của ô nhớ được tạo bởi việc sử dụng thanh ghi cơ sở SI hoặc DI và một hằng số. • Hằng số trong địa chỉ tương đối cơ sở biểu diễn các giá trị dịch chuyển (displacement) được dùng để tính địa chỉ hiệu dụng của các toán hạng trong các vùng nhớ DS. Toán hạng còn lại có thể là thanh ghi (ko được là ô nhớ) VD: MOV AL, [SI+100]; AL [DS: BX+100] MOV AL, [DI+200]; AL [DS: BP+200] BÀI GIẢNG MÔN KỸ THUẬT VI XỬ LÝ www.ptit.edu.vn GIẢNG VIÊN: TS. HOÀNG XUÂN DẬU BỘ MÔN: KHOA HỌC MÁY TÍNH - KHOA CNTT1 Trang 28 CHƯƠNG 2 – BỘ VI XỬ LÝ INTEL 8086/8088 6. Các chế độ địa chỉ của 8086/8088 Chế độ địa chỉ tương đối chỉ số cơ sở: Một toán hạng là đ/c của ô nhớ. • Đ/c của ô nhớ được tạo bởi việc sử dụng các thanh ghi BX+SI/DI (đoạn DS) hoặc BP+SI/DI (đoạn SS) và một hằng số. • Hằng số trong địa chỉ tương đối cơ sở biểu diễn các giá trị dịch chuyển (displacement) được dùng để tính địa chỉ hiệu dụng của các toán hạng trong các vùng nhớ DS và SS. Toán hạng còn lại có thể là thanh ghi (ko được là ô nhớ) VD: MOV AL, [BX+SI+100]; AL[DS:BX+SI+100] MOV AL, [BP+DI+200]; AL[ES:BP+DI+200] BÀI GIẢNG MÔN KỸ THUẬT VI XỬ LÝ www.ptit.edu.vn GIẢNG VIÊN: TS. HOÀNG XUÂN DẬU BỘ MÔN: KHOA HỌC MÁY TÍNH - KHOA CNTT1 Trang 29 CHƯƠNG 2 – BỘ VI XỬ LÝ INTEL 8086/8088 Ánh xạ ngầm định trong các chế độ địa chỉ BÀI GIẢNG MÔN KỸ THUẬT VI XỬ LÝ www.ptit.edu.vn GIẢNG VIÊN: TS. HOÀNG XUÂN DẬU BỘ MÔN: KHOA HỌC MÁY TÍNH - KHOA CNTT1 Trang 30 CHƯƠNG 2 – BỘ VI XỬ LÝ INTEL 8086/8088 Ánh xạ ngầm định giữa thanh ghi đoạn và lệch Địa chỉ ngầm định: MOV AL, [BX]; AL [DS:BX] MOV [SI+300], AH; [DS:SI+300] AH Địa chỉ tường minh (đầy đủ): MOV AL, ES:[BX]; AL [ES:BX] MOV SS:[SI+300], AH; [SS:SI+300] AH BÀI GIẢNG MÔN KỸ THUẬT VI XỬ LÝ www.ptit.edu.vn GIẢNG VIÊN: TS. HOÀNG XUÂN DẬU BỘ MÔN: KHOA HỌC MÁY TÍNH - KHOA CNTT1 Trang 31 CHƯƠNG 2 – BỘ VI XỬ LÝ INTEL 8086/8088 7. Phân loại tập lệnh của vi xử lý Tập lệnh phức hợp (CISC) và tập lệnh giảm thiểu (RISC) CISC (Complex Instruction Set Computers) • Hỗ trợ tập lệnh phong phú -> giảm lượng mã chương trình • Tập lệnh lớn -> khó tối ưu hoá cho chương trình dịch • Các lệnh có độ dài và thời gian thực hiện khác nhau -> giảm hiệu năng của cơ chế ống lệnh (pipeline) RISC (Reduced Instruction Set Computers) • Tập lệnh tối thiểu: số lượng lệnh, các chế độ đ/c khuôn dạng lệnh và thời gian thực hiện • Tăng được hiệu năng của cơ chế ống lệnh (pipeline) • Dễ tối ưu hoá trong chương trình dịch • Chương trình thường dài, cần nhiều bộ nhớ và tăng thời gian truy cập bộ nhớ BÀI GIẢNG MÔN KỸ THUẬT VI XỬ LÝ www.ptit.edu.vn GIẢNG VIÊN: TS. HOÀNG XUÂN DẬU BỘ MÔN: KHOA HỌC MÁY TÍNH - KHOA CNTT1 Trang 32 CHƯƠNG 2 – BỘ VI XỬ LÝ INTEL 8086/8088 7. Phân loại tập lệnh của vi xử lý Phân loại tập lệnh của vi xử lý họ CISC Vận chuyển DL Số học nguyên và logic Dịch và quay Chuyển điều khiển Xử lý bit Điều khiển hệ thống Thao tác dấu phảy động Các lệnh của các đơn vị chức năng đặc biệt BÀI GIẢNG MÔN KỸ THUẬT VI XỬ LÝ www.ptit.edu.vn GIẢNG VIÊN: TS. HOÀNG XUÂN DẬU BỘ MÔN: KHOA HỌC MÁY TÍNH - KHOA CNTT1 Trang 33 CHƯƠNG 2 – BỘ VI XỬ LÝ INTEL 8086/8088 8. Mô tả tập lệnh của 8086/8088 Các lệnh vận chuyển dữ liệu: vận chuyển dữ liệu giữa thanh ghi – thanh ghi; thanh ghi–ô nhớ; thanh ghi – thiết bị vào ra. Các lệnh: MOV, IN, OUT Các lệnh vận chuyển dữ liệu không ảnh hưởng đến các cờ trạng thái của thanh ghi cờ Lệnh MOV: Dạng lệnh: MOV Đích, Gốc; Đích Gốc Ý nghĩa: chuyển (sao chép) dữ liệu từ Gốc sang Đích Ví dụ: MOV AL, 100; AL 100 MOV [BX], AH; [DS:BX] AH MOV DS, AX; DS AX BÀI GIẢNG MÔN KỸ THUẬT VI XỬ LÝ www.ptit.edu.vn GIẢNG VIÊN: TS. HOÀNG XUÂN DẬU BỘ MÔN: KHOA HỌC MÁY TÍNH - KHOA CNTT1 Trang 34 CHƯƠNG 2 – BỘ VI XỬ LÝ INTEL 8086/8088 8. Tập lệnh - Các lệnh vận chuyển dữ liệu Lệnh IN: Dạng lệnh: IN , Ý nghĩa: đọc dữ liệu từ lưu vào Ví dụ: IN AL, 03F8H; AL (03F8h) MOV DX, 02F8H IN AL, DX; AL (DX) BÀI GIẢNG MÔN KỸ THUẬT VI XỬ LÝ www.ptit.edu.vn GIẢNG VIÊN: TS. HOÀNG XUÂN DẬU BỘ MÔN: KHOA HỌC MÁY TÍNH - KHOA CNTT1 Trang 35 CHƯƠNG 2 – BỘ VI XỬ LÝ INTEL 8086/8088 8. Tập lệnh - Các lệnh vận chuyển dữ liệu Lệnh OUT: Dạng lệnh: OUT , Ý nghĩa: Lưu dữ liệu từ Gốc ra Ví dụ: OUT 03F8H, AL; (03F8h) AL MOV DX, 02F8H IN DX, AL; (DX) AL BÀI GIẢNG MÔN KỸ THUẬT VI XỬ LÝ www.ptit.edu.vn GIẢNG VIÊN: TS. HOÀNG XUÂN DẬU BỘ MÔN: KHOA HỌC MÁY TÍNH - KHOA CNTT1 Trang 36 CHƯƠNG 2 – BỘ VI XỬ LÝ INTEL 8086/8088 8. Tập lệnh - Các lệnh số học Là các lệnh thực hiện các phép toán số học: cộng (ADD), trừ (SUB), nhân (MUL) và chia (DIV); Lệnh ADD – cộng các số nguyên: Dạng lệnh: ADD , ; Đích Đích + Gốc Ý nghĩa: Lấy Gốc cộng với Đích, kết quả lưu vào Đích Lệnh ADD ảnh hưởng đến các cờ: C, Z, S, P, O, A Ví dụ: ADD AX, BX; AX AX + BX ADD AL, 10; AL AL + 10 ADD [BX], AL; [DS:BX] [DS:BX] + AL BÀI GIẢNG MÔN KỸ THUẬT VI XỬ LÝ www.ptit.edu.vn GIẢNG VIÊN: TS. HOÀNG XUÂN DẬU BỘ MÔN: KHOA HỌC MÁY TÍNH - KHOA CNTT1 Trang 37 CHƯƠNG 2 – BỘ VI XỬ LÝ INTEL 8086/8088 8. Tập lệnh - Các lệnh số học Lệnh SUB – trừ các số nguyên: Dạng lệnh: SUB , ; Đích Đích - Gốc Ý nghĩa: Lấy Đích trừ Gốc, kết quả lưu vào Đích Lệnh SUB ảnh hưởng đến các cờ: C, Z, S, P, O, A Ví dụ: SUB AX, BX; AX AX - BX SUB AL, 10; AL AL - 10 SUB [BX], AL; [DS:BX] [DS:BX] - AL BÀI GIẢNG MÔN KỸ THUẬT VI XỬ LÝ www.ptit.edu.vn GIẢNG VIÊN: TS. HOÀNG XUÂN DẬU BỘ MÔN: KHOA HỌC MÁY TÍNH - KHOA CNTT1 Trang 38 CHƯƠNG 2 – BỘ VI XỬ LÝ INTEL 8086/8088 8. Tập lệnh - Các lệnh số học Lệnh MUL – nhân các số nguyên: Dạng lệnh: MUL ; Gốc phải là một thanh ghi hoặc địa chỉ ô nhớ Ý nghĩa: • Nếu Gốc là 8 bit: AX AL * Gốc • Nếu Gốc là 16 bit: DXAX AX * Gốc Lệnh MUL ảnh hưởng đến các cờ: Z, S, P Ví dụ: tính 10 * 30 MOV AL, 10; AL 10 MOV BL, 30; BL 30 MUL BL; AX AL * BL BÀI GIẢNG MÔN KỸ THUẬT VI XỬ LÝ www.ptit.edu.vn GIẢNG VIÊN: TS. HOÀNG XUÂN DẬU BỘ MÔN: KHOA HỌC MÁY TÍNH - KHOA CNTT1 Trang 39 CHƯƠNG 2 – BỘ VI XỬ LÝ INTEL 8086/8088 8. Tập lệnh - Các lệnh số học Lệnh DIV – chia các số nguyên: Dạng lệnh: DIV ; Gốc phải là một thanh ghi hoặc địa chỉ ô nhớ Ý nghĩa: • Nếu Gốc là 8 bit: AX : Gốc; AL chứa thương và AH chứa phần dư • Nếu Gốc là 16 bit: DXAX : Gốc; AX chứa thương và DX chứa phần dư Lệnh MUL ảnh hưởng đến các cờ: Z, S, P Ví dụ: tính 100 : 30 MOV AX, 100; AL 100 MOV BL, 30; BL 30 DIV BL; AX : BL; AL = 3, AH = 10 BÀI GIẢNG MÔN KỸ THUẬT VI XỬ LÝ www.ptit.edu.vn GIẢNG VIÊN: TS. HOÀNG XUÂN DẬU BỘ MÔN: KHOA HỌC MÁY TÍNH - KHOA CNTT1 Trang 40 CHƯƠNG 2 – BỘ VI XỬ LÝ INTEL 8086/8088 8. Tập lệnh - Các lệnh logic Các lệnh logic: NOT (phủ định), AND (và), OR (hoặc) và XOR (hoặc loại trừ). Bảng giá trị của các phép toán logic: 011011 110001 110110 000100 XORORANDNOTYX BÀI GIẢNG MÔN KỸ THUẬT VI XỬ LÝ www.ptit.edu.vn GIẢNG VIÊN: TS. HOÀNG XUÂN DẬU BỘ MÔN: KHOA HỌC MÁY TÍNH - KHOA CNTT1 Trang 41 CHƯƠNG 2 – BỘ VI XỬ LÝ INTEL 8086/8088 8. Tập lệnh - Các lệnh logic Lệnh NOT Dạng: NOT Ý nghĩa: Đảo các bít của toán hạng Đích Lệnh NOT ảnh hưởng đến các cờ: Z, S, P VD: MOV AL, 80H; 80H = 1000 0000B NOT AL; 7FH = 0111 1111B BÀI GIẢNG MÔN KỸ THUẬT VI XỬ LÝ www.ptit.edu.vn GIẢNG VIÊN: TS. HOÀNG XUÂN DẬU BỘ MÔN: KHOA HỌC MÁY TÍNH - KHOA CNTT1 Trang 42 CHƯƠNG 2 – BỘ VI XỬ LÝ INTEL 8086/8088 8. Tập lệnh - Các lệnh logic Lệnh AND Dạng: AND , Ý nghĩa: Nhân các cặp bít của 2 toán hạng Đích, Gốc, kết quả chuyển vào Đích Lệnh AND ảnh hưởng đến các cờ: Z, S, P VD: xoá bít thứ 3 của thanh ghi AL (0-7) AND AL, F7H; F7H = 1111 0111B xoá bít thứ 4 bit phần cao của thanh ghi AL (0-7) AND AL, 0FH; 0FH = 0000 1111B BÀI GIẢNG MÔN KỸ THUẬT VI XỬ LÝ www.ptit.edu.vn GIẢNG VIÊN: TS. HOÀNG XUÂN DẬU BỘ MÔN: KHOA HỌC MÁY TÍNH - KHOA CNTT1 Trang 43 CHƯƠNG 2 – BỘ VI XỬ LÝ INTEL 8086/8088 8. Tập lệnh - Các lệnh logic Lệnh OR Dạng: OR , Ý nghĩa: Cộng các cặp bít của 2 toán hạng Đích, Gốc, kết quả chuyển vào Đích Lệnh OR ảnh hưởng đến các cờ: Z, S, P VD: lập bít thứ 3 của thanh ghi AL (0-7) OR AL, 08H; 08H = 0000 1000B lập bít thứ 7 của thanh ghi AL (0-7) OR AL, 80H; 80H = 1000 0000B BÀI GIẢNG MÔN KỸ THUẬT VI XỬ LÝ www.ptit.edu.vn GIẢNG VIÊN: TS. HOÀNG XUÂN DẬU BỘ MÔN: KHOA HỌC MÁY TÍNH - KHOA CNTT1 Trang 44 CHƯƠNG 2 – BỘ VI XỬ LÝ INTEL 8086/8088 8. Tập lệnh - Các lệnh logic Lệnh XOR Dạng: XOR , Ý nghĩa: Cộng đảo các cặp bít của 2 toán hạng Đích, Gốc, kết quả chuyển vào Đích Lệnh XOR ảnh hưởng đến các cờ: Z, S, P VD: xoá thanh ghi AL XOR AL, AL; AL 0 xoá thanh ghi BX XOR BX, BX; BX 0 BÀI GIẢNG MÔN KỸ THUẬT VI XỬ LÝ www.ptit.edu.vn GIẢNG VIÊN: TS. HOÀNG XUÂN DẬU BỘ MÔN: KHOA HỌC MÁY TÍNH - KHOA CNTT1 Trang 45 CHƯƠNG 2 – BỘ VI XỬ LÝ INTEL 8086/8088 8. Tập lệnh - Các lệnh dịch và quay Gồm các lệnh: Dịch trái: SHL (Shilf Left) Dịch phải: SHR (Shilf Right) Quay trái: ROL (Rotate Left) Quay phải: ROR (Rotate Right) Các lệnh dịch thường được dùng để thay cho phép nhân (dịch trái) và thay cho phép chia (dịch phải) Các lệnh dịch và quay còn có thể được sử dụng khi cần xử lý từng bit. BÀI GIẢNG MÔN KỸ THUẬT VI XỬ LÝ www.ptit.edu.vn GIẢNG VIÊN: TS. HOÀNG XUÂN DẬU BỘ MÔN: KHOA HỌC MÁY TÍNH - KHOA CNTT1 Trang 46 CHƯƠNG 2 – BỘ VI XỬ LÝ INTEL 8086/8088 8. Tập lệnh - Các lệnh dịch và quay Lệnh dịch trái SHL Dạng: SHL , 1 SHL , CL Ý nghĩa: Dịch trái một bít hoặc dịch trái số bit lưu trong thanh ghi CL nếu số bit cần dịch lớn hơn 1. • MSB (Most Significant Bit) chuyển sang cờ nhớ CF • 0 được điền vào LSB (Least Significant Bit) • Các bít giữa MSB và LSB được dịch sang trái 1 bit VD: MOV AL, 08H; 0000 1000B (8) SHL AL, 1; 0001 0000B (16) MOV CL, 2 SHL AL, CL; 0100 0000B (64) CF MSB LSB 0 BÀI GIẢNG MÔN KỸ THUẬT VI XỬ LÝ www.ptit.edu.vn GIẢNG VIÊN: TS. HOÀNG XUÂN DẬU BỘ MÔN: KHOA HỌC MÁY TÍNH - KHOA CNTT1 Trang 47 CHƯƠNG 2 – BỘ VI XỬ LÝ INTEL 8086/8088 8. Tập lệnh - Các lệnh dịch và quay Lệnh dịch phải SHR Dạng: SHR , 1 SHR , CL Ý nghĩa: Dịch phải một bít hoặc dịch phải số bit lưu trong thanh ghi CL nếu số bit cần dịch lớn hơn 1. • LSB (Least Significant Bit) chuyển sang cờ nhớ CF • 0 được điền vào MSB (Most Significant Bit) • Các bít giữa MSB và LSB được dịch sang phải 1 bit VD: MOV AL, 80H; 1000 0000B (128) SHR AL, 1; 0100 0000B (64) MOV CL, 2 SHR AL, CL; 0001 0000B (16) CFMSB LSB0 BÀI GIẢNG MÔN KỸ THUẬT VI XỬ LÝ www.ptit.edu.vn GIẢNG VIÊN: TS. HOÀNG XUÂN DẬU BỘ MÔN: KHOA HỌC MÁY TÍNH - KHOA CNTT1 Trang 48 CHƯƠNG 2 – BỘ VI XỬ LÝ INTEL 8086/8088 8. Tập lệnh - Các lệnh dịch và quay Lệnh quay trái ROL Dạng: ROL , 1 ROL , CL Ý nghĩa: Quay trái một bít hoặc quay trái số bit lưu trong thanh ghi CL nếu số bit cần quay lớn hơn 1. • MSB (Most Significant Bit) chuyển sang cờ nhớ CF • MSB được chuyển đến LSB (Least Significant Bit) • Các bít giữa MSB và LSB được dịch sang trái 1 bit VD: MOV AL, 88H; 1000 1000B ROL AL, 1; 0001 0001B MOV CL, 2 ROL AL, CL; 0100 0100B CF MSB LSB BÀI GIẢNG MÔN KỸ THUẬT VI XỬ LÝ www.ptit.edu.vn GIẢNG VIÊN: TS. HOÀNG XUÂN DẬU BỘ MÔN: KHOA HỌC MÁY TÍNH - KHOA CNTT1 Trang 49 CHƯƠNG 2 – BỘ VI XỬ LÝ INTEL 8086/8088 8. Tập lệnh - Các lệnh dịch và quay Lệnh quay phải ROR Dạng: ROR , 1 ROR , CL Ý nghĩa: Quay phải một bít hoặc quay phải số bit lưu trong thanh ghi CL nếu số bit cần quay lớn hơn 1. • LSB (Least Significant Bit) chuyển sang cờ nhớ CF • LSB được chuyển đến MSB (Most Significant Bit) • Các bít giữa MSB và LSB được dịch sang phải 1 bit VD: MOV AL, 88H; 1000 1000B ROR AL, 1; 0100 0100B MOV CL, 2 ROR AL, CL; 0001 0001B CFMSB LSB BÀI GIẢNG MÔN KỸ THUẬT VI XỬ LÝ www.ptit.edu.vn GIẢNG VIÊN: TS. HOÀNG XUÂN DẬU BỘ MÔN: KHOA HỌC MÁY TÍNH - KHOA CNTT1 Trang 50 CHƯƠNG 2 – BỘ VI XỬ LÝ INTEL 8086/8088 8. Tập lệnh - Các lệnh chuyển điều khiển Các lệnh chuyển điều khiển (program flow control instructions) là các lệnh làm thay đổi trật tự thực hiện chương trình; Gồm các lệnh: Lệnh nhảy không điều kiện JMP Lệnh nhảy có điều kiện JE, JZ, JNE, JNZ, JL, JG, ... Lệnh lặp LOOP, LOOPE, LOOPZ Lệnh gọi thực hiện chương trình con CALL Lệnh trở về từ chương trình con RET BÀI GIẢNG MÔN KỸ THUẬT VI XỬ LÝ www.ptit.edu.vn GIẢNG VIÊN: TS. HOÀNG XUÂN DẬU BỘ MÔN: KHOA HỌC MÁY TÍNH - KHOA CNTT1 Trang 51 CHƯƠNG 2 – BỘ VI XỬ LÝ INTEL 8086/8088 8. Tập lệnh - Các lệnh chuyển điều khiển Lệnh nhảy không điều kiện JMP Dạng lệnh: JMP Ý nghĩa: chuyển đến thực hiện lệnh nằm ngay sau là một tên được đặt trước một lệnh, phân cách bằng dấu hai chấm (:). Khoảng nhảy của JMP có thể là ngắn (-128 +127), gần (- 32768 +32767) và xa (sử dụng địa chỉ đầy đủ CS:IP). VD: START: ADD AX, BX SUB BX, 1 ...... JMP START ; chuyển đến thực hiện lệnh nằm sau nhãn START BÀI GIẢNG MÔN KỸ THUẬT VI XỬ LÝ www.ptit.edu.vn GIẢNG VIÊN: TS. HOÀNG XUÂN DẬU BỘ MÔN: KHOA HỌC MÁY TÍNH - KHOA CNTT1 Trang 52 CHƯƠNG 2 – BỘ VI XỬ LÝ INTEL 8086/8088 8. Tập lệnh - Các lệnh chuyển điều khiển Lệnh nhảy có điều kiện JE, JZ, JNE, JNZ, JL, JG Dạng lệnh: JE : nhảy nếu bằng nhau hoặc kết quả bằng 0 JZ : nhảy nếu bằng nhau hoặc kết quả bằng 0 JNE : nhảy nếu không bằng nhau hoặc kết quả khác 0 JNZ : nhảy nếu không bằng nhau hoặc kết quả khác 0 JL : nhảy nếu bé hơn JG : nhảy nếu lớn hơn Khoảng nhảy của các lệnh nhảy có điều kiện là ngắn (-128 +127). BÀI GIẢNG MÔN KỸ THUẬT VI XỬ LÝ www.ptit.edu.vn GIẢNG VIÊN: TS. HOÀNG XUÂN DẬU BỘ MÔN: KHOA HỌC MÁY TÍNH - KHOA CNTT1 Trang 53 CHƯƠNG 2 – BỘ VI XỬ LÝ INTEL 8086/8088 8. Tập lệnh - Các lệnh chuyển điều khiển Lệnh nhảy có điều kiện JE, JZ, JNE, JNZ, JL, JG VD: viết đoạn chương trình tính tổng các số từ 1-20 MOV AX, 0 ; AX chứa tổng MOV BX, 20 ; đặt giá trị cho biến đếm BX START: ADD AX, BX ; cộng dồn SUB BX, 1 ; giảm biến đếm JZ STOP ; dừng nếu BX = 0 JMP START ; quay lại vòng lặp tiếp STOP: .... BÀI GIẢNG MÔN KỸ THUẬT VI XỬ LÝ www.ptit.edu.vn GIẢNG VIÊN: TS. HOÀNG XUÂN DẬU BỘ MÔN: KHOA HỌC MÁY TÍNH - KHOA CNTT1 Trang 54 CHƯƠNG 2 – BỘ VI XỬ LÝ INTEL 8086/8088 8. Tập lệnh - Các lệnh chuyển điều khiển Lệnh lặp LOOP Dạng lệnh: LOOP Ý nghĩa: chuyển đến thực hiện lệnh nằm ngay sau nếu giá trị trong thanh ghi CX khác 0. Tự động giảm giá trị của CX 1 đơn vị khi thực hiện. VD: viết đoạn chương trình tính tổng các số từ 1-20 MOV AX, 0 ; AX chứa tổng MOV CX, 20 ; đặt giá trị cho biến đếm CX START: ADD AX, CX ; cộng dồn LOOP START ; kiểm tra CX, nếu CX=0 dừng ; nếu CX khác 0: CX CX-1 và quay lại ; bắt đầu vòng lặp mới từ vị trí của START BÀI GIẢNG MÔN KỸ THUẬT VI XỬ LÝ www.ptit.edu.vn GIẢNG VIÊN: TS. HOÀNG XUÂN DẬU BỘ MÔN: KHOA HỌC MÁY TÍNH - KHOA CNTT1 Trang 55 CHƯƠNG 2 – BỘ VI XỬ LÝ INTEL 8086/8088 8. Tập lệnh - Các lệnh chuyển điều khiển Lệnh CALL và RET Dạng lệnh: • CALL : gọi thực hiện chương trình con • RET : trở về từ chương trình con; thường đặt ở cuối chương trình con VD: CALL GIAITHUA ; gọi thực hiện chương trình con GIAITHUA ..... ; phần mã của chương trình con PROC GIAITHUA ; bắt đầu mã CT con ..... RET ; trở về chương trình gọi GIAITHUA ENDP ; kết thúc mã CT con BÀI GIẢNG MÔN KỸ THUẬT VI XỬ LÝ www.ptit.edu.vn GIẢNG VIÊN: TS. HOÀNG XUÂN DẬU BỘ MÔN: KHOA HỌC MÁY TÍNH - KHOA CNTT1 Trang 56 CHƯƠNG 2 – BỘ VI XỬ LÝ INTEL 8086/8088 8. Tập lệnh - Các lệnh xử lý bit Gồm nhóm các lệnh xử lý một số bít (D, C, I) của thanh ghi cờ FR; Các lệnh lập cờ (đặt bit cờ bằng 1) STD: lập cờ hướng D STC: lập cờ nhớ C STI: lập cờ ngắt I Các lệnh xoá cờ (đặt bit cờ bằng 0) CLD: xoá cờ hướng D CLC: xoá cờ nhớ C CLI: xoá cờ ngắt I BÀI GIẢNG MÔN KỸ THUẬT VI XỬ LÝ www.ptit.edu.vn GIẢNG VIÊN: TS. HOÀNG XUÂN DẬU BỘ MÔN: KHOA HỌC MÁY TÍNH - KHOA CNTT1 Trang 57 CHƯƠNG 2 – BỘ VI XỬ LÝ INTEL 8086/8088 8. Tập lệnh - Các lệnh điều khiển hệ thống Gồm 2 lệnh: Lệnh NOP (No Operation): • NOP không thực hiện nhiệm vụ cụ thể, chỉ tiêu tốn thời gian bằng 1 chu kỳ lệnh Lệnh HLT (Halt) • HLT dừng việc thực hiện chương trình BÀI GIẢNG MÔN KỸ THUẬT VI XỬ LÝ www.ptit.edu.vn GIẢNG VIÊN: TS. HOÀNG XUÂN DẬU BỘ MÔN: KHOA HỌC MÁY TÍNH - KHOA CNTT1 Trang 58 CHƯƠNG 2 – BỘ VI XỬ LÝ INTEL 8086/8088 8. Tập lệnh – Một số lệnh khác Lệnh tăng INC Dạng: INC ; Đích Đích + 1 Lệnh giảm DEC Dạng: DEC ; Đích Đích – 1 Lệnh so sánh CMP Dạng: CMP , Ý nghĩa: Tính toán Đích - Gốc, kết quả chỉ dùng cập nhật các bít cờ trạng thái, không lưu vào Đích: Trường hợp C Z S Đích > Gốc 0 0 0 Đích = Gốc 0 1 0 Đích < Gốc 1 0 1 BÀI GIẢNG MÔN KỸ THUẬT VI XỬ LÝ www.ptit.edu.vn GIẢNG VIÊN: TS. HOÀNG XUÂN DẬU BỘ MÔN: KHOA HỌC MÁY TÍNH - KHOA CNTT1 Trang 59 CHƯƠNG 2 – BỘ VI XỬ LÝ INTEL 8086/8088 8. Tập lệnh – Một số lệnh khác Lệnh PUSH – đẩy dữ liệu vào ngăn xếp Dạng: PUSH Ý nghĩa: Nạp Gốc vào đỉnh ngăn xếp; Gốc phải là toán hạng 2 bytes. Diễn giải: SP SP + 2 ; tăng con trỏ ngăn xếp SP {SP} Gốc ; nạp dữ liệu vào ngăn xếp VD: PUSH AX Lệnh POP – lấy dữ liệu ra khỏi ngăn xếp Dạng: POP Ý nghĩa: Lấy dữ liệu từ đỉnh ngăn xếp lưu vào Đích; Đích phải là toán hạng 2 bytes. Diễn giải: Đích {SP} ; lấy dữ liệu ra khỏi ngăn xếp SP SP - 2 ; giảm con trỏ ngăn xếp SP VD: POP BX
File đính kèm:
- bai_giang_ky_thuat_vi_xu_ly_chuong_2_bo_vi_xu_ly_intel_80868.pdf