summaryrefslogtreecommitdiff
path: root/thesis/intro.tex
diff options
context:
space:
mode:
Diffstat (limited to 'thesis/intro.tex')
-rw-r--r--thesis/intro.tex20
1 files changed, 10 insertions, 10 deletions
diff --git a/thesis/intro.tex b/thesis/intro.tex
index f92b21d..3d6347c 100644
--- a/thesis/intro.tex
+++ b/thesis/intro.tex
@@ -29,7 +29,7 @@ The main differences between ARM and Thumb-2 are the following:
In ARM, every instruction has a 4-bit conditional field that allows for conditional execution.
In the Thumb instruction set, all conditional instructions except branches have to be in an \enquote{IT block}.
A first \ual{it} instruction gives the base condition and a then-else pattern.
-The following instructions are executed conditionally.
+The statements after the \ual{it} instruction are executed conditionally.
For example:
\begin{minted}{ual}
@@ -59,7 +59,7 @@ For these instructions there exist 32-bit variants that can address all sixteen
\begin{tikzpicture}[clean]
\node (start) {\clean{Start}};
\end{tikzpicture}
- \caption{Initially}
+ \caption{Initially.}
\end{subfigure}%
\begin{subfigure}[b]{.2\linewidth}
\centering
@@ -68,7 +68,7 @@ For these instructions there exist 32-bit variants that can address all sixteen
\node[below=of fac.arg1.south] (4) {\clean{4}};
\draw (fac.arg1) -- (4.north);
\end{tikzpicture}
- \caption{Applying \clean{Start}}
+ \caption{Applying \clean{Start}.}
\end{subfigure}%
\begin{subfigure}[b]{.3\linewidth}
\centering
@@ -84,7 +84,7 @@ For these instructions there exist 32-bit variants that can address all sixteen
\draw (minus.arg1) |- (4.east);
\draw (minus.arg2) -- (1.west);
\end{tikzpicture}
- \caption{Applying \clean{fac n}}
+ \caption{Applying \clean{fac n}.}
\end{subfigure}%
\begin{subfigure}[b]{.2\linewidth}
\centering
@@ -97,16 +97,16 @@ For these instructions there exist 32-bit variants that can address all sixteen
\draw (times.arg2) -- (fac.west);
\draw (fac.arg1) -- (3.north);
\end{tikzpicture}
- \caption{Applying \clean{-}}
+ \caption{Applying \clean{-}.}
\end{subfigure}
- \caption{Rewriting a Clean node\label{fig:intro:rewriting}}
+ \caption{Rewriting a Clean node\label{fig:intro:rewriting}.}
\end{figure*}
\subsubsection{Interworking}
\label{sec:intro:interworking}
-The ARM and Thumb instruction sets are designed to \emph{interwork}:
+The ARM and Thumb instruction sets are designed to interwork:
different parts of a program can be assembled for different instruction sets
- and it is possible to switch instruction set when the program counter is written to~\parencite[A4.1]{armv7ar}.
+ and it is possible to switch instruction set when an instruction writes to the program counter~\parencite[A4.1]{armv7ar}.
The Thumb-2 code generator proposed in this thesis does not produce ARM code,
though the existence of the interworking facility has effects on the techniques that can be used in it.
@@ -178,7 +178,7 @@ This function uses the B-stack, for basic values, for its arguments and return v
More complex types would be passed on the A-stack.
The \clean{Start} rule compiles to%
- \footnote{Again, the code has been shorted insignificantly for brevity.}:
+ \footnote{The code has been shorted insignificantly for brevity.}:
\begin{minted}[tabsize=4]{abc}
__fac_Start
@@ -209,7 +209,7 @@ While the ABC-machine can be implemented in a straightforward manner using macro
it introduces several optimisations, some of which are target-dependent.
The ARM code for the factorial example is as follows%
- \footnote{Some irrelevant peculiarities have been removed for brevity and clarity.}:
+ \footnote{Some irrelevant peculiarities have been removed for brevity.}:
\begin{minted}{ual}
sfac_P1: