sa sert a quoi l'asm - ASM - Programmation
Marsh Posté le 09-04-2009 à 13:44:29
max1395 a écrit : a quoi sert t'il |
À programmer directement dans le langage du microprocesseur (ou presque), ce qui peut faire gagner en performance (au prix de la productivité et de la maintenabilité). C'est également essentiel pour faire appel à des fonctionalités du CPU qui ne sont pas nécessairement exposées dans les langages de plus haut niveau.
max1395 a écrit : qu'est ce qu'on peut faire avec |
Ce qu'on veut, comme avec la majorité des langages de prog.
max1395 a écrit : et pouvez vous me donnez un tuto qu'il l'expliqueris bien pour un debutant |
MP Harkonnen, c'est le spécialiste ASM de prog.
Marsh Posté le 28-04-2009 à 03:36:01
C'est encore utiliser l'Asm ?
Perso. j'avais fais un peu d'Asm X86, j'avais bien aimé :x mais la seule fois où j'ai vu de l'asm dans une appli. c'était juste une petite portion de code intégrer au seins d'un programme C++.
Vu la puissance des machines actuel j'ai encore du mal à voir son intérêt, il boss où Harkonen pour coder en asm ?
Marsh Posté le 28-04-2009 à 07:17:08
manu f a écrit : C'est encore utiliser l'Asm ? |
Encore un commentaire d'étudiant ça
La puissance n'a rien à voir avec la choucroute ... tu m'aurais dit "vu les compilateurs" j'aurais moins rigoler comme un bossu dans ma tasse de café
L'asm ca sert point, même si t'en écris aps, savoir ce qui se passe à ce niveau te permet sovuent d'éviter d'écrire des anneries au niveau du dessus.
<troll>
Mais, bon, allez, retourne à ton ASP
</troll>
Marsh Posté le 28-04-2009 à 08:22:05
Joel F a écrit : |
Je suis pas autant caler que toi ou autre dinosaure de ce forum donc faut m'excuser si je dis des bêtises
Mais avant de sortir ma phrase je voyais l'utilité d'utiliser de l'asm pour optimiser certaines partie sensible d'un programme (un gros calcul, un truc comme ça) et lorsqu'on éxecute un programme c'est la puissance de la machine qui joue un rôle, j'arrive pas à voir ce que le compilateur viens faire là dedans si tu peux m'expliquer :
ps : j'aime pas l'asp :]
Marsh Posté le 28-04-2009 à 09:19:12
manu f a écrit : |
Lorsque tu compiles ton code, tu n'as pas la maitrise de ce qui est réellement généré au final. En clair, rien ne te permet de dire que le compilateur ne rajoute pas des "instructions" ici ou là qui dans l'absolu n'ont pas d'interet dans le strict cadre de ton application. Donc si tu as une partie réellement critique dans ton appli, l'ASM se pose en bon choix souvent.
Et sinon, dire que de nos jours "avec la puissance des machines" ca sert plus à rien etc, c'est un peu bidon désolé. Car c'est avec ce genre de raisonnement qu'on se retrouve avec des applis optimisées avec les pieds, voire pas optimisées du tout
Quand je vois ce que certains font avec un Commodore 64 (8bit 1MHz) je dis que certains devraient en prendre de la graine
Marsh Posté le 28-04-2009 à 10:03:35
Ah ok, je voyais pas les choses comme ça au niveau du compilo.
Sinon je suis d'accords avec toi que certain vont coder des applis n'importe comment avec ce genre de raisonnement.
Mais dans ce cas précis je partais du principe que le développeur faisais un minimum attention, ce que je voulais dire de manière moins direct c'est qu'actuellement une optimisation extrême dans une appli. est assez secondaire comparé à il y a quelques années. (et pour moi introduire du asm dans un code est une manière d'optimisation extrême)
Marsh Posté le 28-04-2009 à 10:08:28
manu f a écrit : C'est encore utiliser l'Asm ? |
Je ne code pas en assembleur au boulot, mais j'en ai fait pendant des années quand j'étais demomaker sur Amiga.
Et si les développeurs utilisaient un peu plus d'assembleur dans leurs programmes actuels, on éviterait des portages ratés style GTA4 qui se permet le luxe de ramer chez moi malgré mon E8400, ma 9800 GTX et mes 4 Go de RAM. Quand je vois ça, ça me dépite...
Si l'assembleur t'intéresse : http://forum.hardware.fr/forum2.ph [...] w=0&nojs=0
Marsh Posté le 28-04-2009 à 10:19:15
Ca devait être énorme comme boulot demomaker sur Amiga, je comprends mieux maintenant pourquoi à chaque fois que je vois le mot assembleur sur les forums d'HFR il y a toujours quelqu'un qui te cite
Merci pour le lien au passage.
Marsh Posté le 28-04-2009 à 10:40:25
manu f a écrit : Ca devait être énorme comme boulot demomaker sur Amiga, je comprends mieux maintenant pourquoi à chaque fois que je vois le mot assembleur sur les forums d'HFR il y a toujours quelqu'un qui te cite |
Enorme je dirais pas, je dirais même moins complexe sachant que l'assembleur Motorola (68xxx) est plus "simple" que son équivalent x86
Marsh Posté le 28-04-2009 à 10:41:07
manu f a écrit : Ca devait être énorme comme boulot demomaker sur Amiga, je comprends mieux maintenant pourquoi à chaque fois que je vois le mot assembleur sur les forums d'HFR il y a toujours quelqu'un qui te cite |
C'était pas un boulot, mais un loisir, une passion, qui m'a fait rencontrer des gens géniaux de toutes nationalités
L'assembleur, c'est un art. Même si effectivement, ça n'est guère plus utilisé dans l'industrie aujourd'hui (en dehors de la programmation d'OS ou de drivers, et encore...), c'est toujours utile de le connaître, comme dit Joël. Et ce n'est pas parce que les OS d'aujourd'hui verrouillent l'accés au matériel, que l'assembleur est mort. On peut toujours en faire de façon plus "système", mais ça n'empêche pas d'utiliser le processeur et ses différents jeux d'instruction pour faire des optims de fou
Je fréquente ce site, qui est très intéressant : http://www.asmcommunity.net/
Marsh Posté le 28-04-2009 à 10:42:15
SICKofitALL a écrit : |
Plus simple, et surtout bien plus élégant... Les processeurs Motorola sont faits pour être programmés en assembleur, c'est la meilleure école, hélas révolue
Marsh Posté le 28-04-2009 à 10:51:05
manu f a écrit : Ca devait être énorme comme boulot demomaker sur Amiga, je comprends mieux maintenant pourquoi à chaque fois que je vois le mot assembleur sur les forums d'HFR il y a toujours quelqu'un qui te cite |
Cadeau
Code :
|
Si tu compiles ca (avec NASM comme précisé dans les commentaires) tu obtiens un executables (un COM) de 256 octets qui te donne une zoulie animation temps réel :
La même chose via un langage de plus haut niveau et son compilateur associé te produira immanquablement un executable plus gros.
Download direct : http://pouet.net/prod.php?which=33 [...] omments=-1
Marsh Posté le 28-04-2009 à 11:07:05
J'ajouterai, pour entrer dans le débat, qu'il n'y a pas que la programmation sur PC !
L'assembleur est encore utilisé relativement fréquemment en info industrielle, dans l'embarqué, programmation de PIC et compagnie.
Marsh Posté le 28-04-2009 à 11:14:57
C'est tout aliasé
kao98 a écrit : J'ajouterai, pour entrer dans le débat, qu'il n'y a pas que la programmation sur PC ! |
Et pour les OS, et pour les backends de compilos
Marsh Posté le 28-04-2009 à 11:16:36
masklinn a écrit : |
masklinn a écrit : |
c'est en 320x200 et ca passe pas par le GPU
et on s'en fout que ca soit aliasé c'est pas le sujet
Marsh Posté le 28-04-2009 à 11:17:08
SICKofitALL a écrit : c'est en 320x200 et ca passe pas par le GPU |
Bah non on s'en fout pas, c'est moche
Marsh Posté le 28-04-2009 à 11:20:28
masklinn a écrit : |
Ben je t'en prie, vu que tu as le code source ajoutes nous une petite routine de filtrage bilinéaire
Marsh Posté le 28-04-2009 à 11:21:57
SICKofitALL a écrit : Ben je t'en prie, vu que tu as le code source ajoutes nous une petite routine de filtrage bilinéaire |
Chuis sûr qu'en cherchant un peu tu peux trouver des intro 256 un peu plus sexy que ça
Marsh Posté le 28-04-2009 à 12:43:00
http://pouet.net/prod.php?which=49856 ?
Marsh Posté le 28-04-2009 à 12:44:41
Tu vois quand tu veux
Marsh Posté le 28-04-2009 à 13:10:19
SICKofitALL a écrit :
|
T'as aussi le droit de savoir ce que générer tonc ompilo ets codé proprement en conséquence.
Après faut arreter de se toucher le zizi sur ces histories de perfs en assembleurs. A l'herue actuelle, sur
des machines modernes, les perfs viennent principalement du fait que ton code de calcul est gentil avec les caches
et/ou bien parallèlisés. Et pour ça, pas besoin d'assembleur
Marsh Posté le 28-04-2009 à 13:17:34
Moi je dis faut faire des benchs
Marsh Posté le 28-04-2009 à 13:40:03
Joel F a écrit : T'as aussi le droit de savoir ce que générer tonc ompilo |
En C sur ICC c'est probablement simple, en C++ sur GCC ou en Haskell sur GHC c'est quand même plus tendu
Marsh Posté le 28-04-2009 à 13:40:39
SICKofitALL a écrit : |
j'ai compilé avec nasm, mais la console supporte pas le fullscreen sous Vista. Comment je peux faire?
Marsh Posté le 28-04-2009 à 13:42:53
ReplyMarsh Posté le 28-04-2009 à 13:43:22
Harkonnen a écrit :
|
Marsh Posté le 28-04-2009 à 13:47:05
ngkreator a écrit : Ok je formate et j'installe dos |
tu rigoles ?
Marsh Posté le 28-04-2009 à 13:48:01
Harkonnen a écrit : |
Marsh Posté le 28-04-2009 à 13:50:47
s'il accepte de se passer de son et d'USB, pourquoi pas après tout
et de disque dur aussi, je doute fort qu'il existe des drivers SATA pour DOS
Marsh Posté le 28-04-2009 à 13:51:44
Trêve de plaisanteries, dès que j'ai trouvé où se trouve les ":" en qwerty je vais admirer ça.
D'ailleurs, il existe des navigateurs pour DOS?
Marsh Posté le 28-04-2009 à 13:54:19
Arachne
Marsh Posté le 28-04-2009 à 13:57:22
Ca marche j'ai une belle anim merci. Par contre j'ai 1 image par seconde doit y avoir un problème.
Pour le navigateur au moins on doit pas choper de spywares avec celui là.
Marsh Posté le 28-04-2009 à 14:11:56
T'es sous dosbox ? Si oui, tu as augmenté le nombre de cycles ?
Marsh Posté le 28-04-2009 à 14:21:18
Oui sous dosbox et effectivement en augmentent le nombre de cycles ça marche impec. C'est marrant de se dire que ces quelques lignes suffisent à générer une telle animation. C'est plus le même esprit avec les gros executables de maintenant.
Marsh Posté le 28-04-2009 à 14:29:10
Et oui... L'époque où les programmeurs codaient avec le récap des instructions sous les yeux, leur taille en octets et le nombre de cycles qu'elles utilisent, est révolu, et c'est dommage
Dans le topic spécial démo dont j'ai donné le lien plus haut, j'expose la méthode qui était utilisée pour calculer le nombre maxi d'objets qu'une animation pouvait supporter avant de ralentir (temps machine).
Marsh Posté le 28-04-2009 à 14:33:33
Harkonnen a écrit : Et oui... L'époque où les programmeurs codaient avec le récap des instructions sous les yeux, leur taille en octets et le nombre de cycles qu'elles utilisent, est révolu |
Bah non, si tu fais du real time (e.g. embedded), tout spécialement hard real time, c'est toujours ça
C'est juste que toi tu préfères faire de l'oracle et du C#
Et même en JV, quand t'as un budget de 16ms pour le rendu intégral de ta frame en HD, ben t'as intérêt à comprendre le code qui sort de ton compilo
Marsh Posté le 09-04-2009 à 13:32:17
bonjour,
je voudrais savoir un petit renseignement c'est a propos de l'asm :
a quoi sert t'il , qu'est ce qu'on peut faire avec et pouvez vous me donnez un tuto qu'il l'expliqueris bien pour un debutant
merci