\newpage
\section{Instructies: Spreken met een Computer}

\noindent Hieronder is over twee \textit{mind maps} hoofdstuk 2 verdeeld:\\

\begin{tikzpicture}[grow cyclic, text width=2.7cm, align=flush center,
    level 1/.style={level distance=2.5cm,sibling angle=72},
    level 2/.style={level distance=2cm,sibling angle=57},
    level 3/.style={level distance=3cm,sibling angle=45},
    level 4/.style={level distance=3cm,sibling angle=45},
    level 5/.style={level distance=3cm,sibling angle=45}]

\node{\textit{MIPS}-instructies}
	child { node {Operanden}
        child { node {32 Registers}}
        child { node {Data uit het geheugen}
        	child { node {$2^{30}$ woorden\\(32 bits)}}
            child { node {Alleen bereikbaar met \texttt{lw}- of \texttt{sw}-instructie}}
        }
    }
    child { node {Operaties}
        child { node {Simpliciteit door herhaling}}
        child { node {Vast aantal variabelen}}
    }
    child { node {Getallen}
    	child { node {\textit{Signed}}
        	child { node {Meest significante (linker) bit is het \textit{sign bit}}}
        }
        child { node {\textit{Unsigned}}
        	child { node {Alle bits gebruikt voor numerieke waarde}}
        }
    }
    child { node {Instructies}
    	child { node {Instructie format}
        	child { node {De vorm van instructies weergegeven als binaire getallen}}
        }
        child { node {\textit{Machine language}}
        	child { node {Binaire communicatie binnen een computer systeem}}
        }
        child { node {Opcode}
        	child { node {Veld in de instructie die het format en type aangeeft}}
        }
    }
    child { node {\textit{MIPS assembly}\\(zie figuur 2.1)}
    };
\end{tikzpicture}

\begin{tikzpicture}[grow cyclic, text width=2.7cm, align=flush center,
    level 1/.style={level distance=2.5cm,sibling angle=120},
    level 2/.style={level distance=2cm,sibling angle=63},
    level 3/.style={level distance=2cm,sibling angle=45},
    level 4/.style={level distance=3cm,sibling angle=45},
    level 5/.style={level distance=3cm,sibling angle=45}]
    
\node{\textit{MIPS}-instructies}
    child { node {Logische Operaties}
    	child { node {\texttt{AND}}
        	child { node {Is hoog wanneer beide inputs hoog zijn}}
        }
        child { node {\texttt{OR}}
        	child { node {Is hoog wanneer een van de twee inputs hoog is}}
        }
        child { node {\texttt{NOT}}
        	child { node {Inverteert de input, hoog wordt laag en laag wordt hoog}}
        }
        child { node {\texttt{NOR}}
        	child { node {Omgekeerde van een \texttt{AND}-port, is hoog wanneer beide inputs laag zijn}}
        }
    }
    child { node {Beslissingen Nemen}
    	child { node {Vertakkingen}
        	child { node {Gelijk aan}}
            child { node {Niet gelijk aan}}
        }
    }
    child { node {Adressering}
    	child { node {PC-relatief}
        	child { node {Adres wordt opgeteld bij de waarde van de PC}}
        }
        child { node {Adressering modi}
        	child { node {Immediate}}
            child { node {Register}}
            child { node {\textit{Base or displacement}}}
            child { node {\textit{PC-relative}}}
            child { node {Pseudo direct}}
        }
    };
\end{tikzpicture}



% 2.3 Memory operands:
% Word - een groep van 32 bits.
% Data transfer instructions - Instructies die data transporteren tussen de registers en het geheugen.
% Alignment restriction - alle en moeten beginnen bij een veelvoud van 4.
% Address - Een waarde die gebruikt wordt om de locatie van een specifiek data element in een geheugen array te schetsen.
% Alignment restriction - Een regel dat data opgesteld wordt met natuurlijke grenzen.

% 2.4 Signed and unsinged #
% Binary digits - bits (spreekt voor zich)
% least and most significant bit - De meest linkse en rechtse bit. 
% one's complement - Een notatie waarbij de most significant bit de positiviteit van het getal bepaalt.
% biased notation - Zeer kut om uit te leggen (weer een notatie om aan te geven of het getal positief of negatief is.)

% 2.5 Representing Instructions in the Computer
% instruction format - Een form van instructies weergeven in een veld van binaire nummers.
% machine language - Binaire communicatie binnen een computer systeem.
% hexadecimal - Nummers met als basis 16 ipv 10 zoals bij decimaal.
% opcode - Het veld dat operatie en de format van de instructie bepaald

% 2.6 Logical Operations
% AND - geeft alleen een 1 als beide velden een 1 hebben.
% OR - Geeft een 1 als één van beide velden een 1 heeft.
% NOT - Vervangt elke bit voor de ander ( 1 wordt 0 en 0 wordt 1)
% NOR - Als er een 0 in beide velden zit worden het 1en

% 2.7 Instructions for Making Decisions
% conditional branch - een instructie die de vergelijking van 2 waardes nodig heeft naar een andere instructie te springen
% basic block - een stuk instructies zonder branches
% jump address table - 

% 2.10 


\begin{center}
  \includegraphics[width=\textwidth]{h2fig1}
\end{center}

\textit{Figuur 2.1}
