Qui sait programmer en Assembleur ?

Cette catégorie traite de développements récents destinés à nos vieilles machines, applications, jeux ou démos... Amis programmeurs, c'est ici que vous pourrez enfin devenir célèbres!

Modérateurs : Papy.G, fneck, Carl

Avatar de l’utilisateur
Eric_80
Messages : 184
Inscription : 31 mars 2011 16:52

Qui sait programmer en Assembleur ?

Message par Eric_80 »

Bonjour à tous,

Pour me faire une idée, j'aimerais savoir combien de personnes
savent aujourd'hui programmer en langage Assembleur, quel est votre niveau et sur quel micro-processeur ?

Et savoir aussi si vous developpez : toujours ? quelquefois ? rarement ? ou plus maintenant.

Pour ma part:
- Je maîtrisais plutôt très bien ^^ le Z80 à l'époque, sur l' Amstrad CPC.
- Je me remets à l'assembleur 6803 cette fois, sur l'ordinateur Alice car je n'ai plus rien à apprendre sur le CPC (mais j'y reviendrai).
- Une fois tout ça bien maîtrisé, je regarderai le reste de la famille 6800 (6809) et aussi les 6502/6510, le Z80 à nouveau,
pour coder sur Comodore64, Apple II, ZX81 etc.

Voilà, la parole est à vous! :)
Avatar de l’utilisateur
OlivierP
Messages : 707
Inscription : 21 sept. 2009 15:50
Localisation : IDF

Re: Qui sait programmer en Assembleur ?

Message par OlivierP »

