Added a LaTex document to put in writing how the machine should behave.
This commit is contained in:
@@ -0,0 +1,41 @@
|
||||
\documentclass{book}
|
||||
\usepackage{tikz}
|
||||
|
||||
\title{Unnamed Machine}
|
||||
\author{A Very Terrible 16-bit Machine}
|
||||
|
||||
\begin{document}
|
||||
\maketitle
|
||||
\tableofcontents
|
||||
\chapter{Overview}
|
||||
\section{Introduction}
|
||||
\section{Registers}
|
||||
The following are the general purpose registers that can be used.
|
||||
\begin{itemize}
|
||||
\item[] R1
|
||||
\item[] ...
|
||||
\item[] R8
|
||||
\end{itemize}
|
||||
\section{Memory Model}
|
||||
Memory will be implicitly mapped I/O. The bottom 3201 bytes of memory will be reserved for the keyboard input and graphics.
|
||||
A single byte is reserved for the keyboard's input. The current key will be stored in byte 0xF37E, with the most significant bit being a flag indicating that the keyboard
|
||||
is ready to be read from. This means that the character encoding is actually 7 bits.
|
||||
Video memory starts at 0xF37F (62335 decimal), and every byte represents an ASCII character in monochrome.
|
||||
\begin{figure}
|
||||
\centering
|
||||
\begin{tikzpicture}
|
||||
\fill[gray!5] (0,0)rectangle(5,10);
|
||||
%\draw (0,10) .. controls (-2,6) and (-2,4) .. (0,1);
|
||||
%\draw (0,10) arc (0:180:3cm);
|
||||
\draw (0,10) -- (5,10);
|
||||
\draw (0,1) -- node[above] {Video 0xF37F} (5,1);
|
||||
\draw (0,0) -- (5,0);
|
||||
\node[label=right:Top 0x0000] at (5,10) {};
|
||||
\node[label=right:Bottom 0xFFFF] at (5,0) {};
|
||||
\end{tikzpicture}
|
||||
\caption{Memory Layout}
|
||||
\end{figure}
|
||||
\chapter{ISA}
|
||||
\section{COPY}
|
||||
\section{CMP}
|
||||
\end{document}
|
||||
Reference in New Issue
Block a user