Вот скрипт на Python, который генерирует ассемблерный код программы на C и сохраняет его в выходной файл:
import subprocess
def generate_assembly_code(c_code, output_file):
# Save the C code to a temporary file
c_file = "temp.c"
with open(c_file, "w") as file:
file.write(c_code)
# Generate the assembly code using gcc
subprocess.run(["gcc", "-S", c_file])
# Rename the assembly file and move it to the output directory
assembly_file = "temp.s"
subprocess.run(["mv", assembly_file, output_file])
# Clean up temporary files
subprocess.run(["rm", c_file])
# Example usage
c_code = '''
#include <stdio.h>
int main() {
printf("Hello, World!");
return 0;
}
'''
output_file = "output.s"
generate_assembly_code(c_code, output_file)
Этот сценарий использует компилятор gccдля генерации ассемблерного кода. Он записывает код C во временный файл, компилирует его с помощью gcc -Sдля генерации кода сборки, переименовывает файл сборки и сохраняет его в указанном выходном файле. Наконец, он очищает временные файлы.
Обратите внимание, что для выполнения этого сценария в вашей системе должен быть установлен GCC (коллекция компиляторов GNU).