אסמבלי/יסודות השימוש בשפה/תחילת העבודה
מתוך ויקיספר, אוסף ספרי הלימוד והמדריכים החופשי.
| אסמבלי |
|---|
|
| [עריכת תבנית] |
ע"מ לכתוב תוכנית בשפת אסבלר כל מה שאנו צריכים זה עורך טקסט פשוט (כגון Notepad או Editor של דוס), מהדר (קומפיילר) ומעבד כמובן.
לאחר ששמרנו את הקובץ עם סיומת asm, יש להדר את הקובץ ע"י מהדר (Compiler) מתאים (ראה להלן). אם המהדר לא ייתקל בשגיאות תחביר במהלך ההידור, הוא יצור קובץ obj - תרגום של התכנית שכתבנו בשפת מכונה. לאחר מכן יש לשלוח קובץ זה (obj) ללינקר (Linker) וליצור קובץ בר הרצה (EXE). ניתן לשלוט בפעילות תקינה של תוכנית ההרצה ע"י תוכנת Deubg מתאימה.
תוכן עניינים |
[עריכה] תוכנות נפוצות
יש מספר תוכנות לעריכה, הידור, קישור וניפוי שגיאות בתוכניות אסבמלר:
מהמפורסמות ביניהן היא תוכנת Turbo Debugger[1] של חברת Borland הפועלת בסביבת DOS. תוכנה זו מאפשרת הרצה מלאה של תוכנת אסמבלר כולל הידור וקישור ובדיקת שגיאות שורה אחרי שורה תוך הצגה של מצב האוגרים, הזכרון והמחסנית.
תוכנה טובה נוספת היא Microprocessor Emulator 8086[2] שמבצעת את אותה העבודה רק בממשק גרפי ועם עוד כמה כלים יעילים.
כמו כן, ניתן לבצע Debug מלא על תוכנית הרצה (EXE) ע"י הקלדת Debug ושם הקובץ בשורת הפקודה. להציג את רשימת הפקודות בתוכנה זו יש להקליד ?.
[עריכה] כתיבת תכנית ראשונה
יש שתי שיטות עיקריות לכתיבת תבנית של תוכנית. את המשמעות תבינו לאחר שתעיינו בספר זה.
[עריכה] שיטה ראשונה
TITLE 8086 Code Template (for EXE file)
#MAKE_EXE#
; הצהרה על קבועים ומאקרו
DSEG SEGMENT 'DATA'
; הצהרה על משתנים
DSEG ENDS
SSEG SEGMENT STACK 'STACK'
DW 100h DUP (?) ; מחסנית
SSEG ENDS
CSEG SEGMENT 'CODE'
START PROC FAR
ASSUME CS:CSEG, DS:DSEG, ES:ESEG, SS:SSEG
MOV AX, DSEG
MOV DS, AX
MOV ES, AX
; גוף הקוד
RET
START ENDP
CSEG ENDS
END START
[עריכה] שיטה שנייה
TITLE 8086 Code Template (for EXE file)
#MAKE_EXE#
; הצהרה על קבועים ומאקרו
DSEG SEGMENT 'DATA'
; הצהרה על משתנים
DSEG ENDS
SSEG SEGMENT STACK 'STACK'
DW 100h DUP(?) ; מחסנית
SSEG ENDS
CSEG SEGMENT 'CODE'
START PROC FAR
PUSH DS
MOV AX, 0
PUSH AX
MOV AX, DSEG
MOV DS, AX
MOV ES, AX
; גוף הקוד
RET
START ENDP
CSEG ENDS
END START

