0.2 המחשב תרגול
תרגול – כתיבת קוד למעבד הפשוט שלנו¶
כל קטע קוד שאתם כותבים חייב להיות בנוי מהוראות תקניות:
mov,add,sub,ldr,wrt,in,out
השתמשו באוגרים: אוגר 1, אוגר 2, אוגר 3, וכו'
אפשר גם להשתמש בכתובות בזיכרון כמו:RAM[10]
שאלה 1 – חיבור והצגה בפלט¶
כתוב קוד שמבצע את הפעולות הבאות:
-
שומר את המספר 8 באוגר מספר 1
-
שומר את המספר 6 באוגר מספר 2
-
מחבר את שני המספרים
-
שומר את התוצאה באוגר מספר 3
-
מציג את התוצאה בפלט
שאלה 2 – שמירה בזיכרון¶
כתוב קוד שמבצע:
-
קלט מהמשתמש לאוגר מספר 1
-
שומר את הערך בזיכרון בכתובת 20
-
קורא את הערך מהזיכרון ל־אוגר 2
-
מציג את הערך בפלט
שאלה 3 – חיסור ושמירה¶
כתוב תוכנית שמבצעת:
-
שומרת את המספר 25 באוגר 1
-
שומרת את המספר 10 באוגר 2
-
מבצעת חיסור בין שני האוגרים
-
שומרת את התוצאה בזיכרון בכתובת 5
-
מציגה את התוצאה מהזיכרון בפלט
שאלה 4 – העתקה בין אוגרים¶
כתוב קוד שמבצע:
-
שומר את המספר 4 באוגר 1
-
מעתיק את הערך מאוגר 1 לאוגר 3
-
מציג את הערך שבאוגר 3 בפלט
שאלה 5 – תוכנה שמשכפלת קלט¶
כתוב קוד שמקבל קלט מהמשתמש, ואז מציג אותו בחזרה על המסך.
שאלה 6 – הבנת מהלך ההרצה¶
הקוד הבא כתוב בזיכרון של המחשב. מה יוצג בפלט?
הסבר: כתוב מה יש בכל אוגר במהלך כל שלב, ומה תהיה התוצאה הסופית.
שאלה 7 – חיבור ושמירה בזיכרון + קריאה חוזרת¶
כתוב תוכנית שמבצעת:
-
קולטת מספר מהמשתמש לאוגר 1
-
קולטת מספר נוסף לאוגר 2
-
מחברת את המספרים ושומרת את התוצאה ב־RAM[15]
-
קוראת את הערך מ־RAM[15] לאוגר 3
-
מציגה את אוגר 3 בפלט
שאלה 8 – שאלה פתוחה¶
איך המעבד שלך ידע מתי לעצור?
הסבר מה קורה כאשר ה־IP מגיע לכתובת שבה מתחיל סגמנט הנתונים (DATA).
(רמז: קח בחשבון את אוגר סגמנט הקוד ואוגר סגמנט המשתנים)