मशीन से मिलें · 30 में पाठ 2 · लगभग 8 मिनट
रजिस्टरों को समझें
मान खोए बिना आठ तेज़ कार्यस्थानों का उपयोग करें।
01 / समझाएँ
विचार समझें
R0 से R7 तक रजिस्टर CPU के तेज़ कार्यस्थान हैं। 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 / चुनौती
इसे काम करने दें
R1 में 17 रखें और उसे R2 में प्रतिलिपि करें। 17 छापें, फिर रुकने से पहले R0 को शून्य करें। R1 और R2 में 17 रहना चाहिए।
जाँचक संपादक के वर्तमान प्रोग्राम को हर 1 मामले के लिए नई मशीन में चलाता है। वह इनपुट और मेमोरी खुद देता है; प्रयोगशाला का वर्तमान आउटपुट और मेमोरी परिणाम तय नहीं करते।
LOAD 17 R1
#
HALTसंकेत चाहिए?
R0 साफ़ करने से दूसरे रजिस्टर साफ़ नहीं होते।
हल किया समाधान दिखाएँ
प्रोग्राम पढ़ें, हर निर्देश का असर अनुमान करें, फिर प्रयोगशाला में एक-एक कदम चलाएँ।
LOAD 17 R1
COPY R1 R2
LOAD R2
PRINT
LOAD 0
HALTइमोजी CPU प्रयोगशाला
इमोजी प्रोग्राम
LOAD, ADD या दूसरा निर्देश नाम लिखकर Space दबाएँ ताकि इमोजी जुड़े। Ctrl/⌘ + Enter चलाता/रोकता है; Escape रोकता है; Ctrl/⌘ + ] इंडेंट करता है। Tab फोकस बदलता है। लेबल कोलन लेते हैं। जंप शून्य-आधारित निर्देश पते लेते हैं।
निर्देश मानचित्र और ब्रेकपॉइंट (0)
ब्रेकपॉइंट निर्देश से पहले रोकते हैं। चलाएँ रुके ब्रेकपॉइंट के पार एक बार बढ़ता है; एक कदम सीधे निर्देश चलाता है। स्रोत बदलने से पुराने ब्रेकपॉइंट और मशीन स्थिति साफ़ होते हैं।
CPU रजिस्टर
- 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 लेती है। इस ब्राउज़र में रहती है और सर्वर पर नहीं जाती।