Litessera Lux

Chapitre 1

Premiers pas avec Litessera Lux

Regarder surYouTube

Ce premier épisode propose une introduction rigoureuse aux concepts fondamentaux du langage d'assemblage RISC-V. Afin d'illustrer la théorie de manière concrète, nous exploitons l'environnement Litessera Lux tout au long des explications. La vidéo commence par une présentation des principes de cet outil et de la façon dont il facilite l'analyse du code. Nous examinons ensuite la méthode employée pour définir une variable directement au sein de la section d'instructions. L'exercice se concentre finalement sur les opérations de manipulation, notamment le chargement de l'adresse d'une valeur spécifique, afin d'observer en détail son stockage et son allocation exacte dans la mémoire du système.

Je viens d'apprendre que le monde de la tech en France utilise 'octets' plutôt que 'bytes' pour éviter certains malentendus phonétiques.

Sujets abordés

Introduction à RISC-V et à Litessera Lux

  • RISC-V est une architecture de jeu d'instructions (ISA) ouverte et libre. Contrairement aux architectures propriétaires comme x86 ou ARM, elle permet de concevoir et d'étudier des processeurs sans payer de licence.
  • Le tutoriel utilise Litessera Lux, un simulateur RISC-V exécuté directement dans le navigateur. Aucune installation ni configuration complexe n'est nécessaire, contrairement aux outils hors ligne classiques.
  • Lux propose des références intégrées et des leçons visuelles sur les concepts fondamentaux (mathématiques, mémoire, matrices) et prend en charge plusieurs langues.

Fonctionnalités du simulateur

  • Chaque projet se gère directement dans le navigateur, avec la possibilité d'exécuter le code en continu, instruction par instruction, ou en arrière.
  • Pour illustrer les capacités de l'environnement, un jeu de simulation de combat fonctionnel est présenté, tournant directement sur la plateforme.

Mécanismes fondamentaux de l'assembleur

  • Sections de données : la leçon explique comment déclarer des variables globales dans la section data, en assignant une taille de 4 octets et une valeur de 4 à une variable.
  • Adresses et valeurs : en assembleur, le nom d'une variable représente un emplacement mémoire, pas la donnée elle-même. L'instruction la (load address) est présentée comme le moyen de charger cette adresse physique dans un registre du processeur.
  • Structure d'un programme : chaque programme nécessite une déclaration start obligatoire pour démarrer l'exécution.
  • Concepts binaires et chargement de valeurs : après un aperçu de la structuration des nombres en binaire, le tutoriel montre comment extraire la valeur réelle depuis l'adresse mémoire vers un nouveau registre, à l'aide de la syntaxe de décalage (offset).
  • Logique séquentielle : le tutoriel rappelle la règle stricte selon laquelle une adresse mémoire doit être chargée dans un registre avant que sa valeur puisse être lue, et note que le processeur exécute ces instructions séquentiellement, cycle par cycle.