masterxy Ответов: 1

Как преобразовать C в ассемблер [dev C++]?


Эй, как мне преобразовать этот код в сборку в dev c++

#include <stdio.h>

#define CALORIES_PER_GRAM 9.0   /* there are 9 calories per gram of fat */

int main (void)
{
        int     grams_of_fat,   /* number of grams of fat in one serving */
                total_calories; /* number of calories in one serving */
        float   fat_fraction,   /* fraction of calories due to fat */
                percent;        /* percentage of total calories from fat */

        printf("This program will tell you how much of the calories in\n");
        printf("a food are from the food's fat content.\n\n");

        printf("How many grams of fat are in one serving?  ");
        scanf("%d",&grams_of_fat);
        printf("How many total calories are in one serving?  ");
        scanf("%d",&total_calories);

        fat_fraction = (grams_of_fat * CALORIES_PER_GRAM) / total_calories;
        percent = fat_fraction * 100;

        if (grams_of_fat == 1) {
                printf("\nA food with 1 gram of fat ");
        } else {
                printf("\nA food with %d grams of fat ",grams_of_fat);
        }

        if (total_calories == 1) {
                printf("and 1 calorie per serving\n");
        } else {
                printf("and %d calories per serving\n",total_calories);
        }

        printf("has %.2f%% of those calories from fat.\n\n",percent);

        return 0;
}


Что я уже пробовал:

Попытался преобразовать c в сборку

1 Ответов

Рейтинг:
0

Afzaal Ahmad Zeeshan

Как правило, вы можете использовать сам компилятор и запросить его предоставить выходные данные на языке ассемблера, это будет работать на машине Linux с установленным GCC,

$ gcc program.c -S --masm=intel -o program.asm

Это, конечно, было не в моей голове прямо сейчас, но это сработает. Кроме того, это будет компилировать и представлять версию сборки Intel, а не AT&T, которую больно читать. :-)

О, и если это было задание создать программу сборки для этого C, то, возможно, вам действительно нужно сделать некоторую домашнюю работу. Прочтите инструкцию здесь, gcc(1): компилятор GNU project C/C++ - Man-страница Linux[^].