Cours de Microprocesseur, tutoriel & guide de travaux pratiques en pdf.
Assembleur
On distingue l’assembleur et le cross-assembleur. L’assembleur opère directement sur la machine (sur le 68000), tandis que le cross-assembleur opère sur une autre machine. Nous utiliserons un cross-assembleur, en composant nos programmes sur les TX, ce qui a l’avantage d’être plus souple.
Description du kit
Le kit se compose d’une carte CPU 68010 (10 MgHz) et de la carte manip. comprenant 8 interrupteurs + 8 diodes, 8 afficheurs 7 segments, un clavier hexadécimal, un CAN. En outre, on dispose d’une RAM de , et d’une ROM de associé au moniteur et permettant d’effectuer des opérations de debugage. On dispose également de l’interface // 68230 assurant la liaison avec la carte manip. et réalisant la fonction timer, d’une interface série 68564 assurant la liaison avec le TX, et de l’horloge temps réel RTC.
Utilisation du kit
Ouvrir un shell. Commencer par se reconnecter sur le serveur matho et lancer le moniteur au moyen de la commande tkit &.
A partir d’un éditeur, on compose des fichiers assembleur (extension .s) et un fichier de commande (extension .cmd) dirigeant l’édition de lien.
Pour la compilation, on commence par générer les fichiers objets (extension .o) à partir des fichiers assembleur grâce à la commande : asm68k fichier -l > fichier.l.
Puis on effectue l’édition de lien à partir du fichier de commande main.cmd par exemple: lnk68k -F S -c main.cmd -m > main.m.
Si tout se passe bien cett dernière opération fournit le fichier main.x qui est un exécutable au format Motorola. On le charge simplement dans la mémoire du kit au moyen de la commande lkit main.x.
L’exécution s’effectue par la commande GO starting_adress sous le moniteur.
Assembleur ligne
• instructions
– HE : help
– DU 1000 1030 : visualiser la zone mémoire entre $1000 et $1030 (dump)
– FI 1000 1030 41: remplissage de la zone mémoire avec 41(fill)
– TS : time set
– DT : display time
– OP 1000 : lecture, écriture (sous-fonction : = …, -, et Q)
– USP : user status pointer
– SSP : supervisor status pointer
– SR : status register
– PC = 1000 : modification directe des registres
– AS 1000 : assembleur en ligne (sous-fonction : et Q)
– DI 1000 1030 : désassemble le code machine à partir de l’adresse $1000 jusqu’à $1030
• pas à pas
– GO 1000 : exécution du programme à partir de l’adresse $1000
– ST : pas à pas (step)
– RE : affiche tous les registres
– DB : display all break points
– CB : clear all break points
– B0 = $1000 : création d’un point d’arrêt à l’adresse $1000
– B0 : efface le point d’arrêt B0
• plantage
Le reset ne réinitialise jamais la mémoire ! Il permet tout au plus d’arrêter le programme en cours. Dans le cas d’une boucle infinie, on peut reprendre la main, au moyen de la commande C-C, puis MCR>ABO.