يحاكي هذا المشروع نظام كمبيوتر بسيط يتكون من وحدة المعالجة المركزية والذاكرة. يتم محاكاة وحدة المعالجة المركزية والذاكرة من خلال عمليات منفصلة تتواصل. تحتوي الذاكرة على برنامج واحد ستنفذه وحدة المعالجة المركزية ثم تنتهي المحاكاة.
ل CPU:
للذاكرة:
لمؤقت:
لمعالجة المقاطعة:
مجموعة التعليمات:
-> 1 = قيمة التحميل # قم بتحميل القيمة في التيار المتردد
-> 2 = تحميل addr # قم بتحميل القيمة في العنوان في التيار المتردد
-> 3 = loadind addr # قم بتحميل القيمة من العنوان الموجود في العنوان المحدد في التيار المتردد. (على سبيل المثال ، إذا كان LoadInd 500 ، و 500 يحتوي على 100 ، ثم يتم تحميله من 100).
-> 4 = loadIdxx addr # قم بتحميل القيمة على (العنوان+x) في التيار المتردد. (على سبيل المثال ، إذا كان LoadIdxx 500 و X يحتوي على 10 ، ثم يتم تحميله من 510).
-> 5 = loadidxy addr # قم بتحميل القيمة على (العنوان+y) في التيار المتردد
-> 6 = loadspx # تحميل من (sp+x) إلى التيار المتردد (إذا كان SP هو 990 ، و x هو 1 ، تحميل من 991).
-> 7 = تخزين addr # تخزين القيمة في التيار المتردد في العنوان
-> 8 = الحصول على # الحصول على int عشوائي من 1 إلى 100 في التيار المتردد
-> 9 = وضع المنفذ # إذا كان المنفذ = 1 ، يكتب AC باعتباره int على الشاشة ؛ إذا كان المنفذ = 2 ، يكتب AC كشخص على الشاشة
-> 10 = addx # أضف القيمة في x إلى التيار المتردد
-> 11 = addy # أضف القيمة في y إلى التيار المتردد
-> 12 = subx # اطرح القيمة في x من التيار المتردد
-> 13 = suby # اطرح القيمة في y من التيار المتردد
-> 14 = copytox # انسخ القيمة في التيار المتردد إلى x
-> 15 = copyfromx # انسخ القيمة في x إلى التيار المتردد
-> 16 = copytoy # انسخ القيمة في التيار المتردد إلى y
-> 17 = copyfromy # انسخ القيمة في y إلى التيار المتردد
-> 18 = نسخة نسخ القيمة في التيار المتردد إلى SP
-> 19 = copyfromsp # انسخ القيمة في SP إلى AC
-> 20 = القفز addr # القفز إلى العنوان
-> 21 = Jumpifequal Addr # Jump إلى العنوان فقط إذا كانت القيمة في AC صفر
-> 22 = Jumpifnotequal addr # Jump to the add
-> 23 = Call Addr # Push Return address على Stack ، قفز إلى العنوان
-> 24 = RET # عنوان إرجاع البوب من المكدس ، قفز إلى العنوان
-> 25 = incx # زيادة القيمة في x
-> 26 = DECX # تقليل القيمة في x
-> 27 = Push # Push AC على المكدس
-> 28 = pop # pop من المكدس إلى التيار المتردد
-> 29 = int # تنفيذ استدعاء النظام
-> 30 = IRET # إرجاع من استدعاء النظام
-> 50 = End # End Execution
=========================================================================
عينة المجلد يحتوي على 5 عينة ملف.
sample1.txt
sample2.txt
sample3.txt
sample4.txt
Sample5.txt
=========================================================================
خطوة لتجميع وتنفيذ المشروع: