not
छद्मlyszt.net not और अन्य RISC-V निर्देशों को अधिक विस्तार से कवर करता है।
विवरण
not एक रजिस्टर के सभी बिट्स को उलट देता है। 0, 1 बन जाता है, और 1, 0 बन जाता है। नीचे दिया गया रूप स्रोत रजिस्टर rs को पढ़ता है, सभी 32 बिट्स को पलटता है, और परिणाम को गंतव्य रजिस्टर rd में लिखता है। यह संक्रिया बिटवाइज़ पूरक है।
not rd, rs
not एक छद्म-निर्देश है: एक पठनीय नाम जिसे असेंबलर एक वास्तविक निर्देश में फिर से लिखता है। यह नीचे दिए गए निर्देश में बदल जाता है, जो सभी 1s के मास्क के साथ XOR है।
xori rd, rs, -1
XOR हर उस बिट को पलटता है जहाँ मास्क में 1 हो, इसलिए सभी 1s का मास्क सभी बिट्स को पलट देता है। मान -1 बिट्स में सभी 1s है, यही कारण है कि यह मास्क के रूप में काम करता है। RISC-V में कोई समर्पित इनवर्ट निर्देश नहीं है क्योंकि यह पुनर्लेखन इसे संभाल लेता है।
not एक मास्क का विपरीत उत्पन्न करता है। यदि कोई पैटर्न कुछ बिट्स का चयन करता है, तो not वह पैटर्न देता है जो शेष का चयन करता है। not के बाद and करने से मूल मास्क द्वारा नामित बिट्स साफ़ हो जाते हैं, जो फ़्लैग्स के एक सेट को बंद कर देता है।
RISC-V मैनुअल not को स्थिरांक -1 के साथ xori के लिए एक असेंबलर छद्म-निर्देश के रूप में परिभाषित करता है, और उस xori को रजिस्टर rs1 का बिटवाइज़ तार्किक व्युत्क्रमण बताता है।
not और neg भिन्न परिणाम देते हैं। not बिट्स को पलटता है, और neg चिह्न को पलटता है। 5 का not -6 है, और 5 का neg -5 है। सिम्युलेटर का ट्रेस वह xori दिखाता है जो not के स्थान पर चलता है।
विस्तृत होता है
xori rd, rs, -1
असेंबलर इस छद्म-निर्देश को ऊपर सूचीबद्ध वास्तविक निर्देश या निर्देशों से बदल देता है।
उदाहरण
li t0, 0 not t1, t0 # t1 = -1 (every bit flipped)
