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