אסמבלי x86/פקודות/פקודות על ביטים

מתוך ויקיספר, אוסף הספרים והמדריכים החופשי
אסמבלי x86











פקודת AND

ביצוע AND לוגי של אופרנד המקור עם אופרנד היעד על אופרנד המקור .
פרמטרים: אוגר, זכרון; זכרון, אוגר; אוגר, אוגר; זכרון, ערך מיידי; אוגר, ערך מיידי
תחביר: AND OpDestination, OpSource
לדוגמה: כאשר AX=01000000b:
AND AX, 11110000b; AX = 01000000b
אלגוריתם: OpDestination = OpDestination, AND OpSource
הדגלים המשתנים: Carry = 0,Zero, Sign, Overflow = 0, Parity


פקודת OR

ביצוע OR לוגי של אופרנד המקור עם אופרנד היעד על אופרנד המקור .
פרמטרים: אוגר, זכרון; זכרון, אוגר; אוגר, אוגר; זכרון, ערך מיידי; אוגר, ערך מיידי
תחביר: OR OpDestination, OpSource
לדוגמה: כאשר AX=11111101b:
OR AX, 11110000b; AX = 11111101b
אלגוריתם: OpDestination = OpDestination, OR OpSource
הדגלים המשתנים: Carry = 0,Zero, Sign, Overflow = 0, Parity


פקודת TEST

ביצוע AND לוגי של אופרנד המקור עם אופרנד היעד. אופרנד היעד אינו משתנה - רק הדגלים .
פרמטרים: אוגר, זכרון; זכרון, אוגר; אוגר, אוגר; זכרון, ערך מיידי; אוגר, ערך מיידי
תחביר: AND OpDestination, OpSource
לדוגמה: כאשר AX=01001101b, ZF=0:
AND AX, 11110000b; AX = 01001101b, ZF=1
אלגוריתם: OpDestination AND OpSource
הדגלים המשתנים: Carry = 0,Zero, Sign, Overflow = 0, Parity


פקודת XOR

ביצוע XOR לוגי של אופרנד המקור עם אופרנד היעד על אופרנד היעד .
פרמטרים: אוגר, זכרון; זכרון, אוגר; אוגר, אוגר; זכרון, ערך מיידי; אוגר, ערך מיידי
תחביר: XOR OpDestination, OpSource
לדוגמה: כאשר AX=10111101b:
XOR AX, 11110000b; AX = 01001101b
אלגוריתם: OpDestination = OpDestination, XOR OpSource
הדגלים המשתנים: Carry = 0,Zero, Sign, Overflow = 0, Parity


פקודת NOT

ביצוע NOT לוגי על אופרנד היעד.
פרמטרים: אוגר; זכרון
תחביר: NOT OpDestination
לדוגמה: כאשר AX=01001101b:
NOT AX; AX = 10110010b
אלגוריתם: OpDestination = NOT OpDestination



פקודת ROR

הזזה של כל הבתים באופרנד היעד ימינה כמה פעמים לפי ערך אופרנד המקור. הבתים שנמחקו יכנסו לשמאל.
פרמטרים: זכרון, 1; אוגר, 1; זכרון, CL; אוגר, CL
תחביר: ROR OpDestination, OpSource
לדוגמה: כאשר AX=10011010b:
ROR AX, 1; AX = 01001101b
אלגוריתם: OpDestination = OpDestination, ROR OpSource
הדגלים המשתנים: Carry, Overflow


פקודת ROL

הזזה של כל הבתים באופרנד היעד שמאלה כמה פעמים לפי ערך אופרנד המקור. הבתים שנמחקו יכנסו לימין.
פרמטרים: זכרון, 1; אוגר, 1; זכרון, CL; אוגר, CL
תחביר: ROL OpDestination, OpSource
לדוגמה: כאשר AX=10110101b:
ROL AX, 1; AX = 01101011b
אלגוריתם: OpDestination = OpDestination, ROL OpSource
הדגלים המשתנים: Carry, Overflow


פקודת SHR

הזזה של כל הבתים באופרנד היעד ימינה כמה פעמים לפי ערך אופרנד המקור. בבתים החסרים משמאל יכנסו 0.
פרמטרים: זכרון, 1; אוגר, 1; זכרון, CL; אוגר, CL
תחביר: SHR OpDestination, OpSource
לדוגמה: כאשר AX=00011010b:
SHR AX, 1; AX = 00001101b
אלגוריתם: OpDestination = OpDestination, SHR OpSource
הדגלים המשתנים: Carry, Overflow


פקודת SHL

הזזה של כל הבתים באופרנד היעד שמאלה כמה פעמים לפי ערך אופרנד המקור. בבתים החסרים מימין יכנסו 0.
פרמטרים: זכרון, 1; אוגר, 1; זכרון, CL; אוגר, CL
תחביר: SHR OpDestination, OpSource
לדוגמה: כאשר AX=00011010b:
SHL AX, 1; AX = 00110100b
אלגוריתם: OpDestination = OpDestination, SHL OpSource
הדגלים המשתנים: Carry, Overflow