CONNEXION
  • RetourJeux
    • Sorties
    • Hit Parade
    • Les + populaires
    • Les + attendus
    • Soluces
    • Tous les Jeux
    • Gaming
  • RetourActu Gaming
    • News
    • Astuces
    • Tests
    • Previews
    • Toute l'actu gaming
  • RetourBons plans
    • Bons plans
    • Bons plans Smartphone
    • Bons plans Hardware
    • Bons plans Image et Son
    • Bons plans Amazon
    • Bons plans Cdiscount
    • Bons plans Decathlon
    • Bons plans Fnac
    • Tous les Bons plans
  • RetourJVTech
    • Actus High-Tech
    • Intelligence Artificielle
    • Smartphones
    • Mobilité urbaine
    • Hardware
    • Image et son
    • Tutoriels
    • Tests produits High-Tech
    • Guides d'achat High-Tech
    • JVTech
  • RetourCulture
    • Actus Culture
    • Culture
  • RetourVidéos
    • A la une
    • Gaming Live
    • Vidéos Tests
    • Vidéos Previews
    • Gameplay
    • Trailers
    • Chroniques
    • Replay Web TV
    • Toutes les vidéos
  • RetourForums
    • Hardware PC
    • PS5
    • Switch 2
    • Xbox Series
    • Switch
    • Pokemon pocket
    • FC 25 Ultimate Team
    • League of Legends
    • Tous les Forums
  • PC
  • PS5
  • Xbox Series
  • Switch 2
  • PS4
  • One
  • Switch
  • iOS
  • Android
  • MMO
  • RPG
  • FPS
En ce moment Genshin Impact Valhalla Breath of the wild Animal Crossing GTA 5 Red dead 2
Liste des sujets

Assembleur

cobradu94
cobradu94
Niveau 6
26 janvier 2005 à 15:12:39

J´entend beaucoup parler de l´assembleur, sans savoir c´est quoi. Alors si vous savez se serais sympa de me le dire

JeanYvesYves
JeanYvesYves
Niveau 10
26 janvier 2005 à 15:15:32

ben en gros, ton processeur ne " parle" pas le C++ ou autre, il parle le " code machine"
l´assembleur est un langage tres tres proche du code machine...
ça permet d´écrire des programmes en communicant directement avec le processeur : c´est le plus bas niveau que tu puisses faire...

Et c´est totalement inbouffable, lol !

cobradu94
cobradu94
Niveau 6
26 janvier 2005 à 15:19:44

bas niveau ? ? C´est plus performant que le c++ ? ?

JeanYvesYves
JeanYvesYves
Niveau 10
26 janvier 2005 à 15:22:43

le C++ englobe toutes les commandes l´assembleur : il permet en outre d´écrire de l´assembleur en lui au cas ou.

mais l´assembleur est le langage sans limite par excellence : il sert a commande ton processeur, ni plus, ni moins.

silence_libre
silence_libre
Niveau 10
26 janvier 2005 à 16:21:09

Oulah, que de mauvais souvenirs universitaire l´assembleur :rire2:

Vengeur41
Vengeur41
Niveau 10
26 janvier 2005 à 16:38:07

L´assembleur est un langage horrible, je m´y suis frotté, je m´y suis piqué, vraiment c´est un langage préhistorique qui était encore valable dans les années 80 mais maintenant il est dépassé.
C´est sur qu´il est plus rapide que le C, mais les efforts pour parvenir au meme résultat peuvent être " néfastes" pour la santé...

JeanYvesYves
JeanYvesYves
Niveau 10
26 janvier 2005 à 16:45:51

Vengeur41 > " C´est sur qu´il est plus rapide que le C"

Je me permets de mettre un bémol la dessus :
certains compilateurs sont tellement optimisés qu´il pondent du code meilleur que bcp de programmeurs assembleur :)
Bien sur, la pure brute qui réfléchi en assembleur et dont le monde autour de lui peut se ramener a des 0 et des 1 est peut etre un chouia meilleure, mais les compilos ont atteint un niveau tel, que maintenant il est difficile de " battre" un compilateur C sur l´optimisation :)
PS : évidemment, nous sommes d´accord que je pars du principe que le programme C fourni au compilo ne soit pas fait par un porc...

je précise qu´un compilateur transforme le code C / C++ en code assembleur, pour etre lisible par la machine :)

dnob700
dnob700
Niveau 10
26 janvier 2005 à 16:49:21

" Et c´est totalement inbouffable, lol ! "

oh... enfin,

je pensais que c´était vraiment horrible et puis après avoir testé je me susi aperçu que c´était pas si imbouffable que ça.

quand on voit des bout de listing d´asm MASM on presque l´impression de voir de C ( avec nasm ou autre un peu moins mais quand même).
enfin l´assembleur c´est quand même super bien par exemple pour écrire très simplement la gestion de " long double" ( extended long double pour être précis) quand ces merdes de compilateurs C++ ne les gèrent pas.

ce n´est qu´un exemple de trucs qu´on peut faire en asm et qu´on ne peut pas faire en C++ ( contrairement à la croyance qui dit qu´on peut tout faire).

JeanYvesYves
JeanYvesYves
Niveau 10
26 janvier 2005 à 16:52:51

