ebreak
lyszt.net ebreak और अन्य RISC-V निर्देशों को अधिक विस्तार से कवर करता है।
विवरण
ebreak प्रोग्राम को रोक देता है। यह नाम environment break का संक्षिप्त रूप है। यह उस बिंदु को चिह्नित करता है जहाँ डीबगर नियंत्रण लेता है, और यह सिम्युलेटर उस पंक्ति पर निष्पादन रोक देता है। इस रूप में कोई ऑपरेंड नहीं लिया जाता।
ebreak
प्रोसेसर वहीं रुक जाता है और उसके बाद की पंक्तियाँ नहीं चलतीं। रजिस्टर और मेमोरी अपने मान बनाए रखते हैं, इसलिए ब्रेकपॉइंट पर की स्थिति को बाद में जाँचा जा सकता है। सेवा 10 के साथ ecall किसी प्रोग्राम को सामान्य रूप से समाप्त करता है, और ebreak उसे चुने हुए स्थान पर रोक देता है।
RISC-V मैनुअल ebreak को डीबगिंग वातावरण को नियंत्रण लौटाने वाला बताता है, और इसे ecall के साथ परिभाषित करता है, जो वातावरण से एक सेवा माँगता है। दोनों एक सटीक अनुरोधित ट्रैप का कारण बनते हैं, जो वातावरण को जानबूझकर नियंत्रण का स्थानांतरण है।
उदाहरण t0 को 1 पर सेट करता है और ebreak चलाता है। उसके बाद वाला li कभी नहीं चलता, इसलिए t0 1 ही रहता है।
उदाहरण
li t0, 1 ebreak # the program stops here li t0, 2 # never reached
