אסמבלי x86/זיכרון/שיטות מיעון: הבדלים בין גרסאות בדף

תוכן שנמחק תוכן שנוסף
ינון א (שיחה | תרומות)
אין תקציר עריכה
 
ינון א (שיחה | תרומות)
אין תקציר עריכה
שורה 20:
העתקת ערך מהזכרון לתוך אוגר. לדוגמא:
<div style="text-align:left; direction:ltr;"><pre> MOV AX, [BX]</pre></div>
הדוגמאות הבאות שוות ערך:
<div style="text-align:left; direction:ltr;"><pre> MOV AX, [BX+8]</pre></div>
<div style="text-align:left; direction:ltr;"><pre> MOV AX, [BX]8</pre></div>
<div style="text-align:left; direction:ltr;"><pre> MOV AX, 8[BX]</pre></div>
הדוגמאות הבאות שוות ערך:
<div style="text-align:left; direction:ltr;"><pre> MOV AX, [DS]:[BX]</pre></div>
<div style="text-align:left; direction:ltr;"><pre> MOV AX, DS:[BX]</pre></div>
<div style="text-align:left; direction:ltr;"><pre> MOV AX, [BX]</pre></div>
<div style="text-align:left; direction:ltr;"><pre> MOV AX, DS+BX</pre></div>
 
===מיעון אינדקס===
העתקת איבר במערך לתוך אוגר.
הפקודותהדוגמאות הבאות שוות ערך:
<div style="text-align:left; direction:ltr;"><pre> MOV AX, Array[BX]</pre></div>
<div style="text-align:left; direction:ltr;"><pre> MOV AX, [Array+BX]</pre></div>
<div style="text-align:left; direction:ltr;"><pre> MOV AX, [BX]+Array</pre></div>
הדוגמא הבאה מעתיקה לתוך AX את התוכן שנמצא בכתובת של המשתנה Var ועוד 1:
<div style="text-align:left; direction:ltr;"><pre> MOV AX, Var+1</pre></div>
הדוגמאות הבאות שוות ערך:
<div style="text-align:left; direction:ltr;"><pre> MOV DL, Array[SI+1]</pre></div>
<div style="text-align:left; direction:ltr;"><pre> MOV DL, Array+1[SI]</pre></div>
 
===מיעון אינדקס כפול===
שורה 36 ⟵ 50:
כאשר REG1 יכול להיות BX או BP בלבד.<br />
ו REG2 יכול להיות SI או DI בלבד.
<br />הדוגמאות הבאות שוות ערך:
<br />לגודמא:
<div style="text-align:left; direction:ltr;"><pre> MOV DL, Array[BX+SI]</pre></div>
<div style="text-align:left; direction:ltr;"><pre> MOV DL, Array[BX][SI]</pre></div>
הפקודת הבאה אינה חוקית:
<br />הדוגמאות הבאות שוות ערך:
<div style="text-align:left; direction:ltr;"><pre> MOV DL, Array[BX+SI+4]</pre></div>
<div style="text-align:left; direction:ltr;"><pre> MOV DL, Array[BX][SI]4</pre></div>הדוגמא הבאה אינה חוקית:
<div style="text-align:left; direction:ltr;"><pre> MOV DL, Array[SI+DI]</pre></div>
 
שימו לב: לא ניתן לבצע העתקה מזכרון לזכרון. הפקודההדוגמא הבאה אינה חוקית:
<div style="text-align:left; direction:ltr;"><pre> MOV [BX], Var</pre></div>
כמו כן, לא ניתן לבצע מיעון על מקטע בלבד. הדוגמא הבאה אינה חוקית:
<div style="text-align:left; direction:ltr;"><pre> DEC [DS]</pre></div>