donc j'ai ces deux fichiers, l'un est un .c
et l'autre est un .s
. Ce ne sont que des fichiers de test, donc je peux apprendre à travailler avec des scripts ARM, mais pour la vie de moi, je ne peux pas les faire travailler ensemble. Je me demandais si je pourrais rendre cela plus facile en utilisant Visual Studio ou VS code (ou tout autre IDE si vous le savez).Visual Studio peut-il être utilisé pour exécuter du code C avec des scripts ARM?
Voici mon code:
ARM
.global add2
add2:
stmfd sp!, {v1-v6, lr} @ 'standard' entry, save registers on the stack
add a1, a1, a2 @ do the addition requested
ldmfd sp!, {v1-v6, pc}
C
#include <stdio.h> /* standard input and output */
#include <stdlib.h> /* standard library */
extern int add2(int i, int j); /* tell the compiler that the routine is not defined here */
int main(int argc, char * argv[]) /* entry point to the program */
{
int i, j; /* declare the variable types */
int answer;
i = 5; /* give the variables values */
j = 20;
answer = add2(i, j); /* call the assembly language routine */
printf("result is : %d\n", answer); /* print out the answer */
exit(0); /* leave the driver program */
}
Actuellement, le programme java bizarre que je l'ai utilisé pour les relier me donne l'erreur
"D:\Joe\College Stuff\CS 252\add.s:1: Error: bad instruction ` .global add2'"
Toute aide serait apprécié
Ce ï »¿partie ressemble fichier encodage question .... Essayez d'utiliser des espaces pour le retrait ou n » t indent du tout et voir ce qui se passe. Quel "programme java bizarre"? Veuillez préciser! – rickythefox
Ce n'est pas un "script ARM" - il ressemble au code d'assemblage ARM (bien que je ne connaisse pas la syntaxe particulière - il existe différentes syntaxes pour le même langage d'assemblage sous-jacent, par exemple AT & T vs Intel). – Dai
Visual Studio ne vous aidera pas ici - vous devez apprendre à exécuter un assembleur pour convertir votre fichier d'assemblage ARM en un fichier objet ARM exécutable et le lier statiquement avec votre programme C. Le composant Visual C++ de Visual Studio n'est pas réellement une chaîne d'outils C (il ne confirme même pas avec C99). Vous devez utiliser uniquement des outils de ligne de commande et demander des instructions à votre tuteur/professeur. Etes-vous sûr que vous êtes censé utiliser Windows? Ce genre de travail est mieux fait sur un système Linux pour leurs capacités de compilation croisée. – Dai