البتات والتمثيل · الدرس 23 من 30 · نحو 12 دقيقة
قلب البتات
استخدم التغيير القابل للعكس في XOR لتحديث إعداد محفوظ.
01 / اشرح
افهم الفكرة
تقلب XOR البت عندما يكون بت القناع واحدًا، وتبقيه عندما يكون بت القناع صفرًا. تقلب XOR 6 البتّين 1 و2. تطبيق القناع نفسه مرتين يعيد القيمة الأصلية.
يمكن اختبار عملية قابلة للعكس بخاصية ثبات: بعد قلبين، يساوي الإعداد المحفوظ الإعداد الابتدائي. تجعل الذاكرة ذلك مرئيًا حتى إذا تغيّر R0 أثناء البرنامج.
02 / جرّب
راقب ما يحدث
توقّع 44 ثم 42. قارن البتات التي تغيّرت ثم عادت.
LOAD 42
XOR 6
PRINT
XOR 6
PRINT
HALTاستخدم خطوة لاتّباع تعليمة واحدة في كل مرة. يمكنك تغيير المثال وإعادة تشغيله.
03 / التحدّي
اجعله يعمل
اقرأ بايتًا واحدًا. اقلب البتّين 1 و2، وخزّن البايت المقلوب في العنوان 20، واطبعه بعد قراءته من الذاكرة. اقلب البتّين مجددًا، واحفظ البايت المستعاد في العنوان 20، واطبع القيمة المستعادة.
يشغّل الفاحص البرنامج الحالي في محرّرك على آلة جديدة لكل حالة من حالات الاختبار الـ3. ويوفّر المدخلات والذاكرة المهيّأة بنفسه؛ لا تحدّد مخرجات المختبر الحالية ولا ذاكرته نتيجتك.
INPUT
XOR 6
STORE 20
LOAD [20]
PRINT
#
HALTهل تحتاج إلى تلميح؟
استخدم XOR 6 في المرتين؛ يجب أن يساوي البايت النهائي في الذاكرة المدخل الأصلي.
اعرض حلًا محلولًا
اقرأ البرنامج، وتوقّع أثر كل تعليمة، ثم نفّذه خطوةً خطوة في المختبر.
INPUT
XOR 6
STORE 20
LOAD [20]
PRINT
XOR 6
STORE 20
LOAD [20]
PRINT
HALTمختبر معالج الرموز التعبيرية
برنامج الرموز التعبيرية
اكتب LOAD أو ADD أو تعليمة أخرى ثم مسافة لإدراج الرمز. يشغّل Ctrl/⌘ + Enter أو يوقف مؤقتًا؛ ويوقف Escape مؤقتًا؛ ويزيد Ctrl/⌘ + ] الإزاحة. ينقل Tab التركيز. تستخدم الوسوم نقطتين رأسيتين. تستخدم القفزات عناوين تعليمات تبدأ من صفر.
خريطة التعليمات ونقاط التوقّف (0)
توقف نقاط التوقّف قبل التعليمة. يتجاوز تشغيل نقطة التوقّف الحالية مرةً واحدة عند الاستئناف؛ وتنفّذ خطوة التعليمة مباشرةً. يمسح تحرير المصدر نقاط التوقّف القديمة وحالة الآلة.
سجلات المعالج
- R0
- 0
- R1
- 0
- R2
- 0
- R3
- 0
- R4
- 0
- R5
- 0
- R6
- 0
- R7
- 0
المكدّسات وأطر الحلقات
SP = 255 − عمق البيانات − عمق الاستدعاءات. المكدّس منفصل عن الذاكرة.
مكدّس البيانات (من الأسفل إلى الأعلى)
فارغ
عناوين عودة الاستدعاءات (من الأسفل إلى الأعلى)
فارغ
أطر الحلقات
فارغ
المخرجات والمدخلات
نفّذ تعليمة PRINT لرؤية المخرجات.
المدخلات في الطابور: فارغ
الذاكرة · 256 بايت · 0 غير صفري
تعرض كل خلية العنوان:القيمة. R = قراءة في هذه الخطوة؛ W = كتابة في هذه الخطوة. اختر خليةً لفحصها أو تهيئتها قبل التنفيذ. استخدم الأسهم للتنقّل، وHome/End للصف، وCtrl/⌘ + Home/End للذاكرة كلها.
سجلّ التنفيذ · 0 عناصر
العناصر الأخيرة أدناه. افحص أي فهرس يبدأ من صفر لرؤية الحالة الكاملة المنفصلة قبل التنفيذ وبعده.
افحص تحدّيك
يمكنك إجراء هذا الفحص في أي وقت. يجب أن تنجح كل حالة لتسجيل الإنجاز.
يستخدم التقدّم localStorage فقط. يبقى في هذا المتصفّح ولا يُرسل إلى أي خادم.