Assembly Code: If this code runs from its start until the endpoint -


  0x40106e & lt; मुख्य + 30 & gt ;: mov $ 0x0,% edx 0x401073 & lt; मुख्य + 35 & gt ;: mov $ 0x0,% ecx 0x401078 & lt; मुख्य + 40 & gt ;: cmp $ 0x9,% ecx 0x40107b & lt; मुख्य + 43 & gt ;: जेले 0x40107f & lt; मुख्य +47 & gt; 0x40107d & lt; मुख्य + 45 & gt ;: jmp 0x401084 & lt; मुख्य + 52 & gt; 0x40107f & lt; मुख्य + 47 & gt ;:% ecx जोड़ें,% edx 0x401081 & lt; मुख्य +49>: inc% ecx 0x401082 & lt; मुख्य + 50 & gt ;: jmp 0x401078 & lt; मुख्य + 40 & gt; 0x401084 & lt; मुख्य + 52 & gt ;: // अंतपॉइंट  

रजिस्टर में मान ecx & amp; एडीएक्स क्या होगा? कोई मुझे इस कार्यक्रम के माध्यम से कदम कर सकता है। इसके अलावा, मैं इसे ideone.com पर कैसे चला सकता हूं

यदि आप इस पर नए हैं, तो आपको चाहिए मानव-पठनीय भाषा में क्या होता है के साथ प्रत्येक पंक्ति का विवरण। इसके अलावा, अनुसरण करने के लिए चीजों को आसान बनाने के लिए लेबल बदलने के लिए शर्मीली मत रहें।

मेरे हिस्से पर, मुझे यह पता चला कि & lt; main + 40 & gt; एक पाश स्थिति है और वह & lt; main + 47 & gt; लूप बॉडी है मुझे लगा कि यह एक पाश था क्योंकि कोड वापस कूदता है (कोड जो केवल आगे कूदता है नहीं लूप)। चूंकि & lt; मुख्य + 40 & gt; परीक्षण ecx और तदनुसार कूदता है, मुझे पता चला है कि यह वह जगह है जहां लूप की स्थिति का मूल्यांकन किया जाता है। यह लूप बॉडी होने के लिए और lt; main + 47 & gt; को छोड़ देता है।

  mov $ 0x0,% edx; % Edx = 0 mov $ 0x0,% ecx; % Ecx = 0 loop_test: cmp $ 0x9,% ecx; % Ecx से 9 की तुलना करें (नीचे कूदता देखें) jle loop_body; अगर% ecx & lt; = 9 jmp समापन बिंदु; अन्यथा loop_body को समापन बिंदु पर जाएं:% ecx जोड़ें,% edx; % एडीएक्स + =% ईसीएक्स इंक% एक्सएक्स; % Ecx ++ jmp लूप_स्टेस्ट; तुलना की समाप्ति बिंदु पर लौटें:; एंड पॉइंट  

आप तब सी कोड लिख सकते हैं जो एक ही काम करता है:

  int ecx = 0; Int edx = 0; Loop_test: अगर (ecx & lt; = 9) {गोटो लूप_बाइब; गोटो एंडपॉइंट; Loop_body: edx + = ecx; ECX ++; Goto loop_test; समापन बिंदु: वापसी;  

चकाचौंध पाठक अजीब समानता को ध्यान रखेगा जो यह लूप के लिए भालू है।

  int total = 0; के लिए (इंट आई = 0; आई & lt; 10; i ++) {कुल + = i; }  

यदि आपको एक निर्देश के बारे में नहीं पता है, तो आपको (अस्वीकरण: मैं उस संसाधन के रखरखावकर्ता हूं) होना चाहिए।


Comments

Popular posts from this blog

java - org.apache.http.ProtocolException: Target host is not specified -

java - Gradle dependencies: compile project by relative path -

ruby on rails - Object doesn't support #inspect when used with .include -