1. Trang chủ
  2. » Giáo Dục - Đào Tạo

Thiết kế và thi công kit vi xử lý 8086

130 0 0
Tài liệu đã được kiểm tra trùng lặp

Đ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

Thông tin cơ bản

Tiêu đề Thiết kế và thi công kit vi xử lý 8086
Tác giả Ngô Văn Bình
Người hướng dẫn Nguyễn Đình Phú
Trường học Trường Đại học Sư phạm Kỹ thuật Thành phố Hồ Chí Minh
Chuyên ngành Kỹ thuật điện - Điện tử
Thể loại Luận văn tốt nghiệp
Năm xuất bản 2000
Thành phố Thành phố Hồ Chí Minh
Định dạng
Số trang 130
Dung lượng 14,79 MB

Nội dung

Mặc dù vi xử lý có thể thao tác với dữ liệu trong bộ nhớ, nhưng một lệnh như vậy sẽ được thực hiện nhanh hơn trong thanh ghi cần ít chu kỳ đồng hồ hơn.. © __ Thanh ghi cơ sở BX Base: Th

Trang 1

BO GIAO DUC VA DAO TAO TRUONG DAI HOC SU’ PHAM KY THUAT

THÀNH PHÓ HÒ CHÍ MINH

HGMUIIE

ĐỎ ÁN TÓT NGHIỆP NGÀNH LUẬN VĂN TÓT NGHIỆP

THIET KE VA THI CONG KIT VI XU’ LY 8086

GVHD: NGUYEN DINH PHU SVTH: NGO VAN BINH

SKLOC

TP Hồ Chí Minh, thang 03/2000

Trang 2

LUAN VAN TOT NGHIEP

CHUONG Ee KHAO SAT BO VIXULY 8086

CHUONG He KHAO SAT TONG QUAT TAP LENH 8046

PUAN 3; THIÊ T KẾ PHẦN CỨNG KIT 8086

CHUONG I: CAC LINH KIỆN CÓ LIÊN QUAN

CHUONG HH: VI MẠCH GIẢI MÃ HIẾN THỊ 8279

CHUONG II: VI MACH GIÁO TIẾP NGOẠI VỊ 8255A

CHƯƠNG 1V : VIMẠCH GIAO TIẾP NỐI TIẾP 8251A

CHƯƠNG V: TÍNH TOÁN VÀ LỰA CHỌN LINH KIỆN

PHẦN 3: XAY DUNG PHAN MEM HE THONG

PHAN 4: THICONG

HUONG PHAT TRIEN DE TAI

KET LUAN DANH GIA

TAI LIEU THAM KHAO

Trang 3

BO GIÁO DỤC& ĐÀO TẠO CỘNG HÒA XÃ HỘI CHỦ NGHĨA VIỆT NAM

DAI HOC QUOC GIA TP HO CHi MINH ĐỘC LẬP~ TỰ DO HẠNHPHÚC

ĐẠI HỌC SƯPHẠM KỸ THUẬT TP HỖ CHÍ MINH —_—_

KHOA ĐIỆN

BỘ MÔN ĐIỆN ~ ĐIỆN TỬ

NHIỆM VỤ LUẬN VĂN TỐT NGHIỆP

Pr Os

Hộ và tên sinh viên : NGÔ VĂN BÌNH

Lớp 95 KDÐ

Ngành: Kỹ thuật điện - Điện tứ

1 Ven de ta Thiet ke va thi cong KIT vi xi ly 8986,

2, Cae sé hew ban dau

5 Giáo viên hướng dẫn: NGUYỄN ĐÌNH PHÚ

6 Ngày giao nhiệm vụ : 12\2000

7 Ngày hoàn thành nhiệm vụ : 03\2000

Giáo viên hướng dẫn: Thông qua Bộ môn

Trang 4

NHẬN XÉT CỦA GIÁO VIÊN HƯỚNG DẪN

OS

Trang 5

Giáo viên hướng dẫn:

Trang 6

NHAN XET CUA GIAO VIEN PHAN BIEN

9<

Trang 7

Giáo viên phẳn biện:

Trang 8

Loi cam ta

BOS

Qua thời gian làm đề tài tôi đã hoàn thành tập luận án đúng thời gian quả định của nhà trường Kèt quả này đạt được là nhờ vào sự day dé nhiệt tình

của Thấy Cô trong trường suối 4 uăm qua, cùng sự tận tình của thẩy hướng

dân và xự nổ lực của hân thân,

Ti xin chân thành cằm ơn Thầy NGUYỄN ĐÌXH PHÚ đã trực tiếp hưởng dàn cùng các Thầy - Cô trong trong khoa điện trường Đại học Sư

Pham ky Thuật đã giúp đổ tôi hoàn thành luận văn tốt nghiệp này

Tôi xin chân thành eâm ơn sự đóng góm ý kiến của tất cả các bạn

TP.HCM Ngày 25 tháng 03 năm 2000

Sinh viên thực hiện:

NGÔ VĂN BÌNH

Trang 9

Ih, Chife ning 8086

Chương HH: Khảo sắt tổng quát tập lênh vì xử lý 086

{ Câu trúc lệnh

HH: Các phưnống pháp định địa chỉ

1), Các phương phập định địa chi thong dung

3) Nháo sat tổng quất tập lệnh

Phin 2: THIET KE PHAN CUNG KIT 8086

Chuong 1: Các lình kiện bán dẩn có liên quan

III Thiét kế giao tiếp và ứng dụng của 8251A

Phén 3: XAY DUNG PHAN MEM HE THONG

Trang 10

1) Giải thuật hệ thống Kít vi xử ly 8086

2) Chương trình hệ thống

Phan 4: THI CONG

Hướng phát triển đề tài

Trang 11

LOI NOI DAU

ROS

-_ Trong giai đọan hiện nay, máy tính điện tử đã phần không nhỏ trong

sự phát triển công nghiệp hóa của xã hội Do sự hiểu biết của con người ngày càng cao Các thế hệ máy tính đã nối tiếp nhau phát triển không ngừng Ngay

trong giai đọan đầu của thế hệ Vi xử lý 8 biL được dùng là Z80, 8085 sau đó là

các hệ Vỉ xử lý I@ hít như 8086, 8088 và hiên nay là 32 bit hay 64 bit

-_ Các hệ vi xử lý này đã góp phần quan trọng trong việc chương trình

hóa các hoạt động của mây móc ong công nghiệp nhờ phần mềm ứng dụng

Mội khi trong công nghiệp đã ứng dung nhiều vào Ví xử lý thì các nhà chế tạo

không bỏ lỡ cơ hồi cho ra đời các họ Ví xử lý ngây cảng tiên tiến hơn

Tiến tình thân đó, ti đã quyết định thực hiện để tái có tựa đề: “Thiết

kế ~ thì công hệ thàng vì vử lý SÓX6 “ nhằm mục đích nghiền cứu và ứng dụng

bộ ví xử lý NÓNG cho thực tế

Tôi xin chân thành cắm ơn thấy NGUYEN PINH PHU va qug thay cô

trong khoa điển đã tận tình hướng dẫn tôi đã hoàn thành để tài tốt nghiệp này

Vì thời gian và kiến thức có hạn, chắc chắn tập luận ván này mắc phải

thiêu xót, Người nghiện cứu rất chân thành đón nhận những đóng góp quý báu

