אסמבלי x86/פקודות/פקודות קפיצה: הבדלים בין גרסאות בדף
תוכן שנמחק תוכן שנוסף
אין תקציר עריכה |
אין תקציר עריכה |
||
שורה 1:
{{אסמבלי}}
פקודות קפיצה משמשות אותנו כשאנחנו רוצים לקפוץ לחלק מסוים בזכרון, קוד או מה שזה לא יהיה.▼
בדרך כלל משמשות אותנו "לקפוץ" כשקורה משהו.▼
{{פקודה|JMP|פעולה=קפיצה בלתי מותנית לתוווית label.|פרמטרים=תוית
|תחביר=JMP label|דוגמה=JMP label1 ; קופץ לשורה המסומנת ב label1|אלגוריתם=IP=השורה אליה משוייכת התווית label1|הערות=}}
שורה 24 ⟵ 27:
|תחביר=JNA label או JBE label1|דוגמה=JBE label1 ; קופץ לשורה המסומנת ב label1 בתנאי שדגל האפס דלוק וגם דגל הנשא דלוק|אלגוריתם=IP=השורה אליה משוייכת התווית label1 אם ZF=1 AND CF=1|הערות=}}
{{פקודה|JG/JNLE|פעולה=קפיצה לתוווית label בתנאי שדגל
|תחביר=
פקודה|JGE/JNL|פעולה=קפיצה לתוווית label בתנאי שדגל הסימן כבוי (תוצאת גדול או שווה בפקודת CMP).|פרמטרים=תוית
|תחביר=JNL label או JGE label1|דוגמה=JGE label1 ; קופץ לשורה המסומנת ב label1 בתנאי שדגל הסימן כבוי|אלגוריתם=IP=השורה אליה משוייכת התווית label1 אם SF=0|הערות=}}
פקודה|JL/JNGE|פעולה=קפיצה לתוווית label בתנאי שדגל הסימן שונה מדגל הגלישה (תוצאת קטן מ בפקודת CMP).|פרמטרים=תוית
|תחביר=JL label או JNGE label1|דוגמה=JNGE label1 ; קופץ לשורה המסומנת ב label1 בתנאי שדגל הסימן שונה מדגל הגלישה|אלגוריתם=IP=השורה אליה משוייכת התווית label1 אם SF<>OF|הערות=}}
פקודה|LE/JNG|פעולה=קפיצה לתוווית label בתנאי שדגל האפס דלוק (תוצאת קטן או שווה בפקודת CMP).|פרמטרים=תוית
|תחביר=JE label או JNG label1|דוגמה=JNG label1 ; קופץ לשורה המסומנת ב label1 בתנאי שדגל האפס דלוק|אלגוריתם=IP=השורה אליה משוייכת התווית label1 אם ZF=1|הערות=}}
JO (קפיצה אם יש גלישה)
JNO (קפיצה אם אין גלישה)
שורה 41 ⟵ 49:
LOOP (הפחתת CX וקפיצה אם שונה מ 0)
LOOPE/LOOPZ (הפחתת CX וקפיצה אם שונה מ 0 וגם ZF=1)
LOOPNE/LOOPNZ (הפחתת CX וקפיצה אם שונה מ 0 וגם ZF=0)
▲פקודות קפיצה משמשות אותנו כשאנחנו רוצים לקפוץ לחלק מסוים בזכרון, קוד או מה שזה לא יהיה.
▲בדרך כלל משמשות אותנו "לקפוץ" כשקורה משהו.
|