\documentclass[12pt]{article}

\usepackage{amsmath}
\usepackage{amssymb}
\usepackage{a4}
\usepackage[french]{babel}

\renewcommand{\baselinestretch}{1}
 
\newcommand{\bm}[1]{\mbox{\boldmath $ #1 $ }}

\newcommand{\model}[1]{\mbox{\boldmath$#1$\unboldmath}}
\newcommand{\emmodel}[1]{\mbox{\em {\bf #1}}}
\newcommand{\vs}{\vspace$\ast${1cm}}
\newcommand{\hs}{\hspace{.25cm}}
\newcommand{\pp}{\vspace{6 mm}}
\newcommand{\ov}{\overline}

\newcommand{\N}{\mathbb N}
\newcommand{\Z}{\mathbb Z}
\newcommand{\Q}{\mathbb Q}
\newcommand{\R}{\mathbb R}
\newcommand{\C}{\mathbb C}

\sloppy

\begin{document}

\noindent
{Institut Galil\'ee \hfill DEUG STPI1 \\
Ann\'ee 1999-2000 \hfill D/'ecouverte}

\begin{center}
{\large T.D.~1}\\
Conversions binaire $\leftrightarrow$ d\'ecimal
\end{center}

Habituellement, on utilise la base 10 pour repr\'esenter les nombres, i.e. que l'on utilise 10 symboles distincts, les chiffres.\\

En base $b$, on utilise $b$ symboles. 
Notons $a_i$ la suite des chiffres utilis\'es pour \'ecrire un nombre 
$x = a_1a_2 \cdot a_0$.88

En d\'ecimal, $b = 10, a_i \in \{0, 1, ..., 9\}$\\

{\bf Instructions en MAMIAS}
$$\begin{tabular}{|l|l|l|}
\hline
code & mn\'emonique & signification \\
\hline \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 \mbox{Acc} + (n)$ \\
\hline
110 & DEC $x$ & d\'ecale le contenu de Acc de $x$ positions~: \\
    &         &  - vers la gauche si $x\geq 0$ \\
    &         &  - vers la droite si $x<0$ \\
\hline
111 & STOP & arr\^ete l'ex\'ecution. \\
\hline
\end{tabular}$$

\subsection*{Exercice 1. (Simulation d'ex\'ecution)}

\noindent Simulez l'ex\'ecution du programme contenu en m\'emoire dans la configuration ci-dessous. Vous d\'etaillerez les diff\'erentes \'etapes de chaque cycle d'ex\'ecution.
%\noindent \input{simul1.latex}

\subsection*{Exercice 2. (Simulation d'ex\'ecution)}

\noindent Simulez l'ex\'ecution du programme contenu en m\'emoire dans la configuration ci-dessous. Vous donnerez, pour chaque cycle d'ex\'ecution, l'instruction ex\'ecut\'ee ainsi que l'\'etat de la m\'emoire et des registres avant et apr\`es le cycle. Vous ne d\'etaillerez pas les diff\'erentes \'etapes de chaque cycle d'ex\'ecution. Indiquez l'op\'eration effectu\'ee par ce programme.
Ecrivez le programme permettant de calculer le carr\'e d'un nombre $n$ donn\'e.
\\
%\noindent \input{simul2.latex}

\subsection*{Exercice 3. (Changement de base)}

\subsubsection*{1)} Convertissez en base 2 les nombres suivants~:\\
$1_{10}, 10_{10}, 2_{10}, 255_{10}, 37_{10}$

\subsubsection*{2)} Convertissez en base 8 et en base 16 les nombres suivants~:\\
$13_{10}, 23_{10}, 15_{10}, 127_{10}, 129_{10}$

\subsubsection*{3)} Convertissez en base 2 et en base 10 les nombres suivants~:\\
$F0F_{16}, 31_{16}, 1FA_{16}, F11_{16}$

\subsubsection*{4)} Convertissez en base 8 et en base 16 les nombres de la question 1 \`a partir de leur repr\'esentation binaire.

\end{document}

