Bài giảng Kỹ thuật vi xử lý - Chương 2: Bộ vi xử lý Intel 8086/8088

A. Kiến trúc bên trong của 8086/8088

1. Sơ đồ khối

2. Các đơn vị chức năng của 8088/8086

3. Các thanh ghi của 8086/8088

4. Phân đoạn bộ nhớ trong 8086/8088

B. Tập lệnh của 8088/8086

5. Khái niệm về lệnh và cách mã hoá lệnh

6. Các chếđộđịa chỉ của vi xử lý 8086/8088

7. Phân loại tập lệnh của vi xử lý

8. Mô tả tập lệnh của 8086/8088

pdf15 trang | Chuyên mục: Vi Xử Lý – Vi Điều Khiển | Chia sẻ: dkS00TYs | Lượt xem: 2806 | Lượt tải: 1download
Tóm tắt nội dung Bài giảng Kỹ thuật vi xử lý - Chương 2: Bộ vi xử lý Intel 8086/8088, để xem tài liệu hoàn chỉnh bạn click vào nút "TẢI VỀ" ở trên
A 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
12
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
13
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).
14
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
15
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:

  • pdfBài giảng Kỹ thuật vi xử lý - Chương 2 Bộ vi xử lý Intel 80868088.pdf