i Định địa chỉ gán tếp thông qua R0 hoặc R
3.3.5. Lệnh truy xuất dữ liệu ngoà
Cú pháp câu lệnh: MOVX <dest-byte>, <src-byte>
Chức năng: Chuyển dữ liệu giữa thanh ghi tích luỹ với bộ nhớ ngoài. Các lệnh này
được chia làm 2 loại, một loại cung cấp địa chỉ 8 bit và 1 loại cung cấp địa chỉ 16 bit.
Nếu dữ liệu được chuyển là 8 bit, nội dung của R0 hoặc R1 trong băng thanh ghi hiện hành sẽ cung cấp địa chỉ 8 bit đa hợp với dữ liệu trên P0. 8 bit địa chỉ này đủ để mã hoá cho các cổng I/O mở rộng bên ngoài chip hoặc cho1 dãy RAM kích thước tương đối nhỏ. Với các dãy RAM có kích thước lớn hơn một chút, một vài chân của cổng bất kỳ nào đó có thể được sử dụng để tạo ra các bit địa chỉ cao. Các chân này nên được điều khiển bởi 1 lệnh xuất đặt trước lệnh MOVX.
Nếu dữ liệu được chuyển là 16 bit, thì DPTR tạo ra địa chỉ 16 bit. P2 xuất ra 8 bit địa chỉ cao (nội dung của DPH), còn P0 xuất ra 8 bit địa chỉ thấp đa hợp với dữ liệu.Thanh ghi chức năng đặc biệt P2 duy trì nội dung trước đó trong khi các bộ đệm xuất của P2 đang phát các nội dung của DPH. Dạng này nhanh hơn và hiệu quả hơn khi truy xuất nhiều dãy dữ liệu rất lớn (lên đến 64 Kb) do ta không cần thêm lệnh để thiết lập các cổng khác.
Câu lệnh Số byte Số chu kỳ Mã lệnh Hoạt động
MOVX A, @Ri 1 2 11100011 (A)<-((Ri))
MOVX @Ri, A 1 2 11110011 ((Ri))<(A)
MOVX A, @DPTR 1 2 11100000 (A)<-((DPTR))
MOVX @DPTR, A 1 2 11110000 ((DPTR))<-(A)
Ví dụ: Chuyển nội dung 34h vào địa chỉ 1234h ở RAM ngoài
MOV A, #34h ; (A) = 34h
MOV DPTR, #1234h ; (DPTR) = 1234h MOVX @DPTR, A ; ((DPTR)) = (A)