אסמבלי x86/מבט כללי על אסמבלר: הבדלים בין גרסאות בדף

תוכן שנמחק תוכן שנוסף
אין תקציר עריכה
ינון א (שיחה | תרומות)
תיקון קישורים
שורה 1:
{{אסמבלי|מבט כללי על אסמבלר}}
'''אסמבלר''' (Assembler) היא [[W:תוכנית מחשב|תוכנית מחשב]] המתרגמת (או: [[W:מהדר|מהדרת]]) תוכנית שנכתבה ב[[:קטגוריה:שפות סף|שפת סף]] (Assembly) ל[[W:שפת מכונה|שפת מכונה]] הניתנת לביצוע על ידי ה[[W:מחשב|מחשב]].
 
האסמבלר מותאם בדרך כלל לשפת מכונה ספציפית, אם כי אסמבלרים מסוימים יכולים לטפל בתוכניות הכתובות בשפות סף של מעבדים שונים.
שורה 6:
==מהות האסמבלר==
 
ה[[W:מעבד]] של ה[[מחשב]]המחשב מבצע את הפקודות המאוחסנות ב[[W:זכרון מחשב|זכרון]] של המחשב. פקודות אלה הן פקודות אלמנטריות ביותר, כשכל פקודה בנויה מרצף קצר של [[W:סיבית|סיביות]], שמשמעותו מובנת על-ידי המעבד. רצף זה קרוי [[שפת מכונה]]. כתיבה ישירה של רצף הביטים שיבצע תוכנית משמעותית היא פעולה מייגעת. כדי לקצר תהליך זה נוצרו [[שפת:קטגוריה:שפות תכנות|שפות התכנות]]. מרבית שפות התכנות הן [[שפה:קטגוריה:שפות עיליתמהודרות|שפות עיליות]], שבהן לפקודות דמיון מסוים לשפה טבעית. כל פקודה בשפה עילית מתורגמת על-ידי ה[[W:מהדר|מהדר]] לסדרה ארוכה של פקודות בשפת מכונה. קדמה לשפות העיליות שפת '''אסמבלי''' (או '''אסמבלר'''), הקרויה גם שפת סף, שבה יש [[W:התאמה חד-חד ערכית|התאמה חד-חד ערכית]] בין הפקודות שכותב המתכנת ובין הפקודות בשפת המכונה, כלומר כל פקודת אסמבלר מתורגמת לפקודה אחת בשפת מכונה.
 
עד לתחילת שנות ה-70 של המאה העשרים היה התכנות באסמבלר נפוץ למדי ואפילו דומיננטי, עקב משאבי המחשב המוגבלים שעמדו לרשות המתכנתים, והיכולת ליצור קוד חסכוני ביותר (יחסית לזה שנוצר בשפות עיליות) באמצעות האסמבלר. בעקבות המעבר לשפות עיליות נותר האסמבלר בעיקר ככלי למתכנתי [[מערכת:קטגוריה:מערכות הפעלה|מערכות הפעלה]] או לפיתוח חלקי תוכנה הדורשות ביצועים מהירים במיוחד.
 
לקיצור תהליך התכנות של פעולות נפוצות נוספו לאסמבלר הוראות מכלול (Macro statements) לביצוע פעולות אלה, שכל אחת מהן התפתחה לסדרה של פקודות אסמבלר.