אסמבלי x86/פקודות/פקודות קפיצה: הבדלים בין גרסאות בדף

תוכן שנמחק תוכן שנוסף
דף חדש: פקודות קפיצה משמשות אותנו כשאנחנו רוצים לקפוץ לחלק מסוים בזכרון, קוד או מה שזה לא יהיה. בדרך כלל משמשו...
 
ינון א (שיחה | תרומות)
מאין תקציר עריכה
שורה 1:
{{אסמבלי}}
{{פקודה|JMP|פעולה=קפיצה בלתי מותנית לתוווית label.|פרמטרים=תוית
|תחביר=JMP label|דוגמה=JMP label1 ; קופץ לשורה המסומנת ב label1|אלגוריתם=IP=השורה אליה משוייכת התווית label1|הערות=}}
 
{{פקודה|JNC|פעולה=קפיצה לתוווית label בתנאי שדגל הנשא כבוי.|פרמטרים=תוית
|תחביר=JNC label|דוגמה=JNC label1 ; קופץ לשורה המסומנת ב label1 בתנאי שדגל הנשא כבוי|אלגוריתם=IP=השורה אליה משוייכת התווית label1 אם CF=0|הערות=}}
 
{{פקודה|JE/JZ|פעולה=קפיצה לתוווית label בתנאי שדגל האפס דלוק (תוצאת שווה בפקודה CMP).|פרמטרים=תוית
|תחביר=JE label או JZ label1|דוגמה=JZ label1 ; קופץ לשורה המסומנת ב label1 בתנאי שדגל אפס דלוק|אלגוריתם=IP=השורה אליה משוייכת התווית label1 אם ZF=1|הערות=}}
 
{{פקודה|JNE/JNZ|פעולה=קפיצה לתוווית label בתנאי שדגל האפס כבוי (תוצאת לא שווה בפקודת CMP).|פרמטרים=תוית
|תחביר=JNE label או JNZ label1|דוגמה=JNZ label1 ; קופץ לשורה המסומנת ב label1 בתנאי שדגל אפס כבוי|אלגוריתם=IP=השורה אליה משוייכת התווית label1 אם ZF=0|הערות=}}
 
{{פקודה|JA/JNBE|פעולה=קפיצה לתוווית label בתנאי שדגל האפס כבוי וגם דגל הנשא כבוי (תוצאת גדול מ בפקודת CMP).|פרמטרים=תוית
|תחביר=JNE label או JNZ label1|דוגמה=JNZ label1 ; קופץ לשורה המסומנת ב label1 בתנאי שדגל אפס כבוי|אלגוריתם=IP=השורה אליה משוייכת התווית label1 אם ZF=0 AND CF=0|הערות=}}
 
JAE/JNB (קפיצה אם מעל או שווה)
JB/JNAE/JC (קפיצה אם מתחת)
JBE/JNA (קפיצה אם מתחת או שווה)
JG/JNLE (קפיצה אם גדול)
JGE/JNL (קפיצה אם גדול או שווה)
JL/JNGE (קפיצה אם קטן)
JLE/JNG (קפיצה אם קטן או שווה)
JO (קפיצה אם יש גלישה)
JNO (קפיצה אם אין גלישה)
JS (קפיצה אם המספר מסומן)
JNS (קפיצה אם המספר אינו מסומן)
JP/JPE (קפיצה אם מס' הביטים הדלוקים זוגי)
JPO (קפיצה אם מס' הביטים הדלוקים ב-Low זוגי)
JNP (קפיצה אם מס' הביטים הדלוקים אי-זוגי)
JCXZ (קפיצה אם CX שווה 0)
LOOP (הפחתת CX וקפיצה אם שונה מ 0)
LOOPE/LOOPZ (הפחתת CX וקפיצה אם שונה מ 0 וגם ZF=1)
LOOPNE/LOOPNZ (הפחתת CX וקפיצה אם שונה מ 0 וגם ZF=0)
 
פקודות קפיצה משמשות אותנו כשאנחנו רוצים לקפוץ לחלק מסוים בזכרון, קוד או מה שזה לא יהיה.
בדרך כלל משמשות אותנו "לקפוץ" כשקורה משהו.