Partage
  • Partager sur Facebook
  • Partager sur Twitter

[Bêta OFF] Apprenez à Programmer en Assembleur !

Dans la catégorie "Cours" par Ictus

24 janvier 2012 à 17:22:16

Image utilisateur


Ce tutoriel a été retiré de la bêta-zone par un validateur ou un administrateur car il ne satisfait pas aux règles de publication en bêta-test. Pour de plus amples informations sur les règles de publication en bêta-test, reportez-vous à ce sujet.

  • Partager sur Facebook
  • Partager sur Twitter
24 janvier 2012 à 17:22:16

Espace réservé à l'auteur pour décrire son cours
  • Partager sur Facebook
  • Partager sur Twitter
Pour voir mon tuto sur l'assembleur cliquer ici. (en travaux et pour un certain temps !)
24 janvier 2012 à 17:33:13

Ouh la vache, ça donne pas envie d'être lu, ces blocs monolithiques de textes mal écrits et mal ponctués.

Et puis ! C'est quoi ton problème ! Avec les points d'exclamation ! :p !

Citation

Un octet est un nombre entier compris entre 0 et 255, et 256 c'est une puissance de 2 :
256 = 28



Au secours !

Tu as complètement omis qu'il avait des balises pour t'aider à structurer ton texte, par exemple tu voulais dire :

<math>\(256 = 2^8\)</math>
Exploite-les au maximum, sans trop en abuser histoire de rester lisible.

Citation

L'adresse où se trouve l'instruction à exécuter se trouve dans le registre EIP, ce registre pointe donc sur un octet de la RAM. Qu'est-ce qu'un octet ? Qu'est-ce que la RAM ? Si vous avez déjà lu des tutoriels qui sont sur ce site, cela vous a déjà été expliqué mais ici nous voyons les choses sous un autre angle donc il est important de revenir un peu sur ces notions.



Tu expliques les choses à l'envers, en omettant le plus important. C'est quoi une instruction ? C'est quoi une adresse ?

Citation

Dans la catégorie "AS / Flash / Flex" par Ictus


Tu t'es planté dans la catégorie mon gars.
  • Partager sur Facebook
  • Partager sur Twitter
24 janvier 2012 à 17:49:02

Salut,
Bon déjà allège le texte !!! En effet, le premier (et pas que) chapitre ne donne pas envie d'être lu, tu nous sort des blocs entiers de ligne sans image, on respire pas. :euh:

fait attention à tes code, indente bien lorsque tu met du langage C en zcode :

Citation : tuto deuxième chapitre premier code


#include <stdio.h>
#include <stdlib.h>

int main()
{
printf("Hello world!\n");
return 0;
}


fait le plutôt comme cela :

#include <stdio.h>
#include <stdlib.h>

int main()
{
    printf("Hello World!\n");  //au moins 4 espaces
    return 0;
}


sinon j'ai arrêté la lecture jusqu’à ce code pour l'instant.
  • Partager sur Facebook
  • Partager sur Twitter
24 janvier 2012 à 18:26:39

Images minuscules, pavés de texte sans aucune mise en forme, mauvaise épellation de M@teo, c'est vraiment pas brillant.

Hésite pas à mettre des schémas dés que possible. Sinon, autant proposer un fichier .txt en téléchargement.
  • Partager sur Facebook
  • Partager sur Twitter
24 janvier 2012 à 18:42:04

Houlà, je ne sais pas qui aurait le courage de lire ça! Il faut beeeeeeaucoup plus indenter et aérer le texte parce que là bonjour les yeux!

  • Partager sur Facebook
  • Partager sur Twitter
Anonyme
24 janvier 2012 à 18:50:46

Citation : Tutoriel - Chapitre 1

Au au début de la création des ordinateurs, l'assembleur était le seul langage existant



Au tout début il n'y avait même pas d'assembleur.

Citation : Tutoriel - Chapitre 1

Il y a seulement 30 ans les ordinateurs n'existaient pas et on se demande maintenant comment on pouvait faire pour vivre sans.



L'IBM PC date de 1981, donc ça fait plus de 30 ans. ;)
En plus, les ordinateurs existaient, mais pas pour le grand public.

Citation : Tutoriel - Chapitre 1

que Microsoft ne voudrait pas que l'on puisse faire : enlever la protection contre les copies de ses programmes par exemple.


Citation : Tutoriel - Chapitre 1

Microsoft et Intel n'ont donc pas facilité les choses pour ceux qui voulaient apprendre ce langage



Euh non l'assembleur est de moins en moins utilisé parce que c'est dur à développer et à maintenir, mais pas parce que Microsoft et Intel l'ont décidé. Sinon il n'y aurait pas d'assembleur.

Citation : Tutoriel - Chapitre 1

Pour être honnête et pour quelques dollars de plus vous pouvez quand même avoir un accès à ce langage sous windows en achetant par exemple la version complète de Visual C++



De un, on est en France donc euros et pas dollars, de deux, on peut avoir Visual gratuitement, suffit de prendre la version Visual Express, et de trois, faire de l'assembleur avec Visual, c'est un peu tuer une mouche avec un char d'assaut.

Citation : Tutoriel - Chapitre 1

les mauvaises habitudes prisent avec windows



Troll anti-Windows.

Chapitre 2 > Très mauvaise idée de partir comme ça. Et si jamais je suis programmeur Java, que j'y connais rien au C, je vais devoir me taper tout le tutoriel pour apprendre à programmer en assembleur ? Même pas en rêve ! Et si je connais rien à Linux, je vais aussi devoir me taper à l'installer et à apprendre à m'en servir ? Bon bah je reste avec Java alors.

Citation : Tutoriel - Chapitre 2

Cependant il est peu probable qu'une personne qui s'intéresse à l'assembleur ne connaisse pas au moins un langage de programmation de plus haut niveau.



Je connais que Lua et C#, je fais comment ?

Chapitre 3 > Franchement, je prend la calculatrice de mon OS et le problème est réglé. Même si une petite introduction est nécessaire, là c'est trop lourd. Trop compliqué, paragraphes trop gros.

Chapitre 4 > Trop confus à mon gout, tu n'explique pas assez.

Citation : Tutoriel - Chapitre 4

MOV EAX, A2C3F580h



Y'a des balises pour les codes en assembleur. Tu as ça pour la syntaxe Intel :

<code type="nasm">ton code</code>


et pour la syntaxe AT&T :

<code type="gas">ton code</code>


Citation : Tutoriel - Chapitre 4

Cette instruction veut dire : met dans le registre EAX (32 bits) le nombre A2C3F580h. Difficile de faire plus simple comme instruction. Vous avez reconnu la base hexadécimale (ou base 16) vu dans le chapitre précédent. Cela veut dire qu'il y a quelque part dans les milliards d'octets de la RAM les nombres suivants :
B8 80 F5 C3 A2
et que le registre EIP pointe justement sur cette adresse ! Vous ne me croyez pas ? Alors je vous propose d'essayer sur CodeBlocks le programme suivant :



Euh oui ok mais c'est quoi EAX ? Moi je connais pas. Et puis si on met B8 80 F5 C3 A2 dans le registre EAX, il n'est pas dans la RAM. Il est dans un registre.

LE registre EPI pointe sur cette adresse ? Euh oui ok mais c'est quoi tout ça ?

Je me suis arrêté là, j'ai pas eu le courage de tout lire. Ça part d'une bonne intention, mais là franchement y'a pleins de trucs à revoir.

Et puis LE truc qui me gène : pourquoi apprendre l'assembleur comme ça ?! Franchement, il faut maitriser le C et Linux, ça donne pas envie. En plus la syntaxe AT&T est assez moche disons-le. Tu devrais plutôt apprendre à manier l'assembleur Intel, avec NASM par exemple. Parce que là, ça me donne pas envie du tout. De plus, j'ai pas vraiment l'impression que tu maitrise suffisamment l'assembleur pour faire un tutoriel dessus...
  • Partager sur Facebook
  • Partager sur Twitter
24 janvier 2012 à 19:19:04

Bonjour,

Quand j’ai voulu lire le premier chapitre, je me suis dit : « Bon. Comme je n’ai pas encore de problèmes de vue et que je n’ai pas envie d’en avoir, je vais m’abstenir. »… Et comme tous les chapitres sont à peu près taillés sur le même gabarit, je me suis contenté de lire les captures d’écran. Alors, une question m’est venue à l’esprit : pourquoi fais-tu de l’assembleur avec un IDE destiné au C et au C++ ? o_O
  • Partager sur Facebook
  • Partager sur Twitter
25 janvier 2012 à 15:07:14

Au fait

Citation

Apprennez à Programmer en Assembleur !


Sauf erreur de ma part, ça s'écrit "Apprenez" avec un seul n.

Bonne continuation.
  • Partager sur Facebook
  • Partager sur Twitter
26 janvier 2012 à 9:10:37

Pour programmer Assembleur vaut mieux utiliser NASM que un IDE ait pour C ...
  • Partager sur Facebook
  • Partager sur Twitter
26 janvier 2012 à 12:31:33

Sauf erreur de ma part, l'ide codeblocks est juste là pour introduit l'asm, après, il utilisera un logiciel comme ultraedit je pense.
  • Partager sur Facebook
  • Partager sur Twitter
Anonyme
26 janvier 2012 à 12:38:19

Ça part mal quand même.
  • Partager sur Facebook
  • Partager sur Twitter
26 janvier 2012 à 14:31:37

Salut,

Je suis entièrement d'accord avec les commentaires précédent, je voudrais juste réagir sur ceci:

Citation : informaticienzero


En plus la syntaxe AT&T est assez moche disons-le. Tu devrais plutôt apprendre à manier l'assembleur Intel, avec NASM par exemple.



C'est une question de goût et d'habitudes. Personnellement, je préfère la syntaxe AT&T et j'ai l'habitude de programmer en assembleur avec gas ;)
  • Partager sur Facebook
  • Partager sur Twitter
Anonyme
26 janvier 2012 à 14:59:01

Bon d'accord, disons que cet argument ne tiens pas la route.
  • Partager sur Facebook
  • Partager sur Twitter
30 janvier 2012 à 11:50:50

Merci à vous pour tout vos commentaires. Je suis nouveau sur le site et vous m'apprenez beaucoup (avec un seul n !). Je commence seulement à comprendre un peu comment fonctionne la béta zone.
Je ne dispose pas de beaucoup de temps pour améliorer mon travail il va falloir que vous soyez patients (voire très patients !).
Je ne pensais pas provoquer autant de réactions et cela m'intéresse beaucoup.

Citation : DakuTenshi

Tu as complètement omis qu'il avait des balises pour t'aider à structurer ton texte, par exemple tu voulais dire :
256 = 2^8


C'est corrigé, merci d'indiquer le chapitre. Je ne sais pas encore traduire le signe x avec la balise math.

Citation : DakuTenshi

Citation
Dans la catégorie "AS / Flash / Flex" par Ictus
Tu t'es planté dans la catégorie mon gars.


C'est parce que je n'ai pas trouvé la catégorie assembleur.

Citation : Bowser Jr

Bon déjà allège le texte !!! En effet, le premier (et pas que) chapitre ne donne pas envie d'être lu, tu nous sort des blocs entiers de ligne sans image, on respire pas.


Je ne sais pas faire ! Je compte sur vous et j'attends vos propositions.

Citation : Bowser Jr

ait attention à tes code, indente bien lorsque tu met du langage C en zcode :


C'est corrigé, merci.

Citation : Craki

mauvaise épellation de M@teo


C'est corrigé, merci.

Citation : informaticienzero

Et si jamais je suis programmeur Java, que j'y connais rien au C, je vais devoir me taper tout le tutoriel pour apprendre à programmer en assembleur ? Même pas en rêve ! Et si je connais rien à Linux, je vais aussi devoir me taper à l'installer et à apprendre à m'en servir ?


