Trích:
Nguyên văn bởi tinhthanthep
2. Trong chuong trình ngắt theo tôi chỉ cần lưu giá trị của thanh ghi W và STATUS vì thanh ghi PC đã được lưu trong stack. Đồng thời trong quá trình xử lý 1 ngắt thì bit toàn cục GIE đã bị clear nên sẽ không có ngắt nào khác hoạt động được nữa lên không sợ tràn stack.
|
Đồng ý với tinhthanthep ở những điểm còn lại trừ điểm trên, theo tôi thì phải lưu giữ cả thanh ghi PCLATH, theo datasheet của P16F877A nói là PCLATH sẽ không bị thay đổi giá trị ngay sau lệnh RETFIE, giả sử chương trình ngắt của bạn đặt tại Page2, vậy thì khi trở về từ ngắt, liệu có đảm bảo chương trình của bạn sẽ chạy đúng???
vì thế không cần lưu trữ giá trị thanh ghi PCLATH chỉ chính xác với những dòng PIC có bộ nhớ chương trình <=2K (2^11=2048 địa chỉ).