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

Một phần của tài liệu Giáo trình Vi điều khiển Trường CĐ Kinh tế Kỹ thuật Vinatex TP. HCM (Trang 43 - 44)

1. Định địa chỉ trực tiếp

Định địa chỉ trực tiếp chỉ dùng cho các thanh ghi chức năng đặc biệt và RAM nội của 8951. Giá trị địa chỉ trực tiếp 8 bit được thêm vào phía sau mã lệnh. Nếu địa chỉ trực tiếp từ 00h – 7Fh thì đó là RAM nội của 8951 (128 byte), còn địa chỉ từ 80h – FFh là địa chỉ các thanh ghi chức năng đặc biệt (xem Bảng 2.2, chương II).

Các lệnh sau có kiểu định địa chỉ trực tiếp:

MOV A, P0 MOV A, 30h

Lệnh đầu tiên chuyển nội dung từ Port 0 vào thanh ghi A. Khi biên dịch, chương trình sẽ thay thế từ gợi nhớ P0 bằng địa chỉ trực tiếp của Port 0 (80h) và đưa vào byte 2 của mã lệnh. Lệnh thứ hai chuyển nội dung của RAM nội có địa chỉ 30h vào thanh ghi A.

2. Định địa chỉ gián tiếp

Định địa chỉ gián tiếp có thể dùng cho cả RAM nội và RAM ngoại. Trong chế độ này, địa chỉ của RAM xác định thông qua một thanh ghi (R0, R1, SP cho địa chỉ 8 bit và DPTR cho địa chỉ 16 bit). Các lệnh sau có kiểu địa chỉ gián tiếp:

MOV A, @R0 MOVX A, @DPTR

Lệnh đầu tiên chuyển nội dung cúa RAM nội có địa chỉ chứa trong thanh ghi R0 vào thanh ghi A (giả sử R0 = 30h thì chuyển nội dung của ô nhớ 30h). Lệnh thứ hai chuyển nội dung RAM ngoại vào thanh ghi A (địa chỉ RAM chứa trong DPTR).

3. Định địa chỉ thanh ghi

Các thanh ghi từ R0 – R7 có thể truy xuất bằng cách định địa chỉ trực tiếp hay gián tiếp như trên. Ngoài ra, các thanh ghi này cịn có thể truy xuất bằng cách dùng 3 bit trong mã lệnh để chọn 1 trong 8 thanh ghi (8 thanh ghi này có địa chỉ trực tiếp thay đổi tuỳ theo bank thanh ghi đang sử dụng).

4. Định địa chỉ tức thời

Giá trị của một hằng số có thể đưa trực tiếp vào mã lệnh của chương trình. Trong hợp ngữ, hằng số được xác định bằng cách sử dụng dấu #.

Lệnh: MOV A, #10h có chế độ địa chỉ tức thời.

5. Định địa chỉ chỉ số

Quá trình định địa chỉ chỉ số chỉ có thể dùng cho bộ nhớ chương trình, được dùng để đọc dữ liệu trong các bảng tìm kiếm. Chế độ này thường dùng một thanh ghi nền 16 bit (PC hay DPTR) để chỉ vị trí của bảng và thanh ghi A chỉ vị trí của các phần tử trong bảng.

Một phần của tài liệu Giáo trình Vi điều khiển Trường CĐ Kinh tế Kỹ thuật Vinatex TP. HCM (Trang 43 - 44)

Tải bản đầy đủ (PDF)

(125 trang)