Cette question est posée plusieurs fois. L'assembleur est un langage trop difficile pour un débutant et j'ai préféré dès le départ qu'il puisse s'accrocher à quelque chose qu'il connait déjà. Existe-t-il un débugger en java ? Je ne sais pas, mais si oui alors le lecteur pourra faire les tests dans le langage de haut niveau qu'il connait. L'utilisation de linux n'est pas obligatoire dans la 1ère et la 2e partie et la 3e partie n'est pas encore écrite. Je n'ai pas réussi à utiliser NASM sous windows car je n'ai pas réussi à installer le compilateur C.

Citation : informaticienzero

Code : zCode - Sélectionner
1 code type="nasm">ton code</code>


Grand merci, c'est super beau ! je ne connaissais pas cette balise et je vais en avoir grand besoin.

Citation : Nicolas M.

pourquoi fais-tu de l’assembleur avec un IDE destiné au C et au C++ ?


Parce que j'utilise les fonctions du langage C.

Citation : Le solutionneur

Sauf erreur de ma part, ça s'écrit "Apprenez" avec un seul n.


C'est la honte, je m'en suis aperçu mais je ne peux pas le corriger ! et cela se voit en première page... Si quelqu'un sait corriger, qu'il me le dise. Merci.

Citation : Le solutionneur

Sauf erreur de ma part, l'ide codeblocks est juste là pour introduit l'asm, après, il utilisera un logiciel comme ultraedit je pense.


J'ai utilisé Gedit sous linux et notepad++ sous windows. Vous pouvez utilisez un autre éditeur de textes.

Citation : Taurre

C'est une question de goût et d'habitudes. Personnellement, je préfère la syntaxe AT&T et j'ai l'habitude de programmer en assembleur avec gas


Vous êtes exactement la personne que je cherche, je pense que je vais vous envoyer des MP.
  • Partager sur Facebook
  • Partager sur Twitter
Pour voir mon tuto sur l'assembleur cliquer ici. (en travaux et pour un certain temps !)
30 janvier 2012 à 17:22:12

Il y a une faute (de frappe) sur la dernière phrase de ton I (petit historique).

Citation

d'utiilsateurs du site de Matéo ont demandé

  • Partager sur Facebook
  • Partager sur Twitter
30 janvier 2012 à 17:47:41

Citation : Ictus

Citation : DakuTenshi

Citation
Dans la catégorie "AS / Flash / Flex" par Ictus
Tu t'es planté dans la catégorie mon gars.


C'est parce que je n'ai pas trouvé la catégorie assembleur.


La catégorie "Autres langages" sera certainement plus appropriée...

Citation : Ictus

Citation : Bowser Jr

Bon déjà allège le texte !!! En effet, le premier (et pas que) chapitre ne donne pas envie d'être lu, tu nous sort des blocs entiers de ligne sans image, on respire pas.


Je ne sais pas faire ! Je compte sur vous et j'attends vos propositions.


Il y a une grosse touche sur ton clavier avec écrit "Entrée" dessus. Et plein de boutons de mise en forme au-dessus de la zone d'édition de texte pour créer des titres, intégrer des images, ...
Edit : Tu devrais aussi découper tes phrases et ne pas précipiter l'introduction de nouveaux concepts. Par exemple, des phrases comme :

Citation

Voilà donc ce qui se passe quand on fait un CALL. Après cette instruction il doit y avoir une adresse (ou un déplacement), EIP va donc devoir prendre la valeur de cette nouvelle adresse car c'est à cet endroit que se trouve la prochaine instruction à exécuter, mais avant la valeur de EIP sera enregistrée au dessus de la pile et à la fin du sous programme il y aura l'instruction RET qui fera l'opération inverse : elle chargera l'adresse qui est au sommet de la pile dans le registre EIP et le programme continuera à s'exécuter juste après l'instruction CALL.


C'est correct mais les informations arrivent en rafale sans structure. On dirait que tu luttes contre toi-même pour exprimer tout ce que tu as en tête sans rien oublier. Résultat, il faut lire la phrase trois fois pour assimiler l'information !

Citation : Ictus

