1. Trang chủ
  2. » Kỹ Thuật - Công Nghệ

ĐIỆN tử VIỄN THÔNG microprocessor final ver1 part2 khotailieu

85 140 0

Đ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

Cấu trúc

  • Nội dung môn học

  • Bộ vi xử lý Intel 8088/8086

  • Chương 2: Bộ vi xử lý Intel 8088/8086

  • Slide 4

  • Sơ đồ khối 8088/8086

  • Slide 6

  • Các thanh ghi đa năng của 8088/8086

  • Slide 8

  • Các thanh ghi đoạn

  • Slide 10

  • Slide 11

  • Slide 12

  • Slide 13

  • Các thanh ghi con trỏ và chỉ số

  • Slide 15

  • Slide 16

  • Thanh ghi cờ (Flag Register)

  • Slide 18

  • Slide 19

  • Slide 20

  • Hàng đợi lệnh

  • Slide 22

  • Intel 8088

  • Slide 24

  • Intel 8086

  • Slide 26

  • Bản đồ bộ nhớ của máy tính IBM PC

  • Bản đồ vùng nhớ chương trình

  • Bản đồ vùng nhớ hệ thống

  • Các cổng vào ra

  • Trình tự khởi động

  • Vùng nhớ dành riêng của 8088/8086

  • Slide 33

  • Chế độ địa chỉ thanh ghi (Register Addressing Mode)

  • Chế độ địa chỉ tức thì (Immediate Addressing Mode)

  • Chế độ địa chỉ trực tiếp (Direct Addressing Mode)

  • Chế độ địa chỉ gián tiếp qua thanh ghi (Register indirect Addressing Mode)

  • Chế độ địa chỉ tương đối cơ sở (Based relative Addressing Mode)

  • Chế độ địa chỉ tương đối chỉ số (Indexed relative Addressing Mode)

  • Chế độ địa chỉ tương đối chỉ số cơ sở ( Based Indexed relative Addressing Mode)

  • Tóm tắt các chế độ địa chỉ

  • Bỏ chế độ ngầm định thanh ghi đoạn (Segment override)

  • Slide 43

  • Cách mã hoá lệnh của 8086

  • Slide 45

  • Slide 46

  • Slide 47

  • Slide 48

  • Các lệnh di chuyển dữ liệu

  • Slide 50

  • Slide 51

  • Slide 52

  • Slide 53

  • Slide 54

  • Slide 55

  • Slide 56

  • Slide 57

  • Slide 58

  • Các lệnh số học và logic

  • Slide 60

  • Slide 61

  • Slide 62

  • Slide 63

  • Slide 64

  • Slide 65

  • Slide 66

  • Slide 67

  • Slide 68

  • Slide 69

  • Slide 70

  • Slide 71

  • Lệnh nhảy không điều kiện JMP

  • Slide 73

  • Slide 74

  • Tóm tắt lệnh JMP

  • Lệnh nhảy có điều kiện

  • Lệnh lặp LOOP

  • Lệnh CALL

  • Slide 79

  • Lệnh ngắt INT và IRET

  • Slide 81

  • Slide 82

  • Đánh địa chỉ bộ nhớ ở chế độ bảo vệ

  • Slide 84

  • Slide 85

Nội dung

