neo_00110010101
Messages postés360Date d'inscriptionsamedi 27 septembre 2003StatutMembreDernière intervention30 mai 2006
-
20 juin 2004 à 12:38
spidermario
Messages postés121Date d'inscriptionmercredi 26 octobre 2005StatutMembreDernière intervention14 mars 2009
-
15 mars 2009 à 16:57
Cette discussion concerne un article du site. Pour la consulter dans son contexte d'origine, cliquez sur le lien ci-dessous.
spidermario: je ne me souviens pas de tout mais sous linux il est possible de se rendre en kernel-mode (avec un vrai-faux kernel ou quelque chose dans ce genre la, je sais plus) et ca permet de faire s'exécuter certaines parties du code ou tout un code directement par le processeur sous vmware, probablement que c'est pareil avec Wine ... ceci expliquerait cela ...
je crois que le kernel (mini-kernel) en question gère ce qui ne peut être partagé entre OS et laisse le reste aux matériels (processeur, ...), si ce « reste » peut être partagé ... faudrait vérifier pour être sûr ...
spidermario
Messages postés121Date d'inscriptionmercredi 26 octobre 2005StatutMembreDernière intervention14 mars 20091 1 févr. 2009 à 11:45
Whaw, même depuis Linux à travers Wine, il me trouve la bonne valeur. Comment s'y prend le programme pour calculer ça ? (Mes piètres connaissances en assembleur ne me permettent pas de le comprendre par moi-même).
BruNews
Messages postés21040Date d'inscriptionjeudi 23 janvier 2003StatutModérateurDernière intervention21 août 2019 14 sept. 2005 à 19:54
Aucune, je n'utilise pas gcc.
cs_Raish
Messages postés8Date d'inscriptionmercredi 9 mars 2005StatutMembreDernière intervention 3 octobre 2005 14 sept. 2005 à 19:51
Effectivement, sa ne marche toujours pas.
Une autre idée stp?
BruNews
Messages postés21040Date d'inscriptionjeudi 23 janvier 2003StatutModérateurDernière intervention21 août 2019 14 sept. 2005 à 19:33
Ici tu peux remplacer le 'or' par 'test', sera idem pour l'algo.
M'étonnerait que ça règle le problème, je pense que le compilo t'indique le 'or' seulement parce que c'est la 1ere instruction rencontrée.
cs_Raish
Messages postés8Date d'inscriptionmercredi 9 mars 2005StatutMembreDernière intervention 3 octobre 2005 14 sept. 2005 à 19:14
Bah moi j'ai placé le code ASM entre des " ".
Comme ceci:
__asm("\
or ecx, ecx\
jnz short L1\
lea eax, [edx+1]\
mov byte ptr[edx], 48\
mov byte ptr[eax], cl\
ret 0\
L1:\
mov [esp-4], edi\
mov [esp-8], edx\
mov edi, edx\
L2:\
mov eax, -858993459\
mul ecx\
mov eax, edx\
shr eax, 3\
mov edx, ecx\
lea ecx, [eax+eax*8]\
add ecx, eax\
sub edx, ecx\
add dl, 48\
mov [edi], dl\
mov ecx, eax\
inc edi\
test eax, eax\
jnz short L2\
mov byte ptr[edi], al\
mov [esp-12], edi\
mov eax, [esp-8]\
L3:\
dec edi\
mov dl, [eax]\
mov cl, [edi]\
mov [edi], dl\
mov [eax], cl\
inc eax\
cmp eax, edi\
jb short L3\
mov eax, [esp-12]\
mov edi, [esp-4]\
ret 0\
");
Le problème c'est que sa m'affiche une bête erreur:
" too many memory references for 'or' ".
Et je ne la comprends pas.
Merci d'avance ;)
cs_Raish
Messages postés8Date d'inscriptionmercredi 9 mars 2005StatutMembreDernière intervention 3 octobre 2005 13 sept. 2005 à 21:25
Et y'aurai pas un code qui marcherai avec Dev-C++ avec widows.h?
Enfin qqchsoe de simple (même si rien n'est simple en programmation ^^)...
Merci d'avance.
BruNews
Messages postés21040Date d'inscriptionjeudi 23 janvier 2003StatutModérateurDernière intervention21 août 2019 18 août 2005 à 22:40
MS => une petite startup qui vient de se monter, certains disent MicroSoft.
banane_rose
Messages postés302Date d'inscriptionlundi 11 avril 2005StatutMembreDernière intervention22 avril 2006 18 août 2005 à 20:58
c'est quoi MS ?
BruNews
Messages postés21040Date d'inscriptionjeudi 23 janvier 2003StatutModérateurDernière intervention21 août 2019 18 août 2005 à 19:38
Ceux de Intel, Borland et MS comme dit plus haut, pour résumer ce dont on se sert dans le monde professionnel. Les autres je ne connais pas.
banane_rose
Messages postés302Date d'inscriptionlundi 11 avril 2005StatutMembreDernière intervention22 avril 2006 18 août 2005 à 19:34
et quels compilos acceptent ASM ?
BruNews
Messages postés21040Date d'inscriptionjeudi 23 janvier 2003StatutModérateurDernière intervention21 août 2019 18 août 2005 à 19:30
gcc n'est pas le compilo de Devcpp ? me semble que oui.
Ce compilo, en guise d'ASM, ne prend que des chaines qu'il placera dans le listing au moment de la compilation. Le format d'ASM qu'il prend est sur la syntaxe AT&T (inversion des opérandes, suffixe sur les opérateurs, etc...), pour résumer: une vraie daube.
banane_rose
Messages postés302Date d'inscriptionlundi 11 avril 2005StatutMembreDernière intervention22 avril 2006 18 août 2005 à 19:24
" .. en sabir AT&T de gcc "
tu peux m'expliquer parce que moi je connais pas grand chose .
BruNews
Messages postés21040Date d'inscriptionjeudi 23 janvier 2003StatutModérateurDernière intervention21 août 2019 18 août 2005 à 19:22
Tu esaies de le traduire en sabir AT&T de gcc, comme je n'ai pas tué père et mère, ce n'est assurément pas moi qui le ferai.
banane_rose
Messages postés302Date d'inscriptionlundi 11 avril 2005StatutMembreDernière intervention22 avril 2006 18 août 2005 à 19:20
en gros si j'ai Dev-C++ je peux crever quoi ?
j'suis obligé de changer de compilo pour ça ?
BruNews
Messages postés21040Date d'inscriptionjeudi 23 janvier 2003StatutModérateurDernière intervention21 août 2019 18 août 2005 à 19:17
ASM est le seul langage compris par un processeur, ce que produit aussi un compilo depuis un listing C/C++.
FncAsm.cpp ne passe qu'avec les compilos qui prennent la syntaxe ASM au standard Intel, MS et Borland par exemple.
banane_rose
Messages postés302Date d'inscriptionlundi 11 avril 2005StatutMembreDernière intervention22 avril 2006 18 août 2005 à 19:08
j'ai pleins d'erreurs de compil avec FncAsm.cpp
ASM c'est quoi ça ??
Setaou
Messages postés127Date d'inscriptionmercredi 28 mars 2001StatutMembreDernière intervention 4 octobre 2004 4 oct. 2004 à 11:05
Presque bon à 3Mhz près :)
Mon 2500+ à 1833 est reconnu à 1837 ... mais c'est négligeable comme erreur !
BruNews
Messages postés21040Date d'inscriptionjeudi 23 janvier 2003StatutModérateurDernière intervention21 août 2019 21 juin 2004 à 23:37
Renfield > verifie le reglage de ta carte mere, on ne sait jamais. J'avais un PC dans le temps qui avait des coupures au niveau de la pile, le reglage CPU changeait.
En esperant que ce ne soit que cela.
cs_LordBob
Messages postés2865Date d'inscriptionsamedi 2 novembre 2002StatutMembreDernière intervention11 mai 20099 21 juin 2004 à 20:39
bah moi ca marche nickel !!!
10/10
neo_00110010101
Messages postés360Date d'inscriptionsamedi 27 septembre 2003StatutMembreDernière intervention30 mai 2006 21 juin 2004 à 12:11
tu veux dire que ton processeur à 1.4 Ghz tourne à 900 Mhz ?? vraiment étrange :)
Renfield
Messages postés17287Date d'inscriptionmercredi 2 janvier 2002StatutModérateurDernière intervention27 septembre 202174 21 juin 2004 à 06:40
Ca confirme bien que mon CPU a pris un coup...... un 1700 reconnu en tant que 1100 ..... pas bien !!
BruNews, bien, encore une fois....
cs_Urgo
Messages postés780Date d'inscriptionlundi 16 décembre 2002StatutMembreDernière intervention16 avril 20091 21 juin 2004 à 00:52
Moi je le trouve parfait comme ça! (même si je comprends rien à l'asm)
neo_00110010101
Messages postés360Date d'inscriptionsamedi 27 septembre 2003StatutMembreDernière intervention30 mai 2006 20 juin 2004 à 12:38
ça marche et c'est bon ! s'il y a des améliorations possibles : le programme en "temps réel" c'est à dire qu'on le lance et le résultat se raffraîchit toutes les x secondes.
15 mars 2009 à 16:57
Merci quand même ^^
7 mars 2009 à 01:00
spidermario: je ne me souviens pas de tout mais sous linux il est possible de se rendre en kernel-mode (avec un vrai-faux kernel ou quelque chose dans ce genre la, je sais plus) et ca permet de faire s'exécuter certaines parties du code ou tout un code directement par le processeur sous vmware, probablement que c'est pareil avec Wine ... ceci expliquerait cela ...
je crois que le kernel (mini-kernel) en question gère ce qui ne peut être partagé entre OS et laisse le reste aux matériels (processeur, ...), si ce « reste » peut être partagé ... faudrait vérifier pour être sûr ...
1 févr. 2009 à 11:45
14 sept. 2005 à 19:54
14 sept. 2005 à 19:51
Une autre idée stp?
14 sept. 2005 à 19:33
M'étonnerait que ça règle le problème, je pense que le compilo t'indique le 'or' seulement parce que c'est la 1ere instruction rencontrée.
14 sept. 2005 à 19:14
Comme ceci:
__asm("\
or ecx, ecx\
jnz short L1\
lea eax, [edx+1]\
mov byte ptr[edx], 48\
mov byte ptr[eax], cl\
ret 0\
L1:\
mov [esp-4], edi\
mov [esp-8], edx\
mov edi, edx\
L2:\
mov eax, -858993459\
mul ecx\
mov eax, edx\
shr eax, 3\
mov edx, ecx\
lea ecx, [eax+eax*8]\
add ecx, eax\
sub edx, ecx\
add dl, 48\
mov [edi], dl\
mov ecx, eax\
inc edi\
test eax, eax\
jnz short L2\
mov byte ptr[edi], al\
mov [esp-12], edi\
mov eax, [esp-8]\
L3:\
dec edi\
mov dl, [eax]\
mov cl, [edi]\
mov [edi], dl\
mov [eax], cl\
inc eax\
cmp eax, edi\
jb short L3\
mov eax, [esp-12]\
mov edi, [esp-4]\
ret 0\
");
Le problème c'est que sa m'affiche une bête erreur:
" too many memory references for 'or' ".
Et je ne la comprends pas.
Merci d'avance ;)
13 sept. 2005 à 21:25
Enfin qqchsoe de simple (même si rien n'est simple en programmation ^^)...
Merci d'avance.
18 août 2005 à 22:40
18 août 2005 à 20:58
18 août 2005 à 19:38
18 août 2005 à 19:34
18 août 2005 à 19:30
sabir (selon Larousse) = Langage difficilement compréhensible; charabia, jargon.
Ce compilo, en guise d'ASM, ne prend que des chaines qu'il placera dans le listing au moment de la compilation. Le format d'ASM qu'il prend est sur la syntaxe AT&T (inversion des opérandes, suffixe sur les opérateurs, etc...), pour résumer: une vraie daube.
18 août 2005 à 19:24
tu peux m'expliquer parce que moi je connais pas grand chose .
18 août 2005 à 19:22
18 août 2005 à 19:20
j'suis obligé de changer de compilo pour ça ?
18 août 2005 à 19:17
FncAsm.cpp ne passe qu'avec les compilos qui prennent la syntaxe ASM au standard Intel, MS et Borland par exemple.
18 août 2005 à 19:08
ASM c'est quoi ça ??
4 oct. 2004 à 11:05
Mon 2500+ à 1833 est reconnu à 1837 ... mais c'est négligeable comme erreur !
21 juin 2004 à 23:37
En esperant que ce ne soit que cela.
21 juin 2004 à 20:39
10/10
21 juin 2004 à 12:11
21 juin 2004 à 06:40
BruNews, bien, encore une fois....
21 juin 2004 à 00:52
20 juin 2004 à 12:38