אסמבלי 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.