אסמבלי x86/פקודות/פקודות חיבור וחיסור

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











פקודת ADD

מבצע הוספה של ערך אופרנד המקור לערך אופרנד היעד.
פרמטרים: אוגר, זכרון; זכרון, אוגר; אוגר, אוגר; זכרון, ערך מיידי; אוגר, ערך מיידי
תחביר: ADD OpDestination, OpSource
לדוגמה: ADD AX, 3
אלגוריתם: OpDestination = OpDestination + OpSource
הדגלים המשתנים: Overflow ,Sign, Zero, Auxiliary Carry, Parity, Carry.


פקודת ADC

מבצע הוספה של ערך אופרנד המקור ודגל הנשא לערך אופרנד היעד.
פרמטרים: אוגר, זכרון; זכרון, אוגר; אוגר, אוגר; זכרון, ערך מיידי; אוגר, ערך מיידי
תחביר: ADC OpDestination, OpSource
לדוגמה: ADC BX, 8
אלגוריתם: OpDestination = OpDestination + OpSource + Carry
הדגלים המשתנים: Overflow ,Sign, Zero, Auxiliary Carry, Parity, Carry.



פקודת SUB

מבצע חיסור של אופרנד המקור מאופרנד היעד.
פרמטרים: אוגר, זכרון; זכרון, אוגר; אוגר, אוגר; זכרון, ערך מיידי; אוגר, ערך מיידי
תחביר: SUB OpDestination, OpSource
לדוגמה: SUB [BX], AL
אלגוריתם: OpDestination = OpDestination - OpSource
הדגלים המשתנים: Overflow ,Sign, Zero, Auxiliary Carry, Parity, Carry.



פקודת SBB

מבצע חיסור של אופרנד המקור ודגל הלווה מאופרנד היעד.
פרמטרים: אוגר, זכרון; זכרון, אוגר; אוגר, אוגר; זכרון, ערך מיידי; אוגר, ערך מיידי
תחביר: SBB OpDestination, OpSource
לדוגמה: SBB AX, CX
אלגוריתם: OpDestination = OpDestination - OpSource - Carry
הדגלים המשתנים: Overflow ,Sign, Zero, Auxiliary Carry, Parity, Carry.



פקודת CMP

מבצע חיסור אופרנד המקור מאופרנד היעד מבלי לשנות את ערך אופרנד היעד, אלא את הדגלים האריתמטיים בלבד
פרמטרים: אוגר, זכרון; זכרון, אוגר; אוגר, אוגר; זכרון, ערך מיידי; אוגר, ערך מיידי
תחביר: CMP Op1, Op2
לדוגמה: CMP AX, Val
אלגוריתם: Op1-Op2
פקודה זו משמשת בעיקר להשוואה בין נתונים, בדרך כלל לאחר פקודה זו תבוא אחת מפקודות הקפיצה המותנות
הדגלים המשתנים: Carry, Zero, Sign, Oveflow, Parity, AuxiliaryCarry


פקודת INC

הוספת 1 לערך היעד.
פרמטרים: אוגר; זכרון
תחביר: INC OpDestination
לדוגמה: INC DS:[0FFFFH]
אלגוריתם: OpDestination = OpDestination + 1
הדגלים המשתנים: Overflow ,Sign, Zero, Auxiliary Carry, Parity.


פקודת DEC

הפחתת 1 מערך היעד.
פרמטרים: אוגר; זכרון
תחביר: DEC OpDestination
לדוגמה: DEC CL
אלגוריתם: OpDestination = OpDestination - 1
הדגלים המשתנים: Overflow ,Sign, Zero, Auxiliary Carry, Parity.


פקודת NEG

הפיכת סימן (בשיטת המשלים ל-2)
פרמטרים: אוגר; זכרון
תחביר: NEG OpDestination
לדוגמה: NEG AL
אלגוריתם: OpDestination = -OpDestination
הדגלים המשתנים: Overflow ,Sign, Zero, Parity, Auxiliary Carry, Parity.