שפת סף

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

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

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

mov ax, B ; העבר את הערך B אל אוגר ax

add ax, C ; הוסף את הערך C לערך שנמצא באוגר ax

mov A, ax ; העבר את הערך שנמצא באוגר ax אל הכתובת של המשתנה A

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

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

Other Languages
العربية: لغة تجميع
azərbaycanca: Assembler
беларуская (тарашкевіца)‎: Мова асэмблера
български: Асемблерен език
bosanski: Asembler
Esperanto: Asembla lingvo
français: Assembleur
magyar: Assembly
Bahasa Indonesia: Bahasa rakitan
íslenska: Smalamál
italiano: Assembly
ქართული: ასემბლი
한국어: 어셈블리어
Kurdî: Assembly
lumbaart: Assembly
lietuvių: Asemblerio kalba
latviešu: Asamblervaloda
Bahasa Melayu: Bahasa himpunan
Nederlands: Assembleertaal
norsk: Assembler
português: Assembly
srpskohrvatski / српскохрватски: Asemblerski jezik
Simple English: Assembly language
slovenščina: Zbirni jezik
shqip: Assembly
српски / srpski: Асемблер
svenska: Assembler
тоҷикӣ: Ассемблер
українська: Мова асемблера
Tiếng Việt: Hợp ngữ
中文: 汇编语言