אסמבלי x86
אסמבלי x86 |
---|
|
אסמבלי x86 (באנגלית: x86 Assembly) היא שפת סף שנוצרה על ידי חברת "אינטל", במקור עבור המעבד 8086, מעבד 16־ביט.
במקור, כתיבת תוכניות הייתה על ידי שימוש בקוד הבינארי שהוענק להוראות־המעבד (הנקרא גם
OPCODE
) ובעזרת שימוש בכתובות וערכים בינאריים (ידועים גם כאופרנדים), אך שיטה זו אינה נוחה במיוחד, ובעקבות כך פותחה שפה בסיסית שתקל על המתכנתים, בכך שקוד הוראת־המעבד יהיה שם בעל משמעות, ויהיה ניתן לעבוד עם ערכים עשרוניים והקסאדצימליים ולמצביעים, אוגרים, דגלים יהיו שמות נוחים יותר לעבודה.
רוב ההוראות בשפה זו פשוט מוחלפות לשורת קוד אחת בשפת המכונה (פונקציה חד-חד-ערכית ועל), כאשר שם הפקודה ושמות האופרנדים מוחלפים בערכים בינאריים או כתובתם כערך בינארי. למרות זאת, באסמבלי קיימות כמה תכונות שלא קיימות בשפת מכונה, כמו הענקת שם משתנה לתא בזיכרון, שימוש במאקרו (הוראות מכלול – מאפשרת למתכנת לכתוב קוד פעם אחת ולאחר תהליך הקומפילציה הוא ייכתב מספר פעמים. השימוש בהוראה זו הוא במקרים בהם כתיבת אותו קוד מספר פעמים יהיה יעיל יותר מאשר שימוש בלולאה או מתודה) וכו'.
עד לתחילת שנות ה־70 של המאה העשרים היה התכנות באסמבלר נפוץ למדי ואפילו דומיננטי, עקב משאבי המחשב המוגבלים שעמדו לרשות המתכנתים, והיכולת ליצור קוד חסכוני ביותר (יחסית לזה שנוצר בשפות עיליות) באמצעות האסמבלר.
כיום, השימוש באסמבלי הוא בעיקר להרחבת הידע אודות צורת הפעולה של המחשב, התעסקות עם הנדסה הפוכה, כתיבת קודים יעילים עבור מערכות הפעלה ופיתוח חלקי תוכנה הדורשות ביצועים מהירים במיוחד, כיוון שכיום השימוש בשפות עיליות נפוץ יותר כי הלוגיקה בו היא יותר אנושית ודומה לשפה המדוברת, ודורשת פחות התעסקות עם מבנה המחשב וצורת העבודה שלו לבניית תוכנה. בשפות אלו כל פקודה בודדת מומרת לרצף ארוך של פקודות מעבד.