Cette question est posée plusieurs fois. L'assembleur est un langage trop difficile pour un débutant et j'ai préféré dès le départ qu'il puisse s'accrocher à quelque chose qu'il connait déjà.
(...)
Parce que j'utilise les fonctions du langage C.


Sauf qu'un débutant ne connait pas forcément ces prérequis en C. Tu peux faire un passage à l'attention des développeurs C pour faire un lien avec ce qu'ils connaissent, mais tu ne devrais pas obliger le lecteur à écrire du C pour apprendre l'assembleur.

Citation : Ictus

C'est la honte, je m'en suis aperçu mais je ne peux pas le corriger ! et cela se voit en première page... Si quelqu'un sait corriger, qu'il me le dise. Merci.


Le titre du topic (pas du tuto) est corrigé - et t'as même gagné un design exclusif pour le premier post du topic. Je ne peux malheureusement pas changer le titre du tuto sans casser le lien vers ce topic. :(

Pour ma part j'aurais des choses à dire sur chaque paragraphe (voire sur chaque phrase) de ton tuto, mais je vais laisser les lecteurs s'exprimer... :-°
  • Partager sur Facebook
  • Partager sur Twitter
30 janvier 2012 à 19:01:56

Une façon efficace d'aérer le texte, c'est de l'entrecouper de schémas.
Si je reprends ce que cite Orwell :

Citation : Ictus

Voilà donc ce qui se passe quand on fait un CALL. Après cette instruction il doit y avoir une adresse (ou un déplacement), EIP va donc devoir prendre la valeur de cette nouvelle adresse car c'est à cet endroit que se trouve la prochaine instruction à exécuter, mais avant la valeur de EIP sera enregistrée au dessus de la pile et à la fin du sous programme il y aura l'instruction RET qui fera l'opération inverse : elle chargera l'adresse qui est au sommet de la pile dans le registre EIP et le programme continuera à s'exécuter juste après l'instruction CALL.


Tout ceci peut être synthétisé par un schéma qui aidera beaucoup à la compréhension, qui fera respirer le lecteur. De plus, dans cette phrase en particulier, c'est difficile à comprendre parce que tu embrouilles la structure logique : au lieu de faire une succession de donc, tu mets un « car », un « avant ». Les hommes comprennent mieux ce qui est énoncé dans l'ordre. Il faut aussi faire des phrases moins longues.

En tout cas, tu fais preuve de bonne volonté. Mais peut-être devrais-tu commencer par faire des tutos sur des sujets moins vastes pour te faire la main avant de te lancer dans une telle entreprise...
  • Partager sur Facebook
  • Partager sur Twitter
30 janvier 2012 à 19:20:41

Citation : Ictus


Vous êtes exactement la personne que je cherche, je pense que je vais vous envoyer des MP.



Aucun soucis pour moi, du moment que je n'en reçoit pas des tonnes ^^
  • Partager sur Facebook
  • Partager sur Twitter
31 janvier 2012 à 11:26:37

Citation

L'assembleur est un langage trop difficile pour
un débutant


Lol, si on a un minimum de connaissances, c'est un langage extrêmement facile: peu d'instructions.
Mais il nécessite de connaitre le fonctionnement d'un pc, voilà tout.

Perso, je préfère la syntaxe nasm mais il y a également masm qui est pas mal avec sa syntaxe au niveau: les invoke.
  • Partager sur Facebook
  • Partager sur Twitter
31 janvier 2012 à 16:29:19

Citation : necromoine

Il y a une faute (de frappe) sur la dernière phrase de ton I (petit historique).


C'est corrigé, merci. Tu as de bons yeux ! J'ai mis aussi M@teo21.
Je sais à peu près écrire le signe x avec latex, j'ai fait \text( x ) mais il y a peut-être d'autres solutions.

Citation : Orwell

La catégorie "Autres langages" sera certainement plus appropriée...


Je pense qu'il faut que je sorte de la béta zone pour modifier cela puis il faut que j'y retourne. J'ai bien une solution aussi pour corriger les 2 n de apprenez, je supprime tout et je recommence ! Il est aussi assez difficile de supprimer les points d'exclamation en trop dans les titres des chapitres sauf avec la même méthode.

