אסמבלי x86/אופרטורים/אופרטורי מילה
אסמבלי x86 |
---|
|
OFFSET עריכה
מחזיר את היסט המשתנה יחסית למקטע בו הוא מוגדר. לדוגמה:
A DW ? B DW ? MOV BX, OFFSET B
לתוך BX יכנס 2 (ההיסט של B מתחילת מקטע הנתונים).
PTR עריכה
מכיוון שבכל הפקודות באסמבלי אופרנד המקור חייב להיות שווה בגדולו לאופרנד היעד, ניתן לאלץ שימוש באופרנדים שלא באותו הגודל ע"י שימוש באופרטור PTR.
WORD PTR עריכה
מאלץ את האופרנד שאחרי אופרטור זה להתנהג כאילו הוא בגודל מילה. לדוגמה:
A DW ? MOV AL, 0FCh MOV A, WORD PTR AL
לתוך A יכנס FCh. האות h מורה לקומפיילר להתייחס לביטוי כמספר הקסה-דצימלי (בסיס 16).
BYTE PTR עריכה
מאלץ את האופרנד שאחרי אופרטור זה להתנהג כאילו הוא בגודל בית. לדוגמה:
A DW 89ABh MOV AL, BYTE PTR A
לתוך AL יכנס ABh.
TYPE עריכה
מחזיר את גודל הבתים שסוג המשתנה שמופיע אחרי מילה זו תופס. לדוגמה:
A DW 200 MOV AX, TYPE A
ל-AX יוכנס 2.
LENGTH עריכה
מחזיר את מס' יחידות הזכרון (בית/מילה) שהוקצו עבור מערך באמצעות DUP. לדוגמה:
A DW 100H DUP (1924) MOV AX, LENGTH A
לתוך AX יוכנס 100H.
למשתנים שלא הוגדר DUP יוחזר הערך 1.
SIZE עריכה
מחזיר את תוצאת הכפל של LENGTH ו-TYPE. לדגומה:
A DW 100H DUP (?) MOV BX, SIZE A
לתוך BX יוכנס 200H.