Assembleur : Liens utiles

Assembleur : Liens utiles - Divers - Programmation

Marsh Posté le 01-07-2003 à 21:51:52    

Un langage peu apprécié, mais bien utile. Un langage d'hommes, de vrais, qui privilégient l'efficacité au détriment de la beauté du code, un langage qui, s'il était plus utilisé, permettrait d'éviter de changer de PC tous les 6 mois pour faire tourner le dernier jeu 3D à la mode. J'ai nommé... l'Assembleur (Asm pour les intimes)
 
Il sera question d'assembleur x86 (les processeurs Intel et AMD) et d'assembleur Motorola (680x0), par nostalgie envers ce vénérable ancètre qu'est l'Amiga :'(
 
x86
 

  • Logiciels/IDE

Bien sur, pour faire de l'assembleur, le notepad suffit. Mais pourquoi se priver d'un IDE sympa, ergonomique, et gratuit ? Parce qu'il est made in Microsoft ? Ne comptez pas sur moi... ;)
http://www.masm32.com/ : l'assembleur MASM32, le meilleur sous Windows
http://radasm.visualassembler.com/ : Un IDE bien foutu

  • Tutoriaux

Pourquoi le nier ? L'assembleur n'est pas simple. Les tutoriaux sont la pour nous guider dans nos premiers pas...
http://win32assembly.online.fr/ : tutorial pour faire de l'assembleur sous Win32. Un modèle du genre !
http://webster.cs.ucr.edu/Page_asm [...] ofAsm.html : The Art of Assembly language Programming, LE site de référence de l'assembleur

  • Documentations techniques : AMD

Indispensables à tout programmeur en assembleur. Les docs techniques contiennent toute la référence technique afférente à un processeur (instructions, astuces, architecture, optimisations, etc...)
http://www.amd.com/us-en/Processor [...] 48,00.html : Documentation technique sur le processeur AMD Athlon XP (l'Optimization Guide ton livre de chevet sera)
http://www.amd.com/us-en/Processor [...] 83,00.html : Idem, pour l'Athlon "tout con"
http://www.amd.com/gb-uk/Corporate [...] 44,00.html : Réference des instructions 3DNow!

  • Documentations techniques : Intel

http://developer.intel.com/design/pentium4/manuals/ : Toute la doc du P4

  • Instructions SIMD

SIMD, pour Single Instruction Multiple Data, est une technologie permettant de réaliser plusieurs opérations simultanément. Mais attention : c'est vraiment du simultané, pas une pâle imitation à base de Threads ;)
Cette technologie n'est pas simple d'utilisation. Prévoyez quelques nuits blanches, mais le jeu en vaut franchement la chandelle !
Technologies SIMD les plus courantes : MMX, SSE, SSE2, 3DNow

http://www.tommesani.com/Docs.html : Une excellente référence sur l'ensemble des technologies SIMD, assez abordable.
 
 
680x0
Peu de liens dans mes favoris. Je complèterai au fur et à mesure.  
 
http://linux.cis.monroeccc.edu/~paulrsm/ : un ensemble de ressources sur le Motorola 68000
 
 
 
Bon assemblage... A suivre...


Message édité par Harkonnen le 11-11-2003 à 17:40:40

---------------
J'ai un string dans l'array (Paris Hilton)
Reply

Marsh Posté le 01-07-2003 à 21:51:52   

Reply

Marsh Posté le 01-07-2003 à 22:11:34    

rayon x86, je me permet de rajouter http://webster.cs.ucr.edu/Page_Tec [...] 0_toc.html qui detaille de facon precise comment fonctionne chaque instruction, ainsi que des details sur la generation d'opcode (oui, bon, on s'en sert pas tous les jours, mais si ca peut eviter a d'autre de chercher... http://www.csn.ul.ie/~darkstar/ass [...] al/a07.txt pour la fpu)
 
 
sur le 3dnow, Dr Dobbs avait publié un article sur le net a ce sujet, http://www.ddj.com/documents/s=882/ddj0008c/ (manque de bol maintenant fo s'inscrire)

