Table des matières

Sommaire "Bases d'algorithmique et de programmation"

Programmer en assembleur 6800 - 6811

[Mise à jour le : 9/10/2024] En cours de rédaction


1. Généralités

« Le 6800 est un microprocesseur 8 bits produit par Motorola et sorti peu de temps après l'Intel 8080 en 1975. La famille de processeurs 6800/6811 a alimenté l'explosion précoce de l'informatique domestique. Ses dérivés ont été les processeurs de choix pour de nombreux ordinateurs personnels, notamment Apple, Commodore64, Nintendo, etc., et de nombreuses consoles de jeux. Ses descendants directs sont encore largement utilisés aujourd'hui. »


2. Le simulateur SDK6800/6811

3. Langage d'assemblage et code machine

Le langage d’assemblage est un équivalent du langage machine pour lequel les chaînes binaires de l’instruction-machine sont remplacées par des mnémoniques alphanumériques plus aisément mémorisable et manipulable par un être humain. Un traducteur transforme ce langage vers le langage machine équivalent : c’est l’assembleur.

3.1 Organisation d'une ligne de code

Le code source d'un programme écrit en assembleur se décompose en champs de texte :

Exemple


3.2 Un premier programme étape par étape

☛ Ouvrez le simulateur SDK6800/6811 en cliquant sur

Opération à réaliser

v3 ← v1 + v2 # Les variables v3, v2 et v1 sont des octets, 0 ≤ vx10 ≤ 255

Directive d'assemblage

Les directives d’assemblage sont des pseudo-instructions : elles ne correspondent à aucune instruction-machine ; ce sont des ordres destinés à l’assembleur.
  1. Positionnement des variables dans la mémoire avec .org
    Positionnez les variables à partir de l’adresse 002016 dans la mémoire du simulateur comme ci-dessous. Le symbole $ signifie que la valeur qui le suit est en hexadécimal (base 16).
  2. Déclaraion et initialisation des variables
    La position des variables étant fixée, vous allez les identifier à l'aide d'une étiquette, les déclarer à l'aide de la directive .byte et les initialiser en leur affectant une valeur.
    Complétez le code comme ci-dessous dans le simulateur. Ajoutez v2 et v3.

Etiquette ou Label

Une étiquette ou label est une chaîne de caractères permettant de nommer une instruction ou une variable. Une étiquette correspond à une adresse dans le programme.