PDA

View Full Version : Làm sao để đọc dữ liệu từ ô nhớ vào thanh ghi W


nghaiha
17-07-2006, 05:26 PM
Tôi có một biến abc nằm ở ô nhớ 0x20 chứa giá trị là 0x22

vậy làm sao để đọc giá trị của ô nhớ 0x22 qua truy xuất biến abc

ở 8501 thì có lệnh như: Mov A, @abc

vậy ở PIC thì sao hả các bác????

Cám ơn các bác nhiều.

namqn
17-07-2006, 06:39 PM
Ví dụ với PIC16:
movf abc, W
hay
movf abc, 0

Nếu bạn bắt đầu làm quen với PIC thì nên đọc các luồng sau:
http://picvietnam.com/forum/showthread.php?t=4
http://picvietnam.com/forum/showthread.php?t=10
http://picvietnam.com/forum/showthread.php?t=5

Thân,

nghaiha
17-07-2006, 06:59 PM
cám ơn bác

nhưng nếu làm như thế chỉ nhận được 0x22 trong W thôi bác ạ

giả sử ô nhớ 0x22 chứa giá trị 0x50 nào đó

làm cách nào để nhận được giá trị 0x50 này

cám ơn bác một lần nữa

namqn
17-07-2006, 07:14 PM
Đã trả lời cho bạn nghaiha qua Y!M rồi, nhưng cũng post lên đây để các bạn khác tham khảo.

Yêu cầu trên được đáp ứng bằng cách dùng chế độ định vị gián tiếp của PIC. Với PIC16 chẳng hạn, chúng ta dùng thanh ghi FSR làm thanh ghi chỉ số. Chẳng qua nó là một thanh ghi con trỏ được thiết kế sẵn trong chip.

Lấy ví dụ chip PIC16F877(A), bạn đọc phần 2.5 'Indirect Addressing, INDF and FSR Registers', ví dụ 2-2 có hướng dẫn cách định vị gián tiếp này.

Thân,

newuser
03-08-2006, 10:02 AM
à, đây rồi, em cứ lẫn lộn FSR với SFR, chán thật.
bạn đang học 8051 nên thắc mắc chỗ này cũng phải, mình cũng từng thắc mắc như vậy, nhưng cũng tương tự thôi bạn à
FSR <=> R0/R1 : chứa địa chỉ thanh ghi sẽ trỏ đến
INDF<=>@R0/@R1: chứa giá trị thanh ghi mà FSR "trỏ" đến.
chỉ đơn giản vậy thôi mà!

huynhlephuocson
27-12-2007, 11:08 AM
các bac nào biết đọc và set thanh ghi trong pascal làm như thế nào chỉ em với?