l´acces aux registres " long double" n´est pas ANSI en C, et donc n´est pas normalisé
il y a par exemple les int sur 64 bits qui s´appellent " __int64" sous visual et " long long" sous gcc...
Pour les long double ça doit exister également
cependant, si dans un langage C tu rencontres une limite matérielle ( comme l´appelle des commande test_and_set ou autres commandes ASM tres spécifiques) il reste une commande pour insérer directement l´assembleur :
_asm {}

donc tout est bon :)

dnob700
dnob700
Niveau 10
26 janvier 2005 à 17:05:27

Les long double ( sur 80 bits) sont la norme des FPU intel seulement le seul compilo qui les implémente c´est le intel c++ compiler tout les autres ( à ma connaissance) utilisent seulement des doubles sur 64 bits.

pour le reste c´est vrai que je ne connait pas bcp d´autre avantage à l´asm pour des application normale ( bien sur si on parle de prog OS, là il faut faire venir Kelios.)

Lapintade
Lapintade
Niveau 30
26 janvier 2005 à 17:55:57

Un tres bonne exemple pour l´asm :

La petite demo " Tube" tiens dans 256 octets ( vi vi OCTETS).

Le source en asm est contenu dedans.

http://www.pouet.net/prod.php?which=3397

C´est un cas extreme, mais bon c´est pour montrer que l´asm optimise et pas commenté c´est imcomprehensible pas les humains.

:)

JeanYvesYves
JeanYvesYves
Niveau 10
26 janvier 2005 à 18:31:29

lapintade > je viens d´aller voir ton lien :ouch: de la 3D pour 256 octets ! !

thesuperbest
thesuperbest
Niveau 8
26 janvier 2005 à 18:34:23

De la 3D pour 256 octet => c´est une démonstration de la puissance de l´assembleur.
Par contre c´est un langage qui s´étale sur des dizaines et dizaines de lignes, alors qu´en C++ ça ne prendrai que quelques lignes.

A propos de l´assembleur, j´aimerais savoir s´il est possible de créer un OS avec du C++ en utilisant quelques commandes assembleur ?

JeanYvesYves
JeanYvesYves
Niveau 10
26 janvier 2005 à 18:35:33

Thesuperbest > Linus Torward a fait cela...
Pour savoir de quel OS il s´agit, je te laisse regarder le prénom de ce mec :)

précisément, il ne l´a pas fait en C++ mais en C

gollumkawder
gollumkawder
Niveau 10
26 janvier 2005 à 18:54:47

Aah le fameux tunnel... c´est un grand classique de pouet.net et c´est franchement assez hallucinant

dnob700
dnob700
Niveau 10
26 janvier 2005 à 19:24:32

Thesuperbest : va voir se site si tu veux avoir un apercu de comment se programme un OS ( un paercu très bref) avec de l´asm et du C :
http://inferno.cs.univ-paris8.fr/~am/tutorial/os/tutorial00.html

thesuperbest
thesuperbest
Niveau 8
26 janvier 2005 à 20:13:10

Merci ^^ Le site est super !

Kelios
Kelios
Niveau 8
26 janvier 2005 à 22:20:59

L´asm c´est fabuleux!

Ouais en prog OSy,a des trucs réalisables qu´en asm. Eh puis sincèrement, y´a de ces progs que je ne ferais pas en C++. Et puis, pour du reverse engineering! Ou pour du demomaking! Ou juste pour l´exotisme! Ou pour mieux comprendre comment fonctionne un ordinateur ou les programmes, tout simplement. Ça permet de mieux coder en C/C++ par exemple, sur beaucoup de points, en comprenant mieux ce qu´il y a dessous.
Y´a 1001 bonnes raisons pour rigoler avec l´asm...

"
A propos de l´assembleur, j´aimerais savoir s´il est possible de créer un OS avec du C++ en utilisant quelques commandes assembleur ? "
Ah, et oui, c´est possible, un OS en C++. Mais hors, bon, il faut le minimum en asm ( comme tu l´as bien spécifié). Cepandant, il y a quelque chose de plus, c´est que le C++ a de besoin d´une runtime library pour rouler. Il y a des trucs à implémenter, dans le coeur du language. Contrairement au C qui peut rouler même sans librairies, ce n´est malheureusement pas le cas en C++ ( des trucs internes qui appèlent intrinsèquement des fonctions de runtime lib).
Cepadant, rien n´est perdu! Il suffit de se faire une " libairie" pour le C++: de faire ce set de fonctions appellée par le C++. Mais hors, ça nécéssitera donc de le faire dans un autre language, le plus simplement en C. ça fait un zoli mix Asm/C/C++, même si la majorité est fait en C++ :)

Kelios
---------

cobradu94
cobradu94
Niveau 6
27 janvier 2005 à 20:27:39

Et ou on peut apprendre le asm ? ?

thesuperbest
thesuperbest
Niveau 8
28 janvier 2005 à 07:43:44

http://asm.developpez.com/

Sous forums
  • Aide à l'achat Mac
  • Macintosh
  • Création de Jeux
  • Programmation
  • Création de sites web
  • Linux
  • Internet
  • Steam Deck
  • Hardware
La vidéo du moment