اذهب إلى المحتوى
  • 0

هل هناك طريقة تحويل من سي بلس الى الاسمبلي؟

RAA

السؤال

#include <iostream>
#include <string>
#include <cmath>
using namespace std;
  
   
   int ConvertOctaltoDecimal ( int octal ) {
        int decimal = 0 , position =0 ;
        while ( octal > 0 ) {
            if(position < 3){
             int temp = octal % 10 ;
             decimal = decimal + temp * pow( 8 , position );
             octal = octal / 10;
            position = position + 1 ;
        }
        else {
            cout << "error, more then three digits";
            return 0;
        }
        }
         return decimal ;
     }
     
     
    int CheckOctal ( int octal ) {
      
        while ( octal > 0 ) {
          int temp = octal % 10 ;
         
          if ( temp == 8 || temp ==9) {
               return 0 ;
             }
             octal = octal / 10 ;
        }
        return 1;
   }
   
   
  
   int main() {
       for (int i = 0; i < 3 ; i++){
        cout << "\nPlease Enter octal number from three digits: \n";
        int octal;
        cin >> octal;
    
     int check = 0 ;
     check = CheckOctal ( octal );
      if( check == 0){
           cout << "\nInvalid Input\n" ;
      }
      else {
          int decimal = 0;
          decimal = ConvertOctaltoDecimal ( octal ) ;
          if (decimal != 0){
         cout << "This is decimal " << decimal << endl ; 
          }
   }}
        return 0 ;
   }

 

رابط هذا التعليق
شارك على الشبكات الإجتماعية

Recommended Posts

  • 0

نعم، يمكنك استعمال الكومبايلر  gcc للقيام بذلك.

يمكنك تنزيل هذا الكومبايلر باتباع الخطوات من هنا.

بعد ذلك يمكنك الذهاب إلى سطر الأوامر و كتابة ما يلي:

gcc -S filename.cpp

و سيتم بناء ملف يحوي على كود الاسيمبلي الموافق لكود ال c++.

رابط هذا التعليق
شارك على الشبكات الإجتماعية

  • 0
بتاريخ 9 دقائق مضت قال Kais Hasan:

نعم، يمكنك استعمال الكومبايلر  gcc للقيام بذلك.

يمكنك تنزيل هذا الكومبايلر باتباع الخطوات من هنا.

بعد ذلك يمكنك الذهاب إلى سطر الأوامر و كتابة ما يلي:


gcc -S filename.cpp

و سيتم بناء ملف يحوي على كود الاسيمبلي الموافق لكود ال c++.

ما بيشتغل معي يا ليت تفرجيني بعد اذنك

رابط هذا التعليق
شارك على الشبكات الإجتماعية

  • 0
بتاريخ 12 دقائق مضت قال RAA:

ما بيشتغل معي يا ليت تفرجيني بعد اذنك

عليك تنزيل الكومبايلر في البداية، هل قمت بتنزيله؟ لقد أرفقت رابط لذلك.

بتاريخ 15 دقائق مضت قال RAA:

ما بيشتغل معي يا ليت تفرجيني بعد اذنك

هنالك طريقة أسهل وجدتها منذ قليل، يمكنك استعمال موقع يدعى godbolt للتحويل، استعماله سهل جداً يمكنك تجربته.

رابط هذا التعليق
شارك على الشبكات الإجتماعية

  • 0
بتاريخ 19 ساعات قال Kais Hasan:

عليك تنزيل الكومبايلر في البداية، هل قمت بتنزيله؟ لقد أرفقت رابط لذلك.

هنالك طريقة أسهل وجدتها منذ قليل، يمكنك استعمال موقع يدعى godbolt للتحويل، استعماله سهل جداً يمكنك تجربته.

هل تعمل معك هذه الطريقة؟

رابط هذا التعليق
شارك على الشبكات الإجتماعية

  • 0
بتاريخ 11 دقائق مضت قال RAA:

هل تعمل معك هذه الطريقة؟

نعم، لم أتحقق من كود الأسيمبلي بشكل كامل و لكن أعتقد أنهم يقومون باستعمال الطريقة التي شرحتها في الأول و هي طريقة مضمونة حتماً.

رابط هذا التعليق
شارك على الشبكات الإجتماعية

  • 0
بتاريخ الآن قال Kais Hasan:

نعم، لم أتحقق من كود الأسيمبلي بشكل كامل و لكن أعتقد أنهم يقومون باستعمال الطريقة التي شرحتها في الأول و هي طريقة مضمونة حتماً.

قمت بتجربة الكود ولكن يحتوي على العديد من الايرور

رابط هذا التعليق
شارك على الشبكات الإجتماعية

  • 0
بتاريخ الآن قال RAA:

قمت بتجربة الكود ولكن يحتوي على العديد من الايرور

أعتقد حينها أن المشكلة حسب الآلة التي تستعملها، فكود الاسيمبلي ليس بالضرورة أن يعمل على كل آلة، لذلك في هذه الحالة يمكنك القيام بالطريقة الأولى التي ذكرتها، فتلك تقوم بعملية ترجمة حسب آلتك كونك تنفذها على آلتك.

رابط هذا التعليق
شارك على الشبكات الإجتماعية

انضم إلى النقاش

يمكنك أن تنشر الآن وتسجل لاحقًا. إذا كان لديك حساب، فسجل الدخول الآن لتنشر باسم حسابك.

زائر
أجب على هذا السؤال...

×   لقد أضفت محتوى بخط أو تنسيق مختلف.   Restore formatting

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   جرى استعادة المحتوى السابق..   امسح المحرر

×   You cannot paste images directly. Upload or insert images from URL.

  • إعلانات

  • تابعنا على



×
×
  • أضف...