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