פסיקות במעבד ולמה הטיפול שונה לפסיקת חילוק שגוי? - תכנות - HWzone פורומים
עבור לתוכן
  • צור חשבון

פסיקות במעבד ולמה הטיפול שונה לפסיקת חילוק שגוי?


MasterDK

Recommended Posts

אלהן, אני לומד פה למערכות זמן אמת (עובר על החומר בין היתר) ועליתי על משהוא שרציתי לשאול עוד כשגיליתי את זה אבל שכחתי למשהוא.

בכל מקרה כאשר מתרחשת פסיקה המעבד דוחף 3 דברים למחסנית:


TOP

| IP |
----------
| CS |
----------
| FLAGS |
----------

לעמות זאת עם פסיקת חילוק שגוי (פסיקה 0) החל מ 286 הוא דוחף במקום IP את הכתובת של פקודה DIV. מה שמוזר שעד 286 זה היה רגיל (כלומר IP נדחף) למה החל מ 286 שינו את זה? מה ההיגיון בזה?

תודה רבה מראש.

קישור לתוכן
שתף באתרים אחרים

ניחוש שמבוסס על עובדות:

interrupt של division by 0 קורה גם כאשר יש overflow בחילוק ולא רק כאשר מחלקים ב-0.

כאן מתחיל הניחוש: על מנת שהמערכת תוכל להבדיל בין המקרים, ufi מנת שתוכל אפילו לתקן את הבעיה, צריך שניתן יהיה להגיע להוראה המדויקת של החילוק.

הנה ISR שמנסה לתקן את ההוראה או לדלג מעליה, בהתאם למקרה: http://forthworks.com/mirrors/taygeta/Applications/fpc/div0.seq

קישור לתוכן
שתף באתרים אחרים

ארכיון

דיון זה הועבר לארכיון ולא ניתן להוסיף בו תגובות חדשות.

×
  • צור חדש...