|
עמוד:139
נספח - תיאור תהליך הרצת התכנית לאחר התרגום של תכנית האסמבלי והקישור , אם אין שגיאות תחביר , מופק קובץ הרצה ( במקרה של מערכת Windows או , DOS למשל , זהו קובץ שהסיומת שלו היא . ( exe כאשר מריצים קובץ זה , מערכת ההפעלה טוענת את התכנית לזיכרון ומעבירה את הבקרה לתחילת התכנית לשם הרצתה . מערכת ההפעלה מקצה את המקטעים הדרושים לתכנית וטוענת לכל מקטע את קטע התכנית המתאים י למקטע הקוד את ההוראות , למקטע הנתונים את המשתנים וכך הלאה . תחילה מקצה מערכת ההפעלה קבוצת תאי זיכרון נוספת הנקראת כותרת . הכותרת מכילה מאפיינים שונים של התכנית . מערכת ההפעלה משתמשת בקבוצת התאים הזו ( הנקראת - PSP קיצור של ( Program Segment Prefix כדי לנהל את המשימות המורצות במחשב . אחרי הכותרת מוקצים המקטעים לפי הסדר הבא י מקטע הקוד , מקטע הנתונים ומקטע המחסנית . לאחר הקצאת המקטעים , מאותחל כל אחד מאוגרי הסגמנט לכתובת של תחילת המקטע המתאים ; אוגרי סגמנט הנתונים ES-1 DS מאותחלים לכתובת של תחילת . PSP-n כדי לאתחל את אוגר מקטע הנתונים DS לכתובת הבסיס של מקטע הנתונים , אנו רושמים את שתי ההוראות האלה mov ax , @ DATA ax mov ds , ax הוראות אלה מעתיקות את כתובת הבסיס של מקטע הנתונים ומאתחלות את האוגר . DS בגלל המגבלות של מבנה המחשב , ובעקבות זאת — מגבלות של שפת המכונה ( בפרק השישי נרחיב את הדיון בהן , ( איננו יכולים לשים את כתובת הבסיס של מקטע הנתונים ישירות באוגר , DS ולכן אנו משתמשים באוגר . AX הסימול @ הוא הנחיה של האסמבלר והוא מציין כתובת . כאשר אנו טוענים תכנית לזיכרון , שמות המשתנים והתוויות מוחלפים בכתובות אפקטיביות מתאימות . לשם כך מנהל האסמבלר טבלה הנקראת "טבלת הסמלים" . ( symbol table ) בטבלה זו מאוחסנים כל הסמלים ( שמות משתנים , תוויות , וכדומה )
|
|