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

תוכן שנמחק תוכן שנוסף
Avital96 (שיחה | תרומות)
הוספתי את מה שהיה כתוב בדף http://he.wikibooks.org/wiki/%D7%90%D7%A1%D7%9E%D7%91%D7%9C%D7%99_x86/%D7%A4%D7%A7%D7%95%D7%93%D7%95%D7%AA/%D7%A4%D7%A7%D7%95%D7%93%D7%95%D7%AA_%D7%9E%D7%97%D7%A8%D7%95%D7%96%D7%AA
ShaharRG (שיחה | תרומות)
הוספת הסבר ופירוט
שורה 1:
{{אסמבלי x86}}
== 1. הוראת דחיפת נתון למחסנית ==
 
'''PUSH OP''':
1. הוראת דחיפת נתון למחסנית
 
הפעולה לוקחת את OP ודוחפת למחסנית.
'''PUSH OP'''
 
OP:
OP -* אוגר בעל 16 סיביות
-* ערך בזיכרון
 
לדוגמה:
דוגמאות:
PUSH AX
'''PUSH AX'''
 
2. הוראת שליפה מהמחסנית
'''POP OP'''
 
== 2. הוראת שליפה מהמחסנית ==
'''PUSHF''' - דוחף את כל הדגלים למחסנית. ניתן להוציא את הדגדלים ע"י POPF ואז הדגלים יחזרו למצב שהיו כאשר עשינו PUSHF (יש לציין שהדגלים חייבים להיות בראש המחסנית).
 
'''POP OPREG''':
 
שולפת את האיבר העליון במחסנית ודוחפת לאוגר.
 
לדוגמה:
 
<source lang="text">
mov ax, 5
push ax
pop bx
</source>
 
 
 
'''mov ax, 5'''
 
מעביר ל-ax 5
 
'''PUSHpush AXax'''
 
לאחר פקודה זו באיבר העליון במחסנית יהיה 5 - ערכו של ax
 
'''pop bx'''
 
פקודה זו תוציא את 5 מהמחסנית ותכניס אותו ל-bx
 
 
 
'''PUSHF''' - דוחף את כל הדגלים למחסנית. ניתן להוציא את הדגדליםהדגלים ע"י '''POPF''' ואז הדגלים יחזרו למצב שהיו כאשר עשינו PUSHF (יש לציין שהדגלים חייבים להיות בראש המחסנית).