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

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