Skip to content
Permalink

Comparing changes

Choose two branches to see what’s changed or to start a new pull request. If you need to, you can also or learn more about diff comparisons.

Open a pull request

Create a new pull request by comparing changes across two branches. If you need to, you can also . Learn more about diff comparisons here.
base repository: whitequark/Boneless-CPU
Failed to load repositories. Confirm that selected base ref is valid, then try again.
Loading
base: dd047d58ba25
Choose a base ref
...
head repository: whitequark/Boneless-CPU
Failed to load repositories. Confirm that selected head ref is valid, then try again.
Loading
compare: 56b58a13197d
Choose a head ref
  • 1 commit
  • 14 files changed
  • 1 contributor

Commits on Dec 31, 2018

  1. Copy the full SHA
    56b58a1 View commit details
Binary file modified doc/design.ods
Binary file not shown.
6 changes: 3 additions & 3 deletions doc/manual/insns/LD.tex
Original file line number Diff line number Diff line change
@@ -1,4 +1,4 @@
\begin{instruction}{LD}{Load with Address in Register}
\begin{instruction}{LD}{Load}
\begin{encoding*}{short}
\mnemonic & \op{3}{010} & \op{2}{00} & \reg{d} & \reg{a} & \off{5} \\
\end{encoding*}
@@ -7,8 +7,8 @@
\mnemonic & \op{3}{010} & \op{2}{00} & \reg{d} & \reg{a} & \off{5} \\
\end{encoding*}
\assembly{\mnemonic{} Rd, Ra, off}
\purpose{To load a word from memory at an absolute address contained in a register, with a constant offset.}
\input{mem-restrictions.tex}
\purpose{To load a word from memory at a variable address, with a constant offset.}
\input{mem5-restrictions.tex}
\begin{operation}\off{5}
addr ← mem[W|Ra] + off
temp ← mem[addr]
14 changes: 7 additions & 7 deletions doc/manual/insns/LDI.tex
Original file line number Diff line number Diff line change
@@ -1,16 +1,16 @@
\begin{instruction}{LDI}{Load PC-relative with Immediate Offset}
\begin{instruction}{LDI}{Load Indexed}
\begin{encoding*}{short}
\mnemonic & \op{3}{011} & \op{2}{00} & \reg{d} & \off{8} \\
\mnemonic & \op{3}{011} & \op{2}{00} & \reg{d} & \reg{a} & \off{5} \\
\end{encoding*}
\begin{encoding*}{long}
\exti
\mnemonic & \op{3}{011} & \op{2}{00} & \reg{d} & \off{8} \\
\mnemonic & \op{3}{011} & \op{2}{00} & \reg{d} & \reg{a} & \off{5} \\
\end{encoding*}
\assembly{\mnemonic{} Rd, off}
\purpose{To load a word from memory at an address relative to PC with a constant offset.}
\input{memi-restrictions.tex}
\assembly{\mnemonic{} Rd, Ra, off}
\purpose{To load a word from memory at a constant PC-relative address, with a variable offset.}
\input{mem5-restrictions.tex}
\begin{operation}\off{8}
addr ← PC + off
addr ← PC + mem[W|Ra] + off
temp ← mem[addr]
mem[W|Rd] ← temp
\end{operation}
6 changes: 3 additions & 3 deletions doc/manual/insns/LDX.tex
Original file line number Diff line number Diff line change
@@ -1,4 +1,4 @@
\begin{instruction}{LDX}{Load External with Address in Register}
\begin{instruction}{LDX}{Load External}
\begin{encoding*}{short}
\mnemonic & \op{3}{010} & \op{2}{10} & \reg{d} & \reg{a} & \off{5} \\
\end{encoding*}
@@ -7,8 +7,8 @@
\mnemonic & \op{3}{010} & \op{2}{10} & \reg{d} & \reg{a} & \off{5} \\
\end{encoding*}
\assembly{\mnemonic{} Rd, Ra, off}
\purpose{To complete a load cycle on external bus at an absolute address contained in a register, with a constant offset.}
\input{mem-restrictions.tex}
\purpose{To complete a load cycle on external bus at a variable address, with a constant offset.}
\input{mem5-restrictions.tex}
\begin{operation}\off{5}
addr ← mem[W|Ra] + off
temp ← ext[addr]
4 changes: 2 additions & 2 deletions doc/manual/insns/LDXI.tex → doc/manual/insns/LDXZ.tex
Original file line number Diff line number Diff line change
@@ -1,4 +1,4 @@
\begin{instruction}{LDXI}{Load External with Immediate Address}
\begin{instruction}{LDXZ}{Load External Absolute}
\begin{encoding*}{short}
\mnemonic & \op{3}{011} & \op{2}{10} & \reg{d} & \off{8} \\
\end{encoding*}
@@ -8,7 +8,7 @@
\end{encoding*}
\assembly{\mnemonic{} Rd, off}
\purpose{To complete a load cycle on external bus at a constant absolute address.}
\input{memi-restrictions.tex}
\input{mem8-restrictions.tex}
\begin{operation}\off{8}
temp ← ext[off]
mem[W|Rd] ← temp
6 changes: 3 additions & 3 deletions doc/manual/insns/ST.tex
Original file line number Diff line number Diff line change
@@ -1,4 +1,4 @@
\begin{instruction}{ST}{Store with Address in Register}
\begin{instruction}{ST}{Store}
\begin{encoding*}{short}
\mnemonic & \op{3}{010} & \op{2}{01} & \reg{s} & \reg{a} & \off{5} \\
\end{encoding*}
@@ -7,8 +7,8 @@
\mnemonic & \op{3}{010} & \op{2}{01} & \reg{s} & \reg{a} & \off{5} \\
\end{encoding*}
\assembly{\mnemonic{} Rs, Ra, off}
\purpose{To store a word to memory at an absolute address contained in a register, with a constant offset.}
\input{mem-restrictions.tex}
\purpose{To store a word to memory at a variable address, with a constant offset.}
\input{mem5-restrictions.tex}
\begin{operation}\off{5}
addr ← mem[W|Ra] + off
temp ← mem[W|Rs]
14 changes: 7 additions & 7 deletions doc/manual/insns/STI.tex
Original file line number Diff line number Diff line change
@@ -1,16 +1,16 @@
\begin{instruction}{STI}{Store PC-relative with Immediate Offset}
\begin{instruction}{STI}{Store Indexed}
\begin{encoding*}{short}
\mnemonic & \op{3}{011} & \op{2}{01} & \reg{s} & \off{8} \\
\mnemonic & \op{3}{010} & \op{2}{01} & \reg{s} & \reg{a} & \off{5} \\
\end{encoding*}
\begin{encoding*}{long}
\exti
\mnemonic & \op{3}{011} & \op{2}{01} & \reg{s} & \off{8} \\
\mnemonic & \op{3}{010} & \op{2}{01} & \reg{s} & \reg{a} & \off{5} \\
\end{encoding*}
\assembly{\mnemonic{} Rs, off}
\purpose{To store a word to memory at an address relative to PC with a constant offset.}
\input{memi-restrictions.tex}
\assembly{\mnemonic{} Rs, Ra, off}
\purpose{To store a word to memory at a constant PC-relative address, with a variable offset.}
\input{mem5-restrictions.tex}
\begin{operation}\off{8}
addr ← PC + off
addr ← PC + mem[W|Ra] + off
temp ← mem[W|Rs]
mem[addr] ← temp
\end{operation}
4 changes: 2 additions & 2 deletions doc/manual/insns/STX.tex
Original file line number Diff line number Diff line change
@@ -7,8 +7,8 @@
\mnemonic & \op{3}{010} & \op{2}{11} & \reg{s} & \reg{a} & \off{5} \\
\end{encoding*}
\assembly{\mnemonic{} Rs, Ra, off}
\purpose{To complete a store cycle on external bus at an absolute address contained in a register, with a constant offset.}
\input{mem-restrictions.tex}
\purpose{To complete a store cycle on external bus at a variable address, with a constant offset.}
\input{mem5-restrictions.tex}
\begin{operation}\off{5}
addr ← mem[W|Ra] + off
temp ← mem[W|Rs]
4 changes: 2 additions & 2 deletions doc/manual/insns/STXI.tex → doc/manual/insns/STXZ.tex
Original file line number Diff line number Diff line change
@@ -1,4 +1,4 @@
\begin{instruction}{STXI}{Store External with Immediate Address}
\begin{instruction}{STXZ}{Store External Absolute}
\begin{encoding*}{short}
\mnemonic & \op{3}{011} & \op{2}{11} & \reg{s} & \off{8} \\
\end{encoding*}
@@ -8,7 +8,7 @@
\end{encoding*}
\assembly{\mnemonic{} Rs, off}
\purpose{To complete a store cycle on external bus at a constant absolute address.}
\input{mem-restrictions.tex}
\input{mem8-restrictions.tex}
\begin{operation}\off{8}
temp ← mem[W|Rs]
ext[off] ← temp
11 changes: 2 additions & 9 deletions doc/manual/insns/index.tex
Original file line number Diff line number Diff line change
@@ -117,13 +117,6 @@
}{
\end{adjustwidth}
}

