bgtzछद्म

bgtz

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

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

विवरण

bgtz किसी रजिस्टर में मान धनात्मक होने पर ब्रांच लेता है। नाम का अर्थ है ब्रांच इफ ग्रेटर दैन ज़ीरो। नीचे दिया गया रूप तब लेबल किए गए स्थान पर जाता है जब rs शून्य से अधिक हो, और अन्यथा अगले निर्देश पर गिर जाता है।

bgtz rs, label

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

blt zero, rs, label

RISC-V में ग्रेटर दैन के लिए कोई ब्रांच नहीं है, इसलिए ऑपरेंड्स की अदला-बदली की जाती है और लेस-दैन ब्रांच काम करती है, उसी तरह जैसे bgt बनाया जाता है। तुलना साइन्ड है। शून्य ब्रांच नहीं करता, जो bgtz को bgez से अलग करता है। अंतर्निहित ब्रांच के लिए blt देखें।

bgtz ऐसे लूप के लिए उपयुक्त है जो तब तक जारी रहना चाहिए जब तक प्रोसेस करने के लिए कुछ बचा हो, जैसे कि शेष आइटमों की गिनती जो शून्य से अधिक हो। यह यह भी परीक्षण करता है कि कोई परिणाम शून्य से अधिक है या नहीं।

bgtz a0, found

ऊपर की पंक्ति found पर जाती है जब a0 में 1 या अधिक हो। 0 या कोई भी ऋणात्मक संख्या अगले निर्देश पर जारी रहती है।

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

blt zero, rs, label

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

उदाहरण

li t0, 4
bgtz t0, done   # t0 > 0, so jump to 'done'