אסמבלי x86/אופרטורים/אופרטורי מילה

אסמבלי x86











מחזיר את היסט המשתנה יחסית למקטע בו הוא מוגדר. לדוגמה:

    A    DW    ?
    B    DW    ?
    MOV    BX, OFFSET B

לתוך BX יכנס 2 (ההיסט של B מתחילת מקטע הנתונים).

מכיוון שבכל הפקודות באסמבלי אופרנד המקור חייב להיות שווה בגדולו לאופרנד היעד, ניתן לאלץ שימוש באופרנדים שלא באותו הגודל ע"י שימוש באופרטור 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.

מחזיר את גודל הבתים שסוג המשתנה שמופיע אחרי מילה זו תופס. לדוגמה:

    A    DW    200
    MOV    AX, TYPE A

ל-AX יוכנס 2.

מחזיר את מס' יחידות הזכרון (בית/מילה) שהוקצו עבור מערך באמצעות DUP. לדוגמה:

    A    DW    100H DUP (1924)
    MOV    AX, LENGTH A

לתוך AX יוכנס 100H.
למשתנים שלא הוגדר DUP יוחזר הערך 1.

מחזיר את תוצאת הכפל של LENGTH ו-TYPE. לדגומה:

A    DW    100H DUP (?)
    MOV   BX, SIZE A

לתוך BX יוכנס 200H.