MSX Village forum

La Place des Développeurs Newbie en assembleur Les IA sont-elles fiables ?

Dumfrog Membre non connecté

Vagabond

Rang

Avatar

Inscrit le : 15/09/2012 à 12h26

Messages: 20

Le 22/03/2026 à 20h20
Bonsoir à tous,

Oui, je sais, je n'ai pas fait ma présentation (ou plutôt refait car j'étais déjà présent du temps du MSX Café et je suis même venu une fois ou deux chez JP en 2007-2008 pour les réunions d'alors, mais je me suis lassé de devoir la refaire après chaque putsch du tenancier de l'époque :p Promis je m'en occuperai prochainement :top

Quand j'ai eu mon MSX en 1985, j'avais 12 ans et je n'avais personne dans mon entourage pour m'expliquer l'assembleur. Je me suis contenté du Basic en déplorant le fait qu'animer deux sprites en même temps mettait ma machine en PLS.

Aujourd'hui, je me dis que l'IA devrait pouvoir me servir de super-professeur à domicile pour l'assembleur et j'ai jeté mon dévolu sur Claude, d'Anthropic, réputé plutôt bon en codage.

Bon, je connais le principe des LLM et je m'attendais à tout et à rien.

A l'arrivée, je suis plutôt content car j'ai appris des choses mais je voudrais l'avis de spécialistes concernant ma première collaboration avec Claude : le fameux "Hello world!".

Je vous rassure, je ne viendrai pas toutes les cinq minutes faire corriger du code, c'est juste pour juger de ce premier essai.

Donc Claudio commence par me dire : on va appeler une routine STROUT en #00A2 et elle affichera la chaine de caractère précédemment chargée en hl.

Code :
org #C000

START:
ld hl, MESSAGE
call #00A2
ret

MESSAGE:
db "HELLO, WORLD!", #0D, #0A, #00


Ça n'a jamais fonctionné...

Après moults essais (j'ai aussi un peu pataugé à créer un fichier lisible par OpenMSX), on en est arrivé à :

CHPUT equ $00A2

org $C000

START:
ld hl, MESSAGE
LOOP:
ld a, (hl)
or a
ret z
call CHPUT
inc hl
jr LOOP

MESSAGE:
db "HELLO WORLD!", $0D, $0A, $00


Qui fonctionne (avec une lecture de la phrase caractère par caractère donc).

Je voudrais juste savoir : est-ce que c'est comme ça que ça fonctionne l'affichage de texte basique ? Claude a-t-il raison ou est-ce le hasard de son système probabiliste qui l'a fait tomber sur cette solution alors qu'il existe beaucoup plus élégant ou fonctionnel ?

Merci d'avance pour votre éclairage, c'est pour savoir si je m'obstine avec l'IA ou s'il vaut mieux partir sur des sources plus conventionnelles (livres, forums, etc).


Sony HB-F700F/HB-F501F/PRN-C41/Nemesis 1 sous blister (!) + d'autres babioles
 
Site web    
aoineko Membre non connecté

Conseiller Municipal

Rang

Avatar

Groupe : Shoutbox

Inscrit le : 02/01/2011 à 21h17

Messages: 3182

Le 23/03/2026 à 20h20
Comment tu executes ton programme ?
Tu fais un fichier binaire que tu charges en RAM puis execute depuis le BASIC ?

Pour répondre à ta question, l'IA a inventé une fonction qui n'existe pas. Ou plutôt, elle utilisait mal une fonction qui existe et n'affiche qu'un seul caractère à l'écran.
La 2e proposition de l'IA elle est correcte.

Tant que tu arrives à détecter ses erreurs et que tu ne lui demande pas un travail, original, l'IA finira sûrement toujours par converger vers un programme fonctionnel.

Personnellement je préfère utiliser mon temps pour apprendre pour moi-même, plutôt que de passer du temps à comprendre les erreurs des IAs et les aider à s'améliorer. Mais bon, c'est a toi de voir. ^^

En tout cas, le BIOS du MSX est assez simple et bien documenté. Par exemple :
https://map.grauw.nl/resources/msxbios.php


On est toujours ignorant avant de savoir.
Github    
Répondre
Vous n'êtes pas autorisé à écrire dans cette catégorie