C'est moi!
Langage(s)
Objectifs : • Comprendre que l’assembleur est le meilleur ami de l’architecture • Les assembleurs peuvent être très différents • Programmer en assembleur n’est pas simple • Ne pas vous spécialiser sur un assembleur particulier
Comment : • Présentation de deux assembleurs différents (68000 et 8086) • Les idées de base en 68000 (8086) • Les subtilités en 8086 • En compilant et cross-compilant
INTRODUCTION
Le cours d’architecture a illustré la conception d’un microprocesseur avec pour outil de modélisation les FSM
( le mot placé dans IR (mot instruction) contient toute l’information sur le travail a accomplir (+ opérandes)
Comment éviter l’écriture directe du mot instruction + opérande (ex : 000E 323C 0002) pour coder un algorithme ?
( utilisation d’un mnémonique + opérandes réduisant l’effort de codage (ex : move.w #2,D1)
( le mnémonique + op n’est qu’une représentation différente de la même information
( le microprocesseur n’utilise que la première représentation, c’est l’opération d’assemblage qui traduit (c’est un compilateur qui génère un code du premier type) le code assembleur en code machine
L’ensemble (mnémonique + opérandes) constitue le langage ASSEMBLEUR
Rem : pour un même microprocesseur ( plusieurs langages assembleurs possibles (ils se distinguent surtout par les directives, macros …) (org 300), (a : ds.b 1), ( .data)
Des assembleurs pour des micropro.
Chaque architecture est spécifique (8 registres memReg[] pour PROCESSI) même dans la classe des CISC ( les assembleurs pour le 68000 et le 8086 seront vus car ils se distinguent par l’architecture sous-jacente
L’assembleur 68000
Il sert a modéliser la série 680XX en conservant une compatibilité ascendante. On trouve des différences aux niveaux du