của quy thầy cô và các bạn

TP Hô Chí Minh, ngày25 tháng 03 năm 2000

Người thực hiện :

Ngô Văn Bình

Trang 12

vi xử lý hay còn gọi là máy tính điện tử là một trong những ứng dụng đó, nó là thiết

bị xử lý thông tin, điều khiển các thiết bị bên ngoài hay các thiết bị công nghiệp

một cách tư dâng

Trước nhụ cầu thực tế, kịt ví xứ lý là một công œ

giúp cho smh viên nghiền cứu học tập, mã còn có th

ạy và học không những

ứng dụng mô phóng hoạt đồng của một máy tính điện tử, đưa những tiến bộ của khoa học kỹ thuật dần vào

g hiến đại Trong khá năng và kiến thức đá học,1ôi quyết tám thực hiện để tài “PHIẾTP KẾ LHECONG KIT VEXU LY 8086" dé đáp ứng nhụ cầu trên

VỊ xứ lý là một hệ thông số dựa ưén cơ sở linh kiến chủ yếu là bộ vi xử lý

(CPU), Tùy thuậc vào cầu trúc của bộ ví xử lý riếng và phan điều khiển mà ta

cố thể báo gẻm nhiều loại ví mạch Dưới sự điểu khiển bằng chương trình một bộ

vi xf ly thực hiện các phép tính số học và logic, đồng thời tạo ra những tín hiệu

điều khiển cho bộ nhớ và thiết bị vào ra Những mệnh lệnh này gọi là chương trình

nguồn và được chứa trong bộ nhớ chỉ đọc (ROM), khi mất điện dữ liệu trong bộ nhở này không bị mất, khi Reset máy chương trình này sẽ thi hành trước tiên khởi

tạo cho máy làm việc Khi làm việc CPU đọc những lệnh đó ra rồi thực hiện chúng

Do đó ta có thể nói bộ vi xử lý là cấu trúc phần cứng được xử lý bằng phần mềm

Để tài này không chỉ giúp cho sinh viên hòan thành luận văn tốt nghiệp mà

còn hình thành trong mỗi sinh viên những kinh nghiệm, sáng tạo và năng động Sau

này để tài sẽ kết hợp với các ngành chuyên môn khác để phát triển mô hình này

được hoàn thiện hơn

Trang 13

CHƯƠNG CƠ SỞ LÝ LUẬN

1 XÂY DỰNG ĐỀ CƯƠNG LUẬN VĂN:

1) Xác định nhiệm vụ nghiên cứu:

Việc chọn để tài xuất phát từ hai lý do:

-_ Khách quan: hiện nay các nền công nghiệp có nhu cầu hiện đại hóa các

thiết bị theo xu hướng cải tiến hóa các thiết bị bằng cơ khí sang thiết bị

điều khiển tự động đụng dụng kỹ thuật điện tử

- Chi quan: do nhú cầu học tập, nghiên cứu, rèn luyện kỹ năng thực hành,

ứng dung vốn kiến thức khoa học kỹ thuật tiên tiến trực tiếp vào lĩnh vực

XHâI

Nhiềm vụ nghiên cứu nhằm đạt được các mục đích chú yếu:

+ Muc dich trsete mat: tha man về cơ bản các yêu cầu dé ra theo phương

chấm “ Học đi đối với hành *

+ Mito dich ngs Tich ly kinh nghiệm, rcn luyện và nâng cao năng

lức, tạo bán lĩnh để săn sàng tham giá lao động sắn xuất, hoa nhập vào bước tiến

của thẻ hệ

3) Uhdn ach tai liệu liên hệ:

“Trong thài gian nghiên cứu để tài, người nghiền cứu đã thống nhất tham khảo môi sổ tài hiệu có liền quan trong khoảng thời gian cho phép,

~_ Phương pháp luận nghiên cứu khoa học: tìm hiểu về cấu trúc hình thức của một để tài nghiên cứu khoa học và phương pháp tư duy để giải quyết vấn

để,

- Ky thuat vi xit ly Trần Văn Trọng: Tài liệu cung cấp về cấu trúc của vi xử

lý 8086

- So dé chân linh kiện bán dẫn Dương Minh Trí: cung cấp sơ đồ chân và

bảng trạng thái họat động của các IC và các linh kiện bán dẫn,

- Cau trúc máy tính: Lê Anh Việt: Tài liệu cung cấp kiến thức cơ bản về cấu

trúc máy tính, tổ chức CPU, hợp ngữ và cách lập trình,

- The 8086/8088 Family Design Programing and Interfacing — John

uffnbeck: tài liệu cung cấp những kỹ thuật kết nối vi xử lý và những phần mềm ứng dụng

~ Ky thuat vi xử lý - Văn Thế Minh: tài liệu cung cấp kỹ thuật giao tiếp với các thiết bị ngoại vi

Trang 14

I, KE HOACH NGHIEN COU:

1) Dàn ý nghiên cứu:

Phần I: Giới thiệu chung

Phần II: Thiết kế phần cứng Kit 8086

Phan III: Xây dựng phần mềm hệ thống

Phần IV: Thi công Kit 8086

2) Đối tượng nghiên cứu:

Vi xử lý là trung tâm điều khiển các đối tượng, điều khiển hệ thống như máy

tự động, dây chuyển sản xuất Để hệ thống xử lý thi hành các chức năng điểu

khiển như mong muốn, chúng ta phải lập trình bằng ngôn ngữ tương ứng với hệ vi

Xử lý Vì thể đôi tưởng nghiên cứu chính là thiết kế khối điều khiển tương quan giữa phần cúng và phần mềm để vận hãnh đúng chức năng họat động thực sự của may,

Trang 15

Bên trong gồm hai khối chính:

- Khối thực hiện EU (Execution Unit)

- Khối giap tiếp bus (Bus Interface UniU

Trang 16

Nhiệm vụ của khối thực hiện lệnh là thực hiện các lệnh cửa chương trình Nó

gồm có khối số học — logic (ALU) cho phép thực hiện các phép tính số học

Œ,- + *„/) và các phép logic (AND, OR, NOT -) Trong khối thực hiện còn có một

số ô nhớ gọi là thanh ghi dùng để chứa dữ liệu cho các phép tính Mỗi thanh ghi giống nh một ô nhớ ngoại trừ chúng được đát tên thay vì dùng số để chỉ địa chỉ

EU (Execution Unit) co ede thanh ghi cong dung chung chia thành hai nhóm: nhóm thanh ghi đí liệu và nhóm thanh ghí chí số

@ — Cúc thanh ghí dữ liệu (Data Rcgister):

