Bonjour à tous.
Mon but est de gérer les infos du registre de cache de mon G3 (L2CR), en particulier les 3 bits qui gèrent la fréquence (L2CLK).
Typiquement, je veux un programme qui lise ces infos, et qui puisse les modifier.
Pour ce faire, j'ai besoin d'instructions ASM. Mais je suis plutôt un développeur JAVA. Alors j'ai bien lu des milliards de docs, j'ai bien fait des recherches sur le forum, j'ai bien suivi les liens, mais.... c'est pas concluant. Je me suis dit qu'en bon débutant, je voudrais d'abord faire un prog comme ça :
<essai.c>
void asmAdd(int *a, int *b, int *c); // ma fonction add en asm
int main(void) {
int i = 4;
int j = 5;
int k;
asmAdd(&i, &j, &k); // la partie de mon prog en asm
printf("%i\n", k); // affiche 9
}
<asmAdd.s>
; je veux c = a + b
; et là je mets quoi ????
; un truc comme mflr r11 ?
; puis addis r11, r11, 16 ?
; ... en fait je sais pas du tout !!!
Vous voyez le truc ? Un programme en C qui appelle 2 mauvaises routines en ASM avec passage de paramètres.
Et bêinh vous me croyez, vous me croyez pas, j'ai rien trouvé de clair ni concis sur le sujet .... sauf peut-être en x86, mais là, c'est un tout autre monde.
Bref, vous avez une idée ?
D'avance merci.
La biz.
ob1
Mon but est de gérer les infos du registre de cache de mon G3 (L2CR), en particulier les 3 bits qui gèrent la fréquence (L2CLK).
Typiquement, je veux un programme qui lise ces infos, et qui puisse les modifier.
Pour ce faire, j'ai besoin d'instructions ASM. Mais je suis plutôt un développeur JAVA. Alors j'ai bien lu des milliards de docs, j'ai bien fait des recherches sur le forum, j'ai bien suivi les liens, mais.... c'est pas concluant. Je me suis dit qu'en bon débutant, je voudrais d'abord faire un prog comme ça :
<essai.c>
void asmAdd(int *a, int *b, int *c); // ma fonction add en asm
int main(void) {
int i = 4;
int j = 5;
int k;
asmAdd(&i, &j, &k); // la partie de mon prog en asm
printf("%i\n", k); // affiche 9
}
<asmAdd.s>
; je veux c = a + b
; et là je mets quoi ????
; un truc comme mflr r11 ?
; puis addis r11, r11, 16 ?
; ... en fait je sais pas du tout !!!
Vous voyez le truc ? Un programme en C qui appelle 2 mauvaises routines en ASM avec passage de paramètres.
Et bêinh vous me croyez, vous me croyez pas, j'ai rien trouvé de clair ni concis sur le sujet .... sauf peut-être en x86, mais là, c'est un tout autre monde.
Bref, vous avez une idée ?
D'avance merci.
La biz.
ob1