J'en ai fait un peu lors de mes études : un programme de dessin à la souris, tout en assembleur x86, sous DOS bien sûr (algorithme de tracé de ligne entre deux points, ...) mais c'est tout.
J'évite d'en faire, car le code n'est pas portable. La dernière fois que j'en ai fait, il y a quelques années, le "lead programmer" m'a démontré, désassemblage à l'appui, que du code C/C++ faisait mieux (utilisation d'instructions pentium plus performantes).
Fabrice Montupet

Re: Qui sait programmer en Assembleur ?

Message par Fabrice Montupet »

A l'époque, je programmais en ASM 9900 sur TI-99/4A et en ASM 6502 sur Apple IIe. Je recherchais plus de vitesse d'execution et seul l'Assembleur permettait d'arriver à mes fins. Et puis l'arrivée de Macintosh a tout balayé. J'avais enfin toute la puissance et les ressources que je désirais, avec une programmation en langage C rapide et facilitée par l'accès à la toolbox (menus, boites de dialogues, fenêtres, etc.) C'était un jeu d'enfant. Mais, curieusement, c'est avec l'Assembleur que je conserve les meilleurs souvenirs.
Quand mes projets actuels de restauration seront terminés, quand la borne électromécanique que j'ai commencé sera réalisée, j'aurai plus de temps libre, temps que consacrerai sûrement à retrouver les joies de l'assembleur :)
Avatar de l’utilisateur
Carl
Modérateur
Messages : 13289
Inscription : 08 avr. 2007 13:21
Localisation : http://www.doledujura.fr
Contact :

Re: Qui sait programmer en Assembleur ?

Message par Carl »

j'ai bricoler un peu sur ZX81, un peu sur c64 car il y avait de bons outils, j'ai fais qlqs peek/poke sur VG5000... puis plus tard, je bossais plus mes cours de chimie que de tapoter sur un clavier du code asm :roll:
Daniel
Messages : 17397
Inscription : 01 mai 2007 18:30
Localisation : Vaucluse
Contact :

Re: Qui sait programmer en Assembleur ?

Message par Daniel »

Mon premier langage de programmation appris à l'école est l'Assembleur (sur PDP8). Ensuite j'ai programmé en assembleur sur de grosses machines (IBM-360), de plus petites (Micro-Vax de DEC), de très petites (Alice 32), et même jusqu'au Vidéopac (avec la cartouche assembleur), en passant aussi par le PC, tous les Thomson, le VG5000, l'EXL100 et l'Exeltel et un peu d'Hector.

Mais à vrai dire, pour tous les micros 8 bits de collection, je n'utilise pas souvent de véritable assembleur. Je trouve plus rapide, pour de petits programmes, d'écrire le code machine directement en hexadécimal. Dans les années 1990, sur PC (à l'époque des 386) j'avais souvent quelques routines en assembleur dans des programmes C. Avec la rapidité des processeurs actuels ce n'est plus nécessaire.
Daniel
L'obstacle augmente mon ardeur.
Avatar de l’utilisateur
Carl
Modérateur
Messages : 13289
Inscription : 08 avr. 2007 13:21
Localisation : http://www.doledujura.fr
Contact :

Re: Qui sait programmer en Assembleur ?

Message par Carl »

daniel, tu tapotais sur un terminal comme celui que j'ai sauvé de la casse qui était utilisé sur pdp8 :

Image
Daniel
Messages : 17397
Inscription : 01 mai 2007 18:30
Localisation : Vaucluse
Contact :

Re: Qui sait programmer en Assembleur ?

Message par Daniel »

Carl, tu me rajeunis de 42 ans :D C'était exactement ce modèle. Il y en avait une douzaine identiques dans la salle de classe, tous branchés sur un seul PDP8. C'était un exploit pour l'époque, réalisé par les profs de l'ENSIMAG avec l'aide de DEC. Je ne sais même pas si le mot "multitâches" existait à l'époque. Vous pouvez imaginer le bruit des douze imprimantes quand douze élèves tapaient ou listaient leurs programmes en même temps.
Daniel
L'obstacle augmente mon ardeur.
Avatar de l’utilisateur
6502man
Messages : 12312
Inscription : 12 avr. 2007 22:46
Localisation : VAR
Contact :

Re: Qui sait programmer en Assembleur ?

Message par 6502man »

:D :D :D

A l'époque après avoir débuté sur le ZX81 en basic et des peek/poke, j'ai commencé l'assembleur sur Oric (quelques bricoles), puis le graal est arrivé dans la maison le C64 et la j'ai exploité au mieux l'assembleur ( intro, démos, crack, ...) après l'amiga est arrivé et en quelques mois après j'ai commencé la vie active, et plus trop eu le temps de programmer.

Depuis que je mis suis remis au ordinausaures j'ai eu l'occasion de m'amuser en assembleur avec quelques machines : VIC20 ( 2 démos), ORIC (1 démo), A2600 (mini démo), Alice (mini scrolltext), Exeltel (1 démo et utilitaires PC/exel) et puis d'autres à venir...
Phil.

www.6502man.com

To bit or not to bit.
1 or 0.
Avatar de l’utilisateur
irios
Messages : 3397
Inscription : 04 nov. 2007 19:47
Localisation : Rochefort du Gard (30)
Contact :

Re: Qui sait programmer en Assembleur ?

Message par irios »

Ben moi : Z80, la famille 68000, la famille intel, les microcontroleurs, la famille 6800, la famille 6500 et j'en passe.
D'ailleurs c'est en assembleur où je suis le plus à l'aise avec comme programmation avancée le TP.
Mes préférés : Z80, 8086, 6809, 6502 et 68030 ! :mrgreen:
Comment je suis venu à l'assembleur ? Mes études en électronique. :lol:
Mon niveau ? Très avancé
Dans quel cadre ? Développement de carte électronique
Pourquoi ne pas prendre les outils de développement C/C+ ? Pour la bonne et simple raison, je ne fais pas du développement logiciel mais du développement hardware
Voili, voilou
http://irioslabs.over-blog.com/

La connaissance ne vaut que si elle est partagée par tout le monde.
I2C
Avatar de l’utilisateur
jfg
Messages : 245
Inscription : 22 mars 2011 16:28
Localisation : Région parisienne

Re: Qui sait programmer en Assembleur ?

Message par jfg »

Pour moi, assembleur Texas d'abord à l'école, puis la famille 6800 et enfin l'assembleur Data General (Eclipse et Nova)... pour superviser et contrôler un champ de pétrole de 3600 km2 en temps réel. Cela aurait été impossible dans les langages évolués disponibles à l'époque (Fortran, ...). Ensuite le C est arrivé, l'assembleur est devenu inutile sauf cas très particuliers. Et maintenant, c'est Java mon langage préféré.
Avatar de l’utilisateur
Carl
Modérateur
Messages : 13289
Inscription : 08 avr. 2007 13:21
Localisation : http://www.doledujura.fr
Contact :

Re: Qui sait programmer en Assembleur ?

Message par Carl »

pour en savoir plus sur Eclipse et Nova et utiliser des simulateurs :
http://simh.trailing-edge.com/nova.html
http://simh.trailing-edge.com/
Avatar de l’utilisateur
yo_fr
Messages : 1337
Inscription : 13 août 2009 18:24
Localisation : 78...
Contact :

Re: Qui sait programmer en Assembleur ?

Message par yo_fr »

...quant à moi c'est par Hector que j'ai commencé avec son Z80 (début 80), puis avec le 68000 du ST (jusqu'à 91/93, arrivée des enfants).
Par mon travail j'ai abandonné l'informatique "direct" et j'ai fais de l'automastime. Sur certains sujets c'est assez proche.
Cela faisait longtemps que j'avais abandonné l'assembleur (plus de 20 ans !) puis derniérement, faute à Daniel, j'ai replongé pour programmer l'émulation Hector sur Mess puis l'emulation du lecteur de disquette ou là c'est des kilométres de listing de rom, de boot loader et de cp/m à dessassembler qui m'attendais !
Niveau : Je dirais au dessus de débutant mais pas plus.
Oups : j'oubliais j'ai également fais un programme avec des modules : ASM / PLM / PASCAL pour x86 en début 90!
Avatar de l’utilisateur
jfg
Messages : 245
Inscription : 22 mars 2011 16:28
Localisation : Région parisienne

Re: Qui sait programmer en Assembleur ?

Message par jfg »

Carl a écrit :pour en savoir plus sur Eclipse et Nova et utiliser des simulateurs :
http://simh.trailing-edge.com/nova.html
http://simh.trailing-edge.com/
Là j'aurais plus de mal à en avoir un vrai à la maison...
Avatar de l’utilisateur
jfg
Messages : 245
Inscription : 22 mars 2011 16:28
Localisation : Région parisienne

Re: Qui sait programmer en Assembleur ?

Message par jfg »

Carl a écrit :pour en savoir plus sur Eclipse et Nova et utiliser des simulateurs :
http://simh.trailing-edge.com/nova.html
http://simh.trailing-edge.com/
Super ton lien, j'ai même retrouvé une photo de la console d'un Eclipse... On programmait aussi aux clés dans les cas graves (boucle incontrôlée par exemple), ou pour booter le monstre. A l'époque, un disque de 20 Mo prenait la place d'un lave linge!!! Le seul truc qui me chagrinait, c'est qu'il fallait passer en octal, moins naturel que l'hexa quand même.
Image
Avatar de l’utilisateur
Eric_80
Messages : 184
Inscription : 31 mars 2011 16:52

Re: Qui sait programmer en Assembleur ?

Message par Eric_80 »

jfg a écrit :Le seul truc qui me chagrinait, c'est qu'il fallait passer en octal, moins naturel que l'hexa quand même.
Sympa l'octal! :D C'est le système en base 8 en fait : (les chiffres vont de 0 à 7 seulement)

Donc pour convertir un nombre octal en nombre décimal (base 10) :

Je prends d'abord les puissances de 8: 8^3=512; 8^2=64; 8^1=8; 8^0=1;

Je pars du chiffre le plus à droite que je multiplie par 8 à la puissance 0, puis je décale vers la gauche en incrémentant les puissances:

136 (en octal) = (1x64)+ (3x8)+ (6x1) = 94 en décimal

1472 (en octal) = (1x512)+ (4x64)+ (7x8)+ (2x1) = 826 en décimal

Voilà, j'espère avoir été clair. Que ceux qui ont suivi convertissent par exemple : 1750 décimal => en octal. :mrgreen:
En faisant la démonstration et en expliquant la méthode.
Et sans utiliser de calculatrice, bien sûr...

p.s: Je donnerai la solution demain soir si personne ne trouve :wink:
Répondre