לדלג לתוכן

0.2 המחשב תרגול

תרגול – כתיבת קוד למעבד הפשוט שלנו

כל קטע קוד שאתם כותבים חייב להיות בנוי מהוראות תקניות:
mov, add, sub, ldr, wrt, in, out
השתמשו באוגרים: אוגר 1, אוגר 2, אוגר 3, וכו'
אפשר גם להשתמש בכתובות בזיכרון כמו: RAM[10]


שאלה 1 – חיבור והצגה בפלט

כתוב קוד שמבצע את הפעולות הבאות:

  1. שומר את המספר 8 באוגר מספר 1

  2. שומר את המספר 6 באוגר מספר 2

  3. מחבר את שני המספרים

  4. שומר את התוצאה באוגר מספר 3

  5. מציג את התוצאה בפלט


שאלה 2 – שמירה בזיכרון

כתוב קוד שמבצע:

  1. קלט מהמשתמש לאוגר מספר 1

  2. שומר את הערך בזיכרון בכתובת 20

  3. קורא את הערך מהזיכרון ל־אוגר 2

  4. מציג את הערך בפלט


שאלה 3 – חיסור ושמירה

כתוב תוכנית שמבצעת:

  1. שומרת את המספר 25 באוגר 1

  2. שומרת את המספר 10 באוגר 2

  3. מבצעת חיסור בין שני האוגרים

  4. שומרת את התוצאה בזיכרון בכתובת 5

  5. מציגה את התוצאה מהזיכרון בפלט


שאלה 4 – העתקה בין אוגרים

כתוב קוד שמבצע:

  1. שומר את המספר 4 באוגר 1

  2. מעתיק את הערך מאוגר 1 לאוגר 3

  3. מציג את הערך שבאוגר 3 בפלט


שאלה 5 – תוכנה שמשכפלת קלט

כתוב קוד שמקבל קלט מהמשתמש, ואז מציג אותו בחזרה על המסך.


שאלה 6 – הבנת מהלך ההרצה

הקוד הבא כתוב בזיכרון של המחשב. מה יוצג בפלט?

mov 6 -> אוגר 1  
mov 9 -> אוגר 2  
add  
mov אוגר 3 -> אוגר 1  
out  

הסבר: כתוב מה יש בכל אוגר במהלך כל שלב, ומה תהיה התוצאה הסופית.


שאלה 7 – חיבור ושמירה בזיכרון + קריאה חוזרת

כתוב תוכנית שמבצעת:

  1. קולטת מספר מהמשתמש לאוגר 1

  2. קולטת מספר נוסף לאוגר 2

  3. מחברת את המספרים ושומרת את התוצאה ב־RAM[15]

  4. קוראת את הערך מ־RAM[15] לאוגר 3

  5. מציגה את אוגר 3 בפלט


שאלה 8 – שאלה פתוחה

איך המעבד שלך ידע מתי לעצור?
הסבר מה קורה כאשר ה־IP מגיע לכתובת שבה מתחיל סגמנט הנתונים (DATA).
(רמז: קח בחשבון את אוגר סגמנט הקוד ואוגר סגמנט המשתנים)