כללי שימוש במשתנים
לצורך פירוט הכללים, נניח שקיימת תוכנית במבנה הבא, ואנו
כותבים הוראות בתור איזור ה-CODE שלה:
STA SEGMENT STACK DB 100H DUP (0) STA ENDS
DATA SEGMENT VAR1 DB ? VAR2 DB ? DATA ENDS
CODE SEGMENT ASSUME CS:CODE,
DS:DATA, SS:STA START: MOV AX, DATA MOV DS, AX
; Code goes here...
; End the program MOV AX, 4C00H INT 21H
CODE ENDS END START
הכללים
- ניתן
להציב ערך במשתנה ללא שימוש באוגר, למשל:
- לא ניתן
להעתיק משתנה אחד אל משתנה אחר.
הפקודה הבאה איננה חוקית:
פתרון:
MOV DL, VAR1 MOV VAR2, DL
- יש לשים
לב שכמות הנתונים שאנו רוצים להכניס למשתנה מתאימה לגודל המשתנה שהגדרנו.
- אין לבצע
העברת נתונים באופן ישיר בין משתנה לתא זיכרון. אם ברצוננו להעביר מידע בין
משתנה לתא זיכרון צריך אוגר מתאים שיתווך באמצע.
- אפשר לבצע
פעולות לוגיות ומתמטיות על משתנים, כגון SHR, CMP, INC, SUB ועוד.
- ניתן
לרשום את שם המשתנה בסוגריים מרובעים. המשמעות זהה לאותו שם משתנה ללא
הסוגריים המרובעים.
לדוגמא:
הקוד הבא ידפיס את המספר 3 (קוד ASCII 33H)
פעמיים:
MOV VAR1, 33H MOV [VAR2], 33H
MOV DL, VAR1 MOV AH, 2 INT 21H
MOV DL, [VAR2] MOV AH, 2 INT 21H
|
|
העלמות הזין של יוסי הקוסם
יוסי יקיריאם הזין שלך נעלם בתוך מחסנית קסמים אני מקווה לפחות שאתה לא מתכוון לחבר את המחסנית לרובה דרוך
בשמחה שמעון הטבח