Reply

Marsh Posté le 01-07-2003 à 23:10:17    

des conseils de livre?

Reply

Marsh Posté le 01-07-2003 à 23:21:32    

++Taz a écrit :

des conseils de livre?

Ben honnètement, la littérature sur l'assembleur est quasi inexistante... :(
Y'a bien un bouquin sur l'assembleur chez Micro App, mais je l'ai pas lu et je sais vraiment pas ce qu'il vaut !
L'asm est le parent pauvre des éditeurs, il faut bien le reconnaitre ...


---------------
J'ai un string dans l'array (Paris Hilton)
Reply

Marsh Posté le 01-07-2003 à 23:22:38    

nietch, j'avais acheter l'asm chez marabout info, je le deconseille fortement :O (chiant & carrement aux fraise avec les cpu un peu recent (pentium quoi :D))

Reply

Marsh Posté le 02-07-2003 à 21:33:58    

Harkonnen a écrit :

Y'a bien un bouquin sur l'assembleur chez Micro App, mais je l'ai pas lu et je sais vraiment pas ce qu'il vaut !


mon prof d'asm (décédé malheureusement :() nous avait parlé d'un bouquin acheté chez M.A. mais ça date d'il y a 10 ans, et il avait mentionné pas mal d'erreurs techniques dedans genre la définition de certains mnémoniques étaient carrément échangées, je sais pas ce qu'il en est de la dernière édition :/
 
Bon, ma petite contribution:
un debuggueur qui rox à ce qu'il paraît (testé par d'autres, pas moi :o): OllyDgb.  C'est pour Windows.
 
Ensuite parlons de l'autre assembleur x86: NASM.  Celui-ci est libre, et tourne tant sous Windows que Linux.
 
Et le meilleur pour la fin: le seul RAD pour assembleur que je connaisse, il s'appelle NAGOA, il utilise NASM en fond, et vu l'interface (analogue à Gimp) et mmhm certains détails, je parierais qu'il est programmé en assembleur.  A essayer.


Message édité par drasche le 02-07-2003 à 21:34:09

---------------
Whichever format the fan may want to listen is fine with us – vinyl, wax cylinders, shellac, 8-track, iPod, cloud storage, cranial implants – just as long as it’s loud and rockin' (Billy Gibbons, ZZ Top)
Reply

Marsh Posté le 03-07-2003 à 00:03:27    

Harkonnen a écrit :

Y'a bien un bouquin sur l'assembleur chez Micro App, mais je l'ai pas lu et je sais vraiment pas ce qu'il vaut !

Je l'avais acheté y'a qq années à mes débuts en programmation (j'étais fou de vouloir faire de l'asm :whistle:), c'que j'aime bien dans ce bouquin c'est le fait qu'on peut s'en servir comme référence même s'il ne contient pas l'ensemble des mnémoniques..
 

drasche a écrit :

un debuggueur qui rox à ce qu'il paraît (testé par d'autres, pas moi :o): OllyDgb.

C'est vrai qu'il est pas mal, j'l'ai déjà utilisé pas mal de fois pour des choses pas bien :whistle: y'a un grand avenir devant lui si l'auteur continue à l'updater régulièrement.. :)

Reply

Marsh Posté le 03-09-2003 à 15:24:23    

Ce bouquin est pas mal :
 
http://www.amazon.fr/exec/obidos/A [...] 30-8018522
 
Sauf qu'une partie du chapitre 4 est en double et qu'ils ont mis le chapitre 17 sur le CD d'accompagnement :-/

Reply

Marsh Posté le 03-09-2003 à 15:31:02    

leneuf22 a écrit :

Ce bouquin est pas mal :


effectivement, je l'ai vu chez surcouf l'autre jour et je me demandais ce qu'il valait (font chier ces bouquins sous cellophane qu'on peut pas feuilleter avant d'acheter :fou:)
 
