שפת סף

מתוך ויקיפדיה, האנציקלופדיה החופשית
קפיצה אל: ניווט, חיפוש

שפת סף אשר נקראת גם אסמבלי (Assembly) היא שפת התכנות הבסיסית ביותר והקרובה ביותר לשפת מכונה.

בשפת הסף, בצורתה הבסיסית, קיימת התאמה בין ההוראות שכותב המתכנת ובין ההוראות המופקות מהן בשפת מכונה, כלומר, כל הוראת אסמבלי יחידה מתורגמת להוראה אחת בשפת מכונה. לכן, כמו שפת המכונה, גם שפת הסף פועלת באופן ישיר על תאי הזיכרון של המחשב, האוגרים הפנימיים של המעבד ויציאות הקלט/פלט של המחשב, ובפרטנות רבה. כתוצאה מכך, לכל סדרת מעבדים יש שפת סף משלה, כתלות בסט פקודות של המעבד.

תכנות בשפת סף נחשב לקשה הרבה יותר מבשפות התכנות העיליות, בין היתר משום ששפת סף אינה אינטואיטיבית וקלה לקריאה כמו השפות העיליות. תכנות בשפת סף, במיוחד כזה הנחשב ליעיל, מחייב להכיר היטב את חומרת המחשב, בעוד ובשפות עליות המהדר דואג להתאימן לחומרה. מעבר לכך, לשם ביצוע כל פעולה, ולו הפשוטה ביותר, עשויות להידרש הוראות שפת סף רבות. לדוגמה, כדי להציב במשתנה A את סכומם של המשתנים B ו-C, מספיקה בשפה עילית פקודה יחידה מצורה דומה ל A := B + C. באסמבלי, לעומת זאת, הפעולה תהיה ארוכה יותר, לדוגמה:

mov ax, B (העבר את הערך B אל אוגר ax)
add ax, C (הוסף את הערך C לערך שנמצא באוגר ax)
mov A, ax (העבר את הערך שנמצא באוגר ax אל הכתובת של המשתנה A)

התכנות בשפת סף היה נפוץ למדי ואפילו דומיננטי, למרות הקושי שבו, עד לתחילת שנות ה-70 של המאה העשרים, וזאת בשל משאבי המחשב המוגבלים שעמדו לרשות המתכנתים ובשל היכולת ליצור קוד יעיל במהירות הביצוע וחסכוני בצריכת זיכרון, יותר מזה שנוצר בשפות עיליות. בעקבות השתכללות המהדרים של השפות העיליות לא נותר עוד הבדל משמעותי שיצדיק את הטירחה שבכתיבה בשפת סף, והשימוש בה נדיר כיום. היא משמשת בעיקר כותבי מערכות הפעלה או מפתחים של חלקי תוכנה שדרושים להם ביצועים מהירים במיוחד, וכן כותבי וירוסים מתוחכמים.

המהדר של שפת הסף, המתרגם את קובצי ההוראות לשפת מכונה, נקרא אסמבלר (Assembler).

ראו גם[עריכת קוד מקור | עריכה]

קישורים חיצוניים[עריכת קוד מקור | עריכה]