جميع الدروس →

تعرّف على الآلة · الدرس 2 من 30 · نحو 8 دقيقة

فهم السجلات

استخدم مساحات العمل الثماني السريعة دون فقدان قيمة.

01 / اشرح

افهم الفكرة

السجلات من R0 إلى R7 هي مساحات العمل السريعة للمعالج. تغيّر LOAD 17 R1 السجل R1 دون تغيير R0. تقرأ LOAD R1 قيمة R1 إلى R0؛ ولا تقرأ الذاكرة.

R0 هو المُجمِّع: تستخدمه العمليات الحسابية وPRINT. تنسخ COPY R1 R2 قيمة سجل مع الحفاظ على المصدر. تغيير أي سجل بواسطة LOAD أو COPY يحدّث الرايات بناءً على القيمة المنسوخة.

02 / جرّب

راقب ما يحدث

لاحظ أن R1 وR2 يحتفظان بالقيمة 17 بينما تتغيّر قيمة R0 من 99 إلى 17.

LOAD 17 R1
LOAD 99
COPY R1 R2
LOAD R2
PRINT
HALT

استخدم خطوة لاتّباع تعليمة واحدة في كل مرة. يمكنك تغيير المثال وإعادة تشغيله.

03 / التحدّي

اجعله يعمل

احتفظ بالقيمة 17 في R1 وانسخها إلى R2. اطبع 17، ثم اجعل R0 صفرًا قبل التوقّف. يجب أن يحتفظ R1 وR2 بالقيمة 17.

يشغّل الفاحص البرنامج الحالي في محرّرك على آلة جديدة لكل حالة من حالات الاختبار الـ1. ويوفّر المدخلات والذاكرة المهيّأة بنفسه؛ لا تحدّد مخرجات المختبر الحالية ولا ذاكرته نتيجتك.

LOAD 17 R1
#
HALT
هل تحتاج إلى تلميح؟

تصفير R0 لا يصفّر السجلات الأخرى.

اعرض حلًا محلولًا

اقرأ البرنامج، وتوقّع أثر كل تعليمة، ثم نفّذه خطوةً خطوة في المختبر.

LOAD 17 R1
COPY R1 R2
LOAD R2
PRINT
LOAD 0
HALT

مختبر معالج الرموز التعبيرية

جاهز · 0 دورات

برنامج الرموز التعبيرية

اكتب LOAD أو ADD أو تعليمة أخرى ثم مسافة لإدراج الرمز. يشغّل Ctrl/⌘ + Enter أو يوقف مؤقتًا؛ ويوقف Escape مؤقتًا؛ ويزيد Ctrl/⌘ + ] الإزاحة. ينقل Tab التركيز. تستخدم الوسوم نقطتين رأسيتين. تستخدم القفزات عناوين تعليمات تبدأ من صفر.

خريطة التعليمات ونقاط التوقّف (0)

توقف نقاط التوقّف قبل التعليمة. يتجاوز تشغيل نقطة التوقّف الحالية مرةً واحدة عند الاستئناف؛ وتنفّذ خطوة التعليمة مباشرةً. يمسح تحرير المصدر نقاط التوقّف القديمة وحالة الآلة.

    سجلات المعالج

    R0
    0
    R1
    0
    R2
    0
    R3
    0
    R4
    0
    R5
    0
    R6
    0
    R7
    0
    عدّاد البرنامج (PC)
    0
    مؤشّر المكدّس (SP)
    255
    الرايات
    الصفر: غير مفعّلة · السالب: غير مفعّلة · الفيض: غير مفعّلة
    طلب تأخير
    0 ms
    المكدّسات وأطر الحلقات

    SP = 255 − عمق البيانات − عمق الاستدعاءات. المكدّس منفصل عن الذاكرة.

    مكدّس البيانات (من الأسفل إلى الأعلى)

    فارغ

    عناوين عودة الاستدعاءات (من الأسفل إلى الأعلى)

    فارغ

    أطر الحلقات

    فارغ

    المخرجات والمدخلات

    نفّذ تعليمة PRINT لرؤية المخرجات.

    المدخلات في الطابور: فارغ

    الذاكرة · 256 بايت · 0 غير صفري

    تعرض كل خلية العنوان:القيمة. R = قراءة في هذه الخطوة؛ W = كتابة في هذه الخطوة. اختر خليةً لفحصها أو تهيئتها قبل التنفيذ. استخدم الأسهم للتنقّل، وHome/End للصف، وCtrl/⌘ + Home/End للذاكرة كلها.

    أعد الضبط قبل تهيئة الذاكرة. تلتف القيم المخزّنة ضمن 0–255.
    سجلّ التنفيذ · 0 عناصر

    العناصر الأخيرة أدناه. افحص أي فهرس يبدأ من صفر لرؤية الحالة الكاملة المنفصلة قبل التنفيذ وبعده.

    افحص تحدّيك

    يمكنك إجراء هذا الفحص في أي وقت. يجب أن تنجح كل حالة لتسجيل الإنجاز.

    يستخدم التقدّم localStorage فقط. يبقى في هذا المتصفّح ولا يُرسل إلى أي خادم.