פרטי המסמך:

הועלה: סוג מסמך: מסמך אונליין מסמך אונליין
עמודים: 22 הורדות: 20699
המסמך השני בסדרת המסמכים אודות האסמבלר של 8086. סידרה זו מיועדת אל המתכנת המתחיל, הבא להכיר לראשונה את עולם שפות האסמבלר.

גישה לזיכרון

גישה נוחה יותר לזיכרון

במסמך הקודם הצגנו גישה לזיכרון בצורה הבאה:

נניח למשל שאנו רוצים להציב בתא 1000H את הערך 7, אזי עלינו לכתוב:


MOV DL, 7
MOV BX, 1000H
MOV [BX], DL

בעזרת המילים BYTE PTR ניתן לגשת ישירות לזיכרון ללא צורך באוגר מתווך.

הקוד הבא, לדוגמא, מבצע בדיוק את אותה פעולה שהרגע הדגמנו:


MOV BX, 1000H
MOV BYTE PTR [BX], 7

ניתן אף לקצר עוד יותר, ולכתוב את הפקודה הבאה:


MOV BYTE PTR DS:[1000H], 7

הקידומת DS: מציינת כי הבסיס של הכתובת הינו הרגיסטר DS. במקרה זה מותר לנו לכתוב בתוך הסוגריים המרובעים כתובת, ללא שימוש ברגיסטר נוסף שיכיל את הכתובת.

כדי להציב, לדוגמא, את המספר 1234H בשני תאי הזיכרון העוקבים, 1000H, 1001H, היינו צריכים לכתוב:


MOV BX, 1000H
MOV AX, 1234H
MOV [BX], AX

גם את רצף זה נוכל לקצר בעזרת המילים WORD PTR, בדרך הבאה:


MOV WORD PTR DS:[1000H], 1234H

מאת: הילה

si

היי, איך הכנסתם ערך כלשהו למערך? כשעשיתם MOV ARR2[SI], AL. למה si נמצא בסוגריים? מה הוא אומר?
מאת: יוסי הקוסם

העלמות זין

נעלם לי הזין מקסם שהשתבש (דחפתי את הזין למחסנית קסם וניראה לי שלא העברתי את הזין לטיפוס מילה הזיו שלי ללא ברית מילה אז זה השתבש)
תעזרו בבקשה!!!
שיתוף:
| עוד