Con tré Stack (Stack Pointery

Con tré nén (Base Pointer)

Chỉ số nguồn (Source Index)

Chi s6 dich (Destnation Index)

DI

@ Ciic thanh ghi doan (Segment Register):

cs Doan ma (Code Segment)

DS Doan df ligu (Data Segment)

§S Doan Stack (Stack Segment)

ES Doan thém (Extra Segment)

4 Céc thanh ghỉ trạng thái và điều khiển (Status & Control Register):

TP Con trỏ lệnh (Intruetion Pointer)

+ Các thanh ghỉ dữliệu: Ộ

Có bốn thanh ghi dữ liệu ký hiệu lần lượt là: AX, BX, CX, DX, được người

lập trình sử dụng cho các thao tác với dữ liệu Mặc dù vi xử lý có thể thao tác với

dữ liệu trong bộ nhớ, nhưng một lệnh như vậy sẽ được thực hiện nhanh hơn trong

thanh ghi (cần ít chu kỳ đồng hồ hơn) Đó cũng là nguyên nhân tại sao các bộ vi xử

lý biện đại có xu hướng nhiều thanh ghi

Các byte cao và byte thấp trong thanh ghi được truy cập độc lập: Byet cao của

thanh ghỉ AX được gọi là AH và byte thấp được gọi là AL Tương tự như vậy cho

các byte cao và byte thấp của các thanh ghỉ BX CX DX lần lượt là BH & BL CH &

CL, DH & DL, Nhé diéu nay mà ta có nhiều thanh ghi hơn khi làm việc với các số

Trang 17

liệu có kích thước byte dài Trong đa số lệnh các thanh ghi dữ liệu được chọn tùy ý

nhưng các thanh ghi này lại có chức năng riêng cố định trong một số ít lệnh

° 'Thanh ghi tích lũy AX (Accumulator):

Là thanh ghi được sử dụng nhiều nhất trong các lệnh số học — logic và truyền

dữ liệu bởi vì việc sử dụng thanh ghỉ này tạo ra mã máy ngắn nhất

Trong các thao tác nhân hoặc chia một trong các số hạn tham gia phẩi chứa trong AH hoặc AL, các thao tác vào ra cũng sử dụng thanh ghi AH hoặc AL

© Thanh ghi cơ sở BX (Base):

Thanh ghi BX được dùng cho tính toán địa chỉ trong phương pháp định địa chỉ

gián tiếp,

© = Thanh ghi d&m CX (Count):

Việc thực hiện cäc chương trình lập được thực hiên đễ đàng nhờ thanh ghi CX,

trong đồ CN đồng vai trò là bộ đểm vòng lập, Môt thí dụ khác của việc sử dụng

bí CN đó là lệnh REP (Repea) lệnh này điều khiển một lớp các lệnh

n vd ede thao fae chưới, CL, củng được sử dụng lá một biến đếm trong các

lệnh dịch hay quay các bút

° Thánh phí đừ liệu DX (Data):

DX dùng để định địa chí gián tiếp trong các thao tác vào ra, nó cũng còn được

sứ dụng chữa toan han, kết quả trong phép nhân và chia

© — Thanh ghi con trỏ và chỉ số:

Các thanh ghi SP, BP, SI, DI thường trồ tới các 6 nhớ (tức là chức các dia chỉ

offset của các ô nhớ đó) Khác với thanh ghi đoạn, các thanh ghi con trổ và ngăn

xếp được sử dụng trong các thao tác số học và một số thao tác khác nhau

e Thanh ghi con trổ - ngăn xếp SP (Stack Pointer):

Di chuyển từ địa chỉ cao đến địa chỉ thấp, dùng để kết hợp với thanh ghỉ đoạn

Stack SS (Stack Segmen0để lưu trữ địa chỉ trổ về hoặc dữ liệu vào trong ngăn xếp

° Thanh ghi con trổ cơ sở BP (Base Pointer):

Thanh ghi này được dùng để truy cập dữ liệu trong ngăn xếp mà không làm thay đổi SP Tuy nhiên, khác với SP thanh ghi BP cũng còn được sử dụng đễ truy cập dữ liệu ở các đoạn khác

e _ Thanh ghi chỉ số nguồn SI (Source Index):

Thanh ghi SI được sử dụng để trỏ tới các ô nhớ trong đoạn dữ liệu được định bởi thanh ghi đoạn dữ liệu DS (Data Segment), c6 thé tuy cap dễ dàng các ô nhớ liên tiếp bằng cách tăng SI

e Thanh ghi chỉ số đích DI (Destination Index):

Thanh ghi DI có chức năng tương tự như thanh ghi SI và được dùng kết hợp

với thanh ghi đoạn thêm ES (Extra Segment) Cả hai DI và SI thích hợp trong các thao tác sao chép, di chuyển hoặc so sánh các khối dữ liệu có dung lượng đến

Trang 18

s Thanh ghỉ con trỏ lệnh IP (Intruction Pointer):

8086 không thực hiện lệnh trực tiếp trong bộ nhớ mà lệnh được lấy ở hàng đợi

lệnh có cấu tạo giống như một thanh ghi dịch (FIFO: firt in firt out: vào trước ra

trước) chứa các mã lệnh cung cấp bởi khối BIU Thanh ghi IP chỉ đến lệnh tiếp theo chưa được nhập vào hàng đợi lệnh và được dùng kết hợp với thanh ghi CS

Thanh ghi IP được cập nhật mỗi khi có một lệnh được thực hiện xong, khác với các thanh ghi khác, IP không bị tác động trực tiếp bởi các lệnh

e Thanh ghi cd (Flag Register):

Thanh ghi cờ của 8086,có độ dài 16bit (2byte) byte thấp chứa các bit trang thái giống như trong 8085 phắn ánh trạng thái của vi xử lý, byte cao chứa lbit trạng

thái đó là bú I1 và 3 bít điều khiến dùng để điều khiển hoạt động cửa vi xứ lý Sau

đây là cầu tao của thanh ghỉ cờ rong 8086

Cờ nhớ CF được thiết lập khi có số nhớ từ bit MSB Trong phép cộng hoặc số

thiếu trong phép trừ (MSB trong các lệnh byte là bit 7 và trong các lệnh word là bit

15) cờ CF cũng bị ảnh hưởng bởi các lệnh quay và dịch

+ Cờ chẩn lề PF:

Sau các lệnh số học hoặc logic đối với các lệnh byte nếu số lượng số '1' trong

byte kết quả B chan thi cd PF dudc thiét lap 1a ‘1’ ngugc lai 1a ‘0’néu 1a lé, ddi với

các lệnh word chỉ xét các byte thấp

+ Cờ nhớ phụ AF:

Cờ nhớ phụ được thiết lập nếu có nhớ (cộng) hoặc có thiếu (trừ) từ phân nửa

dưới đến phân nửa trên của toán hạn (đối với lệnh byte đó là bit 3 và đối với lệnh word là bit 7) cờ AF được sử dụng trong các thao tác với số BCD

+ Cờ zero ZF:

Cờ zero được thiết lập khi kết quả bằng 0

Trang 19

Tạo khả năng thực hiện chương trình theo từng bước, khi TF bằng '1' 8086

phát sinh ngắt loại 1 (ngắt cứng) Chương trình DEBUG sử dụng khi thỉ hành lệnh T (trace) để chạy từng bước một lệnh Đầu tiên DEBUG thiết lập cờ TF rồi mới

chuyển điểu khiển cho lệnh đó Sau khi lệnh được thi hành vi xử lý sẽ phát sinh

một ngắt do TE được lập DEBUG sử dụng chính phục vụ ngắt này để lấy quyền

điểu khiển từ vi xứ lý

+ Cờ ngắt I:

Cờ ngắt được sử dung để điểu khiển các ngất phần cứng bên ngoài, nếu cờ này được thiết lấp các ngất phầu cứng có thể ngất 8086, Khi xóa IF, các ngắt bên

ngoài không còn tác dụng nứa (bị che) Thực ra vẫn con một ngắt cứng không che

được NMI (Non Maxkahle Tntcrrup)

Eifde khí ví xử lý áo quyền điều khiển cho một phục ngất nó xóa cả IF và

TH như vậy phúc ngắt đo sẽ không bị ngắt, Tất nhiên một phục vụ ngắt có thể đổi

+ Cờ điều khiển DF:

Là một trong ba cờ điểu khiển dùng điều khiển các thao tác của vi xử lý công

dụng của DF là dịch hướng cho các thao tác chuổi, cảc thao tác này được thực hiện bởi hai thanh ghỉ chỉ số SI & DI, nội dung của hai thanh ghi này sẽ tự động tăng lên khi DF = 0 và giầm xuống khi DF =l

2) Khốt giao tiếp (BIU):

Khối giao tiếp làm đơn giản việc liên lạc giữa EU và bộ nhớ hoặc các vi mạch vào ra Nó có nhiệm vụ gởi các địa chỉ , số liệu và tín hiệu điều khiển vào các bus,

BIU & EU liên hệ với nhau bằng các bus nội bộ, khi EU đang thi hành một lệnh, BIU nạp 6 byte mã lệnh tiếp theo vào và đặt chúng vào hàng đợi lệnh, mục đích

của việc này là làm tăng tốc độ của vi xử lý Nếu EU cẩn liên lạc với bộ nhớ hay thiết bị ngoại vi, BIU sẽ treo các lệnh nhận trước và thực hiện thực hiện các thao tác cân thiết BIU cấu tạo gồm các thanh ghi đoạn và con trổ lệnh dùng để chứa địa

chỉ các ô nhớ

Trang 20

4) Các thanh ghỉ đoạn:

Được dùng để lưu trử địa chỉ của các lệnh và dữ liệu trong bộ nhớ, vi xử lý dựa trên các giá trị này để truy cập bộ nhớ

Bộ nhớ là tập hợp các byte ô nhớ, mỗi byte có một địa chỉ xác định bắt đầu từ

0 8086 gần cho mỗi ô nhớ một địa chỉ vật lý 20 bit Như vậy, nó có thể định địa chỉ đến 2” byte (tương đương 1MB) ô nhớ, các byte đầu tiên của bộ nhớ có địa chỉ như sau:

H

và cứ tiếp tục cho đến giá trị lớn nhất là FFFFFH

Do các địa chỉ quá lớn (20 bi) không thể chứa ưong một thanh ghỉ của 8086

(16 bit) nên SOSG chia bộ nhớ thành các đoạn bộ nhớ (Memory Segment)

Một đoạn bộ nhớ là một khối gồm 2'° (64K) 6 nhớ lin tiếp nhau, mỗi đoạn

định bằng một địa chỉ đoạn bắt đầu từ địa chỉ 0, địa chỉ đoạn là một số 16

bit nên địa chỉ đoạn lớn nhất là FFFF Bên trong mỗi đoạn số ô nhớ được xác định

bằng địa chỉ tương đối (offset), đó là số byte tính từ đầu đoạn, với một đoạn 64K thi offset cũng là một số 16 bit, byte đầu tiên trong đoạn có offset bằng 0 và byte cuối cùng bằng FFFF

Một ô nhớ có thể được xác định bằng địa chỉ đoạn:địa chỉ tương đối trong

đoạn (segment:offset) và được gọi là địa chỉ logic

Thí dụ: ô nhớ A4FB: 4872-có địa chỉ đoạn là A4FB và địa chỉ offset là 4872

Để tìm địa chỉ vật lý của ô nhớ trước tiên ta dịch địa chỉ đoạn về bên trái 1 bit và

sau đó cộng với địa chỉ offset, như vậy địa chỉ vật lý của ô nhớ A4FB:4872 được tính như sau: A4FB0

4872 A9822

b) Sắp xếp đoạn:

Trong bộ nhớ đoạn 0 bắt đầu từ địa chỉ 0000:0000 = 00000 và kết thúc ở

0000:FFFF = OFFFF, đoạn 1 bắt đầu từ địa chỉ 0001:0000 = 00010 và kết thúc ở địa

chỉ 0001:FFEE = 1000F Như vậy, có rất nhiều sự chồng nhau giữa các đoạn Các đoạn bắt đầu từ các địa chỉ cách nhau 16byte và địa chỉ đầu của mỗi đoạn luôn kết

Trang 21

thúc bằng các số 0 16byte được gọi là một khúc (Paragraph), các địa chỉ chia hết

cho 16 ( các địa chỉ kết thức bằng 0) là các biên giới khúc (Paragraph Boundary)

©) Các đoạn của chương trình:

Mỗi đoạn chương trình ngôn ngữ máy bao gồm các lệnh và dữ liệu, còn một vùng đặc biệt trong RAM gọi là ngăn xếp (stack) Mã lệnh, dữ liệu và ngăn xếp

của chương trình được nạp vào các đoạn bộ nhớ khác nhau đó là đoạn mã (code segment), đoạn dữ liệu (data segment), doan ngăn xếp (stack segment)

Để theo dõi các đoạn khác nhau của chương trình 8086 được cung cấp 4 thanh ghi đoạn để chứa các địa chỉ đoạn, các thanh ghi CS, DS, SS lần lược chứa các địa

chỉ đoạn mã đoạn dữ liệu, và đoạn ngăn xếp Nếu chương trình muốn truy cập đến

một đữ liệu thứ hai nó có thể sử dụng thanh ghỉ đoạn thém ES (extra segment)

Một chương trình không phải bao giờ cũng cần chiếm hết một đoạn 64KB, do đặc điểm chồng nhau giữa các đoạn cho phép các đoan của một chương trình nhỏ hen O4KB co thé dat gan lai với nhau Tại một thơi điểm, chỉ có các ô nhớ được định địa chỉ bi 4 thanh phí đoạn mới có thể uy cập, nghĩa la chỉ có 4 đoạn bộ nhớ

là tác động, Tuy nhiền nội dụng của các thanh ghỉ đoạn œ5 thể thay đổi bởi chương

trình để tuy cấp đến các đoạn Khác nhau,

d) Hồng đợi lệnh:

Như tà đã biết, để tăng tốc độ vỉ xử lý khối BIU tiếp nhận các lệnh và đưa vào hàng đợi lệnh (Queue) rong khi đó khối EU đang thí hành lệnh Hàng đợi lệnh

có thể nhận 6 byte mã lệnh, các lệnh của 8086 có độ dài từ 1 đến 6 byte, nếu lệnh

chưa vào đầy đủ trong hàng đợi lệnh thì khối EU sẽ chờ cho đến khi lệnh nạp hết

vào hàng đợi lệnh

I CHỨC NĂNG CỦA 8086:

1) Sơ đồ chân của 8086:

8086 là vi xử lý 16 bit nó gồm 16 đường dữ liệu và 20 đường địa chỉ, các

đường dữ liệu từ Do đến D¡s và các đường địa chỉ từ Ao đến Ai: hoạt động theo

phương pháp đa lộ thời gian

8086 có thể làm việc ở hai chế độ :

- Ché d6 Minimum

- Chế độ Maximum

Trong chế độ minimum, 8086 điều khiển các thiết bị bằng các tín hiệu điều

khiển của chính nó, trong chế độ này hổ trợ bộ xử lý toán học 8087

Trong chế độ maximum cần thiết phải kết hợp với vi mạch điểu khiển bus