Citation : Orwell

On dirait que tu luttes contre toi-même pour exprimer tout ce que tu as en tête sans rien oublier.


L'instruction call est en réalité beaucoup plus complexe que ce que j'en dis ici. J'ai simplifié au maximum en essayant de garder l'essentiel. J'ai voulu étudier le cas le plus simple possible. Il va me falloir un peu de temps pour apprendre à faire des schémas.

Citation : programLyrique

peut-être devrais-tu commencer par faire des tutos sur des sujets moins vastes pour te faire la main avant de te lancer dans une telle entreprise...


C'est possible effectivement car je pense pouvoir découper mon big tuto et faire plusieurs mini tuto mais grâce vous j'apprends déjà beaucoup de choses en peu de temps. Je commence à comprendre ce qu'est un bon tuto.

Citation : Le solutionneur

c'est un langage extrêmement facile: peu d'instructions. Mais il nécessite de connaitre le fonctionnement d'un pc, voilà tout.


Pourquoi aurait-on inventer les langages de haut niveau dans ce cas ? Je pense par exemple qu'il est difficile de gérer une fenêtre windows en assembleur. On ne va pas réécrire toutes ces fonctions.

J'ai envoyé un nouveau chapitre que j'avais déjà écrit et je n'ai donc pas pu tenir compte de toutes vos remarques.
  • Partager sur Facebook
  • Partager sur Twitter
Pour voir mon tuto sur l'assembleur cliquer ici. (en travaux et pour un certain temps !)
31 janvier 2012 à 16:50:19

Citation : Le solutionneur

Citation

L'assembleur est un langage trop difficile pour
un débutant


Lol, si on a un minimum de connaissances, c'est un langage extrêmement facile: peu d'instructions.
Mais il nécessite de connaitre le fonctionnement d'un pc, voilà tout.


N'importe quoi : l'assembleur x86 a énormément d'instructions, bien plus que la plupart (tous ?) des autres langages.

Un langage comme python, c'est 31 mot-clés + les opérateurs. Java, c'est 51 mot-clés plus les opérateurs.
Voici la liste des instructions x86 et de ses extensions disponibles sur un processeur moderne : http://fr.wikipedia.org/wiki/Jeu_d'instruction_x86 (attention, certaines instructions ont plusieurs mnémoniques).

D'autre part, faire un programme en assembleur est beaucoup plus difficile qu'en un langage de plus haut niveau, comme le C par exemple.

Ajoute à ça la difficulté inhérente :
  • Aux contraintes historiques (16 / 32 / 64 bits).
  • A la compréhension nécessaire du fonctionnement très bas niveau du matériel (registres, ...)

On peut aimer l'assembleur et l'utiliser pour des tas de raisons.
On ne peut raisonnablement pas dire qu'il est simple, pas plus qu'il est facile (et ce sont bien des notions différentes : brainfuck est très simple mais pas du tout facile).
  • Partager sur Facebook
  • Partager sur Twitter
31 janvier 2012 à 17:18:48

Citation : Ictus

L'instruction call est en réalité beaucoup plus complexe que ce que j'en dis ici. J'ai simplifié au maximum en essayant de garder l'essentiel. J'ai voulu étudier le cas le plus simple possible. Il va me falloir un peu de temps pour apprendre à faire des schémas.


Ce n'est pas une question de contenu, mais de "flux" dans ton discours. Observe la structure de ta phrase :

Citation

Après cette instruction (...) c'est à cet endroit que (...) mais avant (...) et à la fin (...) opération inverse : (...) exécuter juste après (...).


C'est un véritable jeu de piste ! o_O
  • Partager sur Facebook
  • Partager sur Twitter
31 janvier 2012 à 23:34:02

Citation

Je pense par
exemple qu'il est difficile de gérer une fenêtre
windows en assembleur. On ne va pas réécrire
toutes ces fonctions.



Suffit d'utiliser les dll de la Win32API.

J'ai pas dit que l'assembleur est rapide à programmer mais simple.
Si des langages de hauts niveaux existent, c'est parce que pour faire quelque chose en assembleur, c'est bien plus long et les bugs sont difficiles à trouver et à corriger.

