Rechercher : dans
Par :

Executer une instruction native C, ASSEMBLEUR

Dernière réponse le 9 jun 2005 à 19:34:59 altivex11, le 7 jun 2005 à 21:43:36 
 Signaler ce message aux modérateurs

Bonjour à tous,

un JITC (Just-In-Time Compiler) traduit des instructions en language bytecode (ex. JAVA ou MSIL du .NET) vers des instructions native du processeur (x86 par exemple).

Mais comment faire pour executer ("fetch") dynamiquement ces instructions x86 nouvellement crées par le JITC sans crée un fichier .EXE, ou ELF ?

Exemple : il y a un bytecode

IF X=0 THEN GOTO 2...

Qui serait traduit en assembleur par :

CMP [ZoneMemoireX], 0
JE 099h ; (autre segment du code)

Imaginons que le JITC stocke l'instruction traduite dans un tableau

//opcode 32bits pour x86 car sizeof(char)*4=8*4 =32
char InstructionsNative[NbInstructsProg][4]

Maintenant qu'est-ce que je pourrais faire pour dire au processeur
d'executer InstructionsNative[vProgramCounter] ?

merci

Configuration: GNU: GCC

Meilleures réponses pour « Executer une instruction native C, ASSEMBLEUR » dans :
La compilation et les modules en C et en C++ VoirCet article a pour vocation d'introduire les notions de bases de la compilation en C et en C++ et de la programmation modulaire. Il permet de mieux comprendre les messages d'erreur du compilateur. Les notions abordées ici sont indépendantes du...
Interfacer du code assembleur et du C VoirInterfacer du code assembleur et du C Introduction Appeler du code assembleur écrit dans un fichier source externe Avec Nasm (x86 uniquement) Compilation/Execution sous Linux Avec Gcc (multiplateforme) Introduction Si, à tout hasard,...
Compiler un programme assembleur avec Nasm VoirAvec Linux Etape 1. Créer un fichier source Etape 2. Assembler le fichier source Etape 3. Création de l'executable Etape 4. Execution du programme Avec windows Etape 1. Installer les logiciels nécessaires Etape 2. Créer un fichier...
Instruction en assembleur VoirA quoi ressemble une instruction ? L'instruction est l'élément clé de l'ordinateur car c'est elle qui permet de spécifier au processeur l'action à effectuer. Toutes les instructions sont stockées en mémoire et un compteur dans le processeur permet...
Langage C - Les structures conditionnelles VoirQu'est-ce qu'une structure conditionnelle ? On appelle structure conditionnelle les instructions qui permettent de tester si une condition est vraie ou non. Ces structures conditionnelles peuvent être associées à des structures qui se répètent...
Langage C++ - Les structures conditionnelles VoirQu'est-ce qu'une structure conditionnelle ? On appelle structure conditionnelle les instructions qui permettent de tester si une condition est vraie ou non. Ces structures conditionnelles peuvent être associées à des structures qui se répètent...

1

sam3000, le 7 jun 2005 à 22:34:57

Salut,
et bien c'est pas comme ça que ça marche,
un tableau est stocké en segment de données. le problème, est que les systèmes récents (windows, linux, etc.. avec l'architecture X86) travaillent en mode protégé, qui n'authorise l'execution d'instructions que dans un segment de code.
si tu veux executer un code créer en temps réel, tu doit allouer de la mémoire en lecture/ecriture avec les droits d'execution (avec les fonctions bas niveau de l'OS sur lequel tu travaille) et tu lance ces instructions comme un nouveau thread de ton programme (appel inter-thread, aussi nécessite un appel de fonctions bas niveaux de ton OS)

dis nous ce que tu désire réaliser exactement, on pourra mieux t'aider.
@* Invité bienvenue, Membre t'es un(e) ami(e),
Profil rempli on t'aime, tu parle SMS tu vas dehors!

Répondre à sam3000

2

 altivex11, le 9 jun 2005 à 19:34:59

Rebonjour :
mon but étais d'essayer de programmer un JITC (just in time compiler)...

Répondre à altivex11
Collection CommentÇaMarche.net