
données est affichée et Code Memory lorsque la mémoire de code est affichée. Les 127 premiers
octets de la mémoire de code sont affichés. Pour afficher une autre zone de mémoire de code,
entrez l'adresse de départ dans la case bleue. Les 127 octets à partir de l'adresse de départ seront
alors affichés. Encore une fois, comme pour la mémoire de données, l'adresse spécifiée dans la
zone d'adresse bleue peut être modifiée en entrant une valeur dans la zone de valeur .
Cependant, il convient de noter que cela entraînera une différence entre le code machine et le
programme d'assemblage. Dans l'image ci-dessus, le code d'assemblage qui a généré le code
machine (tel qu'affiché dans la mémoire de code) peut être vu sur la droite. Fréq. L'utilisateur
peut choisir de parcourir un programme (en exécutant une seule instruction par étape) ou
d'exécuter le programme en continu. Lors de l'exécution d'un programme, la vitesse à laquelle
l'écran se met à jour est déterminée par le réglage dans
Update Freq. menu.
Utilisation de la fréquence de mise à jour. menu déroulant, l'utilisateur peut choisir la fréquence de
mise à jour de l'écran. Les choix sont : mettre à jour l'écran après chaque instruction exécutée, après
100, 1000, 10 000 ou 50 000 instructions exécutées.
Ou, si aucune de ces options n'est appropriée, l'utilisateur peut saisir un nombre, puis appuyer sur
Entrée .
La fréquence de mise à jour peut être modifiée pendant l'exécution du programme d'un utilisateur.
Le panneau de code d'assemblage
Un programme d'assemblage simple est affiché dans le panneau de code
d'assemblage à gauche. Ce programme s'exécute en boucle continue, affichant
les chiffres de 0 à 9 et retour à 0 sur le premier affichage à 7 segments. Un
instantané de son exécution est affiché à droite.
Lorsque l'arrière-plan de la zone de texte du code d'assemblage est blanc, il est modifiable. Le
programmeur peut écrire du code directement ici, ou peut charger un programme à partir d'un
fichier en utilisant le bouton Charger (traité dans la section suivante).
Lorsque le programme est prêt à être testé, l'utilisateur peut soit cliquer sur le bouton Assm pour
exécuter les instructions une par une, soit sur le bouton Exécuter pour exécuter le programme en
continu. Dans tous les cas, le programme sera d'abord assemblé. Si une erreur dans le code est
découverte, un message s'affiche dans la boîte de message au-dessus du code d'assemblage (avec
un fond rouge) et la ligne avec l'erreur est mise en surbrillance dans le code en rouge.
Si le code s'assemble sans erreur, Assm est remplacé par Step , le fond de la zone de texte devient
gris clair. Le code ne peut pas être modifié à ce stade.
Si vous souhaitez revenir à l'édition de votre code, cliquez simplement sur le bouton Réinitialiser
. La fenêtre du code source est un peu petite ? Lisez à propos du débloqueur du volet source ci-
dessous.
Déverrouillage du volet source Le simulateur a été conçu pour que tout soit visible à l'écran en
même temps - les registres internes, le code source, les périphériques, etc. Cependant, cela signifie
que le volet de code est assez petit. Mais il peut être étendu. En savoir plus .
Charger et enregistrer L'utilisateur peut écrire du code directement dans la zone de texte
lorsqu'elle est en mode édition, ou un programme existant peut être chargé à partir d'un fichier à
bouton Charger . De même, le code dans la zone de texte peut être enregistré dans un
fichier à l'aide du bouton
Enregistrer .
Deux types de fichiers sont gérés. Le premier est en texte brut . Les programmes d'assemblage
sont enregistrés sous forme de fichiers en texte brut (souvent appelés texte uniquement) et
généralement avec l'extension de fichier
.a ou .asm . Par défaut, c'est le format utilisé lors de
l'enregistrement de votre code source dans le simulateur EdSim51.
L'autre type de fichier est Intel HEX. L'utilisateur peut choisir
d'enregistrer un fichier au format HEX en choisissant Intel HEX Files
dans le menu
Files of Type: de la boîte de dialogue Save. En savoir plus sur le
chargement et l'enregistrement des fichiers Intel HEX .
Pour rendre le simulateur plus convivial, le dernier répertoire accédé (soit en chargeant un
fichier, soit en enregistrant un fichier) sera mémorisé.
Par conséquent, la prochaine fois que
l'utilisateur ouvrira une boîte de dialogue de fichier en cliquant sur les boutons
Charger ou
Enregistrer , la boîte de dialogue s'ouvrira automatiquement dans le dernier répertoire visité.
Copier et coller Vous pouvez sélectionner du code dans la zone de texte de l'assemblage et le
copier dans le presse-papiers du système à l'aide du bouton Copier , comme vous le feriez dans
votre package de traitement de texte.
Celui-ci peut ensuite être collé ailleurs dans la zone de texte
de l'assemblage, à l'aide du bouton Coller (si la zone de texte est modifiable - fond blanc - si ce
n'est pas le cas, cliquez sur Réinitialiser ). Ou vous pouvez coller le texte sélectionné dans une
autre application (telle que votre traitement de texte). De même, vous pouvez copier du texte à
partir d'une autre application et le coller dans la zone de texte de l'assemblage.
Quelques notes
sur l'assembleur L'assembleur en 2 passes avec le simulateur EdSim51 n'est pas un assembleur
à part entière. Il ne lie pas plusieurs fichiers et seules certaines des directives auxquelles vous
pourriez vous attendre sont implémentées.
Cependant, je pense qu'il est suffisant pour le débutant.
Vous trouverez ci-dessous une liste de ses fonctionnalités :
Toutes les instructions 8051 sont implémentées, à l'exception des instructions
MOVX , car le
simulateur ne gère pas la mémoire externe.
équivaut à SJMP rel ou AJMP rel . LJMP rel doit être programmé explicitement.
De même, CALL équivaut à ACALL . LCALL doit être programmé explicitement.
Les directives SET et EQU sont implémentées.
ORG est implémenté.
La directive USING (indique quelle banque de registres est utilisée) est implémentée.