13. الحلقات: تكرار العمل
اربط LOOP بـRETURN وتعامل صحيحًا مع صفر تكرارات.
فتح هذا الدرس →
1. توقّع وتتبّع
قبل تشغيل برنامج التجربة، توقّع مخرجاته وتتبّع أول ثلاث تعليمات تُنفّذ. راقب السجلات أو الرايات أو الذاكرة ذات الصلة حسب الحاجة. ثم نفّذ البرنامج خطوةً خطوة للمقارنة.
LOAD 8
LOOP 4
PRINT
RETURN
HALT
أضف المدخلات إلى الطابور: لا يوجد
هيّئ الذاكرة: جميع البايتات صفر في البداية
2. ابنِ وافحص
اقرأ عدد تكرارات من 0 إلى 5. اطبع 8 بهذا العدد من المرات بالضبط، ثم توقّف.
أنواع التعليمات المطلوبة: INPUT, LOOP, PRINT, RETURN
برنامج البداية
INPUT
COPY R0 R1
LOAD 8
LOOP R1
#
RETURN
HALT
برنامجك وملاحظاتك
3. اشرح الآلة
كم مرةً تنفّذ LOOP 0 جسمها؟
14. بناء عدّاد
اطبع من 1 إلى 10 ثم عمّم العدّ.
فتح هذا الدرس →
1. توقّع وتتبّع
قبل تشغيل برنامج التجربة، توقّع مخرجاته وتتبّع أول ثلاث تعليمات تُنفّذ. راقب السجلات أو الرايات أو الذاكرة ذات الصلة حسب الحاجة. ثم نفّذ البرنامج خطوةً خطوة للمقارنة.
LOAD 5
again: PRINT
SUB 1
JUMP_IF_ZERO done
JUMP again
done: HALT
أضف المدخلات إلى الطابور: لا يوجد
هيّئ الذاكرة: جميع البايتات صفر في البداية
2. ابنِ وافحص
اقرأ N من 0 إلى 10 واطبع كل عدد صحيح من 1 إلى N بالترتيب. عند N = 0 لا تطبع شيئًا.
أنواع التعليمات المطلوبة: INPUT, LOOP, ADD, PRINT
برنامج البداية
INPUT
COPY R0 R2
LOAD 1 R1
LOOP R2
#
RETURN
HALT
برنامجك وملاحظاتك
3. اشرح الآلة
ما الفرق بين قيمة العدّاد وعدد التكرارات؟
15. مجموع الأعداد من واحد إلى N
افصل المُجمِّع عن عدّاد الحلقة.
فتح هذا الدرس →
1. توقّع وتتبّع
قبل تشغيل برنامج التجربة، توقّع مخرجاته وتتبّع أول ثلاث تعليمات تُنفّذ. راقب السجلات أو الرايات أو الذاكرة ذات الصلة حسب الحاجة. ثم نفّذ البرنامج خطوةً خطوة للمقارنة.
LOAD 1 R1
LOAD 0 R2
LOOP 4
LOAD R2
ADD R1
COPY R0 R2
LOAD R1
ADD 1
COPY R0 R1
RETURN
LOAD R2
PRINT
HALT
أضف المدخلات إلى الطابور: لا يوجد
هيّئ الذاكرة: جميع البايتات صفر في البداية
2. ابنِ وافحص
اقرأ N من 0 إلى 10. استخدم حلقةً لطباعة المجموع 1 + 2 + … + N. اطبع 0 عند N = 0.
أنواع التعليمات المطلوبة: INPUT, LOOP, ADD
برنامج البداية
INPUT
COPY R0 R3
LOAD 1 R1
LOAD 0 R2
LOOP R3
#
RETURN
LOAD R2
PRINT
HALT
برنامجك وملاحظاتك
3. اشرح الآلة
ماذا يمثّل المجموع بعد k دورات؟