Assembleur : Liens utiles - Divers - Programmation
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)
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 ...
Marsh Posté le 01-07-2003 à 23:22:38
nietch, j'avais acheter l'asm chez marabout info, je le deconseille fortement (chiant & carrement aux fraise avec les cpu un peu recent (pentium quoi ))
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 ): 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.
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 ), 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 ): OllyDgb. |
C'est vrai qu'il est pas mal, j'l'ai déjà utilisé pas mal de fois pour des choses pas bien y'a un grand avenir devant lui si l'auteur continue à l'updater régulièrement..
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 :-/
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 )
(par contre, la mise en page de mon 1er post est vraiment pourrie, faudra que je le ressaisisse )
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é
Marsh Posté le 29-12-2003 à 09:52:10
Connaissez vous des tutos ou doc sur le net qui seraient en Français?
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/
Marsh Posté le 29-12-2003 à 14:52:21
ReplyMarsh Posté le 16-03-2004 à 13:14:13
tutoriaux, code source, samples et liens en abondance:
http://win32asm.cjb.net
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
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é
Marsh Posté le 24-06-2004 à 22:07:45
gor123 a écrit : Heu j'ai acheté un bouquin d'asm chez microapp |
... où nous apprenons donc que tu débutes l'assembleur...
gor123 a écrit : |
... 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 : |
... 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
Marsh Posté le 24-06-2004 à 22:08:46
gor123 a écrit : Il marche mal votre forum |
...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é
Marsh Posté le 24-06-2004 à 22:30:10
Plus je deviens vieux, plus je trouve que l'assembleur c'est bien.
Faudrait que je m'y mette un bon coup !!
Marsh Posté le 24-06-2004 à 22:37:01
bjone a écrit : harko, tu vas effrayer le nouveau, fais pas ton Taz |
je peux pas faire mon Taz, y'a pas de templates en assembleur
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. |
sage décision, bienvenue dans un monde de controle absolu
Marsh Posté le 24-06-2004 à 22:45:30
Harkonnen a écrit : sage décision, bienvenue dans un monde de controle absolu |
Je vais suivre tes liens et jeter un oeil à tout ça !
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é |
Ou alors il a posté à partir d'un pc publique.
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é
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é.
Marsh Posté le 24-06-2004 à 23:35:00
ah peut être
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 |
remarque pour faire les loop unrolling à la main
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
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.
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
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 ?
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
Marsh Posté le 25-06-2004 à 11:27:13
Jubijub a écrit : c quoi IL ? |
Intermediate language
Jubijub a écrit : |
DLL (soit via com, soit via DllImport)
Marsh Posté le 25-06-2004 à 11:32:24
Jubijub a écrit : c quoi IL ? |
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...
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
j'ai mis 2 jours à coder un traceur de Mandelbrot en IL
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
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
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
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
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!
http://developer.intel.com/design/pentium4/manuals/ : Toute la doc du P4
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)