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

תוכן שנמחק תוכן שנוסף
Galzigler (שיחה | תרומות)
אין תקציר עריכה
←‏תהליך ההידור: ניסוח מחדש, המקור כנראה היה תרגום מילולי יחסית.
שורה 5:
 
== תהליך ההידור ==
קוד המקור של התוכניתתוכנית בשפת אסמבלי נשמר בסיומתבקבצים בעלי סיומת asm.
 
בתהליך הידור הקובץ ע"י מהדר (Compiler) המתאים לשפת האסמבלי שבה נכתב הקוד, המהדר יצור קובץ obj, תרגום של התכנית שכתבנו בשפת מכונה, במידה ולא ייתקל בשגיאות תחביר במהלך ההידור. לאחר מכן יש לשלוח קובץ זה (obj) ללינקר (Linker), תוכנית המבצעת המרה של קובץ obj לפורמט בו מערכת הפעלה מסויימת מתנהגת עם יישומים, במילים אחרות: התאמה ל־ API של מערכת ההפעלה, וכך הוא יוצר קובץ בר הרצה עבורה (במקרה של עבודה בסביבה של Windows הסיומת של הקובץ המהודר תהיה exe). ניתן לשלוט בפעילות תקינה של תוכנית ההרצה ע"י תוכנת Deubg מתאימה.
כאשר המהדר של שפת אסמבלי - האסמבלר - מהדר קובץ של קוד אסמבלי, הוא יוצר קובץ מסוג obj. זאת, כמובן, בהנחה שלא נתקל בשגיאות תחביר. קובץ obj הוא תרגום של התכנית שכתבנו לשפת מכונה. את אותו קובץ obj יש לשלוח לתוכנת לינקר (linker, "מקשר"), אשר מבצעת המרה של קובץ obj לקובץ בפורמט אותו ניתן להריץ במערכת ההפעלה - קובץ תוכנה. ההמרה הזו מתאימה את התוכנה לממשק העבודה של מערכת ההפעלה, או בשפה טכנית: הAPI של מערכת ההפעלה. במערכות הפעלה שונות יכולים להיווצר קבצי הרצה מסוגים שונים, לדוגמה: בwindows תוכנות הן קבצים בפורמט הנקרא PE ובעלי סיומת .exe, ובלינוקס תוכנות הן הקבצים בפורמט ELF בדרך כלל, וללא סיומת מיוחדת.
 
על מנת לבדוק שהתוכנית מבצעת את עבודתה נכון, ניתן להשתמש בdebugger. זוהי תוכנה אשר מאפשרת לעקוב אחר ביצוע התוכנית הוראה-אחר-הוראה. debugger יכול להציג את כל תכנית בצורת הוראות בשפת אסמבלי, גם אם במקור היא נכתבה בשפה אחרת.