8288 để tạo ra các tín hiệu đọc — ghi cho bộ nhớ và các thiết bị ngoại vi và chế độ

này cho phép làm việc với 8087

Trang 22

« INTR- Interrup Request (input):

Mức cao ở ngõ này báo cho 8086 biết có một yêu cầu ngắt (thuờng được gởi tới từ vi mạch xứ lý ngắt 8259), tín hiệu ngắt tại chân này có thể bị che bằng phần mềm Khi vi xử lý chấp nhận yêu cầu ngắt, nó sẽ đưa ra một chu kỳ chấp nhận ngắt và vi mạch xử lý ngắt phải gởi địa chỉ của ngắt lên bus dữ liệu tương ứng với

chu kỳ thứ hai

© NMI (Non Maskable Interrup):

Đây là ngắt không che được, tác động ở mức cao vi xử lý nhảy đến địa chỉ ngắt số 2 trong bắng vector ngắt và không tạo ra chu kỳ chấp nhận ngắt

_ © Reset (input):

“Ngo vao mức cao đặt vi xử lý vẻ trạng thái ban đầu sau ít nhất 4 chu kỳ đồng

hỗ Thanh ghỉ CS được đặt giá trị FFFF và thanh ghi IP được đặt giá trị 0000 Như

vậy chỉ thị được thực hiện đâu tiên chứa ở ô nhé FFFFO quá trình chuyển tiếp từ

Trang 23

Tín hiệu báo đã hoàn tất thao tác truyền dữ liệu cửa bộ nhớ hoặc thiết bị vào

— ra, tác động ở mức cao, vi xử lý sẽ đợi nếu tín hiệu này ở mức thấp

® ADe AD¿; - Address/Data bus (input / output):

Giống như trong 8085, các đường địa chỉ - dữ liệu này làm việc theo nguyên tắc đa lộ thời gian, là địa chỉ trong chu kỳ T; và là dữ liệu trong chu kỳ Tạ, T3, Ty,

Tạ, tác động ở mức cao, có cấu tạo ba trạng thái và ở trạng thái tổng trổ cao trong

lúc vi xử lý 'Interrup acknowlegde" và "Hodl acknowleagde"

® ApefSx Ajø/S¿ — Addres/SUHus (outpuÐ):

Trong chủ Kỳ T; là 4 bit dia chi cao khi thao tác với bộ nhớ, trong hic thao tác

với thiết bị vào ra chân này có gía trị thấp, Trong cả hai thao tác cũng như vào — ra

các bít này là trạng thái rong các chủ kỳ T;, T›, T4, Ta Trang thái bịt cao cho phép

ng At, Se due cap nhật tại mỗi thời điểm bất đầu của mối chủ kỳ đồng hỗ S & Sạ cho biết thành phí đoạn đang được sử dụng, thông tin nay can thiết cho Co- processor xác định vị trí của toán hạng, Có cấu tạo ba trạng thái và trạng thái tổng

trổ cao khí vì xử lý 'Holdl acknowlegde'

Thanh ghi đoạn được chọn

Thanh ghi đoạn thêm

lu 1 “Thanh ghi đoạn ngăn xếp i

1 0 “Thanh ghi đoạn lệnh |

i ¡ — |Thanhghiđogndflêu |

Hai bit S; & S4 dé chọn các thanh ghi đoạn

© BHE/S; — Bus high enable / status (output):

Kết hợp với bit địa chỉ Ao để xác định chế độ truyền dữ liệu, BHE ở mức thấp

trong chu kỳT) của các thao tác đọc — ghi và chấp nhận ngắt khi một byte được

truyền trong byte cao của bus dữ liệu S; có hiệu lực trong các chu kỳ Tạ, Tạ & Tạ,

cấu tạo ba trạng thái và trạng thái tổng trở cao khi vi xử lý ở chế độ ‘Hold’

BHE |A0 | Kiểu truyền dữ liệu

0 0 Truy xuat 16 bit

0 1 Truy xuất byte cao từ địa chỉ lẻ

1 0 Truy xuất byte thấp địa chỉ chẳn

Các kiểu truy xuất dữ liệu

