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: 63b288cc71c7
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: 3b5bf586ca35
Choose a head ref
  • 1 commit
  • 23 files changed
  • 1 contributor

Commits on Feb 14, 2019

  1. Copy the full SHA
    3b5bf58 View commit details
2 changes: 1 addition & 1 deletion doc/manual/insns/CMP.tex
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
\begin{instruction}{CMP}{Compare to Register}
\begin{encoding}
\mnemonic & \op{3}{000} & \op{2}{00} & \op{3}{000} & \reg{a} & \op{2}{11} & \reg{b} \\
\mnemonic & \op{5}{00000} & \op{3}{000} & \reg{a} & \op{2}{11} & \reg{b} \\
\end{encoding}
\assembly{\mnemonic{} Rd, Ra, Rb}
\purpose{To compare 16-bit integers in registers.}
4 changes: 2 additions & 2 deletions doc/manual/insns/J.tex
Original file line number Diff line number Diff line change
@@ -1,10 +1,10 @@
\begin{instruction}{J}{Jump}
\begin{encoding*}{short}
\mnemonic & \op{3}{101} & \op{1}{1} & \op{4}{1111} & \off{8} \\
\mnemonic & \op{4}{1011} & \op{4}{1111} & \off{8} \\
\end{encoding*}
\begin{encoding*}{long}
\exti
\mnemonic & \op{3}{101} & \op{1}{1} & \op{4}{1111} & \off{8} \\
\mnemonic & \op{4}{1011} & \op{4}{1111} & \off{8} \\
\end{encoding*}
\assembly{\mnemonic{} label}
\purpose{To unconditionally transfer control.}
4 changes: 2 additions & 2 deletions doc/manual/insns/JC.tex
Original file line number Diff line number Diff line change
@@ -1,10 +1,10 @@
\begin{instruction}{JC}{Jump if Carry}
\begin{encoding*}{short}
\mnemonic & \op{3}{101} & \op{1}{1} & \op{4}{1010} & \off{8} \\
\mnemonic & \op{4}{1011} & \op{4}{1010} & \off{8} \\
\end{encoding*}
\begin{encoding*}{long}
\exti
\mnemonic & \op{3}{101} & \op{1}{1} & \op{4}{1010} & \off{8} \\
\mnemonic & \op{4}{1011} & \op{4}{1010} & \off{8} \\
\end{encoding*}
\assembly{\mnemonic{} label}
\purpose{To transfer control if an arithmetic or shift operation resulted in unsigned overflow.}
4 changes: 2 additions & 2 deletions doc/manual/insns/JE.tex
Original file line number Diff line number Diff line change
@@ -1,10 +1,10 @@
\begin{instruction}{JE}{Jump if Equal}
\begin{encoding*}{short}
\mnemonic & \op{3}{101} & \op{1}{1} & \op{4}{1000} & \off{8} \\
\mnemonic & \op{4}{1011} & \op{4}{1000} & \off{8} \\
\end{encoding*}
\begin{encoding*}{long}
\exti
\mnemonic & \op{3}{101} & \op{1}{1} & \op{4}{1000} & \off{8} \\
\mnemonic & \op{4}{1011} & \op{4}{1000} & \off{8} \\
\end{encoding*}
\assembly{\mnemonic{} label}
\purpose{To transfer control after a \texttt{\insnref{CMP} Ra, Rb} instruction if \texttt{Ra} is equal to \texttt{Rb}.}
4 changes: 2 additions & 2 deletions doc/manual/insns/JN.tex
Original file line number Diff line number Diff line change
@@ -1,10 +1,10 @@
\begin{instruction}{JN}{Jump Never}
\begin{encoding*}{short}
\mnemonic & \op{3}{101} & \op{1}{1} & \op{4}{0111} & \off{8} \\
\mnemonic & \op{4}{1011} & \op{4}{0111} & \off{8} \\
\end{encoding*}
\begin{encoding*}{long}
\exti
\mnemonic & \op{3}{101} & \op{1}{1} & \op{4}{0111} & \off{8} \\
\mnemonic & \op{4}{1011} & \op{4}{0111} & \off{8} \\
\end{encoding*}
\assembly{\mnemonic{} label}
\purpose{To serve as a placeholder for a jump instruction.}
4 changes: 2 additions & 2 deletions doc/manual/insns/JNC.tex
Original file line number Diff line number Diff line change
@@ -1,10 +1,10 @@
\begin{instruction}{JNC}{Jump if Not Carry}
\begin{encoding*}{short}
\mnemonic & \op{3}{101} & \op{1}{1} & \op{4}{0010} & \off{8} \\
\mnemonic & \op{4}{1011} & \op{4}{0010} & \off{8} \\
\end{encoding*}
\begin{encoding*}{long}
\exti
\mnemonic & \op{3}{101} & \op{1}{1} & \op{4}{0010} & \off{8} \\
\mnemonic & \op{4}{1011} & \op{4}{0010} & \off{8} \\
\end{encoding*}
\assembly{\mnemonic{} label}
\purpose{To transfer control if an arithmetic or shift operation did not result in unsigned overflow.}
4 changes: 2 additions & 2 deletions doc/manual/insns/JNE.tex
Original file line number Diff line number Diff line change
@@ -1,10 +1,10 @@
\begin{instruction}{JNE}{Jump if Not Equal}
\begin{encoding*}{short}
\mnemonic & \op{3}{101} & \op{1}{1} & \op{4}{0000} & \off{8} \\
\mnemonic & \op{4}{1011} & \op{4}{0000} & \off{8} \\
\end{encoding*}
\begin{encoding*}{long}
\exti
\mnemonic & \op{3}{101} & \op{1}{1} & \op{4}{0000} & \off{8} \\
\mnemonic & \op{4}{1011} & \op{4}{0000} & \off{8} \\
\end{encoding*}
\assembly{\mnemonic{} label}
\purpose{To transfer control after a \texttt{\insnref{CMP} Ra, Rb} instruction if \texttt{Ra} is not equal to \texttt{Rb}.}
4 changes: 2 additions & 2 deletions doc/manual/insns/JNO.tex
Original file line number Diff line number Diff line change
@@ -1,10 +1,10 @@
\begin{instruction}{JNO}{Jump if Not Overflow}
\begin{encoding*}{short}
\mnemonic & \op{3}{101} & \op{1}{1} & \op{4}{0011} & \off{8} \\
\mnemonic & \op{4}{1011} & \op{4}{0011} & \off{8} \\
\end{encoding*}
\begin{encoding*}{long}
\exti
\mnemonic & \op{3}{101} & \op{1}{1} & \op{4}{0011} & \off{8} \\
\mnemonic & \op{4}{1011} & \op{4}{0011} & \off{8} \\
\end{encoding*}
\assembly{\mnemonic{} label}
\purpose{To transfer control if an arithmetic or shift operation did not result in signed overflow.}
4 changes: 2 additions & 2 deletions doc/manual/insns/JNS.tex
Original file line number Diff line number Diff line change
@@ -1,10 +1,10 @@
\begin{instruction}{JNS}{Jump if Not Sign}
\begin{encoding*}{short}
\mnemonic & \op{3}{101} & \op{1}{1} & \op{4}{0001} & \off{8} \\
\mnemonic & \op{4}{1011} & \op{4}{0001} & \off{8} \\
\end{encoding*}
\begin{encoding*}{long}
\exti
\mnemonic & \op{3}{101} & \op{1}{1} & \op{4}{0001} & \off{8} \\
\mnemonic & \op{4}{1011} & \op{4}{0001} & \off{8} \\
\end{encoding*}
\assembly{\mnemonic{} label}
\purpose{To transfer control if an arithmetic or shift operation produced a non-negative result.}
4 changes: 2 additions & 2 deletions doc/manual/insns/JNZ.tex
Original file line number Diff line number Diff line change
@@ -1,10 +1,10 @@
\begin{instruction}{JNZ}{Jump if Not Zero}
\begin{encoding*}{short}
\mnemonic & \op{3}{101} & \op{1}{1} & \op{4}{0000} & \off{8} \\
\mnemonic & \op{4}{1011} & \op{4}{0000} & \off{8} \\
\end{encoding*}
\begin{encoding*}{long}
\exti
\mnemonic & \op{3}{101} & \op{1}{1} & \op{4}{0000} & \off{8} \\
\mnemonic & \op{4}{1011} & \op{4}{0000} & \off{8} \\
\end{encoding*}
\assembly{\mnemonic{} label}
\purpose{To transfer control if an arithmetic or shift operation produced a non-zero result.}
4 changes: 2 additions & 2 deletions doc/manual/insns/JO.tex
Original file line number Diff line number Diff line change
@@ -1,10 +1,10 @@
\begin{instruction}{JO}{Jump if Overflow}
\begin{encoding*}{short}
\mnemonic & \op{3}{101} & \op{1}{1} & \op{4}{1011} & \off{8} \\
\mnemonic & \op{4}{1011} & \op{4}{1011} & \off{8} \\
\end{encoding*}
\begin{encoding*}{long}
\exti
\mnemonic & \op{3}{101} & \op{1}{1} & \op{4}{1011} & \off{8} \\
\mnemonic & \op{4}{1011} & \op{4}{1011} & \off{8} \\
\end{encoding*}
\assembly{\mnemonic{} label}
\purpose{To transfer control if an arithmetic or shift operation resulted in signed overflow.}
4 changes: 2 additions & 2 deletions doc/manual/insns/JS.tex
Original file line number Diff line number Diff line change
@@ -1,10 +1,10 @@
\begin{instruction}{JS}{Jump if Sign}
\begin{encoding*}{short}
\mnemonic & \op{3}{101} & \op{1}{1} & \op{4}{1001} & \off{8} \\
\mnemonic & \op{4}{1011} & \op{4}{1001} & \off{8} \\
\end{encoding*}
\begin{encoding*}{long}
\exti
\mnemonic & \op{3}{101} & \op{1}{1} & \op{4}{1001} & \off{8} \\
\mnemonic & \op{4}{1011} & \op{4}{1001} & \off{8} \\
\end{encoding*}
\assembly{\mnemonic{} label}
\purpose{To transfer control if an arithmetic or shift operation produced a negative result.}
4 changes: 2 additions & 2 deletions doc/manual/insns/JSGE.tex
Original file line number Diff line number Diff line change
@@ -1,10 +1,10 @@
\begin{instruction}{JSGE}{Jump if Signed Greater or Equal}
\begin{encoding*}{short}
\mnemonic & \op{3}{101} & \op{1}{1} & \op{4}{0101} & \off{8} \\
\mnemonic & \op{4}{1011} & \op{4}{0101} & \off{8} \\
\end{encoding*}
\begin{encoding*}{long}
\exti
\mnemonic & \op{3}{101} & \op{1}{1} & \op{4}{0101} & \off{8} \\
\mnemonic & \op{4}{1011} & \op{4}{0101} & \off{8} \\
\end{encoding*}
\assembly{\mnemonic{} label}
\purpose{To transfer control after a \texttt{\insnref{CMP} Ra, Rb} instruction if \texttt{Ra} is greater than or equal to \texttt{Rb} when interpreted as signed integer.}
4 changes: 2 additions & 2 deletions doc/manual/insns/JSGT.tex
Original file line number Diff line number Diff line change
@@ -1,10 +1,10 @@
\begin{instruction}{JSGT}{Jump if Signed Greater Than}
\begin{encoding*}{short}
\mnemonic & \op{3}{101} & \op{1}{1} & \op{4}{0110} & \off{8} \\
\mnemonic & \op{4}{1011} & \op{4}{0110} & \off{8} \\
\end{encoding*}
\begin{encoding*}{long}
\exti
\mnemonic & \op{3}{101} & \op{1}{1} & \op{4}{0110} & \off{8} \\
\mnemonic & \op{4}{1011} & \op{4}{0110} & \off{8} \\
\end{encoding*}
\assembly{\mnemonic{} label}
\purpose{To transfer control after a \texttt{\insnref{CMP} Ra, Rb} instruction if \texttt{Ra} is greater than to \texttt{Rb} when interpreted as signed integer.}
4 changes: 2 additions & 2 deletions doc/manual/insns/JSLE.tex
Original file line number Diff line number Diff line change
@@ -1,10 +1,10 @@
\begin{instruction}{JSLE}{Jump if Signed Less or Equal}
\begin{encoding*}{short}
\mnemonic & \op{3}{101} & \op{1}{1} & \op{4}{1110} & \off{8} \\
\mnemonic & \op{4}{1011} & \op{4}{1110} & \off{8} \\
\end{encoding*}
\begin{encoding*}{long}
\exti
\mnemonic & \op{3}{101} & \op{1}{1} & \op{4}{1110} & \off{8} \\
\mnemonic & \op{4}{1011} & \op{4}{1110} & \off{8} \\
\end{encoding*}
\assembly{\mnemonic{} label}
\purpose{To transfer control after a \texttt{\insnref{CMP} Ra, Rb} instruction if \texttt{Ra} is less than or equal to \texttt{Rb} when interpreted as signed integer.}
4 changes: 2 additions & 2 deletions doc/manual/insns/JSLT.tex
Original file line number Diff line number Diff line change
@@ -1,10 +1,10 @@
\begin{instruction}{JSLT}{Jump if Signed Less Than}
\begin{encoding*}{short}
\mnemonic & \op{3}{101} & \op{1}{1} & \op{4}{1101} & \off{8} \\
\mnemonic & \op{4}{1011} & \op{4}{1101} & \off{8} \\
\end{encoding*}
\begin{encoding*}{long}
\exti
\mnemonic & \op{3}{101} & \op{1}{1} & \op{4}{1101} & \off{8} \\
\mnemonic & \op{4}{1011} & \op{4}{1101} & \off{8} \\
\end{encoding*}
\assembly{\mnemonic{} label}
\purpose{To transfer control after a \texttt{\insnref{CMP} Ra, Rb} instruction if \texttt{Ra} is less than \texttt{Rb} when interpreted as signed integer.}
4 changes: 2 additions & 2 deletions doc/manual/insns/JUGE.tex
Original file line number Diff line number Diff line change
@@ -1,10 +1,10 @@
\begin{instruction}{JUGE}{Jump if Unsigned Greater or Equal}
\begin{encoding*}{short}
\mnemonic & \op{3}{101} & \op{1}{1} & \op{4}{1010} & \off{8} \\
\mnemonic & \op{4}{1011} & \op{4}{1010} & \off{8} \\
\end{encoding*}
\begin{encoding*}{long}
\exti
\mnemonic & \op{3}{101} & \op{1}{1} & \op{4}{1010} & \off{8} \\
\mnemonic & \op{4}{1011} & \op{4}{1010} & \off{8} \\
\end{encoding*}
\assembly{\mnemonic{} label}
\purpose{To transfer control after a \texttt{\insnref{CMP} Ra, Rb} instruction if \texttt{Ra} is greater than or equal to \texttt{Rb} when interpreted as unsigned integer.}
4 changes: 2 additions & 2 deletions doc/manual/insns/JUGT.tex
Original file line number Diff line number Diff line change
@@ -1,10 +1,10 @@
\begin{instruction}{JUGT}{Jump if Unsigned Greater Than}
\begin{encoding*}{short}
\mnemonic & \op{3}{101} & \op{1}{1} & \op{4}{0110} & \off{8} \\
\mnemonic & \op{4}{1011} & \op{4}{0110} & \off{8} \\
\end{encoding*}
\begin{encoding*}{long}
\exti
\mnemonic & \op{3}{101} & \op{1}{1} & \op{4}{0110} & \off{8} \\
\mnemonic & \op{4}{1011} & \op{4}{0110} & \off{8} \\
\end{encoding*}
\assembly{\mnemonic{} label}
\purpose{To transfer control after a \texttt{\insnref{CMP} Ra, Rb} instruction if \texttt{Ra} is greater than to \texttt{Rb} when interpreted as unsigned integer.}
4 changes: 2 additions & 2 deletions doc/manual/insns/JULE.tex
Original file line number Diff line number Diff line change
@@ -1,10 +1,10 @@
\begin{instruction}{JULE}{Jump if Unsigned Less or Equal}
\begin{encoding*}{short}
\mnemonic & \op{3}{101} & \op{1}{1} & \op{4}{1110} & \off{8} \\
\mnemonic & \op{4}{1011} & \op{4}{1110} & \off{8} \\
\end{encoding*}
\begin{encoding*}{long}
\exti
\mnemonic & \op{3}{101} & \op{1}{1} & \op{4}{1110} & \off{8} \\
\mnemonic & \op{4}{1011} & \op{4}{1110} & \off{8} \\
\end{encoding*}
\assembly{\mnemonic{} label}
\purpose{To transfer control after a \texttt{\insnref{CMP} Ra, Rb} instruction if \texttt{Ra} is less than or equal to \texttt{Rb} when interpreted as unsigned integer.}
4 changes: 2 additions & 2 deletions doc/manual/insns/JULT.tex
Original file line number Diff line number Diff line change
@@ -1,10 +1,10 @@
\begin{instruction}{JULT}{Jump if Unsigned Less Than}
\begin{encoding*}{short}
\mnemonic & \op{3}{101} & \op{1}{1} & \op{4}{0010} & \off{8} \\
\mnemonic & \op{4}{1011} & \op{4}{0010} & \off{8} \\
\end{encoding*}
\begin{encoding*}{long}
\exti
\mnemonic & \op{3}{101} & \op{1}{1} & \op{4}{0010} & \off{8} \\
\mnemonic & \op{4}{1011} & \op{4}{0010} & \off{8} \\
\end{encoding*}
\assembly{\mnemonic{} label}
\purpose{To transfer control after a \texttt{\insnref{CMP} Ra, Rb} instruction if \texttt{Ra} is less than \texttt{Rb} when interpreted as unsigned integer.}
4 changes: 2 additions & 2 deletions doc/manual/insns/JZ.tex
Original file line number Diff line number Diff line change
@@ -1,10 +1,10 @@
\begin{instruction}{JZ}{Jump if Zero}
\begin{encoding*}{short}
\mnemonic & \op{3}{101} & \op{1}{1} & \op{4}{1000} & \off{8} \\
\mnemonic & \op{4}{1011} & \op{4}{1000} & \off{8} \\
\end{encoding*}
\begin{encoding*}{long}
\exti
\mnemonic & \op{3}{101} & \op{1}{1} & \op{4}{1000} & \off{8} \\
\mnemonic & \op{4}{1011} & \op{4}{1000} & \off{8} \\
\end{encoding*}
\assembly{\mnemonic{} label}
\purpose{To transfer control if an arithmetic or shift operation produced a zero result.}
2 changes: 1 addition & 1 deletion doc/manual/insns/MOV.tex
Original file line number Diff line number Diff line change
@@ -5,7 +5,7 @@
\begin{remarks}
The assembler does not translate any instructions for \texttt{\mnemonic} with identical \texttt{Rd} and \texttt{Rs}, and translates \texttt{\mnemonic} with any other register combination to
\begin{alltt}
ANDI Rd, Rs, Rs
AND Rd, Rs, Rs
\end{alltt}
\end{remarks}
\begin{notice}The exact translation of this mnemonic is not final.\end{notice}
Binary file modified doc/manual/manual.pdf
Binary file not shown.