|
עמוד:272
( כלומר בכתובות נמוכות יותר . ( נקבע כמוסכמה כי BP ( וגם ( SP תמיד מצביע על כתובת החזרה . לכן תוקצה למשתנה המקומי הראשוו ( שהוא מטיפוס מילה ) הכתובת , SS : [ BP-2 ] למשתנה המקומי השני תוקצה הכתובת , SS : [ BP-4 ] וכך הלאה . באופן כללי : המיקום של פרמטרים מקומיים הוא בכתובות [ bp-n ] ואילו מיקום הפרמטרים המועברים אל הפרוצדורה הוא בכתובות [ bp + n ] ( כאשר . ( 11 = 0 , 2 , 4 , 6 ,. .. דוגמה 7 . 6 נכתוב תכנית שתסכם את וז האיברים הראשונים בסדרת המספרים . 1 , 3 , 5 , 7 ... התכנית תשתמש בפרוצדורה sumNum המסכמת n איברים בסדרה . הפרוצדורה תקבל את הפרמטרים האלה ו n כפרמטר לפי ערך sum-1 כפרמטר לפי כתובת ; הפרוצדורה תשתמש בפרמטר מקומי בעזרתו מחושב הסכום , ובסיום יועתק ערך זה אל המשתנה . sum בתכנית מוגדרים שני משתנים : משתנה n מטיפוס מילה המכיל את מספר האיברים בסדרה משתנה sum מטיפוס מילה שבו יישמר סכום הסדרה . תחילה נכתוב אלגוריתם המתאר את הפעולות העיקריות בתכנית \ דחוף למחסנית את ערכו של n דחוף למחסנית את כתובתו של sum קרא לפרוצדורה sumNum סיים תכנית . איור 7 . 12 מצב מחסנית הכולל פרמטרים ומשתנים מקומיים
|
|