\chapter{Exemples de simulations}

Nous avons créé quelques exemples en assembleur dont voici les codes sources et l'exécution par le simulateur:

\section{Hello World 1: hello.s}
Nous commençons doucement par une petite procédure appelée plusieures fois.\\

hello.s:
\verbatiminput{../samples/hello.s}

Simulation:
\begin{verbatim}
$ ./hello
Simul v1.0


Performing initialisation...

 o Initialising the simulator...    Done!
Hello World!
Hello World!
Hello World!
Hello World!
Hello World!
Hello World!
Hello World!
Hello World!
Hello World!
Hello World!
 
Performing shutdown...
 
Exitting, bye!
\end{verbatim}

\section{Hello World 2: fichier1.s fichier2.s}
Pour montrer l'éditeur de liens, deux fichiers séparés.\\

fichier1.s
\verbatiminput{../samples/fichier1.s}

fichier2.s
\verbatiminput{../samples/fichier2.s}

Simulation:
\begin{verbatim}
$ ./helloworld 
Simul v1.0


Performing initialisation...

 o Initialising the simulator...    Done!
Hello World

Performing shutdown...

Exitting, bye!
\end{verbatim}

\section{Somme d'entiers: sommeentiers.s}
Un exemple simple, l'addition de quelques entiers.\\

sommeentiers.s
\verbatiminput{../samples/sommeentiers.s}

Simulation:
\begin{verbatim}
$ ./sommeentiers 
Simul v1.0


Performing initialisation...

 o Initialising the simulator...    Done!
La somme des 97 premiers entiers est égale à 4656

Performing shutdown...

Exitting, bye!
\end{verbatim}

\section{Recherche d'un caractère: rechcara.s}
Un exemple un peu plus complexe, nous cherchons un caractère dans une chaîne.\\

rechcara.s
\verbatiminput{../samples/rechcara.s}

Simulation:
\begin{verbatim}
$ ./rechcara 
Simul v1.0


Performing initialisation...

 o Initialising the simulator...    Done!
Le caractere 0x0D a été trouvé dans la chaine à l'index 26

Performing shutdown...

Exitting, bye!
\end{verbatim}

\section{Recherche de caractères identiques: recherche.s}
Un exemple avancé: nous recherchons le premier caractère identique entre deux chaînes.\\

recherche.s
\verbatiminput{../samples/recherche.s}

Simulation:
\begin{verbatim}
$ ./recherche 
Simul v1.0


Performing initialisation...

 o Initialising the simulator...    Done!
TAB1 et TAB2 ont un élément en commun à l'index 82

Performing shutdown...

Exitting, bye!
\end{verbatim}

\section{Relogement: testtout.s}
Cet exemple va montrer le mécanisme de relogement: il va charger tous les exemples précédents.\\

testtout.s:
\verbatiminput{../samples/testtout.s}

Simulation:
\begin{verbatim}
$ ./testtout 
Simul v1.0


Performing initialisation...

 o Initialising the simulator...    Done!
Exécution du programme numéro 0 appelé helloworld...
Hello World
Le programme s'est terminé!
Exécution du programme numéro 1 appelé hello...
Hello World!
Hello World!
Hello World!
Hello World!
Hello World!
Hello World!
Hello World!
Hello World!
Hello World!
Hello World!
Le programme s'est terminé!
Exécution du programme numéro 2 appelé sommeentiers...
La somme des 97 premiers entiers est égale à 4656
Le programme s'est terminé!
Exécution du programme numéro 3 appelé rechcara...
Le caractere 0x0D a été trouvé dans la chaine à l'index 26
Le programme s'est terminé!
Exécution du programme numéro 4 appelé recherche...
TAB1 et TAB2 ont un élément en commun à l'index 82
Le programme s'est terminé!
Tout est terminé, bye!

Performing shutdown...

Exitting, bye!
\end{verbatim}
