אסמבלי x86/תבנית בסיסית
אסמבלי x86 |
---|
|
יש כמה תבניות, התבנית הפשוטה למתחילים היא:
IDEAL
MODEL small
STACK 100h
DATASEG
;נתונים
CODESEG
;קוד התוכנית
start:
mov ax, @data
mov ds, ax
exit:
mov ax, 4C00h
int 21h
END start
הסבר ראשוני
עריכהIDEAL
MODEL small
STACK 100h
זוהי ההגדרה הבסיסית של התוכנית. התבנית, הגודל של מקטע הנתונים וגודל המחסנית
DATASEG
הנתונים שיהיו במקטע הנתונים (נראה עליו בפרקים הבאים)
CODESEG
הוראות התוכנית
start:
הוראה מהיכן תתחיל התוכנית לרוץ בתוך הקוד.
exit:
סדר ההוראות שמוציאות מהתוכנית. אפשר לכתוב גם מילה אחרת, העיקר שיהיו כתובת אחריה הפקודות הבאות.
END
הוראת סיום התוכנית יש לכתוב אחריה את המילה שנבחרה כסימן התחלת התוכנית (בדוגמה שלנו start).
כללי תחביר בסיסיים
עריכההשפה אינה רגישה לאות גדולה או קטנה. כדאי לבחור שמות שקל לזכור אותם אחר כך. כדי שיהיה ברור מה קטע הקוד עושה, אפשר לשים תיעוד אחרי שורת הקוד או בשורה שלפני תחילת קטע קוד. סימון התיעוד הוא ;
(נקודה ופסיק) אפשר גם להזיח בתחילת שורה שהיא חלק מקטע, על ידי מקש טאב או כמה פעמים רווח.
כל פקודה היא בתחילת שורה, בדרך כלל הפרמטרים מופרדים זה מזה בפסיק. הפרמטר הראשון כתוב אחרי רווח מהפקודה.
אפשר לכתוב לפני קטע קוד שורה המתארת אותו (כעין שם) ונקודותיים אחריה (נקראת תווית lable). זה יעיל כשרוצים להשתמש בפקודות קפיצה (נראה בהמשך הספר). למשל אם תרצה להורות לתוכנית שאם תנאי כלשהו מתקיים עצור את התוכנית וצא, אפשר לשלוח ל־exit בתנאי שזו המילה שנבחרה לסיום התוכנית. אם רוצים אפשר לבחור למשל stop.