®© RD~ Read (outpu0:

Tín hiệu ra điều khiển việc đọc bộ nhớ hoặc khối vào ra phụ thuộc vào bit

trạng thái S;, mức thấp tại T›, Tạ và T„ trong mỗi chu kỳ đọc, cấu tạo ba trạng thái

và tổng trở cao khi vi xử lý ở chế độ “Hold acknowlegde"

Trang 24

Chân chọn chế độ làm việc của 8086, chế độ làm việc là minimum tương ứng

với mức cao và chế độ làm việc là maximum ứng với mức thấp Bus điều khiển ở

hai chế độ có chức năng khác nhau

® M/IO (outpu0:

Ngỏ ra trang thái giống như bit Sạ ở chế độ maximum dùng để báo vị trí đang truy xuất dữ liệu, Mức cao là bộ nhớ và mức thấp là khối vào-ra Cấu tạo ba trạng thái, tổng trở cao khi vị xử lý ở chế độ "Hold acknowlcgde"

®© WR ~ writc (outpuU:

‘Tin hiéu va điều khiến thao tác phí vào bộ nhđ hoác khối vào-ra thy theo gid trị của ngồ MU1O, Tác đồng mức thấp ở T›, T; và T„ của mối chủ kỳ ghi, cấu tạo ba

thải tổng trở cao khi vị xử lý ở chế độ *Hold acknowlegde"

® TNIRA - latenup Acknowlegde (outpuU:

uắt, tác động mức thấp tại T›, Í

trạng thái Và trú

Tín hiện chấp thuận 3 và T„ dung để đưa địa

chí của ngất len bus dữ liệu,

e@ ALE ~ Adtess Latch Enable

Tin higu d kh chốt dia chi 74LS373 hoac 8282/8283 t4c động mức cao

trong khoáng T; của mỗi chủ kỳ bus :

+ Khi ALE = | cdc bit ADo ADjs 1a dia chi

e HLDA — Hold acknowlegde (output):

Tín hiệu ra ở mức cao cho biết yêu cầu Hold được chấp thuận, vi xử lý sẽ treo

bus nội bộ và các đường điều khiển của nó ở trạng thái tổng trở cao

® DT/R - Data Transmi/Receive (output):

Tín hiệu ra dùng để điều khiển hướng truyền dữ liệu của vi mạch thu-phát Cấu tạo ba trạng thái và trạng thái tổng trở cao khi vi xử lý ở chế độ “Hold acknowlegde’

e DEN — Data enable (output):

Tín hiệu ra ở mức thấp cho mỗi chu kỳ thao tác bộ nhớ và I/O và cả INTRA

điều khiển ngỏ ra cho phép của 8286/8287 trong hoạt động thu — phát dữ liệu Cấu

tạo ba trạng thái, trạng thái tổng trổ cao khi vi xử lý ở chế d6 ‘Hold acknowlegde’,

© So, Si, S; (thông tỉn trạng thái) :

'Vi mạch 8288 dựa trên các thông tin này để thực hiện các thao tác điều khiển Cấu tạo ba trạng thái, trạng thái tổng trổ cao khi 'Hold acknowlegde' Tác động trong các chu kỳ Ts, T: & T và trở về trạng thái thụ động ở Tạ hoặc T„ khi Ready

ở mức cao, Một sự thay đổi bất kỳ cửa tín hiệu này trong chu kỳ Tạ được dùng để

Trang 25

& RO/GTA, RYIGT, — Reques/Gram (inpuUoutpuU:

Hài tín hiện yêu cầu ví xứ lý nhường quyền sứ dung bus, tín hiệu RQ/GTọ có mife i Hen cao hen Nguyên lý hoạt động được mồ tả như sau:

+ Một xung có hể rộng một chủ kỳ đồng hỗ cho biết mớt lính kiện cân sử

Yêu cầu xẩy ra trong khi hoặc trư“c T›

Chu kỳ hiện hành không phải là byte thấp của word (ở địa chỉ lẻ)

Chu kỳ hiện hành không ở trạng thái chấp nhận ngắt, Không có chỉ thị khóa

Nếu bus không bận khi có yêu cầu thì có hai trường hợp sẽ xảy ra

- Bus sé treo ở chu kỳ đồng hỗ kế tiếp

-_ Một chu bộ nhớ sẽ khởi động trong vòng 3 chu kỳ đồng hồ

© QS), QSo— Queue status (output):

Ngõ ra cho biết trạng thái của hàng đợi lệnh, những thông tin này cần thiết cho Co-processor

Trang 26

Q% |QS; Trạng thái hàng đợi lệnh

0 0 Không hoạt động

Xóa nội dung hàng đợi kệnh

Nạp byte mã lệnh đầu tiên vào thanh ghi lệnh

Nạp byte mã lệnh tiếp theo của lệnh nhiều byte

Trang 28

a) Giải thích giản đồ thời gian đọc và ghỉ:

+ Ởchu MT):

Trong chu kỳ này địa chỉ của bộ nhớ hay thiết bị ngoại vi đưa ra trên các

đường địa chỉ hoặc địa chỉ dữ liệu và địa chỉ trạng thái Các tín hiệu điều khiển

ALE, DT/R, M/IO cũng được đưa ra để giúp hoàn tất việc giử thông tỉn địa chỉ này + Ởchu kỳ T;:

Trong chu kỳ này CPU đưa ra các tín hiệu điều khiển RD hoặc WR, DEN và tín hiệu dữ liệu trên Dạ + D›; nếu là lệnh ghi DEN thường dùng để mở các bộ đệm của bus dữ liệu nếu chứng được dùng trong hệ thống Tại cuối chu kỳ Tạ CPU lấy mẫu tín hiệu Ready để xử lý trong chu kỳ tiếp theo khi nó phải làm việc với bộ

nhớ, thiết bị ngoại vi cham

ay CPU dàng thời gian cho bộ nhớ hay thiết bị ngoại vi truy chủ kỳ đọc dữ liệu thì tại cuối T, CU sẽ mẫu tín hiệu của

cuối chủ kỳ T; mà CPU phát biện ra tín hiệu Ready = 0 thì

CPU tứ xen vào T; một chủ kỹ T dé tao chu ky dgi T, = 8 * TT nhằm kéo dài thời gian để thực hiện lệnh, tạo điều kiện cho bộ nhớ và thiết bị ngoại ví chậm có đủ

thời gian hoàn tắt công việc đọc-ghi dữ liệu

+ Ocha kd Tye

Trong chu này các tín hiệu trên bus được giải hoạt (đưa về trạng thái

Không tích cực) huẩn bị cho chu kỳ bus mới Tín hiệu WR trong khí chuyển trạng thái từ '0' lên `1” sẽ kích họat trạng thái ghi vào bộ nhớ hay thiết bị ngoại vi

b) Nguyên tắc thực hiện chương trình của vi xử lý #0%6:

Các chỉ thị của 8086 có độ dài 1 byte đến 6 byte, từng chỉ thị được khối thực hiện lấy ra từ hàng đợi lệnh sau đó giải mã và thực hiện Các mã lệnh khác tiếp

theo lai được nạp vào hàng đợi lệnh bởi khối BIU:

Trang 29

¢) Truy xudt b6 nhé va su sdp xép cdc đoạn:

8086 có thể quản lý đến 1MB bộ nhớ, để đánh địa chỉ được 1MB (1.048.576

byte) cần phải có 20 đường địa chỉ BIU xác định địa chỉ vật lý này bằng cách cộng

địa chỉ segment với địa chỉ offset Trước tiên nhân địa chỉ segment với 16 (vì dịch

sang trái 4bi\) và sau đó cộng với offset, tổng số nhận được chính là địa chỉ vật lý của ô nhớ và sẽ được đưa vào bus địa chỉ

35280

e h 35280 [ 3⁄4

` 1

Hình 1.6: Trưy xuất dữ liệu trong bộ nhớ

Địa chi offset được lấy ra từ một thanh ghi của khối EU (thanh ghi dữ liệu, chỉ số hoặc bộ đếm lệnh) Thanh ghỉ này dược BU sắp xếp cố định thành từng cặp Hình trên sẽ mô tả việc sắp xếp các thanh ghi để xác định địa chỉ vật lý

Thanh ghi đoan THANE 6H OFFSET

Poan lénh (CS) P

Đoan ngăn xến (SS\

SP, BP Đoan dữ liên (2S)

Poan thém (8S) BX, SI, DI hoặc hằng số

Trang 30

cuối cùng gồm một hoặc hai chứa toán hạng 8 hoặc 16 bit

Thực tế để biểu diển dạng thức các byte ding để mã hóa lệnh Mov Ta tiấy rằng để mã hóa lệnh Mov ta phải cần ít nhất là hai byte, trong đó 6 bit của byte đầu dùng để chứa mâ lênh Đối với lệnh Mov để chuyển dữ liệu kiểu:

Hộ nhớ €* thanh ghỉ

‘Thy bit dau (opeode) nay luồn là *100010° (đối với thanh ghi đoạn thì khác)

Đi với bịt *19) dàng để chỉ hướng đi của dữ liệu

D z0 tlủ dữ liệu đi từ thanh ghi cho bdi 3 bit cla REG

II = T dữ liệu đi đến thanh ghi cho bdi 3 bit REG

Đôi với bit dùng để chỉ rằng một byte (W = 0) hoặc một từ (W = 1) sẽ được chuyển

TIỪ

EG |R Địa chỉ trực tiếp phân |_ Địa chỉ trực tiếp phân

Disp: displacement (dịch chuyển )

I CÁC PHƯƠNG PHÁP ĐỊNH ĐỊA CHỈ CỦA VI XỬ LÝ 8086;

Phương pháp định địa chỉ (Addressing Mode) là cách để CPU tìm thấy toán

hang cho các lệnh của nó khi hoạt động Một bộ vi xử lý có thể có nhiều chế độ

định địa chỉ

Các chế độ định địa chỉ này được xác định ngay từ khi chế tạo ra bộ vi xử lý

và sau này người ta lấy đó để làm chuẩn mà không thay đổi

Ngoài các phương pháp định địa chỉ: tức thời, trực tiếp, gián tiếp giống như cửa 8085, vi xử lý 8086 còn có thêm các cách định địa chỉ khác và được phân loại như sau:

Trang 31

- Dinh dia chi bang thanh ghi

- Dinh địa chỉ tức thời

- Dinh dia chi trực tiếp

- Dinh dia chi gidn tiép

- Dinh dia chi tuong ddi

Bằng cách kết hợp các phương pháp định địa chỉ khác nhau trong một chỉ thị,

có thể tạo ra nhiều khả năng phức tạp để truy xuất toán hạng (operand) các thiết bị

vào — ra chỉ được truy cập bằng các phương pháp trực tiếp và gián tiếp Thứ tự mô

tả byte của một word được lưu rong bộ nhớ giống như qui định của 8085, có nghĩa

là các byte thấp (LSH) ở địa chỉ thấp và các bytc cao (MSB) được đặt ở địa chỉ cao

Trang 32

1.2) Phương pháp định địa chỉ trực tiếp:

Trong chỉ thị bao gồm địa chỉ offset của toán hạng, địa chỉ đoạn được quy định

Thi du: Mov ax [0230]

Trang 33

1.4) Dinh dia chi tương đối:

Trong phương pháp định địa chỉ tương đối, thanh ghi BX hoặc BP chứa địa chỉ

cơ sở, các địa chỉ này là offset của toán hạng Địa chỉ tương đối có thể được dùng chung với địa chỉ trực tiếp hoặc gián tiếp

Qua những nhóm lệnh giới thiệu trên nhóm thực hiện để tài chỉ khảo sát

những nhóm lệnh thông dụng nhằm phục vụ cho việc lập trình bằng ngôn ngữ máy

2.1) Nhóm lệnh truyền số liệu:

Các lệnh truyền dữ liệu sẽ sao chép dữ liệu giữa thanh ghi với thanh ghi, với

bộ nhớ hoặc với khối vào-ra Chúng có thể sử dụng nhiều cách định địa chỉ khác

nhau Trong cách viết lệnh dưới dạng gợi nhớ: toán hạng đâu tiên là thanh ghi đích hoặc địa chỉ đích và tiếp sau dấu phẩy là thanh ghi nguồn hoặc địa chỉ nguồn Khác với 8085, trong 8086 tất cá các lệnh truyền dữ liệu đều dùng lệnh “Mov”

Trang 34

+ Truyền từ thanh ghi vào thanh ghi:

Mov (Reg]), (Reg2)

Nội dung (Reg2) được sao chép vào (Reg])

Thí du: Mov AL, BL

Sao chép nội dung BL vào thanh ghi AL

® Truyền từ thanh ghỉ vào bộ nhớ:

Mov (Mem), (Reg)

Đối với lệnh byte, nội dung của thanh ghi được đưa vào địa chỉ của ô nhớ Đối với lệnh word thì nội dung của thanh ghi được đưa vào hai ô nhớ có địa chỉ lần lược

là (Mem) va (Mem + 1)

Thi du: Mov [1200], BL

Sao chép nội dụng của thanh ghỉ BỊ vào ô nhớ có địa chỉ tương đối là 1200

® Truyền từ ô nhớ vào thanh ghỉ:

Mov (Reg), (Mem)

Đổi với lệnh bạte, nội dụng ô nhớ được chép váo thanh ghi Đối với lệnh

Word, nội dụng của 3 â nhớ (Mem) và (Mem + 1) được chép vao thanh ghi

Thi dus Mov BL, [1500]

Sáo chép nội dụng ð nhớ tại địa chỉ 1500 vào thanh ghi BL

Mov BX, [1500]

Sao chep ndi dung hai 6 nhé tai dia chi 1500 va 1501 vao thanh ghi BX (6

1500 vao BL va 6 1501 vào BH)

\ẻu sử dụng AL hoặc AX trong các lệnh truyền từ thanh ghi vào ô nhớ

và ngụy c lại sẽ nhận được mã công tác ngắn hơn khi sử dụng các thanh ghi khác

$ Truyền tức thời vào thanh ghi:

Mov (Reg), (Data)

Trong lệnh này, dữ liệu được truyền tức thời vào thanh ghi

Thi du: Mov BL, 20

Giá trị 20 dugc dua vao thanh ghi BL

+ Truyền tức thời vào bộ nhớ:

Mov (Mem), (Data)

Trong lệnh byte đữ liệu được truyền tức thời vào ô nhớ có địa chỉ (Mem) Trong lệnh word dữ liệu được truyền tức thời vào 2 ô nhớ có địa chỉ (Mem) và

(Mem + 1)

Thi du: Mov [1200], 50

Giá trị 50 được đưa vào ô nhớ có địa chỉ 1200

Mov Word PTR [1200], 50

Giá trị Word 0050 được đưa vào 2 ô nhớ bắt dầu tại địa chỉ 1200:50 (LSB) vào

địa chỉ 1200:00 (MSB) vào địa chỉ 1201

~_ Truy xuất trực tiếp cổng:

IN (Reg), (Port)

Trang 35

Đọc nội dung của cổng có địa chỉ chứa trong DX vào thanh ghi Thanh ghi sử

dụng là AL hoặc AX, địa chỉ cổng là số 16 bit

quả có thé dude clita trong † hoặc 2 thánh ghi rong bộ nhỏ

+ Xô hạng đầu tiên được chứa trong các thanh ghi dữ liệu (AX, BX, CX,

DX, AH, AL, BH ), rog một thanh ghi chỉ số hoặc một 6 nhớ Số hạng thứ hai có thể là nìc thời trong thanh ghi hoặc trong bộ nhớ Hai số hạng không thể cùng ở

trong bộ nhỏ, kết quả phép cộng được chứa trong toán hạng thứ nhất Sau đây là

bắng liệt kế lệnh công dưới dạng gợi nhớ:

ADD (acen), (data) ‘ADC (accu), (data) ADD AX, 1250

ADD (mem), (data) ADC (mem), (data) ADD Byte PTR [0900],50 ADD (reg), (data) ADC (reg), (data) ADD BL, 50

ADD (reg!), (teg2) ADC (regl), (reg2) ADC AL, AH

ADD (reg), (mem) ADC (reg), (mem) ADD CX, [0800]

ADD (mem), (reg) ADC (mem), (reg) ADC {0600}, DL

SUB (accu), (data) ‘SBB (accu), (data) ‘SUB AX, 1230

SUB (mem), (data) ‘SBB (mem), (data) SBB Byte PTR [5000], 90

‘SUB (reg), (data) SBB (reg), (data) SUB BL, 50

Trang 36

§U§6 thực hiện được các phép tính logic : AND ,OR ,EXOR ,và phép đảo NOT

Các địa chỉ giống như phép cộng :

Trang 37

Dạng gợi nhó của phép AND :

AND ( mem), (reg)

AND (reg) , (mem) AND (reg) , (reg2) AND ( mem) , (data) AND ( reg) , (data) AND ( accu) , (data)

Dạng gợi nhớ của phép EXOR

XOR ( mem) , (reg) XOR (reg) , (mem) XOR (regl) , (reg2) XOR ( mem) , (data) XOR (reg) , (data) XOR (accu) , (data)

e Nhóm lệnh quay

8086 có các lệnh quay , dịch dữ liệu 8 bit và 16 bit ,có thể dịch nhiều bit bằng một

lệnh trong trường số lần dịch chứa trong C L Thao tác quay có thể quay qua Carry

© Nhóm lệnh nhảy có điểu kiện :

Các lệnh nhảy có điều kiện của 8086 luôn luôn đài hai byte và chỉ thực hiện các bước nhầy bằng (Short Jmp) Byte thứ nhất là mã công tác , Byte thứ hai là khoảng

Trang 38

cách nhảy dưới dạng số bù hai , có tổng cộng 31 điểu kiện nhảy Cấu tạo tổng

