Journal De la rigueur dans la programmation

57
5
fév.
2026

Le boulot des développeurs change constamment et pourtant l'histoire me semble se répéter. Dis-moi si toi aussi tu vois une constante émerger des outils qui suivent.

Assembleur

Connais-tu ce merveilleux langage qu'est l'assembleur ? C'est le premier langage de programmation. En assembleur il n'y a pas de type de donnée, ni même de code en fait. Tout n'est qu'octet, et encore si l'architecture utilise des octets.

L'assembleur c'est pénible. On ne comprend rien, toute l'information est dupliquée dans des commentaires (…)

« It works on my satellite » ou l'histoire d'un bug dans l'espace

Posté par  (Mastodon) . Édité par L'intendant zonard, Florent Zara, cli345, Benoît Sibaud, Jona et dcp. Modéré par Benoît Sibaud. Licence CC By‑SA.
71
10
jan.
2026
Technologie

Cette dépêche raconte un vieux bug que j’ai eu sur un satellite. L’identification, la reproduction, la correction. C’est le bug qui m’a le plus intéressé/marqué dans ma carrière (jusqu’ici), C’est pourquoi cela pourrait aussi vous intéresser.

L’appel

Il y a bien longtemps, dans une galaxie lointaine. Ah non, pardon. Un long weekend de 14 juillet, sur une plage, je reçois un coup de fil : « Un des satellites a rebooté, à cause d’une erreur logicielle, est-ce que tu es disponible pour venir comprendre ce qu’il s’est passé ? A priori, il fonctionne toujours, mais il est passé tout seul sur le calculateur redondant. »

Quelques mois avant, on avait lancé une première grappe de six satellites ; d’autres lancements sont prévus pour compléter une constellation dans les mois/années à venir. Comme tout marche bien depuis des mois, personne de l’équipe logiciel de bord n’est d’astreinte. Sur ces satellites, j’étais surtout sur la partie validation. En gros, ce jour-là pour moi, ce n’était pas possible, mais j’y suis allé le lendemain, un samedi ou dimanche.

Journal "It works on my satellite"

Posté par  (Mastodon) . Licence CC By‑SA.
142
3
déc.
2025

Ce journal raconte un vieux bug que j'ai eu sur un satellite. L'identification, la reproduction, la correction. C'est le bug qui m'a le plus intéressé/marqué dans ma carrière (jusqu'ici), et du coup peut être que ça vous intéressera aussi.

L'appel

Il y a bien longtemps, dans une galaxie lointaine. Ah non pardon. Un long weekend de 14 juillet, sur une plage, je reçois un coup de fil : "Un des satellites a rebooté, à cause d'une erreur logicielle, est-ce que (…)

Journal Microsoft libère le code de leur Basic pour le microprocesseur 6502

Posté par  (site web personnel) . Licence CC By‑SA.
22
4
sept.
2025

Le code est placé sous licence MIT. Il fait 6955 lignes d'assembleur 6502, commentaires compris. Ça donne un fichier de 158 ko. Un peu gros pour ce vénérable processeur qui ne pouvait adresser que 64 ko avec son bus d'adresse 16 bits.

L'annonce : https://opensource.microsoft.com/blog/2025/09/03/microsoft-open-source-historic-6502-basic/

Le github : https://github.com/microsoft/BASIC-M6502

Journal Uxn : un langage assembleur axé sur la frugalité

Posté par  . Licence CC By‑SA.
29
2
juil.
2022

Uxn est un écosystème applicatif complet, destiné au développement de petits outils et jeux, sous forme d'une machine virtuelle programmable dans un langage assembleur dédié (uxntal) et possédant seulement 32 instructions, sur le principe d'une machine forth, dont il garde d'ailleurs la syntaxe postpositionnée (postfix), la pile (stack) et la capacité de produire une solution à partir de composants simples et basiques.

Uxn peut être vu comme un processeur, et le reste des périphériques (audio, écran, clavier, souris) est géré (…)

Forum Programmation.c Code assembleur incorrect généré à partir du code C (ARM Cortex-m3) ?

Posté par  . Licence CC By‑SA.
Étiquettes :
1
2
déc.
2021

Hello,

J'ai un problème avec un code assembleur généré par GCC à partir d'un code C.

J'essaie d'écrire un firmware minimal pour un microcontrôleur, le LPC1769.
Il utilise le processeur ARM Cortex-M3. Mon firmware est simple :
* Exécute une fonction nommée "reset()" lors de la réinitialisation du processeur
* Dans cette fonction, je déclare 3 variables locales : 3 pointeurs vers 3
différents registres, initialisés avec leur adresse
* Ensuite, j'écris une valeur dans chaque registre

Le problème:

Le (…)

Wiki Constructeurs de PC français

7
1
fév.
2021

Cette page, initialement créée par Nicolas Boulay suite à la lecture d'un journal, est dédiée aux assembleurs de PC en France.

La liste non-exhaustive est actuellement:

Est-ce que c'est de la pub ? Bonne question. Ce sont de petits constructeurs peu connus qui peuvent intéresser les geek qui fréquentent ce site, en dehors des (…)

Journal Aujourd'hui, je euggubed un programme dans GDB...

Posté par  . Licence CC By‑SA.
Étiquettes :
76
7
juil.
2019

Bonjour bonjour !

En ce moment, pour beaucoup de fun, je tente de bidouiller une grammaire générée avec flex et bison, en mode un peu "boite noire" (interdiction de modifier la grammaire d'origine, et à vrai dire je sais même pas quelle est la tronche exacte du fichier source, je joue avec libpg_query pour ceux que ça intéresse).
Mais quand on tombe sur une erreur, la backtrace est fort peu instructive :

#0  base_yyerror (base_yylloc=0x7fffffffc124, msg=0x5555555f5104 "syntax error", yyscanner=0x0) at
(…)