# אסמבלר

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

יש לך הודעות חדשות (השווה לגרסה הקודמת).

אסמבלר (Assembler) היא תוכנית מחשב המתרגמת (או: מהדרת) תוכנית שנכתבה בשפת סף (Assembly) לשפת מכונה הניתנת לביצוע על ידי המחשב.

האסמבלר מותאם בדרך כלל לשפת מכונה ספציפית, אם כי אסמבלרים מסוימים יכולים לטפל בתוכניות הכתובות בשפות סף של מעבדים שונים.

## [עריכה] מהות האסמבלר

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

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

לקיצור תהליך התכנות של פעולות נפוצות נוספו לאסמבלר הוראות מכלול (Macro statements) לביצוע פעולות אלה, שכל אחת מהן התפתחה לסדרה של פקודות אסמבלר.

לכל מעבד שפת מכונה משלו, ובהתאם לכך אסמבלר משלו.

דוגמה לפקודה באסמבלר: L R8,DATA. פקודה זו (באסמבלר של מחשבי IBM Mainframe) טוענת לאוגר 8 את המלה הנמצאת בזכרון בכתובת DATA.

## [עריכה] אסמבלר למעבדי אינטל

### [עריכה] פעולות בסיסיות:

mov - העתקה
add - חיבור
sub - חיסור
inc - הוספה +1
dec - החסרה -1
cmp - השוואה
or - חיבור לוגי
and - כפל לוגי

### [עריכה] אסמבלרים נפוצים למעבדי אינטל

- MAMS32 - פיתוח של האסמבלר המיקרוסופטי
- Tasm- אסמבלר ישן מבית בורלנד .
- NASM - אסמבלר שיתופי שהוקם ביוזמת קבוצת דיון.

## [עריכה] קישורים

- Art Of Assembly - ספר ללימוד אסמבלי
- IA-32 Intel® Architecture Software Developer's Manuals
- AMD Technical Documentation

## [עריכה] ראו גם

- מונחים בתוכנה

מקור: http://he.wikipedia.org../../../%D7%90/%D7%A1/%D7%9E/%D7%90%D7%A1%D7%9E%D7%91%D7%9C%D7%A8.html

קטגוריה: שפות תכנות

##### Views

- ערך
- שיחה
- גרסה נוכחית

##### קהילה

- שער הקהילה
- עזרה
- דלפק ייעוץ
- מזנון
- יצירת קשר
- ספר אורחים

##### חיפוש

##### שפות אחרות

- English
- Deutsch
- Español
- Français
- Polski
- Русский
- Svenska