(par contre, la mise en page de mon 1er post est vraiment pourrie, faudra que je le ressaisisse :/)


---------------
J'ai un string dans l'array (Paris Hilton)
Reply

Marsh Posté le 03-09-2003 à 16:44:01    

Ce qu'il vaut, j'en sais rien, car je ne peux pas comparer avec un autre !
J'ai pu avoir de solides bases en quelques jours quoi qu'il en soit :)
 
Chaque chapitre est organisé comme ça :
- explication dans les détails + exemples pour illustrer
- exercices à la fin de chaque section (corrigés à la fin du livre)
- un résumé du chapitre à lire pour se remettre tout en mémoire rapidement
 
Et à la fin du livre, un résumé de toutes les instructions, dans le style :
 
- Mnémonique, Nom de l'instruction
- Traduction de la mnémonique
- Pour chaque drapeau : arme / désarme / imprévisible / pas modifié / selon les règles applicables
- Description du comportement et de l'effet de l'instruction
- Format des opérandes attendus (imm8, reg32... etc)
 
 
Inutile de dire que je l'ai apprécié !
Il y a aussi des chapitres sur la programmation DOS avec une liste (pas exhaustive, mais il y en a pas mal) des interruptions DOS et BIOS, qui sont aussi accompagnées d'exemples et d'exercices. Pour moi qui aime ressentir les "vibrations de la machine" quand je code, j'ai adoré :)

Reply

Marsh Posté le 03-09-2003 à 16:44:01   

Reply

Marsh Posté le 29-12-2003 à 09:52:10    

Connaissez vous des tutos ou doc sur le net qui seraient en Français?


---------------
Mon Feedback: http://forum.hardware.fr/hardwaref [...] m#t2928561
Reply

Marsh Posté le 29-12-2003 à 14:45:00    

jijiz a écrit :

Connaissez vous des tutos ou doc sur le net qui seraient en Français?


http://benoit-m.developpez.com/ass [...] mmaire.php
http://asm.developpez.com/


---------------
J'ai un string dans l'array (Paris Hilton)
Reply

Marsh Posté le 29-12-2003 à 14:52:21    

Marchi bcp


---------------
Mon Feedback: http://forum.hardware.fr/hardwaref [...] m#t2928561
Reply

Marsh Posté le 16-03-2004 à 13:14:13    

tutoriaux, code source, samples et liens en abondance:
http://win32asm.cjb.net


---------------
Whichever format the fan may want to listen is fine with us – vinyl, wax cylinders, shellac, 8-track, iPod, cloud storage, cranial implants – just as long as it’s loud and rockin' (Billy Gibbons, ZZ Top)
Reply

Marsh Posté le 24-06-2004 à 17:40:50    

Heu j'ai acheté un bouquin d'asm chez microapp
IL EST NUL.
Je l'ai acheté pour débuter : je comprend rien.
En plus y'a des erreurs un peu partout.
Mais en fait on doit pas parler du même moi c'est assembleur x86

Reply

Marsh Posté le 24-06-2004 à 17:42:21    

Il marche mal votre forum
car sachez que le message au dessus que c un invité(moi) et pas du tout gor123 qui la tapé

Reply

Marsh Posté le 24-06-2004 à 22:07:45    

gor123 a écrit :

Heu j'ai acheté un bouquin d'asm chez microapp
IL EST NUL.
Je l'ai acheté pour débuter : je comprend rien.


... où nous apprenons donc que tu débutes l'assembleur...
 

gor123 a écrit :


En plus y'a des erreurs un peu partout.


... et où nous apprenons que tu as fait tellement vite pour apprendre que tu es capable de débusquer les erreurs dans un bouquin...
 

gor123 a écrit :


Mais en fait on doit pas parler du même moi c'est assembleur x86


... et enfin où nous apprenons que tu n'est pas capable de cliquer sur un lien du site d'amazon situé quelques posts plus haut pour que tu puisses constater qu'il s'agit bien du même bouquin [:itm]


