/ WriteConsoleA और readConsoleA के साथ उपयोग के लिए असेंबली में दशमलव में एससीआई चरित्र परिवर्तित करना - असेंबली, मेस्म

WriteConsoleA के साथ उपयोग के लिए असेंबली में एक असीसी चरित्र को दशमलव में परिवर्तित करना और पढ़ना कंसोल ए - असेंबली, मैस्म

मैं एक तय में हूं। मुझे उपयोगकर्ता से इनपुट संख्या की आवश्यकता है और फिर इनपुट पर अंकगणितीय गणना करना है। मैं अभी एक शुरुआत कर रहा हूं और अब तक मैंने कोई IO का उपयोग नहीं किया है, सिवाय एक प्रोग्राम के जो उपयोगकर्ता से नाम पूछता है और एक आउटपुट प्रिंट करता है, WriteConsoleA और ReadConsoleA का उपयोग करके। मैं "गूगल पर कोई मदद नहीं पा सका, इनपुट के लिए ascii वर्णों को दशमलव में बदलने के लिए और आउटपुट के लिए दशमलव को ascii में परिवर्तित करने के लिए कैसे। मैं" किसी भी पुस्तकालय कार्यों का उपयोग करने से पहले मैन्युअल रूप से ऐसा करना पसंद करता हूं। मैं "किसी भी वर्ण को एक स्ट्रिंग में बदलने और इसके विपरीत करने के लिए कैसे समझ सकता हूँ" यह कैसे किया जाता है? और हाँ, यदि आप उत्तरों में कोड लिखते हैं, यदि संभव हो तो, masm सिंटैक्स का उपयोग करें क्योंकि मैं अन्य असेंबलरों के सिंटैक्स से परिचित नहीं हूं। धन्यवाद!! Devjeet

उत्तर:

जवाब के लिए 2 № 1

यदि आपके पास अल पर 31h जैसा दशमलव है, तो आप उन्हें ASCII वर्णों में बदलने के लिए प्रत्येक को 30h जोड़ सकते हैं, जैसे (AL = 31h):

mov cl,al
shr al, 4 // now al = 03
add al,30h // now al = 33h, which if you output is the ASCII character "3"

अब, आप अगले "1" प्राप्त करने के लिए अल द्वारा 4 और बाईं ओर शिफ्ट कर सकते हैं और फिर से 30h जोड़ सकते हैं। मुझे आशा है कि यह इस बिंदु को दिखाता है :)