![]() |
|
Tài trợ cho PIC Vietnam |
Cơ bản về vi điều khiển và PIC Những bài hướng dẫn cơ bản nhất để làm quen với vi điều khiển PIC |
|
Ðiều Chỉnh | Xếp Bài |
![]() |
#1 |
Đệ tử 7 túi
Tham gia ngày: Aug 2007
Bài gửi: 213
: |
Hỏi về INDF và FSR
Mình có đoạn chương trình như sau:
Code:
title "Prog1 Simpple addressing" LIST P=16F84,F=INHX8M,R=DEC INCLUDE "p16f84.inc" ;registers test equ 12 __config _CP_OFF & _WDT_OFF & _RC_OSC PAGE ;main org 0 clrf test movf test,w addlw 'A' movwf test movlw test movwf FSR movf INDF,w incf INDF movwf INDF Finished goto $ end 1. Chỉ thị EQU là gán tên ký hiệu cho một chuỗi hoặc hằng số,vậy nó mang giá trị được gán hay là địa chỉ ?(Mình nghĩ là giá trị được gán,ví dụ test EQU 12 thì test=12).Có phải bất cứ khi nào gọi test thì đều gọi giá trị 12 ? 2. Thanh ghi INDF có chức năng như thế nào vậy ?Công dụng của nó là để làm con trỏ ? 3. Hai dòng lệnh sau đây là như thế nào ?(cũng lấy trong đoạn chương trình trên).TRước dòng lệnh thì test đang giữ giá trị là 0x41 (tức là d65).Ta cho trực hiện 2 lệnh này : Code:
movlw test movwf FSR 4. Trong cửa sổ watch có các symbol nhưng mình không hiểu rõ lắm: Z có phải là cờ zero không ?Lúc đầu thì mình cũng nghĩ vậy nhưng khi cho chạy chương trình từng bước thì nó lại nhảy 1,2,3,4...Nhưng nhìn vào thanh ghi status thì cờ zero vẫn bằng không sau các dòng lệnh.Vậy 2 cái z này khác nhau như thế nào vậy ? 5 Các symbol W,WR,WREG là sao ?Có khác nhau không.Cái nào mới chính là thanh làm việc?(mình nghĩ là WREG).Không biết có phải không nên hỏi cho chắc ăn). Hy vọng nhận được câu trả lời sớm.Cảm ơn nhiều !!!!! |
![]() |
![]() |
|
|