---------------
J'ai un string dans l'array (Paris Hilton)
Reply

Marsh Posté le 24-06-2004 à 22:08:46    

gor123 a écrit :

Il marche mal votre forum
car sachez que le message au dessus que c un invité(moi) et pas du tout gor123 qui la tapé

...où nous apprenons que tu es un mytho et/ou un polio de la main, car le forum nécessite obligatoirement une inscription pour poster, donc impossible de poster en invité [:itm]


---------------
J'ai un string dans l'array (Paris Hilton)
Reply

Marsh Posté le 24-06-2004 à 22:27:28    

harko, tu vas effrayer le nouveau, fais pas ton Taz :D

Reply

Marsh Posté le 24-06-2004 à 22:30:10    

Plus je deviens vieux, plus je trouve que l'assembleur c'est bien. :D
 
Faudrait que je m'y mette un bon coup !!

Reply

Marsh Posté le 24-06-2004 à 22:37:01    

bjone a écrit :

harko, tu vas effrayer le nouveau, fais pas ton Taz :D

je peux pas faire mon Taz, y'a pas de templates en assembleur [:ddr555]


---------------
J'ai un string dans l'array (Paris Hilton)
Reply

Marsh Posté le 24-06-2004 à 22:37:34    

Yttrium a écrit :

Plus je deviens vieux, plus je trouve que l'assembleur c'est bien. :D
 
Faudrait que je m'y mette un bon coup !!

sage décision, bienvenue dans un monde de controle absolu :jap:


---------------
J'ai un string dans l'array (Paris Hilton)
Reply

Marsh Posté le 24-06-2004 à 22:45:30    

Harkonnen a écrit :

sage décision, bienvenue dans un monde de controle absolu :jap:


 
Je vais suivre tes liens et jeter un oeil à tout ça ! :)

Reply

Marsh Posté le 24-06-2004 à 22:58:10    

Harkonnen a écrit :

...où nous apprenons que tu es un mytho et/ou un polio de la main, car le forum nécessite obligatoirement une inscription pour poster, donc impossible de poster en invité [:itm]


Ou alors il a posté à partir d'un pc publique.


---------------
[:whatde]
Reply

Marsh Posté le 24-06-2004 à 23:01:56    

WhatDe a écrit :

Ou alors il a posté à partir d'un pc publique.


bah même ! que ce soit d'un PC public ou pas, on peut pas poster en invité :??:


---------------
J'ai un string dans l'array (Paris Hilton)
Reply

Marsh Posté le 24-06-2004 à 23:15:44    

Cookies ?

Reply

Marsh Posté le 24-06-2004 à 23:33:37    

Harkonnen a écrit :

bah même ! que ce soit d'un PC public ou pas, on peut pas poster en invité :??:


Je voulais dire que y'avait peut être un hfrien sur son pc juste avant, et qu'il n'a pas vu qu'il était loggué.


---------------
[:whatde]
Reply

Marsh Posté le 24-06-2004 à 23:35:00    

ah peut être [:meganne]


---------------
J'ai un string dans l'array (Paris Hilton)
Reply

Marsh Posté le 25-06-2004 à 00:56:47    

Harkonnen a écrit :

je peux pas faire mon Taz, y'a pas de templates en assembleur [:ddr555]


 
 
remarque pour faire les loop unrolling à la main  :whistle:

Reply

Marsh Posté le 25-06-2004 à 10:57:44    