quát một lệnh nhảy có điều kiện được trình bày như sau :

Hình 2.7: Phương pháp định địa chi utc thai

Dụng gợi nhớ của lệnh nhảy có điều kiên :

JC (CF=l) JNC (CF=0)

JZ (2F=1) JNZ (Z=0)

JE (ZF=l) JNE (ZF=0)

° Lệnh gọi chương trình phụ :

Chương trình phụ được gọi bằng lệnh Call và chấm dứt bằng lénh Ret Vi

xử lý 8086 chỉ có các lệnh gọi không điều kiện được trình bày dưới dạng

gợi nhớ như sau :

Dạng gợi nhớ Thí dụ CALL (addr) CALL 0200

CALL BX CALL Seg : Offset CALL 2350 : 0200

Các lệnh Call được phân loại dựa theo vị trí của chương trình phụ trong bộ nhớ gồm hai loại :

-_ Chương trình phụ nằm trong đoạn mã biện hành

- Chương trình phụ nằm ngoài đoạn mã hiện hành

Trang 39

Trong trường hợp chương trình phụ nằm trong đoạn mã hiện hành thì địa chỉ

đọan trong thanh ghi CS không thay đổi, thanh ghi trạng thái và con trỏ lệnh

sẽ được lưu vào ngăn xếp Sau đó địa chỉ của chương trình phụ sẽ được nạp

vào con trỏ lệnh khối BIU xóa nội dung của các hàng đợi lệnh và thay vào đó

nội dung của ô nhớ được chỉ định bởi lệnh Call

Trong trường hợp chương trình phụ nằm ngoài đoạn mã hiện hành, thanh ghi trạng thái và địa chỉ seg:offset sẽ được cất vào ngăn xếp

Trang 40

trong thiết kế tôi đã phải tính tóan lựa chọn quacác công đọan :

- Linh kién phải có sẵng trên thị trường

- Linh kiện phải phù hợp với hệ thống

- Hệ thống đơn giản tiết kiệm

-_ Kết nối sao cho phần mềm đơn giản nhất , mà phần cứng không qúa phức tạp , cổng kếnh ,

= 1C ROR6 đa hợp các đường địa chỉ và dữ liệu từ ADo — AD¡; với nhau ,

nên muốn sử dụng được phải kết hợp với IC giái đa hợp các đường địa

chí và dữ liêu riêng biệt

1 1C chối ?41X373:

lì, Tổng quái:

Tiong thiét kế tôi chọn ÍC chốt 74LS373 làm nhiệm vụ tách riêng từng đường địa chí và dữ liệu , đây là IC chốt 8 bit với 8 wang thái ngõ ra theo

Bús , những ứng dụng của hệ thống được tổ chức FLIP-FLOP (F-F) cho dữ

liệu qua , Ngõ cho phép chốt ( LE) ở mức cao khi LE là thấp dữ liệu được chot , dữ liệu xiất trên Bus khi ngõ ra cho phép OE là thấp Khi OE cao

thì Bus ngõ ra sẽ ở trạng thái cao

IC 74L§373 là IC chốt tốc độ cao, công suất thấp , 8D F - F với đặc điểm những ngõ vào D cho mỗi F- F và ba trạng thái ngõ ra cửa những Bus ứng dụng đã định hướng Xung Clock đệm vào ngõ ra OE 1a chung

cho tất cả các F- F

Nn Sa độ chân 74I S373 -

Ngày đăng: 19/11/2024, 11:16

HÌNH ẢNH LIÊN QUAN

Hình  1.1:  Sơ  đề  khối  8096 - Thiết kế và thi công kit vi xử lý 8086
nh 1.1: Sơ đề khối 8096 (Trang 15)
Hình  1.2:  Sơ  đổ  chân  806 - Thiết kế và thi công kit vi xử lý 8086
nh 1.2: Sơ đổ chân 806 (Trang 22)
Hình  1.3:  Mó  phỏng  kết  nối  hệ  thống  vi  xử  lý  8086 - Thiết kế và thi công kit vi xử lý 8086
nh 1.3: Mó phỏng kết nối hệ thống vi xử lý 8086 (Trang 26)
Hình  1.5:  Quá  trình  nạp  hàng  đợi  lệnh  của  BIU - Thiết kế và thi công kit vi xử lý 8086
nh 1.5: Quá trình nạp hàng đợi lệnh của BIU (Trang 28)
Hình  1.7:  Sắp  xếp  các  thanh  ghỉ  đoan - Thiết kế và thi công kit vi xử lý 8086
nh 1.7: Sắp xếp các thanh ghỉ đoan (Trang 29)
Hình  2.2:  Phương  pháp  định  địa  chỉ  trực  tiếp  1.3).  Định  địa  chỉ  gián  tiếp: - Thiết kế và thi công kit vi xử lý 8086
nh 2.2: Phương pháp định địa chỉ trực tiếp 1.3). Định địa chỉ gián tiếp: (Trang 32)
Hình  2.4:  Phương  pháp  định  địa  chỉ  tượng  đối - Thiết kế và thi công kit vi xử lý 8086
nh 2.4: Phương pháp định địa chỉ tượng đối (Trang 33)
Hình  2.7:  Phương  pháp  định  địa  chi  utc  thai - Thiết kế và thi công kit vi xử lý 8086
nh 2.7: Phương pháp định địa chi utc thai (Trang 38)
Hình  tien  biến  điển  các  đường  nổi  tín  hiệu  chính  của  #254.  Mạch  8284  nhận  xung  khởi  đọng  từ  bền  ngoài  thông  qua  mạch  l$C,  khi  bất  dấu  bật  điện  hoặc  xung  khỏi  đồng  lại  khí  bảm  cảng  tắc  K  từ  xung  này  8284  có  nhiệ - Thiết kế và thi công kit vi xử lý 8086
nh tien biến điển các đường nổi tín hiệu chính của #254. Mạch 8284 nhận xung khởi đọng từ bền ngoài thông qua mạch l$C, khi bất dấu bật điện hoặc xung khỏi đồng lại khí bảm cảng tắc K từ xung này 8284 có nhiệ (Trang 44)
Hình  I8:  Mô  hình kết nổi  bộ  giải  mã  với  bộ  nhớ - Thiết kế và thi công kit vi xử lý 8086
nh I8: Mô hình kết nổi bộ giải mã với bộ nhớ (Trang 46)
Hình  II.!1:  Sơ  để  chân  74LS138 - Thiết kế và thi công kit vi xử lý 8086
nh II.!1: Sơ để chân 74LS138 (Trang 48)
Hình  IL3:  Sơ  để  Logic  8279 - Thiết kế và thi công kit vi xử lý 8086
nh IL3: Sơ để Logic 8279 (Trang 50)
Hình  V.1:  Sơ  đề  kết  nối  vi  xử  lý  với  giải  mã  bộ  nhớ - Thiết kế và thi công kit vi xử lý 8086
nh V.1: Sơ đề kết nối vi xử lý với giải mã bộ nhớ (Trang 72)
Hình  V.2:  Sơ  đồ  ma  trận  quét  phím - Thiết kế và thi công kit vi xử lý 8086
nh V.2: Sơ đồ ma trận quét phím (Trang 73)

TÀI LIỆU CÙNG NGƯỜI DÙNG

TÀI LIỆU LIÊN QUAN

w