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