question de gars qui n'y connait rien mais que ca intéresse un peu qd même : on peut intégrer de l'assembleur ailleurs que dans du C/C++ ? (je me doute qu'on peut faire un truc entier en ASM, mais pour plus de commodité ?)...je me demande surtout si on peut en foutre dans du C#...en Java ca doit pouvoir se faire avec JNI


---------------
Jubi Photos : Flickr - 500px
Reply

Marsh Posté le 25-06-2004 à 11:12:49    

On ne peut pas mettre directement de l'Asm en C#, parce que le langage ne le permet pas. Mais rien n'empêche de marquer des zones de code unsafe et d'effectuer un appel de fonction vers une bibliothèque non managée.


Message édité par Yttrium le 25-06-2004 à 11:15:30
Reply

Marsh Posté le 25-06-2004 à 11:16:48    

moi je vois pas l'intérêt franchement. mais coder en IL, ça c'est cool par contre

Reply

Marsh Posté le 25-06-2004 à 11:19:23    

Ben... Pour avoir les perfs de ce topic par exemple. En environnement managé, il faut oublier.

Reply

Marsh Posté le 25-06-2004 à 11:21:08    

J'ai jamais essayé de coder en IL... Mais là par contre, c'est moi qui vois pas trop l'intérêt... Tu m'expliques ?


Message édité par Yttrium le 25-06-2004 à 11:21:22
Reply

Marsh Posté le 25-06-2004 à 11:23:13    

bien comprendre la VM et mieux appréhender ce qu'il implique telle ou telle instruction en langage évolué, comprendre les constructions du C#, etc et puis c'est amusant

Reply

Marsh Posté le 25-06-2004 à 11:24:15    

c quoi IL ?
 
donc en gros à part faire une lib en ASM qu'on appelle d'une manière où d'une autre, c impossible avec une langage récent, c ca ?


---------------
Jubi Photos : Flickr - 500px
Reply

Marsh Posté le 25-06-2004 à 11:27:13    

Jubijub a écrit :

c quoi IL ?


Intermediate language
 
 

Jubijub a écrit :


donc en gros à part faire une lib en ASM qu'on appelle d'une manière où d'une autre, c impossible avec une langage récent, c ca ?


 
DLL (soit via com, soit via DllImport)

Reply

Marsh Posté le 25-06-2004 à 11:32:24    


Itermediate language. C'est la forme sous laquelle le code est préparé sur une plateforme .Net avant d'être compilé nativement soit par le JIT (Just in time) compiler, soit par un générateur d'image native.
 

Jubijub a écrit :

donc en gros à part faire une lib en ASM qu'on appelle d'une manière où d'une autre, c impossible avec une langage récent, c ca ?


 
Le mot "récent" ne convient pas. C'est plutôt une question de perspective : C# et Java sont des langages fortement orientés vers la productivité, pour pouvoir concevoir des applications plus rapidement. Pour cela, ces langage fonctionnent dans des environnements dont les ressources sont gérées automatiquement. Ce qui a pour principale conséquence de t'affranchir de la gestion manuelle des ressources du système. La contrepartie, c'est une perte de performance. Aujourd'hui, dans les entreprises, on estime que la perte de performance vaut plus que largement le temps gagné au développement d'une application.
 
En revanche, il reste d'autres solutions qui sont toujours utilisées dans des domains industriels ou scientifiques où on considère que la performance est importante, vu la quantité d'opérations à effectuer (centres de calcul).
 
// EDIT: grilled...


Message édité par Yttrium le 25-06-2004 à 11:33:56
Reply

Marsh Posté le 25-06-2004 à 12:35:29    

Taz a écrit :

moi je vois pas l'intérêt franchement. mais coder en IL, ça c'est cool par contre

j'ai testé pour vous, c'est assez sport :D
j'ai mis 2 jours à coder un traceur de Mandelbrot en IL


---------------
J'ai un string dans l'array (Paris Hilton)
Reply

Marsh Posté le 25-06-2004 à 12:41:56    

par contre, c'est clair que l'assembleur sous Windows est amené à disparaitre avec le remplacement annoncé de Win32 par .NET :(


---------------
J'ai un string dans l'array (Paris Hilton)
Reply

Marsh Posté le    

Reply

Sujets relatifs:

Leave a Replay

Make sure you enter the(*)required information where indicate.HTML code is not allowed