csrsछद्म

csrs

छद्म
RISC-V असेंबली संदर्भ

lyszt.net csrs और अन्य RISC-V निर्देशों को अधिक विस्तार से कवर करता है।

विवरण

csrs एक कंट्रोल रजिस्टर में बिट्स सेट करता है। एक कंट्रोल और स्टेटस रजिस्टर, या CSR, प्रोसेसर की स्थिति रखता है जैसे ट्रैप हैंडलर का पता और इंटरप्ट स्विच (देखें csrrw)। नीचे दिया गया रूप CSR के उन सभी बिट्स को सेट करता है जो rs में 1 हैं और अन्य बिट्स को अपरिवर्तित छोड़ देता है।

csrs csr, rs

यह एक स्यूडो-इंस्ट्रक्शन है, एक पठनीय नाम जिसे असेंबलर एक वास्तविक इंस्ट्रक्शन में फिर से लिखता है। यह नीचे दिए गए इंस्ट्रक्शन में बदल जाता है, जहाँ rd zero है इसलिए पुराना मान त्याग दिया जाता है।

csrrs zero, csr, rs

इंटरप्ट csrs के दो कॉल से सक्षम किए जाते हैं। पहला mie का बिट 11 सेट करता है, बाहरी इंटरप्ट सक्षम। दूसरा mstatus का बिट 3 सेट करता है, वैश्विक इंटरप्ट सक्षम।

li t0, 0x800
csrs mie, t0
li t0, 8
csrs mstatus, t0

प्रोसेसर के इंटरप्ट लेने से पहले दोनों स्विच चालू होने चाहिए। बटन का भी अपना सक्षम रजिस्टर है, जिसका वर्णन GPIO पृष्ठ पर किया गया है। बिट्स साफ़ करने के लिए csrc देखें।

RISC-V मैनुअल csrs और csrc को CSR बिट्स को सेट और साफ़ करने के संक्षिप्त रूपों के रूप में सूचीबद्ध करता है जब पुराना मान आवश्यक न हो।

विस्तृत होता है

csrrs zero, csr, rs

असेंबलर इस छद्म-निर्देश को ऊपर सूचीबद्ध वास्तविक निर्देश या निर्देशों से बदल देता है।

उदाहरण

li t0, 8
csrs mstatus, t0   # sets bit 3 of mstatus