L'émulateur/assembleur M68000 pour PC
Téléchargez le système x68k et lisez attentivement les quelques
paragraphes de cette page pour mieux connaître la façon de l'installer
et de l'utiliser.
Téléchargez ce fichier : x68k.zip
Le fichier x68k.zip contient à la fois l'assembleur et l'émulateur du
processeur M68000 fonctionnant sur machine PC (MS-DOS). Il contient
aussi quelques exemples et une documentation sous format texte. Ce
système vous permet d'écrire des programmes assembleurs M68000 et de
les exécuter sur un PC. Il n'a pas d'interface visuelle avancée, mais
il est relativement simple à utiliser.
Pour l'installer sur votre machine, téléchargez le fichier x68k.zip et
décompressez-le à l'aide de l'un des compresseurs/décompresseurs zip
(pkzip, winzip, etc.). Dans la plupart des cas, un simple double
clique sur l'icône du fichier le décompressera. Assurez-vous de créer
un répertoire pour contenir seulement le fichier x68k.zip pour ne pas
mélanger les fichiers qui seront créés avec d'autres fichiers.
Une fois décompressé vous avez trois fichiers exécutables,
c'est-à-dire des programmes MS-DOS : X68k.exe,
E68k.exe et S68k.exe. Ce sont des programmes à
utiliser au niveau MS-DOS, il ne faut donc PAS double-cliquer ces
programmes dans Windows pour les exécuter. Pour exécuter l'un de ces
programmes, vous devez ouvrir une fenêtre DOS, et à partir de la ligne
de commande tapez le nom du programme à exécuter.
Le programme X68k
permet d'assembler un programme assembleur, c'est donc l'assembleur! ;
il produit un fichier .bin. Le programme E68k permet
d'exécuter votre programme assemblé, le fichier .bin ; c'est
donc l'émulateur. L'émulateur n'a pas une interface visuelle à la
Windows ; c'est un programme MS-DOS simple. Lire la
documentation dans le fichier 68k.doc (c'est un fichier
texte). Une partie de la documentation se trouve dans
l'émulateur. Démarrez l'émulateur (dans une fenêtre MS-DOS) et tapez
help.
L'émulateur peut faire des entrées-sorties simples à l'aide de
l'instruction trap #15. Entre autres, il est possible de lire et
d'écrire des nombres décimaux. Une fois dans l'émulateur, tapez
help trap#15 pour une explication des entrées-sorties. Il
est aussi possible de simplement lire le contenu du fichier
E68khlp.dat qui contient le texte complet de l'aide en ligne.
Téléchargez ce fichier : x68k.zip
Voici la liste des fichiers contenu dans x68k.zip (une fois décompressé) :
Taille Date de création Nom
19844 May 21 1995 68K.DOC
290 May 21 1995 A68K.BAT
967 Sep 27 1995 A68K.PIF
2399 May 21 1995 BIG-AL.DOC
242 Oct 3 1995 DEMO1.BIN
1724 Apr 25 1995 DEMO1.X68
1261 Apr 25 1995 DEMO2.X68
1140 May 21 1995 DEMO3.X68
1137 May 21 1995 DEMO4.X68
91920 May 21 1995 E68K.EXE
13048 May 22 1995 E68KHLP.DAT
2842 Oct 3 1995 README.TXT
13312 May 22 1995 RELNOTES.DOC
7488 May 21 1995 S68K.EXE
180 May 25 1995 SMARTCHK.CPS
545 Jun 16 1995 X68.PIF
55648 May 21 1995 X68K.EXE
Conseils et remarques sur l'utilisation de x68k
L'assembleur x68k
- x68k.exe est un programme DOS, il faut l'exécuter dans une
fenêtre DOS.(Donc pas de double-clique sur ce fichier pour l'exécuter.)
- Les fichiers sources contenant les programmes doivent avoir l'extension
.x68.
- La première directive de votre programme devrait être org
$400 pour débuter l'assemblage du programme à cette
adresse. L'assembleur génère du code non relogeable, c'est-à-dire que
les adresses des opérandes ne sont pas relatives au registre a5 comme
pour MAS 2.0. Nous avons donc le plein contrôle de l'emplacement des
instructions et données dans la mémoire réelle (évidemment qui est
émulée!).
- La dernière directive de votre programme doit être end
avec une étiquette spécifiant le point d'entrée de votre programme
(c'est-à-dire la première instruction à exécuter au chargement de
votre programme).
- L'assembleur ne tolère pas les caractères accentués dans le fichier
source .x68.
- Pour connaître les sous-routines disponibles pour faire des
entrées/sorties consultez trap #15. (Dans l'émulateur e68k
(voir la section suivante) tapez help trap#15 (il n'y a pas
d'espace entre le p et le #) pour avoir cette documentation.)
- L'assembleur refuse d'avoir des constantes élevées en binaire pur ;
e.g. dans l'instruction move.w #40000,d0 la valeur 40000
est considérée trop élevée pour 16 bits. Il faut alors la coder
en hexadécimal ou en utilisant le truc de la coder négativement,
c'est-à-dire par l'expression -(65536-40000). Ainsi l'instruction
move.w #-(65536-40000),d0 sera acceptée et fera
exactement la même chose que move.w #40000,d0.
- Il n'y a pas de directive data pour les données globales
comme pour le MAS 2.0. Il suffit d'employer les directives ds,
dc, dcb directement vers la fin du programme pour déclarer des
étiquettes globales pour les données et variables globales.
L'émulateur e68k
- Il faut utiliser e68k au niveau DOS.
- Démarrer l'émulateur en spécifiant le nom du programme à charger:
e68k exemple. Cette commande démarre l'émulateur en chargeant
le fichier exemple.bin. (Vous devez préalablement avoir
généré exemple.bin en utilisant l'assembleur x68k. Voir
la section précédente.)
- Pour connaître les commandes disponibles tapez help.
- Une fois dans l'émulateur, il suffit de taper la commande
go pour démarrer l'exécution du programme. Notez qu'une fois
le programme arrêté, le PC (compteur ordinal du programme) se trouve
après la dernière instruction exécutée. Pour redémarrer l'exécution il
faudrait faire go 400 qui démarre à l'instruction à l'adresse
40016. (Ici je suppose que le point d'entrée de votre
programme est à cette adresse.)
- La commande tr 1 permet de tracer l'exécution du
programme une instruction à la fois. Une fois la commande entrée, il
suffit de presser la touche return pour exécuter l'instruction
suivante. C'est donc le debugger en action! Vous pouvez alors voir le
contenu des registres et les bits NZVC. Outil très utile
pour mieux voir les erreurs de programmation.