PIC Vietnam

PIC Vietnam (http://www.picvietnam.com/forum/index.php)
-   MPASM (http://www.picvietnam.com/forum/forumdisplay.php?f=34)
-   -   thắc mắc về lệnh Incfsz f,d (http://www.picvietnam.com/forum/showthread.php?t=2667)

gastech 02-08-2008 12:53 AM

thắc mắc về lệnh Incfsz f,d
 
Theo datasheet của pic thi 0 <= f <= 127, cho em hỏi ý nghĩa của điều kiện này là gì ?
Em dùng MPLAP SIM mô phỏng thì khi cho f > 127 , chương trình vẫn chạy bình thường.

namqn 02-08-2008 02:01 AM

Trích:

Nguyên văn bởi gastech (Post 17900)
Theo datasheet của pic thi 0 <= f <= 127, cho em hỏi ý nghĩa của điều kiện này là gì ?
Em dùng MPLAP SIM mô phỏng thì khi cho f > 127 , chương trình vẫn chạy bình thường.

Theo datasheet của PIC (PIC16F877A chẳng hạn), lệnh INCFSZ f,d là lệnh tăng thanh ghi f và bỏ qua lệnh tiếp theo nếu kết quả của phép tăng thanh ghi f là zero. Bit d chỉ thị đích ghi kết quả, d = 0 thì ghi kết quả vào W, d = 1 thì ghi kết quả ngược vào thanh ghi f. Điều kiện 0 <= f <= 127 cho thấy chỉ có 7 bit địa chỉ được dùng để định vị thanh ghi f.

Nếu bạn dùng giá trị f >= 128, trình biên dịch lẽ ra phải thông báo rằng bạn dùng giá trị vượt quá khả năng chứa trong 7-bit địa chỉ, do đó chỉ có 7 bit thấp nhất của địa chỉ sẽ được dùng để định vị f.

Bạn có thể làm thí nghiệm sau: dùng giá trị 129 cho f, và mô phỏng bằng MPLAB SIM xem thanh ghi có địa chỉ 129 (0x81) sẽ bị thay đổi hay thanh ghi có địa chỉ 1 sẽ bị thay đổi.

Thân,


Múi giờ GMT. Hiện tại là 07:58 PM.

Tên diễn đàn: vBulletin Version 3.8.11
Được sáng lập bởi Đoàn Hiệp.
Copyright © PIC Vietnam