Essayez juste de faire un bon jeu genre un fps en 3D en assembleur, c'est quasiment impossible.

Les instructions assembleur sont quasiement toutes les mêmes, en fait, il y a beaucoup de variantes d'autres instrcutions. (exemple: add/adc)

Un code asm, c'est 3/4 de mov, des add et des calls.

Après, pour comprendre un code, c'est autre chose surtout s'il y a du smc ou qu'il est crypté :p

Perso, j'aime beaucoup l'assembleur mais il a des utilisations spécifiques.
  • Partager sur Facebook
  • Partager sur Twitter
Anonyme
1 février 2012 à 10:53:36

Salut,
Pour la multiplication avec math, il suffit d'écrire \times. Cela donne <math>\(\times\)</math>.

Si tu as du mal à écrire un tuto correspondant aux exigences du site, il y un tuto "Conseils des Validateurs".
Un tuto pour utiliser le zCode.
Pour la balise math, un tuto "Utiliser la balise math".

Pour modifier tous les apprenez avec deux n, un coup de Ctrl+F pour rechercher/remplacer dans ton navigateur et c'est bon.
  • Partager sur Facebook
  • Partager sur Twitter
2 février 2012 à 11:08:42

Bon voilà j'ai commencé à aérer un peu mon tuto et j'ai réussi à corriger les 2 n de apprenez. Ce n'était pas si difficile.

Citation : @dri1

Pour la multiplication avec math, il suffit d'écrire \times. Cela donne \times.


Ok merci, ça marche.

Citation : Le solutionneur

Perso, j'aime beaucoup l'assembleur mais il a des utilisations spécifiques.


Quel compilateur utilises-tu ? Qu'est-ce que tu arrives à faire ? Je crois qu'un étudiant en informatique ne devrait pas faire l'impasse sur ce langage car il est le seul à permettre de mieux comprendre comment fonctionne vraiment le microprocesseur mais ce langage est souvent mal enseigné (personnellement, j'ai eu de très bon profs) en plus il est très difficile de trouver de la doc sur internet et on voit d'ailleurs que sur ce site il y a très peu de choses sur ce sujet c'est pourquoi j'ai pensé que mon travail pouvait vous être utile même s'il n'est pas terminé.
  • Partager sur Facebook
  • Partager sur Twitter
Pour voir mon tuto sur l'assembleur cliquer ici. (en travaux et pour un certain temps !)
2 février 2012 à 16:48:49

J'utilise nasm ou masm, ça dépend de mon humeur ! :)

J'ai aussi fait de l'assembleur z80 pour les calculatrices.

Comme tutos, il y a celui de Dr. Carter qu a été traduit dans beaucoup de langues... (mais je ne le trouve pas super car il l'aborde avec le c++ si je me souviens bien)

Ce que je préfère, personnellement, c'est d'avoir la doc sous les bras pour chercher dedans quand j'ai besoin de quelque chose.

Mais c'est vrai qu'il faut savoir comment un ordinateur marche (registres, interruptions, etc...)

Bonne chance
  • Partager sur Facebook
  • Partager sur Twitter
3 février 2012 à 8:28:44

Citation : Le solutionneur

J'utilise nasm ou masm, ça dépend de mon humeur !


De quelle façon utilises-tu nasm ? Sous Windows ? Sous linux ? Dans une console ? j'ai fait mes premiers programmes avec une disquette de boot modifiée et je travaillais en mode réel, je faisais des tests pour essayer de passer en mode protégé...
  • Partager sur Facebook
  • Partager sur Twitter
Pour voir mon tuto sur l'assembleur cliquer ici. (en travaux et pour un certain temps !)
3 février 2012 à 8:55:48

Pour l'instant que sur windows, mon Linux dude dans un autre pc.

Si tu veux savoir, oui, je travaille dans une console mais peut avec interface graphique: dans ce cas, le c++ marche (et on peut inclure des routines assembleur).
  • Partager sur Facebook
  • Partager sur Twitter