\newenvironment{notice}{
\cbcolor{red}
\par\textbf{Notice:}\cbstart\par
}{
\cbend
}
}{
\pagebreak
}
@@ -165,7 +158,7 @@
\input{LD.tex}
\input{LDI.tex}
\input{LDX.tex}
\input{LDXI.tex}
\input{LDXZ.tex}
\input{LEAV.tex} % pseudo
\input{MOV.tex} % pseudo
\input{MOVA.tex}
@@ -187,7 +180,7 @@
\input{ST.tex}
\input{STI.tex}
\input{STX.tex}
\input{STXI.tex}
\input{STXZ.tex}
\input{SUB.tex}
\input{SUBI.tex}
% \input{SWPW.tex}
File renamed without changes.
File renamed without changes.
Binary file modified doc/manual/manual.pdf
Binary file not shown.
13 changes: 13 additions & 0 deletions doc/manual/manual.tex
Original file line number Diff line number Diff line change
@@ -25,6 +25,13 @@
\newcommand{\unpredictable}{\textbf{UNPREDICTABLE}}
\uchyph=0

\newenvironment{notice}{
\cbcolor{red}
\par\textbf{Notice:}\cbstart\par
}{
\cbend
}

\begin{document}

\begin{titlepage}
@@ -35,6 +42,12 @@
\par{\Huge Architecture Reference Manual}
\end{titlepage}

\begin{notice}
This document is a work in progress and subject to change without warning. However, the parts that are \textit{especially} subject to change carry a notice similar to this one.
\end{notice}

\pagebreak

\tableofcontents
\addcontentsline{toc}{section}{Table of Contents}
\pagebreak