csrc
छद्मlyszt.net csrc और अन्य RISC-V निर्देशों को अधिक विस्तार से कवर करता है।
विवरण
csrc कंट्रोल रजिस्टर में बिट्स को क्लियर करता है। एक कंट्रोल और स्टेटस रजिस्टर, या CSR, प्रोसेसर की स्थिति रखता है जैसे ट्रैप हैंडलर का पता और इंटरप्ट स्विच (देखें csrrw)। नीचे दिया गया रूप CSR के हर उस बिट को क्लियर करता है जो rs में 1 है और अन्य बिट्स को अपरिवर्तित छोड़ देता है।
csrc csr, rs
यह एक स्यूडो-इंस्ट्रक्शन है, एक पठनीय नाम जिसे असेंबलर एक वास्तविक इंस्ट्रक्शन में फिर से लिखता है। यह नीचे दिए गए इंस्ट्रक्शन में बदल जाता है, जहाँ rd zero है ताकि पुराना मान त्याग दिया जाए।
csrrc zero, csr, rs
नीचे दी गई पंक्तियाँ mstatus के बिट 3 को क्लियर करती हैं, जो ग्लोबल इंटरप्ट इनेबल को बंद कर देता है।
li t0, 8 csrc mstatus, t0
जब कोई ट्रैप शुरू होता है तो प्रोसेसर स्वयं इस बिट को क्लियर करता है, और mret इसे बहाल करता है, इसलिए एक हैंडलर को शायद ही कभी इसकी आवश्यकता होती है। एक प्रोग्राम कोड के एक छोटे हिस्से को इंटरप्ट से बचाने के लिए csrc का उपयोग करता है और फिर csrs के साथ बिट को फिर से सेट करता है।
विस्तृत होता है
csrrc zero, csr, rs
असेंबलर इस छद्म-निर्देश को ऊपर सूचीबद्ध वास्तविक निर्देश या निर्देशों से बदल देता है।
उदाहरण
li t0, 8 csrc mstatus, t0 # clears bit 3 of mstatus
