לדלג לתוכן

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 -> register 1  
mov 9 -> register 2  
add  
mov register 3 -> register 1  
out  

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

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

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

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

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

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

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

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

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

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