|
עמוד:82
שימוש במחסנית למימוש הקריאה לפונקציה לאחר ביצוע ההידור של התכנית נוצר קובץ בעל סיומת . exe זהו קובץ הכתוב בשפת מכונה . בקובץ זה מוגדרים שלושה אזורים עיקריים \ אזור הנתונים , אזור התכנית ואזור המחסנית . אזור הנתונים : באזור זה מאוחסנים המשתנים הגלובליים של התכנית , עליהם נפרט בהמשך . אזור התכנית : אזור זה מכיל את הוראות התכנית הכוללות את כל הפונקציות שבשפת מכונה . אזור מחסנית : זהו אזור בזיכרון שנועד לשמירת נתונים זמניים . כאשר מזמנים פונקציה יש לשמור את כתובת החזרה . כלומר , את המקום בתכנית שאליה הביצוע צריך לחזור לאחר סיום הפונקציה . כתובת זו נשמרת במחסנית ונשלפת משם כאשר מסתיימת הפונקציה . המחסנית עובדת בשיטת , Last In First Out - LIFO זאת אומרת הנתון האחרון שנכנס למחסנית הוא הראשון שיוצא ממנה . כבר למדנו שלמשתנים מקומיים מוקצה מקום בזיכרון רק כשהפונקציה מזומנת וברגע שהפונקציה סיימה את תפקידה משתחרר בזיכרון המקום שבו נוצרו המשתנים . משתנים אלו נוצרים ומאוחסנים במחסנית נסכם את תפקידה של המחסנית : היא מתארת בכל רגע נתון את מצב הקריאות בין הפונקציות השונות בתכנית ושומרת לכל פונקציה את הנתונים שלהלן ; את המשתנים המקומיים של הפונקציה . את כתובת החזרה שאליה צריכה הפונקציה לחזור בסיום תפקידה כדי להמשיך בתכנית באופן תקין . את הפרמטרים המועברים לפונקציה . את הערך המוחזר מהפונקציה . דוגמה נתונות שתי הפונקציות האלה
|
|