دليل الآلة
مرجع تعليمات الرموز التعبيرية
اكتب الرمز التعبيري أو اسم التعليمة. تحمل السجلات R0–R7 أعدادًا صحيحة آمنة؛ وR0 هو المُجمِّع. للذاكرة 256 عنوان بايت (0–255). يحتفظ الحساب بالقيم الصحيحة كاملةً؛ وتستخدم عمليات البتات أعدادًا موقّعة ذات 32 بت.
تنتهي الوسوم بنقطتين رأسيتين. تستهدف القفزات وسومًا أو فهارس تعليمات تبدأ من صفر، وتتجاهل الأسطر الفارغة والتعليقات. تبدأ # تعليقًا. تقرأ LOAD [10] الذاكرة؛ وتحمّل LOAD 10 العدد 10 نفسه.
| الرمز التعبيري | اسم التعليمة ومعاملاتها | السلوك | المختبر |
|---|---|---|---|
| 📥 | LOAD قيمة [سجل] | حمّل قيمةً أو سجلًا أو بايتًا من الذاكرة. | |
| 💾 | STORE [قيمة] عنوان | اكتب أدنى بايت لقيمة في الذاكرة. | STORE · جرّب تعليمةً في المختبر ←LOAD 42 STORE 10 STORE 511 11 LOAD [10] PRINT LOAD [11] PRINT HALT المخرجات المتوقعة: |
| 📋 | COPY سجل-المصدر سجل-الوجهة | انسخ سجلًا إلى سجل آخر. | COPY · جرّب تعليمةً في المختبر ←LOAD 7 R1 COPY R1 R2 LOAD R2 PRINT HALT المخرجات المتوقعة: |
| ➕ | ADD قيمة | أضف قيمةً إلى R0. | |
| ➖ | SUB قيمة | اطرح قيمةً من R0. | |
| ✖️ | MUL قيمة | اضرب R0 بقيمة. | |
| ➗ | DIV قيمة-غير-صفرية | اقسم R0 مع التقريب نحو سالب ما لا نهاية. | |
| 📊 | MOD قيمة-غير-صفرية | احسب باقي R0 ذا الإشارة. | |
| 🔀 | AND قيمة | طبّق AND بتًا بتًا على R0 وقيمة. | |
| 🔃 | OR قيمة | طبّق OR بتًا بتًا على R0 وقيمة. | |
| ❌ | NOT | اعكس بتات R0 الموقّعة ذات 32 بت. | |
| 🔄 | XOR قيمة | طبّق XOR بتًا بتًا على R0 وقيمة. | |
| ⚖️ | CMP قيمة | اضبط الرايات من R0 ناقص قيمة؛ واحتفظ بـR0. | CMP · جرّب تعليمةً في المختبر ←LOAD 7 CMP 7 JUMP_IF_ZERO same LOAD 0 JUMP show same: LOAD 1 show: PRINT HALT المخرجات المتوقعة: |
| ⏭️ | JUMP وجهة | اقفز إلى وسم أو فهرس تعليمة يبدأ من صفر. | JUMP · جرّب تعليمةً في المختبر ←LOAD 1 JUMP show LOAD 99 show: PRINT HALT المخرجات المتوقعة: |
| ❓ | JUMP_IF_ZERO وجهة | اقفز عندما تكون راية الصفر المحفوظة مفعّلة. | JUMP_IF_ZERO · جرّب تعليمةً في المختبر ←LOAD 0 JUMP_IF_ZERO show LOAD 99 show: PRINT HALT المخرجات المتوقعة: |
| 🔁 | LOOP عدد | كرّر الكتلة المنتهية عند RETURN المقابلة. | LOOP · جرّب تعليمةً في المختبر ←LOOP 0 LOAD 99 PRINT RETURN LOAD 1 LOOP 3 PRINT ADD 1 RETURN HALT المخرجات المتوقعة: |
| 🛑 | RETURN | اختم دورة حلقة أو عُد من برنامج فرعي. | RETURN · جرّب تعليمةً في المختبر ←LOAD 7 CALL increment PRINT HALT increment: ADD 1 RETURN المخرجات المتوقعة: |
| 📞 | CALL وجهة | استدعِ برنامجًا فرعيًا واحفظ عنوان التعليمة التالية. | CALL · جرّب تعليمةً في المختبر ←LOAD 3 CALL square PRINT LOAD 4 CALL square PRINT HALT square: MUL R0 RETURN المخرجات المتوقعة: |
| 🖨️ | PRINT | أضف قيمة R0 الحالية إلى المخرجات. | |
| 📲 | INPUT | اقرأ عددًا صحيحًا إلى R0؛ وانتظر عندما تكون المدخلات فارغة. | |
| ⬆️ | PUSH | ادفع R0 إلى مكدّس البيانات. | PUSH · جرّب تعليمةً في المختبر ←LOAD 42 PUSH LOAD 0 POP PRINT HALT المخرجات المتوقعة: |
| ⬇️ | POP | أزل قيمةً من مكدّس البيانات إلى R0. | POP · جرّب تعليمةً في المختبر ←LOAD 11 PUSH LOAD 22 PUSH POP PRINT POP PRINT HALT المخرجات المتوقعة: |
| ⏹️ | HALT (أو STOP) | توقّف عند التعليمة الحالية. | |
| 💤 | SLEEP مللي-ثانية | اطلب تأخيرًا بالمللي ثانية من المستدعي. | SLEEP · جرّب تعليمةً في المختبر ←LOAD 1 PRINT SLEEP 100 LOAD 2 PRINT HALT المخرجات المتوقعة: |
| ⏸️ | NOP | انتقل إلى الأمام دون تغيير القيم أو الرايات. | NOP · جرّب تعليمةً في المختبر ←LOAD 7 CMP 7 NOP JUMP_IF_ZERO show LOAD 0 show: PRINT HALT المخرجات المتوقعة: |
الرايات والحلقات والاستدعاءات
تعني Z أن أحدث نتيجة صفر. وتعني N أنها سالبة؛ وتعني O أنها خارج نطاق العدد الموقّع ذي 32 بت. تحدّث LOAD لأي سجل وCOPY والحسابات وتعليمات البتات وPOP وINPUT الرايات. تضبط CMP الرايات من R0 ناقص معاملها دون تغيير R0. تختبر JUMP_IF_ZERO راية Z، بما فيها نتيجة المقارنة.
تلتقط LOOP عددها مرةً واحدة وتكرّر كتلتها عبر RETURN المقابلة؛ ويتجاوز الصفر الكتلة. تستخدم CALL مكدّس عناوين عودة منفصلًا. تعود RETURN داخل دالة مستدعاة إلى المستدعي قبل متابعة حلقة خارجية. تستخدم PUSH وPOP مكدّس بيانات منفصلًا. يبدأ SP عند 255 وينقص مع مجموع عمق البيانات والاستدعاءات، حتى 256 عنصرًا.
تقرّب DIV نحو سالب ما لا نهاية؛ وMOD هي الباقي ذو الإشارة. تكتب STORE أدنى بايت (تصبح −1 بالقيمة 255). تنتظر INPUT حتى توفّر عددًا صحيحًا آمنًا. تطلب SLEEP تأخيرًا موقّتًا في المختبر؛ ولا تنتظر الآلة الافتراضية الحتمية نفسها. يمكن أن تنتهي البرامج بـHALT أو الوصول إلى النهاية؛ وتُعدّ وجهات التفرّع غير الصالحة أخطاءً.
جرّب تعليمةً في المختبر ←