© DHBK 2005 1/Chapte Nội dung môn học Giới thiệu chung hệ vi xử lý Bộ vi xử lý Intel 8088/8086 Lập trình hợp ngữ cho 8086 Tổ chức vào liệu Ngắt xử lý ngắt Truy cập nhớ trực tiếp DMA Các vi xử lý thực tế © DHBK 2005 2/Chapte Bộ vi xử lý Intel 8088/8086 • Cấu trúc bên • Sơ đồ chân • Bản đồ nhớ máy tính IBM-PC • Các chế độ địa 8086 • Cách mã hố lệnh 8086 • Mơ tả tập lệnh 8086 • Cách đánh địa chế độ bảo vệ máy tính từ 80286 © DHBK 2005 3/Chapte Chương 2: Bộ vi xử lý Intel 8088/8086 • Cấu trúc bên       Sơ đồ khối Các ghi đa Các ghi đoạn Các ghi trỏ số Thanh ghi cờ Hàng đợi lệnh • Sơ đồ chân • Bản đồ nhớ máy tính IBM-PC • Các chế độ địa 8086 • Cách mã hố lệnh 8086 • Mơ tả tập lệnh 8086 • Cách đánh địa chế độ bảo vệ máy tính từ 80286 © DHBK 2005 4/Chapte Chương 2: Bộ vi xử lý Intel 8088/8086 • Cấu trúc bên       Sơ đồ khối Các ghi đa Các ghi đoạn Các ghi trỏ số Thanh ghi cờ Hàng đợi lệnh • Sơ đồ chân • Bản đồ nhớ máy tính IBM-PC • Các chế độ địa 8086 • Cách mã hố lệnh 8086 • Mơ tả tập lệnh 8086 • Cách đánh địa chế độ bảo vệ máy tính từ 80286 © DHBK 2005 5/Chapte Sơ đồ khối 8088/8086 Các ghi đa Các ghi trỏ số AX BX CX DX SP BP SI DI EU bus địa 20 bit Các ghi đoạn trỏ lệnh ∑ CS DS SS ES IP Bus liệu ALU 16 bit Bus Khối điều khiển EU Hàng đợi lệnh Thanh ghi cờ Bus CPU 16 bit liệu 20 bit địa Logic điều khiển bus Các ghi tạm thời ALU BIU © DHBK 2005 6/Chapte Chương 2: Bộ vi xử lý Intel 8088/8086 • Cấu trúc bên       Sơ đồ khối Các ghi đa Các ghi đoạn Các ghi trỏ số Thanh ghi cờ Hàng đợi lệnh • Sơ đồ chân • Bản đồ nhớ máy tính IBM-PC • Các chế độ địa 8086 • Cách mã hố lệnh 8086 • Mơ tả tập lệnh 8086 • Cách đánh địa chế độ bảo vệ máy tính từ 80286 © DHBK 2005 7/Chapte Các ghi đa 8088/8086 bit cao bit thấp •8088/8086 đến 80286 : 16 bits • • • • AX AH AL BX BH BL CX CH CL •80386 trở lên: 32 bits EAX, EBX, ECX, EDX DX DH DL Thanh ghi chứa AX (accumulator): chứa kết phép tính Kết bit chứa AL Thanh ghi sở BX (base): chứa địa sở, ví dụ bảng dùng lệnh XLAT (Translate) Thanh ghi đếm CX (count): dùng để chứa số lần lặp lệnh lặp (Loop) CL dùng để chứa số lần dịch quay lệnh dịch quay ghi Thanh ghi liệu DX (data): AX chứa liệu phép tính nhân chia số 16 bit DX dùng để chứa địa cổng lệnh vào liệu trực tiếp (IN/OUT) © DHBK 2005 8/Chapte Chương 2: Bộ vi xử lý Intel 8088/8086 • Cấu trúc bên       Sơ đồ khối Các ghi đa Các ghi đoạn Các ghi trỏ số Thanh ghi cờ Hàng đợi lệnh • Sơ đồ chân • Bản đồ nhớ máy tính IBM-PC • Các chế độ địa 8086 • Cách mã hố lệnh 8086 • Mơ tả tập lệnh 8086 • Cách đánh địa chế độ bảo vệ máy tính từ 80286 © DHBK 2005 9/Chapte Các ghi đoạn • Tổ chức nhớ Mbytes  Đoạn nhớ (segment) FFFFFH  216 bytes =64 KB  Đoạn 1: địa đầu 00000 H  Đoạn 2: địa đầu 00010 H  Đoạn cuối cùng: FFFF0 H  Ô nhớ đoạn:  địa lệch: offset  Ô 1: offset: 0000  Ô cuối cùng: offset: FFFF  Địa vật lý:  Segment : offset 1FFFFH 1F000H Địa vật lý=Segment*16 + offset Chế độ thực (real mode) 10000H Offset=F000 1000 Thanh ghi đoạn 00000H © DHBK 2005 Các ghi đoạn 10 /Chapter2 • Ví dụ: Địa vật lý 12345H Địa đoạn Điạ lệch 1000 H 2345H 1200 H 0345H 1004 H ? 0300 H ? • Ví dụ: Cho địa đầu đoạn: 49000 H, xác định địa cuối © DHBK 2005 71 /Chapter2 Chương 2: Bộ vi xử lý Intel 8088/8086 • • • • • • Cấu trúc bên Sơ đồ chân Bản đồ nhớ máy tính IBM-PC Các chế độ địa 8086 Cách mã hố lệnh 8086 Mơ tả tập lệnh 8086  Các lệnh di chuyển liệu  Các lệnh số học logic  Các lệnh điều khiển chương trình  Lệnh  Lệnh  Lệnh  Lệnh  Lệnh nhảy khơng điều kiện: JMP nhảy có điều kiện JE, JG, JGE, JL, JLE lặp LOOP gọi chương trình CALL gọi chương trình phục vụ ngắt INT IRET • Cách đánh địa chế độ bảo vệ máy tính từ 80286 © DHBK 2005 Lệnh nhảy khơng điều kiện JMP • Dùng để nhảy tới địa nhớ • loại: nhảy ngắn, gần xa  Lệnh nhảy ngắn (short jump)  Độ dài lệnh bytes: E B Độ lệch  Phạm vi nhảy: -128 đến 127 bytes so với lệnh lệnh JMP  Thực hiện: IP=IP + độ lệch  Ví dụ: XOR BX, BX Nhan: MOV AX, ADD AX, BX JMP SHORT Nhan 72 /Chapter2 © DHBK 2005 Lệnh nhảy không điều kiện JMP 73 /Chapter2  Lệnh nhảy gần (near jump)  Phạm vi nhảy: ± 32 Kbytes so với lệnh lệnh JMP  Ví dụ: XOR BX, BX XOR CX, CX XOR CX, CX MOV AX, MOV AX, ADD AX, BX ADD AX, BX ADD AX, BX JMP NEAR Nhan JMP NEAR PTR BX JMP WORD PTR [BX] Nhan: MOV AX, Thực hiện: IP=IP+ độ lệch E Độ lệchLo Độ lệchHi IP=BX IP=[BX+1] [BX] Nhảy gián tiếp © DHBK 2005 Lệnh nhảy không điều kiện JMP  Lệnh nhảy xa (far jump)  Độ dài lệnh bytes nhảy tới nhãn: E A IP Lo IP Hi CS Lo CS Hi  Phạm vi nhảy: nhảy đoạn mã nhảy sang đoạn mã khác  Ví dụ: EXTRN Nhan: FAR Next: MOV AX, XOR CX, CX MOV AX, ADD AX, BX ADD AX, BX JMP FAR PTR Next JMP DWORD PTR [BX] JMP FAR Nhan Thực hiện: IP=IP nhãn CS=CS nhãn IP = [BX+1][BX] CS= [BX+3][BX+2] 74 /Chapter2 © DHBK 2005 75 /Chapter2 Tóm tắt lệnh JMP FFFFFH Đoạn mã Nhảy xa +127 Nhảy ngắn Đoạn mã JMP -128 00000H Nhảy gần © DHBK 2005 Lệnh nhảy có điều kiện 76 /Chapter2 • JE or JZ, JNE or JNZ, JG, JGE, JL, JLE (dùng cho số có dấu) JA, JB, JAE, JBE (dùng cho số khơng dấu) • Nhảy thực phụ thuộc vào cờ • Là lệnh nhảy ngắn • Ví dụ: Nhan1: XOR BX, BX Nhan2: MOV AX, CMP AL, 10H JNE Nhan1 JE Nhan2 Thực hiện: IP=IP + độ dịch © DHBK 2005 77 /Chapter2 Lệnh lặp LOOP • LOOP, LOOPE/LOOPZ, LOOPNE/LOOPNZ • Là lệnh phối hợp DEC CX JNZ XOR AL, AL XOR AL, AL XOR AL, AL MOV CX, 16 MOV CX, 16 MOV CX, 16 Lap: INC AL LOOP Lap Lặp đến khí CX=0 Lap: INC AL Lap: INC AL CMP AL, 10 CMP AL, 10 LOOPE Lap LOOPNE Lap Lặp đến khí CX=0 AL10 Lặp đến khí CX=0 AL=10 © DHBK 2005 Lệnh CALL 78 /Chapter2 • Dùng để gọi chương trình • Có loại: CALL gần CALL xa  CALL gần (near call): tương tự nhảy gần Gọi chương trình đoạn mã Tong PROC NEAR ADD AX, BX ADD AX, CX RET Tong ENDP Tong PROC NEAR ADD AX, BX ADD AX, CX RET Tong ENDP MOV BX, OFFSET Tong CALL BX CALL WORD PTR [BX] CALL Tong Cất IP vào ngăn xếp IP=IP + dịch chuyển RET: lấy IP từ ngăn xếp Cất IP vào ngăn xếp IP= BX RET: lấy IP từ ngăn xếp Cất IP vào ngăn xếp IP= [BX+1] [BX] RET: lấy IP từ ngăn xếp © DHBK 2005 Lệnh CALL  CALL xa (far call): tương tự nhảy xa Gọi chương trình ngồi đoạn mã Tong PROC FAR CALL DWORD PTR [BX] ADD AX, BX ADD AX, CX RET Tong ENDP CALL Tong Cất CS vào ngăn xếp Cất IP vào ngăn xếp IP=IP Tong CS =CS Tong RET: lấy IP từ ngăn xếp lấy CS từ ngăn xếp Cất CS vào ngăn xếp Cất IP vào ngăn xếp IP = [BX+1][BX] CS= [BX+3][BX+2] RET: lấy IP từ ngăn xếp lấy CS từ ngăn xếp 79 /Chapter2 © DHBK 2005 Lệnh ngắt INT IRET • INT gọi chương trình phục vụ ngắt (CTCPVN) • Bảng vector ngắt: Kbytes 00000H đến 003FF H     256 vector ngắt vector bytes, chứa IP CS CTCPVN 32 vector đầu dành riêng cho Intel 224 vector sau dành cho người dùng • Cú pháp: INT Number • Ví dụ: INT 21H gọi CTCPVN DOS 80 /Chapter2 â DHBK 2005 Lnh ngt INT v IRET Thực INT:      Cất ghi cờ vào ngăn xếp IF=0 (cấm ngắt khác tác động), TF=0 (chạy suốt) Cất CS vào ngăn xếp Cất IP vào ngăn xếp IP=[N*4], CS=[N*4+2] • Gặp IRET:  Lấy IP từ ngăn xếp  Lấy CS từ ngăn xếp  Lấy ghi cờ từ ngăn xếp 81 /Chapter2 © DHBK 2005 82 /Chapter2 Chương 2: Bộ vi xử lý Intel 8088/8086 • Cấu trúc bên • Sơ đồ chân • Bản đồ nhớ máy tính IBM-PC • Các chế độ địa 8086 • Cách mã hố lệnh 8086 • Mơ tả tập lệnh 8086 • Cách đánh địa chế độ bảo vệ máy tính từ 80286 © DHBK 2005 83 /Chapter2 Đánh địa nhớ chế độ bảo vệ • Cho phép truy cập liệu chương trình vùng nhớ 1M • Thanh ghi lệch chứa địa lệch • Thanh ghi đoạn chứa từ chọn đoạn (segment selector)  từ chọn đoạn chọn phần tử trong bảng mơ tả đoạn (descriptor table), mồi bảng có kích thước 64 KB  Bảng mơ tả đoạn tồn cục (Global DT): chứa thông tin đoạn nhớ mà tất chương trình truy nhập  Bảng mô tả đoạn cục (Local DT): chứa thông tin đoạn chương trình  Mơ tả đoạn chứa thơng tin địa bắt đầu đoạn © DHBK 2005 84 /Chapter2 Đánh địa nhớ chế độ bảo vệ 15 Index TI RPL RPL: mức ưu tiên yêu cầu, 00 cao nhất, 11 thấp TI=0, sử dụng bảng toàn cục, TI=1 sử dụng bảng cục Index: 13 bit số để chọn 8K mô tả đoạn bảng mô tả đoạn 00000000 00000000 Access rights Base(B23-B16) Base(B31-B24) Access rights G D OA Limit V (L19-L16) Base(B23-B16) Base(B15-B0) Base(B15-B0) Limit(L15-L0) Limit(L15-L0) mô tả đoạn 80286 mô tả đoạn từ 80386 Base: xác định địa bắt đầu đoạn Limit: giới hạn kích thước tối đa đoạn © DHBK 2005 85 /Chapter2 Đánh địa nhớ chế độ bảo vệ • 80286     • Base 24 bit: 000000H đến FFFFFFH (16 MB) Limit 16 bit: kích thước đoạn: từ đến 64 KB Địa vật lý= Base + độ lệch chương trình sử dụng tối đa: 2*8K*64 K= 1GB nhớ => nhớ ảo (virtual memory) 80386/486/Pentium  Base 32 bit: 00000000H đến FFFFFFFFH (4 GB)  Limit 20 bit:  G=0: kích thước đoạn: từ đến 1MB  G=1: kích thước đoạn từ 4K đến GB  Địa vật lý= Base + độ lệch  chương trình sử dụng tối đa: 2*8K*4 GB= 64 Terabytes nhớ

Ngày đăng: 12/11/2019, 13:47

TỪ KHÓA LIÊN QUAN

w