Pourquoi utiliser la syntaxe de haut niveau(IF, CASE, ect...) en asm si il existe d'autre language comme le c++ qui est justement fait pour cela??? C'est pour ca que je prefere de loin TASM a MASM. Il ne contient pas de truc inutile comme ca...
Plusieurs confusions:
La syntaxe dont tu parles est appuyée, basée sur les principes même de l'assembleur. Les trucs inutiles dont tu parles sont "vendus" avec les processeurs, il faudra donc écrire à tous les fondeurs pour leur expliquer qu'avec le C++ c'est plus la peine qu'ils se fatiguent
Donc, trêves d'inepties (je parle des miennes): Le C++ n'est pas conçu à la base pour ce que tu affirmes. Il est une évolution du C pour "faciliter" l'approche objet (je renvoie à tous les débats virulents sur la comparaison C/C++, il y a des morts... depuis des années avec le sujet...). Une syntaxe de haut niveau n’est donc pas réservée à certains langages mais seulement un moyen d’augmenter la lisibilité.
Il me semble que ce que Betov soulève comme question est très intéressant:
Pourquoi ne pas utiliser un assembleur du bas niveau vers le haut niveau (Bottom-Up Assembler) ?
- C'est à dire un assembleur (complet et sans installation complexe et recherche d'includes de libs ou autres punitions, avec tous les outils nécessaires debug etc...) qui permet de mélanger des syntaxes sans substitution de code (comme MASM par exemple) de style assembleur "pur" et de type HLL. Le but étant d'obtenir une plus grande lisibilité (maintenance d'un code 6 mois ou 3 ans après...) ou de plus grandes performances selon les contextes et les besoins de l'application. La puissance d’un tel principe permet d’utiliser tous les avantages des divers langages de programmation : Performances, abstractions diverses lisibilité, simplicité de mise en œuvre etc.
Pour les informations complémentaires sur ce genre d'assembleur ultra performant:
http://en.wikipedia.org/wiki/RosAsm
lol, je pensais que tu me faisais une "joke" avec ton 1988...
et de toute facon, pour TASM, je ne l'utilise plus vraiment, c'était plus pour "essayer", quoi que j'ai quand meme appris beaucoup avec ce compilo. sur l'asm.
D'habitude, on dit ça pour bomber le torse... mais (hélas), j'ai vraiment commencé à programmer en... 1968... dans mon cas... c'est plutôt la tristesse du vieux con...
Fantomatax, MASM ne convient pas trop pour faire la différence entre "HLL" et "HLLismes", et comme tu ne semble pas percevoir la difference non plus...
]Vouloir coder en ASM avec un tas d'assitance reviens à coder en Visual C++...Alors, vous prenez pas la tete... Direction Microsoft.com et telechargez la version free de visual, vous allez gagnez du temps...
Effectivement, il y a un (pour ne pas dire plusieurs) truc(s) que tu n'as pas l'air de bien "piger":
L'assistance, dont tu parles, est effectivement applicable aux HLL de type compilés. Le code que tu écris, c'est pour le compilateur, à cause de lui, pour qu'il puisse tenter de générer un assembleur pas totalement médiocre et n'atteignant pas des tailles trop phénoménales...
Les formes syntaxiques utilisées dans RosAsm, le sont uniquement pour le codeur, pour faciliter SA lecture et SA maintenance dans certaines parties de son source. Le but est donc totalement opposé et cela ne ce fait pas aux dépends (ni à l'insu) du codeur ou (surtout) de la qualité de son code. Il n'est donc pas question d'assistance(s) car les Macros proposées dans RosAsm, sont totalement optionnelles et entièrement fabriquées par l'utilisateur: Pas de substitution de code, de générations parasites ou d'includes dans des includes... (ce qui n'est pas le cas du compilateur MASM). RosAsm est donc un assembleur dans toute sa puissante simplicité.
Je n'arrive meme plus à lire les codes MASM tellement ils sont bourrés de macro, IF, et autre delires...
Curieux pour un lecteur C/C++ de ne pas comprendre la syntaxe de son compilateur... enfin... et la nomme délire... si tu le dis !
MASM n'est pas vraiment un assembleur mais un compilateur au service de la suite logiciel Visual. Le code généré n'est pas contrôlé totalement par le codeur et certaines API sont imbriquées à son insu. (Un dé-assemblage permet de mettre cela en évidence).
Pour ce qui est la version Visual Express, que tu nommes un peu violemment version "free", elle ne permet pas de générer des applications portables vers des machines ne l'ayant pas installée... aie... juste un détail... Donc, "Free" entre guillemets, pas pour cette raison, mais parce que la licence ne semble pas avoir été lue... RosAsm est entièrement libre, GPL et gratuit.
Enfin, pour ce qui est de la question du temps: Celui que je perds le plus avec des produits du style Visual C++, c'est pour comprendre ce qu'ils bidouillent avec mes pointeurs et mes contenus... cast, ouatmilles formats inutiles... includes sans fin, fichiers annexe indispensables...
La vitesse d'écriture (comparée avec la rédaction de la même application en C/C++ visual et RosAsm par une même personne maîtrisant les deux logiciels) est largement plus élevée sous... RosAsm... désolé.
Il vaut mieux essayer, vérifier les choses avant: Après, il est souvent nettement plus simple de piger... voyez
Enfin, le nom de Bottom Up Assembly, en dit long sur la démarche:
Plutôt que d'écrire un script HLL pour, et selon les besoins, d'un compilateur afin que CELUI-CI parvienne à générer du code bas niveau, il paraît plus logique d'écrire du bas vers le haut: Du code propre, selon les besoins de l'application et du codeur, et, lui donner une "forme" HLL pour faciliter la lecture, justement, ou le "passage à l'assembleur" de certains habitués à une certaine forme particulière de syntaxe (RosAsm en propose de nombreuses, y compris semblables à celle de MASM mais sans les inconvénients de ce dernier).
Quand à "ça casse..."... qu'est ce que tu veux... quand on a bossé pendant 10 années, collectivement et gratuitement, pour ouvrir des portes et que les gens auquels cette ouverture est destinée refusent même de voir qu'il y a une porte... ça met un peu sur les dents.