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

Bài giảng môn vi xử lý chương 3

26 1 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

Thông tin cơ bản

Định dạng
Số trang 26
Dung lượng 1,28 MB

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

Nội dung

Tham khảo tập lệnh Mnemonic: cú pháp lệnh Instruction code : định dạng mã máy Hexa-Decimal: mã máysố hex Explanation: Thao tác của lệnh No... CÁC PHƯƠNG PHÁP ĐỊNH ĐỊA CHỈ - Tức thời

Trang 1

CHƯƠNG 3

TẬP LỆNH

MCS - 51

Trang 3

Ý nghĩa các ký hiệu viết tắt trong tập lệnh

Rn Định địa chỉ thanh ghi bằng các thanh ghi R0 đến R7

direct Địa chỉ trực tiếp 8 bit (00H đến FFH)

@Ri Định địa chỉ gián tiếp dùng thanh ghi R0 hoặc R1

#data Hằng số 8 bit Chú ý: với các số HEX nếu bắt đầu bằng chữ thì

phải thêm số 0 phía trước chữ đó

#data16 Hằng số 16 bit Chú ý: với các số HEX nếu bắt đầu bằng chữ

thì phải thêm số 0 phía trước chữ đó

rel Offset 8 bit có dấu trong định địa chỉ tương đối

addr11 Định địa chỉ tuyệt đối 11 bit trong trang 2K hiện hành

addr16 Địa chỉ 16 bit

src Toán hạng nguồn (source), có thể là Rn, direct,#data hoặc @Ri

dest Toán hạng đích (destination), có thể là Rn, direct hoặc @Ri

X Nội dung của X Ví dụ: A  nội dung của thanh ghi A

(X) Nội dung ô nhớ có địa chỉ là nội dung của X Ví dụ: (20H) 

nội dung ô nhớ có địa chỉ 20H

Trang 4

Tham khảo tập lệnh

Mnemonic: cú pháp lệnh

Instruction code : định dạng mã máy

Hexa-Decimal: mã máy(số hex)

Explanation: Thao tác của lệnh

No of MC: thời gian thực thi lệnh

Bài giảng môn Vi xử lý GV: Lê Thị Kim Anh

4

Trang 5

II CÁC PHƯƠNG PHÁP ĐỊNH ĐỊA CHỈ

- Tức thời (Immediate)

- Thanh ghi (Register)

- Trực tiếp (Direct)

- Gián tiếp (Indirect)

- Tương đối (Relative)

- Tuyệt đối (Absolute)

Trang 6

- Toán hạng là một hằng số, sử dụng dấu #

Bài giảng môn Vi xử lý

ĐỊNH ĐỊA CHỈ TỨC THỜI ( #data, #data16 )

- Định dạng mã lệnh cho pp này là 2 byte , trừ trường hợp data16

Trang 7

Bài giảng môn Vi xử lý GV: Lê Thị Kim Anh

Trang 8

Các thanh ghi chức năng đặc biệt

ĐỊNH ĐỊA CHỈ TRỰC TIẾP ( direct )

Truy xuất đến RAM nội và các thanh ghi chức năng đặc biệt (ACC(E0H),PSW(D0H),P1(90H), P0(80H)…)

Trang 9

Bài giảng môn Vi xử lý GV: Lê Thị Kim Anh

- Toán hạng là nội dung của một ô nhớ có địa chỉ là direct

- Định dạng mã lệnh cho pp này là 2 byte

Trang 10

MOV A,30H MOV A,#30H

Trang 11

MOV A,07H MOV A,7 MOV A,R7

MOV 07H,06H MOV 7,6 ≠ MOV R7,R6

SỰ TƯƠNG ĐƯƠNG LỆNH KHI DÙNG CÁC PHƯƠNG PHÁP ĐỊNH ĐỊA CHỈ KHÁC NHAU

Bài giảng môn Vi xử lý GV: Lê Thị Kim Anh

11

Trang 12

ĐỊNH ĐỊA CHỈ GIÁN TIẾP ( @Ri (i=0,1), @DPTR )

Bài giảng môn Vi xử lý GV: Lê Thị Kim Anh

12

- Toán hạng là nội dung của một ô nhớ có địa chỉ chứa trong thanh ghi

- Định dạng mã lệnh cho pp này là 1 byte

Ví dụ

MOV A, @R1

Mã máy : E7

Trang 13

SỰ KHÁC NHAU GIỮA PHƯƠNG PHÁP ĐỊNH ĐỊA CHỈ THANH GHI VÀ GIÁN TIẾP

A

7FH

00H R1 Internal RAM

Bài giảng môn Vi xử lý GV: Lê Thị Kim Anh

Trang 14

ĐỊNH ĐỊA CHỈ TƯƠNG ĐỐI ( rel )

- Toán hạng là một offset (độ dời có dấu 8 bit)

- Được sử dụng trong các lệnh nhảy ngắn hoặc rẽ nhánh:

Trang 16

- Định dạng mã lệnh cho pp này là 2 byte

Ví dụ

SJMP LABEL

Giả sử lệnh này được lưu trong

bộ nhớ tại vị trí 0100H và

0101H như hình bên LABEL

được đặt tại địa chỉ 0107H

rel = byte thấp( LABEL – PCHH )

= 0107 – 0102 = 05

Mã máy : 80 05

Trang 17

Bài giảng môn Vi xử lý GV: Lê Thị Kim Anh

Trang 18

ĐỊNH ĐỊA CHỈ TUYỆT ĐỐI ( addr11 )

- Được sử dụng trong AJMP, ACALL

- Phạm vi: mỗi trang 2K với địa chỉ PC của lệnh kế

Bài giảng môn Vi xử lý GV: Lê Thị Kim Anh

18

Trang 20

Xem lệnh ACALL trong chương trình trên, phạm vi của nhãn DELAY sẽ chỉ được phép nằm trong trang nào của bộ nhớ chương trình Giả sử nhãn

DELAY đặt tại địa chỉ 20FFH thì có hợp lý không, khi đó mã máy được tính là gì?

Trang 22

ĐỊNH ĐỊA CHỈ DÀI ( addr16 )

- Được sử dụng trong LJMP, LCALL

Trang 23

Ví dụ

Hãy xác định mã máy cho lệnh LJMP MAIN , biết rằng nhãn

MAIN được đặt tại địa chỉ 2040H

- Định dạng mã lệnh cho pp này là 3 byte

Mã máy : 02 20 40

Trang 24

ĐỊNH ĐỊA CHỈ CHỈ SỐ ( @A + DPTR , @A + PC )

- Sử dụng một thanh ghi nền (PC, DPTR) và một offset (thanh

ghi A) tạo thành địa chỉ hiệu dụng cho lệnh MOVC hoặc JMP

- Ví dụ như các lệnh sau:

Trang 25

Ví dụ: với thanh ghi nền là DPTR

MOVC A,@A+DPTR : DPTR = 10F0H, giả sử n = 0

Trang 26

MOVC A,@A+PC : PCHH = 1082H, giả sử n = 0

Ngày đăng: 02/11/2022, 09:56