Προς το περιεχόμενο

μετατροπή κώδικα απο C σε Assembly


hackertom

Προτεινόμενες αναρτήσεις

Δημοσ.

κώδικας στην C

 

π.χ. 1

 

if ( z|0 & z<3 )

{

"compound statement"

}

 

 

π.χ. 2

 

κώδικας:

while (1)

{

"compound statement"

}

 

 

 

π.x. 3

 

κώδικας:

switch (1)

{

case 10: { "compound statement 1 " )

break;

case 11: { "compound statement 2 " )

break;

case 12: { "compound statement 3 " )

break;

case 13: { "compound statement 4 " )

break;

}

 

"subsequent statements "

 

 

μπορεί να γίνει ημετατροπή??

και αν ναι πιος ειναι ο κώδικας σε assemply??

x86 Windows 32Bit είναι το OS

Δημοσ.

Πολλοί C compilers διαθέτουν μία παράμετρο/switch που εμφανίζει στην έξοδο (ή σε αρχείο) τον κώδικα assembly (για την τρέχουσα αρχιτεκτονική CPU) που υλοποιεί όσα γράφονται στον πηγαίο κώδικα. Ο bxenos σου έδωσε το switch για τον C compiler της Microsoft. Για τον gcc compiler π.χ., το αντίστοιχο switch είναι -S.

Δημοσ.

Μα δεν χρειάζεται να κάνεις τίποτα! Ο compiler σου θα κάνει όλη τη δουλειά, αρκεί να τον καλέσεις από γραμμή εντολών με την κατάλληλη παράμετρο. Προφανώς, θα πρέπει πρώτα να γράψεις για το κάθε παράδειγμα ένα ολοκληρωμένο πρόγραμμα, ας είναι όσο απλό θέλεις (όπου compound statements μία πολύ απλή ενέργεια όπως π.χ. η αύξηση μίας integer μεταβλητής κατά 1), ώστε να γίνεται compile χωρίς σφάλματα.

 

Π.χ. για το 2ο παράδειγμα που έχεις, ορίστε ένα minimal πρόγραμμα C:

 

>
/* example2.c */

int main() {
   int a = 1;

   while(1) {
       a++;
   }

   return 0;
}

Δημοσ.
δεν έχω compiler!!!!!!!

 

Εεμ, που πας ξυπόλητος στ' αγκάθια;

 

Υπάρχουν δωρεάν compilers για όλες σχεδόν τις πλατφόρμες/λειτουργικά συστήματα. Αν δε γνωρίζεις, ζήτα να σου προτείνουμε.

Δημοσ.

και που μπορώ να βρώ έναν???δεν έχει κανείς εδώ να μου το κάνει???

 

 

π.χ για το πρώτο παράδειγμα

 

 

 

#include <stdio.h>

 

void foo() {

 

}

 

int main() {

int z = 10;

if(z = 0 || z > 3) {

foo();

}

 

return 1;

}

Δημοσ.
και που μπορώ να βρώ έναν???

 

Για Windows:

 

http://sourceforge.net/projects/mingw/files/

 

Κατεβάζεις τον μικρό installer με όνομα MinGW-5.1.6.exe. Αυτός, όταν τον τρέξεις, θα αναλάβει να κατεβάσει και τα υπόλοιπα απαραίτητα πακέτα και να τα εγκαταστήσει στον κατάλογο που θα ορίσεις (καλύτερα να αφήσεις τον default C:\MinGW, δεν πρέπει να υπάρχουν χαρακτήρες κενού στο path εγκατάστασης, π.χ. αν επέλεγες τον C:\Program Files\MinGW θα είχες πρόβλημα).

Δημοσ.

Σκοπός του insomnia είναι να βοηθάμε ο ένας τον άλλον.

 

Με το να σου δώσει κάποιος λυμένη την άσκηση δεν σε βοηθάει αλλά κάνει ακριβώς το αντίθετο, σε εμποδίζει να μάθεις.

 

Έχεις δύο επιλογές (αλά Matrix) το κόκκινο χάπι και το μπλέ χάπι. Επιλέγεις να μάθεις ή όχι; Τα βήματα για να κάνεις αυτό που θες στα έχουνε πει.

Αρχειοθετημένο

Αυτό το θέμα έχει αρχειοθετηθεί και είναι κλειστό για περαιτέρω απαντήσεις.

  • Δημιουργία νέου...