\documentstyle{book}\pagestyle{empty}

\textheight 250mm
\textwidth 130mm
%\hoffset -22mm
\voffset -24mm

\begin{document}\pagestyle{empty}
\noindent
\begin{tabular}{l c r}
\hline
Institut Galil\'ee - Universit\'e Paris 13  & \qquad\qquad  & Informatique\\
DEUG STPI 1\`ere ann\'ee     & \qquad\qquad & Semaine du 18 octobre 1999\\
\hline
\end{tabular}



\bigskip\bigskip

\begin{center}
{\Large  TP2}\\
{Un langage simple pour un processeur simplissime : MAMIAS}
\end{center}

\bigskip\bigskip
{\large Prol\'egom\`enes\footnote{prol\'egom\`enes (masculin pluriel, du grec $\pi\rho o
\lambda\epsilon\gamma$\'o$\mu \epsilon\nu\alpha$) = avant-propos}. Fonctionnement.}

\bigskip\bigskip
MAMIAS est un langage illustrant le codage des instructions pour un
proces\-seur ``simple'' (confer TD 2 sur les cycles d'ex\'ecutions).
Un programme MAMIAS est une suite de mots de 8 bits,
les trois premiers bits codant l'instruction, les 5 suivants codant
une valeur.
On rappelle le tableau suivant
\bigskip


\begin{tabular}{|l|l|l|}
\hline
000 & INIT $x$ & Acc$\leftarrow x$\\
\hline
001 & CHARGE $n$ & Acc$\leftarrow (n)$\\
\hline
010 & RANGE $n$ & $(n)\leftarrow$ Acc\\
\hline
011 & ET $n$ & Acc $\leftarrow$ Acc ET $(n)$ (op\'eration binaire)\\
\hline
100 & SAUTE $n$ & si Acc$=0$ alors aller \`a l'adresse $n$\\
\hline
101 & ADD $n$ & $(n) \leftarrow$ Acc$+(n)$\\
\hline
110 & DEC $x$ & \begin{minipage}{7cm} d\'ecale le contenu de Acc de $x$ positions:\\
-vers la gauche si $x\geq 0$\\
-vers la droite si $x<0$\\
\qquad
\end{minipage}\\
\hline
111 & STOP & arr\^ete l'ex\'ecution \\
\hline
\end{tabular}

Ces quelques commandes (les ``briques'' de base) permettent 
de simuler tous les programmes (si on fait abstraction de la
limitation de MAMIAS \`a 32 cases ou ``mots'' m\'emoires). 
Le contenu de la case num\'ero $n$ est not\'e $(n)$.

\bigskip\bigskip
{\large Exercice 1. Compr\'ehension.}

\bigskip\bigskip

Utilisez MAMIAS.exe pour d\'eterminer ce que contiennent
l'accumulateur et le mot m\'emoire (5) apr\`es ex\'ecution des
instructions suivantes\\
\noindent
0:\qquad 00000011\\
1:\qquad 01000101\\
2:\qquad 00011101\\
3:\qquad 10100101\\
4:\qquad 11100000\\

\bigskip\bigskip
{\large  Exercice 2. Programmation.}
\bigskip\bigskip

a. \'Ecrivez un programme MAMIAS qui teste le signe de la donn\'ee
cod\'ee dans le mot m\'emoire (9). Ce programme doit coder la valeur 1
dans le mot m\'emoire (10) si (9) est positive ou nulle  et 0 sinon.


\bigskip\bigskip
b. \'Ecrivez un programme qui r\'ealise la soustraction entre donn\'ee
cod\'ee dans le mot m\'emoire (10) et celle cod\'ee dans le mot
m\'emoire (11) (on suppose que cette valeur est positive ou nulle).
Le r\'esultat doit \^etre cod\'e dans le mot m\'emoire (12).

\bigskip

\end{document}



