|
صفحة: 123
4 . 4 כתיבת תכנית בשפת אסמבלי 4 . 4 . 1 מבנה הוראות בשפת אסמבלי מבנה ההוראות בשפת אסמבלי דומה למבנה ההוראות בשפת מכונה ( שתיארנו בפרק הראשון ) והן מורכבות מאופרטור ואופרנדים . כדי לתאר את ההבדלים בין שפת מכונה לשפת אסמבלי נשתמש בדוגמה המציגה הוראות אסמבלי לביצוע הפעולות הבאות ו שאליו פונים . ברירת המחדל של האוגר IP היא מקטע הקוד , לכן כתובת הבסיס נמצאת באוגר הקוד . CS באופן דומה , כאשר משתמשים באוגר BP כמצביע לזיכרון , ברירת המחדל היא אוגר מקטע המחסנית , SS וכאשר משתמשים באוגרים DH BX , SI באוגרים המצביעים על היסט , ברירת המחדל היא אוגר מקטע הנתונים . DS בהמשך , כחלק מתיאור של הוראה , נפרט גם את מקטע ברירת המחדל המתאים . אולם , אם במהלך התכנית נצטרך לפנות לתא שכתובתו נמצאת מחוץ לאחד המקטעים , נצטרך לכתוב הוראה שתשנה את כתובת אוגר המקטע בהתאמה . השימוש במקטעים מאפשר גם תאימות למעבדים ישנים . למשל , במעבד , 8085 שקדם למעבד , 8086 מרחב הזיכרון היה רק ; 64 KB עיקרון התאימות היה צריך להבטיח כי תכניות שהורצו על 8085 יוכלו לרוץ גם במעבד . 8086 וכך במעבד 8086 בו פנייה לזיכרון נעשית בשיטת טיעון מקטעים שגודלם 64 KB ניתן להריץ תכנית שנכתבה למעבד . 8085 אך אולם מעבר לתאימות למעבדים ישנים , יש לשימוש במקטעים יתרונות נוספים : בשימוש בזיכרון ליניארי , שבו מרחב הזיכרון כולו זמין לתכנית ( כפי שתיארנו בפרק הראשון , ( יש לדאוג שהוראות לא ידרסו נתונים ( או להיפך . ( דריסה מתרחשת כאשר הוראה ונתון נכתבים לאותו תא זיכרון . בגלל ההפרדה בין הוראות לנתונים , אפשר להריץ את אותה תכנית , ולשנות בכל פעם רק את הנתונים . שימוש בקיטוע ( סגמנטציה ) מנוצל על-ידי מערכת ההפעלה כדי להריץ כמה תכניות במקביל , כאשר לכל תכנית מוקצים מקטעים נפרדים . כמו כן , ניתן לשתף בקלות נתונים בין תכניות שונות על-ידי פניה למקטע משותף .
|
|