\documentclass[12pt]{article}

\usepackage[utf8]{inputenc}
\usepackage[margin=2cm]{geometry}
\usepackage{graphicx}

\title{Howework 7 -- Computer Architecture}
\author{Claudio Maggioni \and Tommaso Rodolfo Masera}

\begin{document}
\maketitle
\section{Question 1}
Please find our solutions in the file \verb|mighty_excel_spreadsheet.ods|.

\section{Question 2}
Please find our solutions in the file \verb|mighty_excel_spreadsheet.ods|.

\section{Question 3}
\subsection{Question 3.1}

\paragraph{Prefix Notation:}

$(-\hspace{5px}(/ \times A\hspace{5px}(+\hspace{5px}B\hspace{5px}C))\hspace{5px}D)\hspace{5px}E)$

\paragraph{Postfix Notation:}

$(((A\hspace{5px}(B\hspace{5px}C\hspace{5px}+)\hspace{5px}\times)\hspace{5px}D\hspace{5px}/ )\hspace{5px}E\hspace{5px}- )$

\subsection{Question 3.2}
The outputs \emph{N} and \emph{Z} are used for conditional branching for instructions such as IFEQ, IFLT and IF\_ICMPEQ. 
The microcode for these instructions would probably use the JAMZ and JAMN bits to determine the next microinstruction to execute. 
For example, IFEQ would subtract from the value in the topmost element in the stack the value below in order to trigger the \emph{Z} bit.
If the two values are equal, then \emph{Z} is set and, if the most significant value of NEXT\_ADDRESS is 0 and the JAMZ bit is set, the control store would load the microinstruction at $NEXT\_ADDRESS + 256$.
Otherwise, the control store would load the microinstruction at NEXT\_ADDRESS.

\subsection{Question 3.3}
Please find our solution in the attached \texttt3.3.circ Logisim file.


\begin{figure}[h]
\centering
\includegraphics[width=0.8\textwidth]{3-3.png}
\caption{The High Bit component of the MIC-1}
\end{figure}

\end{document}