7. الذاكرة: دفتر الحاسوب
خزّن بايتًا واسترجعه فعلًا بعد تغيير R0.
1. توقّع وتتبّع
قبل تشغيل برنامج التجربة، توقّع مخرجاته وتتبّع أول ثلاث تعليمات تُنفّذ. راقب السجلات أو الرايات أو الذاكرة ذات الصلة حسب الحاجة. ثم نفّذ البرنامج خطوةً خطوة للمقارنة.
LOAD 42 STORE 0 LOAD 99 STORE 1 LOAD 0 LOAD [0] PRINT LOAD [1] PRINT HALT
أضف المدخلات إلى الطابور: لا يوجد
هيّئ الذاكرة: جميع البايتات صفر في البداية
إجابات توقّع التجربة
المخرجات: 42, 99
| التعليمة | PC قبل | PC بعد | R0 قبل | R0 بعد | الحالة ذات الصلة | المخرجات |
|---|---|---|---|---|---|---|
| LOAD | 0 | 1 | 0 | 42 | {"registers":[42,0,0,0,0,0,0,0],"flags":{"zero":false,"negative":false,"overflow":false},"sp":255,"stack":[],"callStack":[],"loopStack":[],"memoryReads":[],"memoryWrites":[]} | لا يوجد |
| STORE | 1 | 2 | 42 | 42 | {"registers":[42,0,0,0,0,0,0,0],"flags":{"zero":false,"negative":false,"overflow":false},"sp":255,"stack":[],"callStack":[],"loopStack":[],"memoryReads":[],"memoryWrites":[0]} | لا يوجد |
| LOAD | 2 | 3 | 42 | 99 | {"registers":[99,0,0,0,0,0,0,0],"flags":{"zero":false,"negative":false,"overflow":false},"sp":255,"stack":[],"callStack":[],"loopStack":[],"memoryReads":[],"memoryWrites":[]} | لا يوجد |
2. ابنِ وافحص
اقرأ مدخلًا يمثل بايتًا (0–255)، واحفظه في عنوان الذاكرة 10، ثم صفّر R0، واسترجع القيمة من الذاكرة واطبعها.
أنواع التعليمات المطلوبة: INPUT, STORE, LOAD
مثال لحل التحدّي
INPUT STORE 10 LOAD 0 LOAD [10] PRINT HALT
حالات الفاحص الفعلية
الحالة 1
- المدخلات
9- الذاكرة الابتدائية
جميع البايتات صفر في البداية- المخرجات المتوقعة
9- الذاكرة النهائية المتوقعة
10: 9- قراءات الذاكرة المطلوبة
10
الحالة 2
- المدخلات
42- الذاكرة الابتدائية
جميع البايتات صفر في البداية- المخرجات المتوقعة
42- الذاكرة النهائية المتوقعة
10: 42- قراءات الذاكرة المطلوبة
10
الحالة 3
- المدخلات
127- الذاكرة الابتدائية
جميع البايتات صفر في البداية- المخرجات المتوقعة
127- الذاكرة النهائية المتوقعة
10: 127- قراءات الذاكرة المطلوبة
10
3. اشرح الآلة
أي شيفرة تقرأ الذاكرة 10، وأيها تحمّل العدد 10؟
ملاحظة الاستدلال والتعليم
تقرأ LOAD [10] البايت؛ وتحمل LOAD 10 العدد مباشرةً. يحفظ STORE والاسترجاع اللاحق البايت بعد تغيير R0.