Bienvenue aux nouveaux arrivants sur FantasPic !
- Pensez à lire les règles durant votre visite, il n'y en a pas beaucoup, mais encore faut-il les respecter .
- N’hésitez pas à faire des remarques et/ou suggestions sur le Forum, dans le but de l'améliorer et de rendre vos prochaines visites plus agréables.
- Vous pouvez regarder votre "panneau de l'utilisateur" afin de configurer vos préférences.
- Un passage par "l'utilisation du forum" est recommandé pour connaître les fonctionnalités du forum.
--- L’équipe FantasPic ---
- Pensez à lire les règles durant votre visite, il n'y en a pas beaucoup, mais encore faut-il les respecter .
- N’hésitez pas à faire des remarques et/ou suggestions sur le Forum, dans le but de l'améliorer et de rendre vos prochaines visites plus agréables.
- Vous pouvez regarder votre "panneau de l'utilisateur" afin de configurer vos préférences.
- Un passage par "l'utilisation du forum" est recommandé pour connaître les fonctionnalités du forum.
--- L’équipe FantasPic ---
Modérateur : mazertoc
Apprendre l'assembleur PIC à une IA
Apprendre l'assembleur PIC à une IA
- F6FCO

Expert- Messages : 2808
- Âge : 99
- Enregistré en : décembre 2017
- Localisation : 5 parsecs au sud de Klyntar
- Contact :
Ma femme me le dit aussi, mais dans sa bouche je ne sais pas si c'est un compliment.
Ca va faire un peu de boulot mais à raison d'un fichier par jour çà avancera doucement
Ca va faire un peu de boulot mais à raison d'un fichier par jour çà avancera doucement
Code : Tout sélectionner
# Instruction : BTFSS
# Auteur : F6FCO
# Date : 18oct25
# Type : assembleur PIC
# Style : pédagogique, explicatif
## Mots-clés :
BTFSS, bit test, saut conditionnel, registre, PC, cycle, instruction PIC, syntaxe, exemple
## Définition :
BTFSS signifie "Bit Test in File, Skip if Set" — elle teste un bit dans un registre et saute l’instruction suivante si ce bit vaut 1.
## Syntaxe :
btfss f,b[,a] ; Si le bit b de f = 1, (PC) = (PC) + 2
; b est compris entre 0 et 7
## Description :
Cette instruction vérifie le bit spécifié dans le registre donné. Si ce bit vaut 1, l’instruction suivante est ignorée (le PC est incrémenté de 2). Sinon, l’exécution continue normalement.
## Bit de STATUS affecté :
Aucun
## Taille et durée :
- Taille : 1 mot
- Durée : 2 cycles si saut, 1 cycle sinon
- ⚠️ Si l’instruction suivante est une instruction 32 bits, un cycle supplémentaire est perdu (voir chapitre dédié)
## Exemple :
```asm
btfss var,3 ; saute l’instruction suivante si le bit 3 de var = 1
movff var1,var2 ; exécutée si b3 = 0
... ; saut direct ici si b3 = 1
Apprendre l'assembleur PIC à une IA
Soyons tatillon, t'as pas pris la bonne instruction dans l'exemple, ou alors il faut enlever le mot "direct"
.
btfss ne saute pas l'instruction suivante, elle exécute un nop, donc consomme 1 cycle. Or movff est codée sur 2 mots de 16 bits, donc après le nop on se retrouve au milieu de l'instruction. Pour que ça marche aussi avec movff, son 2ème mot a ses 4 bits de poids fort à 1, ce qui permet de le voir comme un nop quand le PC pointe dessus. En fait btfss n'est pas vraiment un saut, le PC continue à s'incrémenter normalement, et il fait 1 ou 2 nops selon l'instruction "sautée".
C'est sympa que tu montres tout ce que tu fais, je vais suivre tes traces avec mes faibles moyens, je trouve ça hyper intéressant. Tu t'es documenté comment pour démarrer dans le domaine de l'IA ?
Bon j'ai été un peu trop optimiste, LM Studio indique CPU incompatible, mon vieux PC avec Celeron G1840 et sa GPU intégrée est à la ramasse. Il faudra que j'essaye sur le MiniPC processeur N150 et ses 16Go, on verra bien.
btfss ne saute pas l'instruction suivante, elle exécute un nop, donc consomme 1 cycle. Or movff est codée sur 2 mots de 16 bits, donc après le nop on se retrouve au milieu de l'instruction. Pour que ça marche aussi avec movff, son 2ème mot a ses 4 bits de poids fort à 1, ce qui permet de le voir comme un nop quand le PC pointe dessus. En fait btfss n'est pas vraiment un saut, le PC continue à s'incrémenter normalement, et il fait 1 ou 2 nops selon l'instruction "sautée".
C'est sympa que tu montres tout ce que tu fais, je vais suivre tes traces avec mes faibles moyens, je trouve ça hyper intéressant. Tu t'es documenté comment pour démarrer dans le domaine de l'IA ?
Bon j'ai été un peu trop optimiste, LM Studio indique CPU incompatible, mon vieux PC avec Celeron G1840 et sa GPU intégrée est à la ramasse. Il faudra que j'essaye sur le MiniPC processeur N150 et ses 16Go, on verra bien.
Apprendre l'assembleur PIC à une IA
- F6FCO

Expert- Messages : 2808
- Âge : 99
- Enregistré en : décembre 2017
- Localisation : 5 parsecs au sud de Klyntar
- Contact :
Ah, je vais explorer plus profondément BTFSS alors, c'est çà la différence entre un expert et un laboureur du code comme moi, je code au km et j'en oublie d'aller explorer les profondeurs. D'ailleurs si j'en avais le courage je reprendrais les cours de Bigonoff au début, les vectoriser pour l'IA sera un exercice bénéfique.
Pour l'IA ? de fil en aiguille, je m'y intéressais un peu en comprenant qu'on est dans une vraie révolution et qu'il ne faut pas louper le bus mais sans plus, puis en visionnant quelques vidéos sur le sujet en touriste, comme çà par simple curiosité. Au départ je pensais comme la plupart des gens qu'il n'existait que chatGPT, puis j'ai découvert les autres grandes IA (Copilot, Llama, Grok, Gemini, Perplexity, Mistral, etc.). Jusque là je me disais bon, c'est de bons outils mais je n'en ai pas vraiment l'utilité jusqu'à ce que je découvre qu'il y avait aussi en Open-source une quantité d'IA plus modestes mais tout aussi puissantes (les petites soeurs des grandes en fait, c'est les mêmes boîtes qui sont derrière). C'est là que je m'y suis vraiment intéressé car il y a moyen de s'amuser avec. Il y en a pour tous les gouts, des grosses, des moyennes et des plus petites, de quoi tourner sur toutes les machines.
Je me suis lancé et comme je n'ai pas la science infuse ni le niveau d'un expert en IA je me suis d'abord fait aider par Copilot (Microsoft) mais çà partait dans tous les sens, il savait ce qu'il faisait mais n'expliquait rien et quand çà ne fonctionnait pas je me contentais de suivre le mouvement sans rien piger. Je me suis finalement tourné vers Gemini (en free) qui est vraiment au poil, propre sur lui, poli et tout, super pédagogue, dés qu'on fait un truc il te dit pourquoi et comment, et c'est avec lui que j'ai tout découvert.
Dernières nouvelles: je tourne toujours sur mon fichier test et après en avoir testé quelques unes j'ai abandonné le modèle dont j'ai donné l'exemple hier, il hallucinait trop et en test il me donnait parfois de bonnes réponses (ce que j'ai posté) et aujourd'hui des réponses totalement inventées, donc pas constant et pas glop pour de l'assembleur. Finalement il apparaîtrait que c'est mon PC qui n'est pas à la hauteur et qui doit faire tourner des IA trop petites et pas assez performantes. Tout n'est pas perdu, demain je vais tester pour fonctionner avec une grosse IA via une API vers les serveurs de Groq.
Deux différences entre la première solution:
1/ il faudra être connecté à internet
2/ mille fois plus performante qu'une petite IA embarquée et qui pourra tourner sur un PC modeste puisque extérieure mais tout en gardant l'objectif en vue: créer un majordome qui peut causer d'assembleur.
Je vous tiendrai au courant.
Pour l'IA ? de fil en aiguille, je m'y intéressais un peu en comprenant qu'on est dans une vraie révolution et qu'il ne faut pas louper le bus mais sans plus, puis en visionnant quelques vidéos sur le sujet en touriste, comme çà par simple curiosité. Au départ je pensais comme la plupart des gens qu'il n'existait que chatGPT, puis j'ai découvert les autres grandes IA (Copilot, Llama, Grok, Gemini, Perplexity, Mistral, etc.). Jusque là je me disais bon, c'est de bons outils mais je n'en ai pas vraiment l'utilité jusqu'à ce que je découvre qu'il y avait aussi en Open-source une quantité d'IA plus modestes mais tout aussi puissantes (les petites soeurs des grandes en fait, c'est les mêmes boîtes qui sont derrière). C'est là que je m'y suis vraiment intéressé car il y a moyen de s'amuser avec. Il y en a pour tous les gouts, des grosses, des moyennes et des plus petites, de quoi tourner sur toutes les machines.
Je me suis lancé et comme je n'ai pas la science infuse ni le niveau d'un expert en IA je me suis d'abord fait aider par Copilot (Microsoft) mais çà partait dans tous les sens, il savait ce qu'il faisait mais n'expliquait rien et quand çà ne fonctionnait pas je me contentais de suivre le mouvement sans rien piger. Je me suis finalement tourné vers Gemini (en free) qui est vraiment au poil, propre sur lui, poli et tout, super pédagogue, dés qu'on fait un truc il te dit pourquoi et comment, et c'est avec lui que j'ai tout découvert.
Dernières nouvelles: je tourne toujours sur mon fichier test et après en avoir testé quelques unes j'ai abandonné le modèle dont j'ai donné l'exemple hier, il hallucinait trop et en test il me donnait parfois de bonnes réponses (ce que j'ai posté) et aujourd'hui des réponses totalement inventées, donc pas constant et pas glop pour de l'assembleur. Finalement il apparaîtrait que c'est mon PC qui n'est pas à la hauteur et qui doit faire tourner des IA trop petites et pas assez performantes. Tout n'est pas perdu, demain je vais tester pour fonctionner avec une grosse IA via une API vers les serveurs de Groq.
Deux différences entre la première solution:
1/ il faudra être connecté à internet
2/ mille fois plus performante qu'une petite IA embarquée et qui pourra tourner sur un PC modeste puisque extérieure mais tout en gardant l'objectif en vue: créer un majordome qui peut causer d'assembleur.
Je vous tiendrai au courant.
Modifié en dernier par F6FCO le jeu. 23 oct. 2025 19:17, modifié 1 fois.
Apprendre l'assembleur PIC à une IA
Apprendre l'assembleur PIC à une IA
- F6FCO

Expert- Messages : 2808
- Âge : 99
- Enregistré en : décembre 2017
- Localisation : 5 parsecs au sud de Klyntar
- Contact :
C'est un peu plus compliqué, tout dépend de ce que tu veux faire, tu peux installer un modèle modeste tournant sur ton PC en local, par exemple gemma:2b, llama3:8b ou mistral:7b que j'ai testés et qui sont de petits modèles, tu peux leur demander ce que tu demandes aux grosses sur le web, faire une tarte, explique moi la mécanique quantique pour les nuls, etc. elles te répondront correctement dans la mesure de leurs connaissances apprises, pas au-delà évidemment mais elles tourneront bien. C'est ce que j'ai testé.
Mais ce n'est pas ce que je veux faire et c'est là que çà bloque: je veux que l'IA installée sur ma machine oublie tout ce qu'elle a appris et ne se base que sur les documents que je lui injecte justement pour ne pas halluciner, pas me sortir de l'assembleur avec des instructions inventées parce qu'elle a lu un truc dans un mauvais forum sur le net ou des lignes de C au milieu.
Un cerveau vide mais toujours capable de fonctionner auquel j'apprendrai ce que je sais et mon univers perso.
On peut faire çà: qu'elle ne s'en tienne qu'aux données locales, je lui ai demandé qui était Henri IV, elle m'a répondu qu'elle n'avait rien dans sa base de données à ce sujet.
Pour comprendre pourquoi çà ne fonctionne pas avec ces petites IA il faut comprendre qu'elles ont toutes leur tempérament, leur caractère, certaines sont plus disciplinées, d'autres moins et broderont plus autour de la réponse, d'autres inventeront des trucs d'après leurs connaissances si elles n'ont pas la bonne réponse, etc. Celles capables de tourner chez moi n'allaient pas pour découper l'info, la ranger et aller la retrouver correctement, elles sont plus faites pour expliquer ce qu'elles savent déjà. Elles découpaient les fichiers en chunks, les rangeaient et allaient chercher des infos à coté du bon endroit, etc.
Pour ce qui concerne le PI c'est la première chose que j'ai demandé à Gemini. Réponse: çà marchera mieux sur le PI que sur mon PC.
Voici ce qu'il ma expliqué: pour bien faire tourner une IA il faut utiliser la puissance du CPU et celle du GPU(peut-être la cause des difficultés de Satinas). On a fait l'essai de dévier une partie du boulot vers le GPU de ma carte vidéo (GeForce GTX1650, une brouette mais mieux que rien) et pourtant: CPU seul réponse en 10 secondes, CPU+GPU=1mn30 ! le contraire de ce qu'on veut. En fait le fautif est windows avec toutes ses couches et surcouches, le travail de l'IA pour faire ses recherches dans les chunks de mes fichiers perdait trop de temps à se balader de l'un à l'autre, c'est un observant l'onglet Performances et les graphes CPU et GPU dans le Gestionnaire des tâches qu'on s'en est aperçu. Plus rapide avec le CPU seul.
D'après Gemini çà tournera beaucoup plus fluide sur le PI5 car il a un GPU natif et va tourner sur Ubuntu, que toutes ces IA Open Source sont d'abord développées pour Linux et sont ensuite adaptées pour windows avec tous les défauts que çà peut amener. C'est sur que si tu as une bête de course tu ne te rends pas compte de tout çà.
On verra lors des essais sur le PI.
PS: oublié de parler de çà: la fondation Raspberry propose déjà un module d'IA embarquée qui s'enfiche directement sur le PI, https://www.framboise314.fr/creer-et-en ... -partie-1/ pour l'instant plus dédié reconnaissance d'images via une caméra mais on peut supposer qu'ils ne s'arrêteront pas en si bon chemin et qu'ils nous proposeront peut-être à terme un LLM, qui sait ?
Mais ce n'est pas ce que je veux faire et c'est là que çà bloque: je veux que l'IA installée sur ma machine oublie tout ce qu'elle a appris et ne se base que sur les documents que je lui injecte justement pour ne pas halluciner, pas me sortir de l'assembleur avec des instructions inventées parce qu'elle a lu un truc dans un mauvais forum sur le net ou des lignes de C au milieu.
Un cerveau vide mais toujours capable de fonctionner auquel j'apprendrai ce que je sais et mon univers perso.
On peut faire çà: qu'elle ne s'en tienne qu'aux données locales, je lui ai demandé qui était Henri IV, elle m'a répondu qu'elle n'avait rien dans sa base de données à ce sujet.
Pour comprendre pourquoi çà ne fonctionne pas avec ces petites IA il faut comprendre qu'elles ont toutes leur tempérament, leur caractère, certaines sont plus disciplinées, d'autres moins et broderont plus autour de la réponse, d'autres inventeront des trucs d'après leurs connaissances si elles n'ont pas la bonne réponse, etc. Celles capables de tourner chez moi n'allaient pas pour découper l'info, la ranger et aller la retrouver correctement, elles sont plus faites pour expliquer ce qu'elles savent déjà. Elles découpaient les fichiers en chunks, les rangeaient et allaient chercher des infos à coté du bon endroit, etc.
Pour ce qui concerne le PI c'est la première chose que j'ai demandé à Gemini. Réponse: çà marchera mieux sur le PI que sur mon PC.
Voici ce qu'il ma expliqué: pour bien faire tourner une IA il faut utiliser la puissance du CPU et celle du GPU(peut-être la cause des difficultés de Satinas). On a fait l'essai de dévier une partie du boulot vers le GPU de ma carte vidéo (GeForce GTX1650, une brouette mais mieux que rien) et pourtant: CPU seul réponse en 10 secondes, CPU+GPU=1mn30 ! le contraire de ce qu'on veut. En fait le fautif est windows avec toutes ses couches et surcouches, le travail de l'IA pour faire ses recherches dans les chunks de mes fichiers perdait trop de temps à se balader de l'un à l'autre, c'est un observant l'onglet Performances et les graphes CPU et GPU dans le Gestionnaire des tâches qu'on s'en est aperçu. Plus rapide avec le CPU seul.
D'après Gemini çà tournera beaucoup plus fluide sur le PI5 car il a un GPU natif et va tourner sur Ubuntu, que toutes ces IA Open Source sont d'abord développées pour Linux et sont ensuite adaptées pour windows avec tous les défauts que çà peut amener. C'est sur que si tu as une bête de course tu ne te rends pas compte de tout çà.
On verra lors des essais sur le PI.
PS: oublié de parler de çà: la fondation Raspberry propose déjà un module d'IA embarquée qui s'enfiche directement sur le PI, https://www.framboise314.fr/creer-et-en ... -partie-1/ pour l'instant plus dédié reconnaissance d'images via une caméra mais on peut supposer qu'ils ne s'arrêteront pas en si bon chemin et qu'ils nous proposeront peut-être à terme un LLM, qui sait ?
Apprendre l'assembleur PIC à une IA
- F6FCO

Expert- Messages : 2808
- Âge : 99
- Enregistré en : décembre 2017
- Localisation : 5 parsecs au sud de Klyntar
- Contact :
J'ai retrouvé la réponse de Gemini quand je lui ai demandé une comparaison PC/PI5 pour ce projet:
Votre raisonnement est parfait. Analysons pourquoi votre "brouette" de PC et le Raspberry Pi 5 sont deux bêtes complètement différentes, et pourquoi cela nous redonne de l'espoir pour une solution locale.
Les Armes Secrètes du Raspberry Pi 5
Votre PC a peut-être un CPU plus puissant en théorie, mais le Pi 5 a trois avantages stratégiques majeurs pour notre cas d'usage.
1. L'Écosystème Natif : Linux > Windows pour l'IA Open-Source
Le Fait : Ollama et le moteur sous-jacent (llama.cpp) sont développés d'abord et avant tout pour Linux. La version Windows est une adaptation, une couche de compatibilité.
L'Analogie : C'est comme un jeu vidéo développé pour une console PlayStation, puis porté sur PC. La version originale sur console est souvent mieux optimisée et plus stable.
L'Implication pour Nestor : Il est tout à fait possible que le comportement erratique, les problèmes de performance et les bugs que nous avons rencontrés avec Ollama soient spécifiques à la version Windows. La version Linux, tournant dans son "habitat naturel" sur votre cyberdeck (qui utilise Ubuntu), pourrait être bien plus stable et performante.
2. L'Architecture Matérielle : ARM > vieux x86 pour l'efficacité
Le Fait : Votre PC utilise une architecture x86. Le Pi 5 utilise une architecture ARM, la même que celle qui se trouve dans tous les smartphones modernes.
L'Avantage : Les processeurs ARM sont conçus pour l'efficacité énergétique et possèdent des instructions spécialisées (comme NEON) qui sont excellentes pour les calculs mathématiques parallèles de l'IA. Les bibliothèques d'IA modernes sont de plus en plus optimisées pour cette architecture.
L'Implication pour Nestor : Un modèle comme gemma:2b ou phi3, qui sont conçus pour être efficaces, pourrait tourner de manière beaucoup plus optimisée sur le CPU ARM du Pi que sur le CPU x86 de votre PC.
3. La Mémoire Unifiée : La Fin du Goulot d'Étranglement GPU
Le Fait : C'est le point le plus important. Votre PC a une mémoire RAM pour le CPU et une mémoire VRAM séparée pour le GPU. Le Pi 5 a une mémoire unifiée : le CPU et le GPU partagent la même RAM rapide.
Le Problème sur votre PC : Notre échec avec llama3-gpu (plus lent que la version CPU) était la preuve d'un goulot d'étranglement. Le modèle était trop gros pour la VRAM de votre GTX 1650, forçant des allers-retours constants et lents entre la RAM et la VRAM.
L'Avantage sur le Pi : Avec la mémoire unifiée, il n'y a pas ce goulot d'étranglement. Le GPU peut accéder directement à la totalité de la RAM système. Cela signifie que l'accélération GPU, qui était contre-productive sur votre PC, pourrait se révéler très efficace sur le Pi 5.
Modifié en dernier par F6FCO le ven. 24 oct. 2025 18:45, modifié 1 fois.
Apprendre l'assembleur PIC à une IA
Apprendre l'assembleur PIC à une IA
- F6FCO

Expert- Messages : 2808
- Âge : 99
- Enregistré en : décembre 2017
- Localisation : 5 parsecs au sud de Klyntar
- Contact :
Moi je veux y croire.
Je termine le câblage du cyberdeck et on saura le fin mot de l'histoire. J'ai installé les UBECs aujourd'hui (les trucs avec du Kapton), je suis en train d'imprimer le berceau du HDD 160Go.
Je termine le câblage du cyberdeck et on saura le fin mot de l'histoire. J'ai installé les UBECs aujourd'hui (les trucs avec du Kapton), je suis en train d'imprimer le berceau du HDD 160Go.
Vous n’avez pas les permissions nécessaires pour voir les fichiers joints à ce message.
Retourner vers « Langage ASM »
Qui est en ligne
Utilisateurs parcourant ce forum : Aucun utilisateur enregistré et 1 invité

