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

Vi xử lý và lập trình hợp ngữ

152 1,5K 1
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 đề Vi xử lý và lập trình hợp ngữ
Tác giả Phạm Đức Long
Trường học Đại học Thái Nguyên
Chuyên ngành Khoa học máy tính
Thể loại Bài giảng
Năm xuất bản 2008
Thành phố Thái Nguyên
Định dạng
Số trang 152
Dung lượng 1,91 MB

Các công cụ chuyển đổi và chỉnh sửa cho tài liệu này

Nội dung

Vi xử lý và lập trình hợp ngữ

Trang 1

MỤC LỤC

Trang

Chương 1 Giới thiệu chung

1.1 Sự ra đời và phát triển của các bộ vi xử lý 4

1.2 Sơ đồ khối cấu trúc và hoạt động của hệ vi xử lý 4

Chương 2 Bộ nhớ bán dẫn

2.1.2 Bộ nhớ bán cố định (EPROM, EEPROM, FLASH) 8

2.3.2.4 Mạch nhớ SRAM (Các thành phần, quy trình đọc ghi,

3.2.3 Biểu đồ thời gian của chu kỳ đọc ghi số liệu 27

3.3 Giới thiệu các bộ vi xử lý tiên tiến dũng 80x86

Trang 2

3.4 Vi điều khiển 8x51/52 80 3.5 Vi điều khiển thế hệ mới AVR

Chương 4 Các bộ điều khiển và ghép nối dữ liệu

4.1 Vào/ ra số liệu điều khiển bằng ngắt

4.2 Vào/ra số liệu điều khiển bằng thâm nhập bộ nhớ trực tiếp DMA

4.2.2 Bộ thâm nhập bộ nhớ trực tiếp DMAC (8237) 129 4.2.3 Sử dụng bộ điều khiển DMAC trong hệ vi xử lý 132 4.3 Bộ đếm lập trình được

4.3.1 Sơ đồ khối bộ đếm lập trình được (8254) 132 4.3.2 Các chế độ làm việc của bộ đếm lập trình 133

4.4 Phối ghép vào ra nối tiếp

4.4.2 Mạch thu phát thông tin nối tiếp UART 139 4.5 Phối ghép với thiết bị vào/ra qua cổng song song

4.5.2 Mạch phối ghép vào/ra song song lập trình được PPI 8255A

Trang 4

Chương 1 GIỚI THIỆU CHUNG

1.1 Sự ra đời và phát triển của các bộ vi xử lý

• Bộ vi xử lý là 1 thành phần không thể thiếu được trong các hệ thống tính toán máy

vi tính

• Sự phát triển:

ư Thế hệ 1 (1971 - 1973): Bộ vi xử lý đầu tiên ra đời 1971 là 4004 sản phẩm của hãng Intel 4 bit số liệu, 12 bit địa chỉ Tiếp theo là 4040, 8008 Đặc điểm chung: + Sử dụng công nghệ PMOS ( lỗ trống)

+ Tốc độ thực hiện lệnh 10-60às Tốc độ xung đồng hồ 0.1 đến 0.8 MHz

+ Tập lệnh đơn giản

ư Thế hệ 2 (1974-1977): Thế hệ các vi xử lý 8 bit như 6800, 8080, 8085 có thể quản lý 64KB bộ nhớ Đặc điểm:

+ Sử dụng công nghệ NMOS (Có mật độ phần tử trên một đơn vị diện tích lớn hơn PMOS)

ư Thế hệ 4(1983 - nay): Thời kỳ các bộ vi xử lý 32 bit như 80386/486/PI,PII,PIII, PIV với các kỹ thuật tiên tiến pipeline, cache, vitual memory, HT Tất cả đều có

bộ đồng xử lý toán học, bộ quản lý bộ nhớ MMU

1.2 Sơ đồ khối cấu trúc và hoạt động của hệ vi xử lý

ư Bộ vi xử lý là 1 thành phần không thể thiếu được để xây dựng các hệ thống tính toán, máy vi tính Nhưng bộ vi xử lý còn phải kết hợp với các thành phần khác để tạo nên hệ vi xử lý

ư Sơ đồ dưới đây là sơ đồ tổng quát của các hệ vi xử lý kinh điển áp dụng cho các

hệ nhỏ và các máy tính đời đầu Các máy tính hiện nay có cấu trúc khác hơn

Trang 5

AbusDbus

I/O

M CPU

Out

Cbus

• CPU (Central Processing Unit): Bộ não của máy tính gồm các mạch vi điện tử có

độ tích hợp rất cao (hàng triệu tranzito trong 1 chip) Nó gồm có các phần:

+ CU (Control Unit): Khối điều khiển có chức năng: đọc mã lệnh dưới dạng tập

hợp các bit 0/1 từ các ô nhớ trong bộ nhớ Giải mã các lệnh thành dãy các xung điều khiển để điều khiển các khối khác thực hiện như điều khiển ALU,

điều khiển ra ngoài àPC

+ ALU (Arithmetic Logic Unit): Khối tính toán số học và logic: Tổ hợp các mạch

logic điện tử phức tạp cho phép thực hiện các thao tác trên các thanh ghi như +, -, *, /, AND, OR, NOT

+ Registers: Các thanh ghi

ư Một CPU có thể có nhiều thanh ghi:

+ Thanh ghi con trỏ lệnh IP (bộ đếm chương trình) chứa địa chỉ của lệnh sắp thực hiện: Các chương trình máy tính là tập hợp của các lệnh CPU sẽ lấy từng lệnh ra để chạy Để điều khiển chính xác việc thực hiện này cần có một bộ

đếm chương trình

+ Các thanh ghi khác: Các thanh ghi đoạn, thanh ghi lệch, thanh ghi con trỏ và chỉ số, thanh ghi cờ là các thanh ghi đảm nhiệm các chức năng nhất định

trong hoạt động của bộ vi xử lý (Sẽ nghiên cứu kỹ qua VXL 8086/8088)

• Bộ nhớ (Memory): Có hai loại chính

ư ROM: Chứa các chương trình và số liệu cố định, chúng không bị mất khi ngắt

điện cung cấp cho vi mạch nhớ ROM Chương trình khởi động máy tính, các chương trình vào ra cơ sở thường được chứa trong ROM

ư RAM: Khi ngắt điện nguồn nuôi vi mạch RAM nội dung lưu trữ trong nó sẽ bị mất RAM lưu giữ một phần chương trình hệ thống, một số số liệu của hệ thống, các chương trình ứng dụng, các kết quả trung gian của quá trình tính toán, xử lý

Trang 6

• Thiết bị vào/ra(I/O): Đây là khối tạo khả năng giao tiếp giữa hệ vi xử lý và bên ngoài Do đặc điểm của các thiết bị ngoài và hệ trung tâm (Gồm CPU+Bộ nhớ) hoạt động có sự khác nhau về tốc độ làm việc, mức vật lý điện, phương thức nên cần có bộ phối ghép đệm, đảm bảo cho các khối thiết bị ngoài giao tiếp được với

hệ trung tâm Bộ ghép giữa bus hệ thống và thiết bị ngoài gọi là cổng Mỗi cổng

ư Dbus: Dùng để vận chuyển dữ liệu Độ rộng của nó 8, 16, 32, 64 bit Dbus có tính

2 chiều Các phần tử có đầu ra nối thẳng với bus dữ liệu đều phải được trang bị

đầu ra 3 trạng thái để có thể làm việc bình thường với bus này

ư Cbus: Gồm nhiều đường dây tín hiệu khác nhau Mỗi tín hiệu có 1 chiều xác định Các tín hiệu trên Cbus bao gồm các tín hiệu điều khiển từ CPU như đ/k đọc viết, tín hiệu trạng thái từ bộ nhớ, thiết bị ngoại vi báo cho CPU như INTR, HOLD

• Hoạt động của hệ: Chương trình và dữ liệu được chứa trong bộ nhớ ngoài được

đưa vào bộ nhớ trong (RAM) Sau đó được CPU lấy dần ra để xử lý CPU thực hiện:

+ Lấy lệnh

+ Giải mã lệnh

+ điều khiển thực hiện lệnh

Đó là một vòng lặp, trong quá trình thực hiện vòng lặp đó nếu có tác động ngắt hoặc yêu cầu DMA CPU sẽ đáp ứng các yêu cầu này sau đó lại quay trở laị chu trình hoạt động chính

Chương 2 BỘ NHỚ BÁN DẪN 2.1 Phân loại bộ nhớ

ư Bộ nhớ dùng để lưu trữ lệnh và dữ liệu

ư Bộ nhớ được xây dựng từ các phần tử nhớ cơ bản, mỗi phần tử là một bit thông tin

Trang 7

NÕu cã diot: §Çu ra =1

NÕu kh«ng cã diot: §Çu ra = 0

Trang 8

CS=1 Đầu ra khi địa chỉ đúng bằng 1, đảo

đi bằng 0 Đầu tiên các cầu chì còn nguyên

Nếu vẫn còn cầu chì: điot thông đầu ra di =

0

Nếu cắt cầu chì, không bị sụt áp đầu ra di =

1

2.1.2 Bộ nhớ bán cố định (EPROM, EEPROM, FLASH)

• EPROM (Erasable Programmable ROM): Có cấu tạo đặc biệt dựa trên nguyên tắc làm việc của tranzito trường có cực điều khiển và thờm cửa nổi Việc nạp chương trình cho EPROM được thực hiện bằng điện Xoá chương trình bằng tia cực tím,

do tia cực tím ảnh hưởng đến cực nguồn và cực máng Bộ nhớ EPROM cú thể ghi lại được Ký hiệu 27xxx

Trong ô nhớ dùng tranzito này, cực cửa được nối với đường từ, cực máng nối với đường bit và cực nguồn nối với nguồn chuẩn được coi là nguồn cho mức logic 1 Khác với tranzito MOS bình thường, ở đây có thêm 1 cửa gọi là cửa nổi; Đó là một vùng vật liệu được thêm vào giữa lớp cách điện cao như hình trên Nếu cửa nổi không

có điện tích thì không có ảnh hưởng gì tới cực cửa điều khiển và tranzito hoạt động bình thường Tức là khi dây từ được kích hoạt (cực cửa có điện tích dương) thì

Hình : Cấu trúc của 1 EPROM

Trang 9

tranzito thông, cực máng và cực nguồn được nối với nhau qua kênh dẫn và dây bit có mức logic 1 Nếu cửa nổi có các điện tử trong đó với các điện tích âm, chúng sẽ ngăn

từ trường điện điều khiển của cực điều khiển và dù dây từ có được kích hoạt thì cũng không thể phát ra trường đủ mạnh với cực cửa điều khiển để làm thông tranzito Lúc này đường dây bit không được nối với nguồn chuẩn và ô nhớ được coi như giữ giá trị logic 0

Việc nạp các điện tử vào cửa nổi , tức là tạo ra các ô nhớ có giá trị logic 0,

được thực hiện bởi các xung điện có độ dài cỡ 50 ms và độ lớn +20V khi đặt vào cực cửa và cực máng Lúc đó các điện tích mang có năng lượng lớn sẽ đi qua lớp cách

điện giữa đế và cửa nổi Chúng tích tụ trong vùng cửa nổi và được giữ ở đây sau khi xung chương trình tắt Đó là do cửa nổi được cách điện cao với xung quanh và các

điện tử không có đủ năng lượng sau khi lạnh đi, để có thể vượt ra ngoài lớp cách điện

đó nữa Chúng sẽ được giữ lại ở đây trong một thời gian dài (khoảng 10 năm)

Để xóa thông tin, phải chiếu tia tử ngoại vào chip nhớ Những điện tử ở đây được hấp thụ năng lương nhảy lên mức năng lượng cao, chúng sẽ rời cửa nổi như cách thâm nhập vào đó Trong chip EPROM có một cửa sổ bằng thạch anh chỉ để cho ánh sáng

tử ngoại đi qua khi cần xóa số liệu trong bộ nhớ

• EEPROM (Electric Erasable PROM): Có cấu tạo tương tự EPROM nhưng nạp xoá bằng điện Ký hiệu 28xxx (vớ dụ vi mạch EEPROM 2864, 28128) i m khỏc

c a EEPROM là một lớp kênh màng mỏng ôxit giữa vùng cửa nổi trải xuống dưới đế

và cực máng giữ vai trò quan trọng Các lớp cách điện không thể lý tưởng được, các lớp điện tích mang có thể thấm qua lớp phân cách với một xác suất thấp Xác suất này tăng lên khi bề dày của lớp giảm đi và điện thế giữa hai cực ở hai mặt của lớp cách điện tăng lên Muốn phóng các điện tích trong vùng cửa nổi, một điện thế (-20V) được đặt vào cực cửa điều khiển và cực máng Lúc này các điện tử âm trong cửa nổi được chảy về cực máng qua kênh màng mỏng ôxit và số liệu lưu giữ được xóa đi

Điều chú ý là phải lưu ý làm sao cho dòng điện tích này chảy không quá lâu, vì nếu không vùng cửa nổi này lại trở nên điện tích dương làm cho hoạt động của trazito không được ở trạng thái bình thường(1)

Các chíp ROM hiện nay có thời gian thâm nhập cỡ từ 120-150 ns dài hơn nhiều thời gian đó trong các chip nhớ RAM

• Flash ROM: Cấu tạo tương tự EEPROM sử dụng với điện áp thấp hơn Ký hiệu

29xxx, 39xxx

Trang 10

2.1.3 Bộ nhớ đọc ghi (SRAM, DRAM)

+ Bộ nhớ RAM tĩnh là SRAM (Static RAM) thường được xây dựng trên các mạch điện tử flip – flop

+ Bộ nhớ RAM động là DRAM (Dynamic RAM) được xây dựng trên cơ sở các điện tích ở tụ điện Bộ nhớ này phải được hồi phục nội dung đều đặn, nếu không nội dung sẽ mất theo sự rò điện tích trên tụ EDORAM, VRAM, SDRAM, SGRAM đều RAM động Các bộ nhớ DRAM thường thoả mãn các yêu cầu khi cần bộ nhớ có dung lượng lớn Khi cần có tốc độ truy xuất lớn thì lại phải dùng các bộ nhớ SRAM với giá thành đắt hơn; cả hai loại này đều bị mất thụng tin khi nguồn điện nuôi bị mất, Vì lý do này, các chương trình dùng cho việc khởi động PC như BIOS thường phải nạp trong các bộ nhớ ROM

2.1.4 Bộ nhớ ngoài

Bộ nhớ chính bằng vật liệu bán dẫn trên bản mạch chính không thể lưu trữ một khối lượng rất lớn các thông tin, do vậy cần phải có thêm các thiết bị nhớ bên ngoài như băng giấy đục lỗ băng cassette, trống từ, đĩa từ, đĩa quang laser Những thiết bị lưu trữ dữ liệu ở ngoài như vậy được gọi là bộ nhớ khối (mass storage) hay gọi là nhớ ngoài Thiết bị nhớ khối thông dụng nhất là đĩa từ Đĩa từ là một tấm đĩa tròn mỏng làm bằng chất dẻo mylar, hoặc bằng thủy tinh cứng hoặc bằng kim loại cứng, trên có phủ một lớp bột từ tính ôxit sắt từ Đĩa từ sử dụng kỹ thuật ghi từ để lưu trữ giữ liệu, đó là việc định hướng các domain từ để tạo ra các bit thông tin 0 và 1 Khi đã ghi lên đĩa, dữ liệu có thể tồn tại cả khi cắt điện PC Tuy nhiên giống như băng từ, dữ liệu cũ cũng có thể xóa đi thay thế bởi dữ liệu mới nhiều lần

Kỹ thuật điện tử tương lai sẽ cho phộp cú cỏc khối nhớ dung lượng lớn hoàn toàn bằng vi mạch thay thế đĩa từ- hiện nay đó cú cỏc mạch nhớ bỏn dẫn với dung lượng tới vài GB

2.2 Phân cấp bộ nhớ

CPU

Bộ nhớ chính

Bộ nhớ ngoài

Bộ nhớ ảo: Trong các hệ VXL hiện đại được tạo nên bởi Cache, M và Bộ nhớ ngoài

Trang 11

Bộ nhớ thường được tổ chức gồm nhiều vi mạch nhớ được ghép lại với nhau

để có độ dài từ và tổng số từ cần thiết Những chip nhớ được thiết kế sao cho có đầy

đủ chức năng của một bộ nhớ:

• Một ma trận nhớ gồm các ô nhớ, mỗi ô nhớ ứng với một bit nhớ

• Mạch logic giải mã địa chỉ ô nhớ

• Mạch logic cho phép đọc nội dung ô nhớ

• Mạch logic cho phép viết nội dung ô nhớ

• Các bộ đệm vào, bộ đệm ra và bộ nhớ mở rộng

Cách tổ chức đơn giản nhất là tổ chức theo từ với sự chọn tuyến tính Một ma trận nhớ như vậy có độ dài của cột bằng số lượng từ W và độ dài của hàng bằng số lượng bit B trong một từ Bộ chọn từ giải mã một từ W, nghĩa là giải mã để có một

đầu ra duy nhất cho mỗi từ trong bộ nhớ Rõ ràng phương pháp chọn tuyến tính có thời gian thâm nhập ngắn nhưng cần một bộ giải mã lớn khi tổng số từ lớn, làm tăng giá thành sản phẩm

Kích thước của phần giải mã địa chỉ sẽ giảm đi khi tổ chức ma trận nhớ và phần logic chọn từ W cho phép giải mã hai bước Ma trận nhớ sử dụng giải mã hai bước ứng với từ vật lí và từ logic Từ vật lí bao gồm số lượng bit trong một hàng của

ma trận Từ logic bao gồm số lượng bit tương ứng với một từ logic nhận biết được và gửi ra cùng một bộ giải mã Cần hai bộ giải mã: Một bộ giải mã hàng để chọn một từ vật lý và một bộ giải mã cột gồm 1 vài mạch dồn kênh chọn một từ logic từ một từ vật lý đã chọn Một từ vật lý chia S từ logic Bộ giải mã hàng là bộ giải mã chọn 1 từ

W, mà B=W/S và bộ chọn cột chứa B bộ dồn một đường từ S

Đệm vào

Giải mã

hàng 1 từ

128

Ma trận rom

128 X 128

Đệm ra

8 Bộ giải mã cột 1

từ 16

8 12

Trang 12

Ở trên là vớ dụ về sơ đồ ROM dung lượng 2048x8 bit, tổ chức theo giải mã hai bước Ma trận nhớ là 128x128 bit, như vậy có 128 = 27 từ vật lí Một từ vật lí như vậy được chọn bởi 7 đường dây địa chỉ từ A0-A6 Bộ giải địa chỉ hàng chọn 1 hàng từ

128 hàng Một từ vật lí được chia thành 128/8=16 nhóm 8 bit Như vậy, những bộ giải mã cột gồm 8 bộ dồn kênh một đường từ 16 đường để cung cấp một từ logic 8 bit Những bit địa chỉ từ A7-A10 điều khiển những bộ giải mã cột Trường hợp đặc biệt khi số phần tử trong một từ vật lí bằng số bit trong 1 từ vật lí thi đó là bộ nhớ tổ chức theo bit nghĩa là mỗi từ logic có độ dài 1 bit

Các bộ đệm ra đảm bảo không những mức logic mong muốn và cung cấp đủ dòng điện mà còn có đầu ra collector hở hoặc 3 trạng thái cho phép nối chung đầu ra của một vài chip với nhau Bộ đệm ra được điều khiển bởi 1 hay nhiều đầu vào như chọn mạch CS, cho phép CE hay cho phép mở đầu ra 3 trạng thái OE

2.3 Cấu trúc của mạch nhớ tĩnh SRAM

ư MOS: Công nghệ đơn cực (Metal Oxit Semi Conductor)

ư ECL(Mạch logic ghép cực phát - Emitor Coupler Logic), I2L, SOS

ư Cỏc khối nhớ NOR Flash

2.3.2 Cấu trúc mạch nhớ SRAM

2.3.2.1 Bit nhớ

• Bit nhớ

Mỗi phần tử nhớ cơ bản 1 bit là 1 mạch F-F (Flip-Flop) có hai trạng thái cân bằng ổn

định để biểu diễn hai giá trị nhị phân 0 và 1 Khi phần tử nhớ đã được thiết lập giá trị thì nó nhớ mãi gía trị đó cho đến khi thiết lập trạng thái mới

Trang 13

Địa chỉ hàng cột Xi, Yi

Mạch F-F

Đầu vào dữ liệu Din

Đầu ra dữ liệu Dout

Dữ liệu được đưa vào Din, lấy ra Dout

Xác định địa chỉ Xi, Yi

WE: điều khiển đọc viết; tuỳ theo tín hiệu đưa đến là 0 hay 1 mà cho phép viết vào hay đọc ra

CS (Chipselect): Tín hiệu chọn chip Một bộ nhớ có thể do nhiều chip nhớ tạo nên

Khi CPU làm việc với chip nhớ nào thì nó sẽ kích hoạt tín hiệu chọn chip của chip

nhớ đó Tín hiệu này thường tác động ở mức thấp

Một bit nhớ F-F RS sử dụng tranzixtor phõn cực

Một bit nhớ F-F RS sử dụng tranzixtor trường

Trang 14

Ghi:

+ Dõy từ = 0

+ Đưa dữ liệu vào dõy bit Giả sử là "1"

+ Dõy từ =1 → TI/O 1 thụng → D1 của T1 =1 → T2 thụng D2 = 0 → G của T1 =

0 → T1 khụng thụng và duy trỡ ngay cả khi dữ liệu khụng đặt trờn dõy bit

+ Dõy từ =0 Dữ liệu được ghi trong bit nhớ

Đọc:

+ Trước khi đọc đõy từ = 0

+ Dõy từ = 1 T1, T2 thụng đưa dữ liệu ra dõy bit

ư Có các loại thanh ghi 8 bit, 16 bit, 32 bit mỗi bit là 1 phần tử nhớ cơ bản

Các thanh ghi làm nhiệm vụ nhớ tạm thời một từ nhị phân thường được xây dựng từ các flip-flop Các bộ xử lý thường có một tập thanh ghi được sử dụng để chứa tạm dữ liệu hoặc các chỉ thị trong quá trình thi hành chương trình Các thanh ghi như vậy cần có khả năng hoạt động ở tốc độ cao hơn các thanh ghi khác được sử dụng trong bộ nhớ chính Hình dưới mô tả thanh ghi đệm 4 bit, sử dụng flip-flop D chuyển mạch bởi sườn dương của xung đồng hồ

LOAD

Hình : Thanh ghi đệm

Trang 15

+ Xi (i=1 3) là các bit của word X cần nhớ, khi sươn xung dương đầu tiên đi tới, word được nhớ vào trong thanh ghi là Q3Q2Q1Q0=X3X2X1X0, hay viết là Q=X

Từ nhị phân có thể lấy ra ở đầu ra Q3Q2Q1Q0

+ CLR là đầu vào tín hiệu điều khiển xoá nội dung thanh ghi, tích cực ở mức cao, nghĩa là khi CLR là cao thì tất cả các flip-flop bị xoá và từ được nhớ trở thành Q=0

+ LOAD là đầu vào điều khiển tích cực ở mức cao, khi LOAD = 0 các bit không thể

đi vào các flip-flop, đồng thời qua NOT đường dây kia sẽ có mức cao, làm cho các giá trị ở đầu ra của các flip-flop đưa ngược lại lối vào, tại các sườn dương của xung

đồng hồ chúng sẽ lại được ghi lại vào trong flip-flop, nói cách khác khi LOAD=0 thì thanh ghi không thay đổi nội dung

+ Khi LOAD=1 các bit của X được đưa tới lối vào của flip-flop, khi sườn dương của xung đồng hồ đi tới chúng sẽ được ghi vào trong thanh ghi

2.3.2.3 Bộ giải mã

• Bộ giải mã

Độ dài 1 ô nhớ thường là 8bit(1byte) Trong một vi mạch nhớ có nhiều ô nhớ Mỗi một ô nhớ khi ghép với hệ vi xử lý sẽ có một địa chỉ xác định CPU muốn làm việc với ô nhớ nào nó sẽ đưa ra tín hiệu địa chỉ của ô nhớ đó Qua bộ giải mã địa chỉ, ô nhớ đó được chọn chính xác, sau đó cho phép đọc/viết trên ô nhớ đó

Ô nhớ 0

Ô nhớ 1

Ô nhớ N

Chọn ô nhớ 0

Chọn ô nhớ N

Trang 16

Bộ giải mã địa chỉ giúp ta chọn được ô nhớ nào trong vi mạch để làm việc

Đầu vào bộ giải mã có n bit địa chỉ sẽ phân biệt được 2n trạng thái → sẽ phân biệt

được 2n ô nhớ Nếu 1 ô nhớ 8 bit có thể hiện như sau

Địa chỉ ô nhớ Nội dung

Để đọc hay ghi ô nhớ cần có thêm các tín hiệu :

RD: Đọc ô nhớ Các tín hiệu này thường dùng mức thấp

WR: Ghi vào ô nhớ

Khi cần có dung lượng ô nhớ lớn hơn cần ghép nhiều vi mạch nhớ Khi đó để chọn vi

mạch nhớ nào lại cần có một bộ giải mã địa chỉ nữa để chọn được vi mạch cần thiết

VD: Xây dựng bộ nhớ 4KB từ 4 vi mạch 1 KB

CS0

CS1

Giải thích hoạt động

CPU muốn làm việc với vi mạch nhớ nào thì nó phát ra tín hiệu địa chỉ qua Abus, các tín hiệu địa chỉ qua bộ giải mã địa chỉ sẽ kích hoạt các tín hiệu CS tương ứng để chọn được vi mạch cần thiết

Các tín hiệu địa chỉ cũng được đưa vào từng vi mạch nhớ để chọn ra ô nhớ cần thiết

ư Thiết bị ngoại vi được dành 1 số địa chỉ ở vùng thấp (với máy tính theo kiến trúc IBM-PC vùng này gồm 1KB) Như vậy sẽ có những ô nhớ trong vùng thấp này có

Trang 17

địa chỉ trùng với địa chỉ của thiết bị ngoại vi Để không xáy ra sự nhầm lẫn giữa các ô nhớ và thiết bị ngoại vi có địa chỉ trùng nhau, người ta sử dụng thêm tín hiệu IO/M khi giải mã địa chỉ Cũng địa chỉ đó nhưng nếu IO/M = 0 là địa chỉ của ô nhớ, IO/M =1 là địa chỉ của thiết bị ngoại vi

ư Các mạch giải mã địa chỉ được tạo nên bằng các vi mạch số

CE OE

°

A 19

IO/M

Giải mã cho nhiều vi mạch nhớ

ư Vi mạch sử dụng khi giải mã cần nhiều đầu ra thường dùng 74LS138

Giải mó cho 3 vi mạch ROM 2764 địa chỉ ụ nhớ đầu là F0000h

A B C

G2A G2A

A B C 74138

A14

A15

Trang 18

Vi mạch có 8 đầu ra giải mã tác động ở mức thấp từ Y0 đến Y7 Việc chọn dầu ra giải mã nào do tổ hợp tín hiệu các chân A, B, C Để vi mạch hoạt động tín hiệu ở các chân G2A, G2B, G1 phải đảm bảo đồng thời như sau:

G2A=0 G2B=0 và G1=1 Bảng tác động của vi mạch

Ví dụ sử dụng vi mạch 74138 giải mã cho 3 vi mạch ROM 2764, địa chỉ của ô nhớ

đầu tiên là FA000h tức là 1111 1110 0000 0000 0000

C B A

Có nhiều phương án để giải mã cho một yêu cầu cụ thể khi sử dụng 74138 Cho các

ví dụ

2.3.2.4 Mạch nhớ SRAM (Các thành phần, quy trình đọc ghi,

biểu đồ thời gian)

• Mạch nhớ SRAM

Trang 19

2.3.3 Thiết kế thẻ nhớ SRAM

CS

D0-D7 WEOE

A0-A10

Địa chỉ

Dữ liệu Cho phép đưa

dữ liệu ra

Cho phép ghiChon chip

Bộ nhớ SRAM

Mạch nhớ SRAM thường được thiết kế cho cỏc hệ vi xử lý nhỏ Dữ liệu ban đầu là: Dung lượng cần thiết, tốc độ truy nhập Từ cỏc số liệu này chọn được loại vi mạch SRAM và số lượng chip Tiếp theo xõy dựng bộ giải mó địa chỉ ngoài Cú thể dựng cỏc vi mạch AND, OR, NOT, NAND hoặc vi mạch chuyờn dụng 74138, 74 154, để xõy dựng bộ giải mó

2.4 Cấu trúc của mạch nhớ DRAM

điện C, giá trị nhớ trong phần tử nhớ này chính là điện tích nạp trên tụ điện Ta có thể

sử dụng trạng thái tụ được nạp, tức là trên tụ điện C có một điện áp lớn hơn một giá trị nhất định nào đó, biểu diễn giá trị 1 của bit, còn trạng thái không được nạp biểu diễn giá trị 0 Nguyên lý cấu tạo của một phần tử DRAM được minh họa ở hình dưới:

Trang 20

Phần tử nhớ DRAM 1 bit

Bộ nhớ RAM động

Bộ nhớ DRAM được tổ chức thành một ma trận nhớ, trong đó dây từ là một trong các dây hàng của ma trận, còn dây bit là một trong những dây cột của ma trận Phần tử nhớ được đặt ở giao điểm của các dây hàng và cột Tranzito T là một tranzito trường (fet) đóng vai trò một chuyển mạch điện tử T có ba cực là cực cổng G (Gate), cực máng D (Drain) và cực nguồn S (Sourne), trong đó G là cực điều khiển, D sẽ

được nối với S khi G có mức điện áp cao so với S, ngược lại điện trở giữa D và S rất lớn

Quá trình ghi: Khi dây từ có mức tích cực, T ở trạng thái mở, nối tụ điện C

với dây bit Nếu thao tác là ghi thì giá trị cần ghi phải đặt trên dây bit Nếu giá trị đó

là 1 thì tụ C sẽ được nạp tới điện áp tương ứng với giá trị 1 trên dây bit, còn nếu giá trị đó là 0 thì tụ điện C sẽ bị phóng hết điện tích

Quá trình đọc: Việc đọc phức tạp hơn ghi do điện tích trên tụ C ứng với giá

trị cần đọc rất nhỏ Trước khi đặt dây từ lên mức tích cực, cần phải đặt lên giây bit

điện áp bằng 1/2 mức chênh lệch giữa điện áp ứng với mức 1 và điện áp ứng với mức

0 Điện áp trên tụ sẽ làm cho điện áp dây bit thay đôi một chút theo chiều hướng tăng hoặc giảm tuỳ thuộc vào bit đó là 1 hay 0 Sự thay đổi nhỏ của điện áp trên dây bit sẽ

được truyền tới đầu vào của một bộ khuếch đại nhạy, tại đầu ra của nó ta nhận được

điện áp tương ứng với giá trị của bít chứa trên tụ

Quá trình làm tươi: Ta đều biết mọi tụ điện đều có một điện trở rò và tranzito

T mắc nối tiếp với nó dù ở trạng thái cấm cũng có một điện trở dò nhất định, cho nên sau khi được nạp, điện tích trên tụ liên tục bị phóng, sau một thời gian nhất định sẽ bị mất thông tin mà C chứa Chính vì vậy phải nạp điện cho tụ C trước khi điện áp trên

tụ giảm thấp hơn một ngưỡng nào đó, việc này được gọi là “làm tươi” (refresh) Để

Trang 21

làm tươi ô nhớ DRAM, cần phải đọc nội dung của nó rồi viết lại Việc làm tươi phải

được tiến hành theo chu kỳ nhất định, gọi là chu kỳ là tươi

Trong các chip DRAM trước đây mạch điện bổ sung để thực hiện làm tươi thường ở ngoài chip nhớ Ngày nay các mạch điện làm tươi được chế tạo ngay bên trong chip nhớ, nhờ vậy mà loại này vừa có dung lượng cao vừa có giao diện đơn

giản, chúng được gọi là quasi-static RAM

Chip nhớ DRAM lưu giữ thông tin rất lớn do đó cũng cần rất nhiều chân cho tín hiệu địa chỉ Để làm giảm bớt số chân địa chỉ trên một vi mạch nhớ, người ta thường chia địa chỉ ra 2 nhóm: địa chỉ hàng và địa chỉ cột rồi dồn kênh chúng trên các chân địa chỉ, đồng thời cung cấp thêm các tín hiệu cho phép chốt giữ riêng rẽ địa chỉ hàng (RAS) và cột (CAS) ở bên trong vi mạch nhớ

WE OE

Xung cho phép chốt địa chỉ

Xung cho phép

chốt địa chỉ

Hình : Bộ nhớ

Trang 22

Đc cột Đc hàng Không quan tâm

Sơ đồ đọc dữ liệu từ chip DRAM

Do

RAS CAS

A0-A7

CS WR

Data

DIN

RAS CAS

A0-A7

CS WR

Data

Sơ đồ ghi dữ liệu vào chip DRAM

Trang 23

Chương 3 CÁC BỘ VI XỬ Lí VÀ VI ĐIỀU KHIỂN 3.1 Giới thiệu bộ vi xử lý 8 bit tổng quát

DSCS

Bus dữ liệu

Bus trong của CPU 8 bit dữ liệu

20 bit địa chỉ

Logic

điều khiển BUS

Khối điều khiển của EU

Các thanh ghi tạm thời

Thanh ghi cờ

Bus dữ liệu ALU (16 bit)

Đệm lệnh (hàng đợi lệnh)

Các thanh gh

đoạn và con trỏ lệnh

i Các thanh

Trang 24

8088 có 2 khối: Khối phối ghép bus BIU và khối thực hiện lệnh EU

• BIU: Chịu trách nhiệm đưa địa chỉ ra bus và trao đổi dữ liệu với bus

• EU: Bên trong có:

ư CU( Control Unit): thực hiện giải mã lệnh thành dãy xung điều khiển để điều khiển bên trong và bên ngoài CPU

ư ALU: Dùng để thực hiện thao tác của các phép toán

ư Khi hoạt động EU cung cấp thông tin về địa chỉ cho BIU để BIU đọc lệnh và dữ liệu còn EU thì giải mã lệnh và thực hiện lệnh

Khi có bộ đệm lệnh có thể thực hiện cơ chế xử lý xen kẽ Bộ đệm lệnh làm việc theo kiểu "vào trước, ra trước " FIFO Các lệnh cứ nhận về đưa vào đệm lệnh rồi lấy dần ra xử lý, không mất thời gian chờ lấy lệnh sau khi thực hiện

TH

TH

TH

TH TH

Địa chỉ vật lý = Thanh ghi đoạn * 16 + Thanh ghi lệch

Trang 25

Ví dụ cặp thanh ghi CS:IP sẽ chỉ ra địa chỉ của lệnh sắp thực hiện trong đoạn mã Nếu tại 1 thời điểm nào đó ta có CS=F000h và IP = FFF0h thì địa chỉ của ô nhớ vật lý

sẽ là:

CS:IP ~ F000h * 16 + FFF0h = F0000h + FFF0h = FFFF0h

CS : thanh ghi đoạn mã

IP: thanh ghi con trỏ lệnh

Tương tự với các thanh ghi dữ liệu :

DS: Thanh ghi đoạn dữ liệu

Các thanh ghi offset có thể là DI, SI, BX

Một chương trình khi nạp vào trong bộ nhớ nằm ở 4 vùng(đoạn):

- Vùng chứa mã chương trình (Code segment)

- Vùng chứa dữ liệu và kết quả trung gian của chương trình (Data segment)

- Vùng ngăn xếp (stack) để quản lý các thông số của bộ vi xử lý khi gọi

Hai file ẩn của DOS

dữ liệu của DOS và BIOS

Bảng vector ngắtBIOS

RAM màn hình

Trang 26

chương trình con hoặc trở về từ chương trình con.(Stack segment)

- Vùng dữ liệu phụ (Extra segment)

Các thanh ghi đoạn 16 bit chỉ ra địa chỉ đầu (segment) của 4 đoạn trong bộ nhớ

- CS: Code Segment

- DS: Data Segment

- SS: Stack Segment

- ES: extra Segment

Nội dung các thanh ghi đoạn xác định địa chỉ của ô nhớ nằm ở đầu đoạn(địa chỉ cơ sở) Địa chỉ của các ô nhớ khác nằm trong đoạn tính được bằng cách cộng thêm vào địa chỉ cơ sở 1 giá trị gọi là địa chỉ lệch (ofset)

Các thanh ghi của họ 80x86 như sau:

Thanh ghi con trỏ lệnh IP kết hợp CS chỉ ra địa chỉ lệnh sắp thực hiện

Các thanh ghi dữ liệu: AX,BX,CX,DX

Các thanh ghi con trỏ, chỉ số: SP,BP,SI,DI

Các thanh ghi đoạn: CS,DS,SS,ES

Các thanh ghi có độ dài 16 bit gồm 8 bit phần thấp và 8 bit phần cao

VD: AX gồm AH và AL, BX gồm BH và BL

Thanh ghi cờ

- Thanh ghi cờ:

+ Báo trạng thái của kết quả công việc + Cho cách thức điều khiển CPU

+ Cờ Parity: P=1 Khi số bit 1 của ACC chẵn

+ Cờ tràn O: O=1 khi kết quả không biểu diễn nổi trong thanh ghi

+ Cờ cho phép ngắt: I=1 cho phép ngắt

+ Cờ hướng thao tác D: Với loại dữ liệu dạng chuỗi D=1 : Lùi

Để xem các thanh ghi hoạt động ra sao ta có thể dùng chương trình debug với lệnh T( Chạy từng bước) và lệnh R(xem các thanh ghi)

Trang 27

Từ máy 386 các thanh ghi đa năng và thanh ghi cờ có độ lớn gấp đôi (32 bit) Các thanh ghi đoạn (4 thanh ghi) độ lớn vẫn là 16 bit

3.2.3 Biểu đồ thời gian của chu kỳ đọc ghi số liệu

Trong trường hợp bình thường một chu kỳ đọc/ghi của CPU kéo dài 4 chu kỳ

đồng hồ Các chu kỳ được dánh dấu là T1-T4 Nếu CPU làm việc với tần số đồng hồ 5MHz thì một chu kỳ đòng hồ kéo dài T=200 ns và một chu kỳ bus kéo dài 800 ns

Trang 28

Trong chu kỳ này địa chỉ của bộ nhớ hay thiết bị ngoại vi được đưa 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, IO/M cũng được đưa ra để hoàn tất việc giữ thông tin địa chỉ này

Chu kỳ T2

Chu kỳ này CPU đưa ra các tín hiệu điều khiển RDWR, DEN và tín hiệu trên D0-7 nếu đó là lệnh ghi DEN thường được dùng để mở các bộ đệm của bus dữ liệu nếu chúng được dùng trong hệ Tại cuối chu kỳ T2 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ớ hoặc thiết bị ngoại vi

Trang 30

3.2.5 Ghép nối các chân tín hiệu 8088

+ D0 - AD7: Các chân dồn kênh của bus A/D phần thấp

+ A8 A15: Các bit phần cao của bit địa chỉ

+ A16 A19: 4 đường dồn kênh của bus C/A cao

+ INTR: Tín hiệu yêu cầu ngắt che được

+ NMI: Tín hiệu ngắt không che được: Tớn hiệu ngắt từ lỗi cổng, lỗi bộ nhớ, lỗi RAM CMOS

+ RESET: Tín hiệu khởi động lại 8088: Khi chõn này ở mức cao trong 4 clk CPU sẽ khởi động lại

+ CLK: Tín hiệu xung nhịp đồng hồ

+ READY: t/h vào, báo cho CPU biết tình trạng sẵn sàng của thiết bị ngoại vi

+ RD: Xung cho phép đọc

+ WR: Xung cho phép viết

+ IO/M: Tín hiệu phân biệt làm việc với bộ nhớ hay thiết bị ngoại vi

+ INTA: Chấp nhận ngắt

+ HOLD: Yêu cầu treo CPU

+ HLDA: Tớn hiệu ra, chấp nhận treo cho quá trình DMA

Trang 31

+ DT/R: Tớn hiệu ra điều khiển cỏc đệm 2 chiều của bus dữ liệu để chọn chiều chuyển vận của dữ liệu trờn bus D Chõn này ở trạng thỏi cao khi vi xử lý chấp nhận treo

+ MIN/MAX: Ở chế độ MIN chõn này nối thẳng +5V khụng qua điện trở Trong chế độ min cú thể hoạt động như 8085

+ Cỏc bit trạng thỏi: S6 = 0 liờn tục, S5 phản ảnh giỏ trị bit IF của thanh ghi cờ, S3

và S4 phối hợp với nhau để chỉ ra việc truy nhập thanh ghi đoạn

ALE: Xung cho phép chốt địa chỉ Khi ALE=1 bus dồn kênh sử dụng cho địa chỉ Khi CPU treo thì ALE=0

• Các địa chỉ của toán hạng

Toán hạng có thể là nội dung các thanh ghi bên trong bộ vi xử lý, có thể là nội dung các ô nhớ

VD: ADD AL, BL

Trang 32

{ Từ ngôn ngữ bậc cao → assembly → ngôn ngữ máy }

Giữa các khâu biển đổi là các chương trình dịch

Ngôn ngữ máy 10111010 00000011 1011 0000 10001001

BAh 03h B0h 89h Hợp ngữ mov DX,0303

mov al,89 Pascal PORT[$303]:=$89;

Mod Reg M/R Disp L Disp H

Bit D dùng để chỉ hướng đi của dữ liệu

D = 1 Data -> Reg

D = 0 Data <- Reg Reg: chỉ ra nhờ các bít vùng Reg

W = 0 là kiểu Byte

W = 1 là kiểu Word

Trang 34

Ghi chú:

+ d8 disp 8 bit, d16 disp 16 bit + Các giá trị trong cột 2,3,4 là các địa chỉ hiệu dụng (EA) sẽ đ−ợc cộng với DS để tạo thành địa chỉ vật lý (riêng BP phải đ−ợc cộng với SP)

• Chế độ địa chỉ thanh ghi:

Trong chế độ này dùng các thanh ghi bên trong CPU để chứa dữ liệu cần thao tác

Trang 35

VD: MOV BX,AX ; Chuyển nội dung ax vào bx

MOV DS,AX ; Chuyển nội dung ax vào ds

( Không phải là toán hạng mà là địa chỉ của toán hạng)

VD: mov al,[1230h] ; Chuyển nội dung ô nhớ DS:123 vào al

MOV [4560h],CX ; Chuyển nội dung CX vào ô nhớ DS: 4560 và DS:4561

• Chế độ địa chỉ gián tiếp qua thanh ghi

Trong chế độ này 1 toán hạng là 1 thanh ghi được sử dụng để chứa địa chỉ lệch của ô nhớ chứa dữ liệu, còn toán hạng kia chỉ có thể là thanh ghi mà không được là ô nhớ VD:

MOV AL,[BX] ; Chuyển nội dung ô nhớ có địa chỉ DS:BX vào AL

MOV [SI], CL ; Chuyển nội dung CL vào ô nhớ có địa chỉ DS:SI

MOV [DI],AX ; Chuyển nội dung AX vào 2 ô nhớ liên tiếp có địa chỉ DS:DI và DS:(DI+1)

• Chế độ địa chỉ tương đối cơ sở

Trong chế độ này các thanh ghi cơ sở như BX và BP và các hằng số biểu diễn các giá trị dịch chuyển được dùng để tính địa chỉ hiệu dụng của ác toán hạng trong các vùng nhớ DS và SS

Trang 36

• Chế độ địa chỉ tương đối chỉ số

Trong chế độ này các thanh ghi chỉ số như SI và DI và các hằng số biểu diễn các giá trị dịch chuyển được dùng để tính địa chỉ của toán hạng trong vùng nhớ DS

VD:

MOV AX, [SI]+10 ;Chuyển nội dung 2 ô nhớ liên tiếp có địa chỉ

DS:(SI+10) và DS:(SI+11) vào AX hoặc MOV AX,(SI+10)

MOV CL,[DI]+5 ; Chuyển nội dung ô nhớ DS:(DI+5) vào CL

• Chế độ địa chỉ tương đối chỉ số cơ sở

Kết hợp hai chế độ địa chỉ chỉ số và cơ sở ta có chế độ địa chỉ chỉ số cơ sở

VD:

MOV AX,[BX][SI]+8 ;Chuyển nội dung 2 ô nhớ liên tiếp có địa chỉ

DS:(BX+SI+8) và DS:(BX+SI+9) vào AX

Tập lệnh của 8088

• Xung đồng hồ clk là gì?

Các thành phần trong 1 vi xử lý khi hoạt động được đồng bộ với nhau theo một xung nhịp giống như trong một chiếc thuyền đua các tay chèo chèo theo nhịp của người cầm chịch đứng đầu thuyền Xung nhịp càng cao tốc độ xử lý của vi xử lý càng cao Một lệnh máy có thể tốn một đến vài chục xung nhịp VD: lệnh mov tốn 4 xung nhịp, lệnh loop tốn 17 xung nhịp, lệnh RET tốn 16 xung nhịp Mỗi một xung nhịp gọi là 1 clk (clock = xung đồng hồ) Các vi xử lý hiện nay(1/2008) đã đạt đến tốc độ trên 4GHz (Trên 4 tỷ clk trên giây)

Vớ dụ: add ax,bx + AND: Và 2 toán hạng

Viết lệnh: AND đớch, gốc

Trang 37

Thực hiện: Đớch ← Đớch AND Gốc theo bit

Vớ dụ: Nội dung của AL là 03h

Nội dung của BL là 13h and al,bl cho kết quả là 03h cất trong AL + CALL: Gọi chương trình con

Viết lệnh: CALL tờn chương trỡnh con + CLC: Xoá cờ nhớ

+ DEC: Giảm toán hạng đích đi 1

Viết lệnh: DEC Đớch Thực hiện: Giảm đớch đi một đơn vị

Vớ dụ: AL đang là 12 Lệnh dec al sẽ cho kết quả al bằng 11

+ DIV: Chia 2 số không có dấu

Viết lệnh: DIV gốc Thực hiện:

o Nếu gốc là số 8 bit: AX/gốc, số bị chia phải là số khụng dấu 16 bit

để trong AX Sau khi chia AL ← thương, AH ← số dư

o Nếu gốc là số 16 bit: DXAX/gốc Số bị chia phải là số khụng dấu 32 bit để trong cặp thanh ghi DXAX Sau khi chia: AX ← thương, DX

← số dư

+ HLT Dừng: Khi gặp lệnh này cỏc hoạt động của 8088 bị tạm dừng Để thoỏt khỏi trạng thỏi dừng chỉ cú thể tỏc động vào cỏc chõn INTR, NMI hoặc RESET

+ IN: Đọc dữ liệu từ cổng vào thanh chứa Acc

Viết lệnh: IN Acc, Port Thực hiện: Acc ← Port Đọc nội dung của cổng Port vào thanh chứa Khi địa chỉ cổng > ffh cần đưa địa chỉ cổng qua thanh ghi DX

Trang 38

+ INC: Tăng toán hạng đích lên 1

Viết lệnh: INC Đớch Thực hiện: Tăng đớch lờn một đơn vị Đớch ← Đớch +1

Vớ dụ: AL đang là 12 Lệnh inc al sẽ cho kết quả nội dung của al tăng lờn 1 là 13

+ IRET: Trở về từ chương trình con phục vụ ngắt

+ JA/JNBE, JAE/JNB/JNC, JB/JC/JNAE, JBE/JNA, JE/JZ, JG/JNLE, JGE/JNL,

JL, JNGE, JLE/JNG

A: Above - Cao hơn, ở phớa trờn

E: Equal - Bằng, tương đương

B: Below - Ở dưới, thấp hơn

G: Great than - Lớn hơn

Less than - nhỏ hơn

JZ: Nhảy nếu kết quả bằng 0

JC: Nhảy nếu cú cờ nhớ

JAE: Nhảy nếu cao hơn hoặc bằng

JBE: Nhảy nếu thấp hơn hoặc bằng

+ JMP: Nhảy vụ điều kiện đến một đích nào đó

+ LEA: Nạp địa chỉ hiệu dụng vào thanh ghi

mov ah, 2

Trang 39

+ MOV: Di chuyÓn byte hay tõ

Viết lệnh: MOV đích, gốc

Thực hiện: Copy nội dung của gốc vào đích

Ví dụ:

mov al, 7 mov bl, 5 mov al, bl Sau đoạn lệnh này nội dung của al và bl đều bằng 5

+ MUL: Nh©n sè kh«ng dÊu

Viết lệnh: MUL gốc

Thực hiện: Tuỳ theo độ dài của toán hạng gốc có hai trường hợp

o Nếu gốc là số 8 bit để trong AL: AL * gốc, số bị nhân là số 8 bit để trong AL Sau khi nhân AX ← tích

o Nếu gốc là số 16 bit: AX*gốc Số bị nhân phải là số 16 bit trong AX Sau khi nhân DXAX ← tích

mov al,7 mov bl,5 mul bl; AL = 35 + NOP: Kh«ng lµm g× trong 8 clk

+ OR: HoÆc 2 to¸n h¹ng

or ax, bx; kết quả AX bằng 1f1fh + OUT: §−a d÷ liÖu tõ Acc ra cæng

Viết lệnh: OUT Port, Acc

Trang 40

Thực hiện: Port ← Acc Đưa nội dung của thanh chứa ra Port Khi

địa chỉ cổng > ffh cần đưa địa chỉ cổng qua thanh ghi DX

+ POP: Lấy lại 1 từ từ đỉnh ngăn xếp

Viết lệnh: POP đớch

Thực hiện: Đớch ← {SP}

SP ← SP + 2 + PUSH: Cất 1 từ vào ngăn xếp

Viết lệnh: PUSH gốc

Thực hiện: gốc → {SP}

SP ← SP - 2 + RCL: Quay trái qua cờ nhớ

Thực hiện:

MSB được đưa vào cờ CF và LSB

Nếu sau 8 lần quay kết quả khụng đổi Sau 4 lần quay thỡ 2 nibble bị đổi chỗ

Viết lệnh: ROR đớch, CL

Ngày đăng: 27/03/2014, 23:58

HÌNH ẢNH LIÊN QUAN

Hình : Cấu trúc của 1 EPROM - Vi xử lý và lập trình hợp ngữ
nh Cấu trúc của 1 EPROM (Trang 8)
Hình :  Thanh ghi đệm - Vi xử lý và lập trình hợp ngữ
nh Thanh ghi đệm (Trang 14)
Hình  : Các tín hiệu của CPU 8088 trong chu kỳ ghi đơn giản hoá - Vi xử lý và lập trình hợp ngữ
nh : Các tín hiệu của CPU 8088 trong chu kỳ ghi đơn giản hoá (Trang 28)
Hình  : Các tín hiệu của CPU 8088 trong chu kỳ đọc đơn giản hoá - Vi xử lý và lập trình hợp ngữ
nh : Các tín hiệu của CPU 8088 trong chu kỳ đọc đơn giản hoá (Trang 29)
Bảng  : Phối hợp MOD và R/W để tạo ra các chế độ địa chỉ - Vi xử lý và lập trình hợp ngữ
ng : Phối hợp MOD và R/W để tạo ra các chế độ địa chỉ (Trang 33)
Sơ đồ khối của vi điều khiển 8051 - Vi xử lý và lập trình hợp ngữ
Sơ đồ kh ối của vi điều khiển 8051 (Trang 82)
Bảng 15. Các chi tiết thiết lập lệnh - Vi xử lý và lập trình hợp ngữ
Bảng 15. Các chi tiết thiết lập lệnh (Trang 86)
Bảng 17. Lệnh luận lý - Vi xử lý và lập trình hợp ngữ
Bảng 17. Lệnh luận lý (Trang 87)
Bảng 18. Lệnh chuyển dữ liệu - Vi xử lý và lập trình hợp ngữ
Bảng 18. Lệnh chuyển dữ liệu (Trang 89)
Bảng 19. Lệnh chuyển điều khiển - Vi xử lý và lập trình hợp ngữ
Bảng 19. Lệnh chuyển điều khiển (Trang 90)
Bảng 20. Lệnh nhảy có điều kiện - Vi xử lý và lập trình hợp ngữ
Bảng 20. Lệnh nhảy có điều kiện (Trang 91)
Sơ đồ chân và chức năng các chân của vi diều khiển AVR ATMEGA 16 - Vi xử lý và lập trình hợp ngữ
Sơ đồ ch ân và chức năng các chân của vi diều khiển AVR ATMEGA 16 (Trang 97)
4.3.1  Sơ đồ khối bộ đếm lập trình đ−ợc (8254) - Vi xử lý và lập trình hợp ngữ
4.3.1 Sơ đồ khối bộ đếm lập trình đ−ợc (8254) (Trang 132)
Sơ đồ khối UART 8250A - Vi xử lý và lập trình hợp ngữ
Sơ đồ kh ối UART 8250A (Trang 139)
Sơ đồ cấu trúc bên trong của 8255A - Vi xử lý và lập trình hợp ngữ
Sơ đồ c ấu trúc bên trong của 8255A (Trang 148)

TỪ KHÓA LIÊN QUAN

🧩 Sản phẩm bạn có thể quan tâm

w