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

תוכן שנמחק תוכן שנוסף
אין תקציר עריכה
Avital96 (שיחה | תרומות)
שחזור לגרסה הראשונה הנכונה שנכתבה
 
שורה 1:
{{בבדיקה}}
{{אסמבלי x86}}
1) העברת נתון ממערך מקור לאוגר -
1. הוראת דחיפת נתון למחסנית
LOaD String Byte -> (הפקודה:) LODSB
קיצור של הפקודות:
mov al,[si]
inc si
 
LOaD String Word -> (הפקודה:) LODSW
PUSH OP
mov ax,[si]
add si,2
 
OP - אוגר בעל 16 סיביות
- ערך בזיכרון
 
2) העברת נתון מאוגר למערך
דוגמאות:
STOre String Byte -> (הפקודה:) STOSB
mov [di],al
inc di
 
STOre String Word -> (הפקודה:) STOSW
PUSH AX
mov [di],ax
PUSHF לדחוף למחסנית את תוכן אוגר הדגלים
add di,2
 
 
2. הוראת שליפה מהמחסנית
3) העתקת נתונים ממערך מקור למערך יעד
POP OP
MOVe String Byte -> (הפקודה:) MOVSB
קיצור של הפקודות:
LODSB
STOSB
 
MOVeString Word -> (הפקודה:) MOVSW
LODSW
STOSW