22. बिट मास्क और फ्लैग
AND से बिट चुनें और OR से लगाएँ।
यह पाठ खोलें →
1. अनुमान और निष्पादन क्रम
प्रयोग प्रोग्राम चलाने से पहले आउटपुट अनुमान करें और पहले तीन चलाए निर्देशों का क्रम लिखें। आवश्यक रजिस्टर, फ्लैग या मेमोरी दर्ज करें। फिर एक-एक कदम चलाकर मिलाएँ।
LOAD 13
AND 5
PRINT
OR 2
PRINT
HALT
इनपुट कतार में रखें: कोई नहीं
मेमोरी शुरू करें: शुरू में सभी बाइट शून्य
प्रयोग अनुमान कुंजी
आउटपुट: 5, 7
2. बनाएँ और जाँचें
0 से 255 तक बाइट पढ़ें। AND 5 से केवल बिट 0 और 2 को संख्यात्मक मास्क के रूप में छापें।
ज़रूरी निर्देश प्रकार: INPUT, AND
चुनौती समाधान उदाहरण
INPUT
AND 5
PRINT
HALT
वास्तविक जाँच मामले
मामला 1
- इनपुट
7- शुरुआती मेमोरी
शुरू में सभी बाइट शून्य- अपेक्षित आउटपुट
5
मामला 2
- इनपुट
10- शुरुआती मेमोरी
शुरू में सभी बाइट शून्य- अपेक्षित आउटपुट
0
मामला 3
- इनपुट
20- शुरुआती मेमोरी
शुरू में सभी बाइट शून्य- अपेक्षित आउटपुट
4
मामला 4
- इनपुट
255- शुरुआती मेमोरी
शुरू में सभी बाइट शून्य- अपेक्षित आउटपुट
5
3. मशीन समझाएँ
मास्क 5 क्या चुनता है?
तर्क और शिक्षण टिप्पणी
बाइनरी 00000101 बिट 0/2 चुनता, बाकी साफ़ करता है। यह संख्यात्मक घटाव नहीं है।
23. बिट पलटना
XOR का उलटने योग्य बदलाव संग्रहित सेटिंग पर लागू करें।
यह पाठ खोलें →
1. अनुमान और निष्पादन क्रम
प्रयोग प्रोग्राम चलाने से पहले आउटपुट अनुमान करें और पहले तीन चलाए निर्देशों का क्रम लिखें। आवश्यक रजिस्टर, फ्लैग या मेमोरी दर्ज करें। फिर एक-एक कदम चलाकर मिलाएँ।
LOAD 42
XOR 6
PRINT
XOR 6
PRINT
HALT
इनपुट कतार में रखें: कोई नहीं
मेमोरी शुरू करें: शुरू में सभी बाइट शून्य
प्रयोग अनुमान कुंजी
आउटपुट: 44, 42
2. बनाएँ और जाँचें
एक बाइट पढ़ें। बिट 1 और 2 पलटें, बदली बाइट पता 20 पर रखें और वापस पढ़कर छापें। फिर वही बिट पलटें, बहाल बाइट पता 20 पर रखें और बहाल मान छापें।
ज़रूरी निर्देश प्रकार: INPUT, XOR, STORE, LOAD
चुनौती समाधान उदाहरण
INPUT
XOR 6
STORE 20
LOAD [20]
PRINT
XOR 6
STORE 20
LOAD [20]
PRINT
HALT
वास्तविक जाँच मामले
मामला 1
- इनपुट
0- शुरुआती मेमोरी
शुरू में सभी बाइट शून्य- अपेक्षित आउटपुट
6, 0- अपेक्षित अंतिम मेमोरी
20: 0- ज़रूरी मेमोरी पढ़ाई
20
मामला 2
- इनपुट
42- शुरुआती मेमोरी
शुरू में सभी बाइट शून्य- अपेक्षित आउटपुट
44, 42- अपेक्षित अंतिम मेमोरी
20: 42- ज़रूरी मेमोरी पढ़ाई
20
मामला 3
- इनपुट
255- शुरुआती मेमोरी
शुरू में सभी बाइट शून्य- अपेक्षित आउटपुट
249, 255- अपेक्षित अंतिम मेमोरी
20: 255- ज़रूरी मेमोरी पढ़ाई
20
3. मशीन समझाएँ
एक ही XOR मास्क दो बार पलटने पर क्या होता है?
तर्क और शिक्षण टिप्पणी
मूल मान लौटता है: 42 XOR 6=44, फिर 44 XOR 6=42।
24. चिह्न वाले बिट और बड़ा मान
NOT समझें और चिह्न मास्क से अंतर का चिह्न जाँचें।
यह पाठ खोलें →
1. अनुमान और निष्पादन क्रम
प्रयोग प्रोग्राम चलाने से पहले आउटपुट अनुमान करें और पहले तीन चलाए निर्देशों का क्रम लिखें। आवश्यक रजिस्टर, फ्लैग या मेमोरी दर्ज करें। फिर एक-एक कदम चलाकर मिलाएँ।
LOAD 255
NOT
PRINT
NOT
PRINT
HALT
इनपुट कतार में रखें: कोई नहीं
मेमोरी शुरू करें: शुरू में सभी बाइट शून्य
प्रयोग अनुमान कुंजी
आउटपुट: -256, 255
2. बनाएँ और जाँचें
−10,000 से 10,000 तक दो पूर्णांक पढ़ें और बड़ा छापें। घटाव तथा चिह्न वाला 32-बिट चिह्न मास्क उपयोग करें।
ज़रूरी निर्देश प्रकार: INPUT, SUB, AND, JUMP_IF_ZERO
चुनौती समाधान उदाहरण
INPUT
COPY R0 R1
INPUT
COPY R0 R2
LOAD R1
SUB R2
AND -2147483648
JUMP_IF_ZERO first
LOAD R2
JUMP show
first: LOAD R1
show: PRINT
HALT
वास्तविक जाँच मामले
मामला 1
- इनपुट
5, 9- शुरुआती मेमोरी
शुरू में सभी बाइट शून्य- अपेक्षित आउटपुट
9
मामला 2
- इनपुट
9, 5- शुरुआती मेमोरी
शुरू में सभी बाइट शून्य- अपेक्षित आउटपुट
9
मामला 3
- इनपुट
7, 7- शुरुआती मेमोरी
शुरू में सभी बाइट शून्य- अपेक्षित आउटपुट
7
मामला 4
- इनपुट
-3, 2- शुरुआती मेमोरी
शुरू में सभी बाइट शून्य- अपेक्षित आउटपुट
2
मामला 5
- इनपुट
-8, -2- शुरुआती मेमोरी
शुरू में सभी बाइट शून्य- अपेक्षित आउटपुट
-2
3. मशीन समझाएँ
NOT 255, 0 के बजाय −256 क्यों है?
तर्क और शिक्षण टिप्पणी
NOT सभी चिह्न वाले 32 बिट उलटता है। केवल बाइट पूरक के लिए अलग मास्क 255 चाहिए।