View Full Version : thắc mắc về lệnh Incfsz f,d
gastech
02-08-2008, 12:53 AM
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
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,
vBulletin® v3.8.11, Copyright ©2000-2025, vBulletin Solutions Inc.