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: ee53f37792a9
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: d86a557427ce
Choose a head ref

Commits on Apr 11, 2020

  1. doc: add syntax definition for operation sections in preparation for …

    …making the sections follow it
    tpwrules authored and whitequark committed Apr 11, 2020
    Copy the full SHA
    6ae9127 View commit details
  2. Copy the full SHA
    c61e7fe View commit details
  3. Copy the full SHA
    44f6da0 View commit details
  4. doc: redo operation with new syntax

    tpwrules authored and whitequark committed Apr 11, 2020
    Copy the full SHA
    5c78de4 View commit details
  5. Copy the full SHA
    5efcafa View commit details
  6. Copy the full SHA
    8c8aabd View commit details
  7. Copy the full SHA
    4df4003 View commit details
  8. doc: simplify repetition operator

    tpwrules authored and whitequark committed Apr 11, 2020
    Copy the full SHA
    0e7f997 View commit details
  9. Copy the full SHA
    4aa8e79 View commit details
  10. doc: explain all the registers

    tpwrules authored and whitequark committed Apr 11, 2020
    Copy the full SHA
    a0e5f0a View commit details
  11. Copy the full SHA
    de43697 View commit details
  12. Copy the full SHA
    751dd3c View commit details
  13. Copy the full SHA
    f51ee16 View commit details
  14. rename SBB/SBBI to SBC/SBCI

    tpwrules authored and whitequark committed Apr 11, 2020
    Copy the full SHA
    36bf58b View commit details
  15. Copy the full SHA
    839c655 View commit details
  16. Copy the full SHA
    46a7ddf View commit details
  17. Copy the full SHA
    db6d54d View commit details
  18. fix some encoding and assembly issues

    tpwrules authored and whitequark committed Apr 11, 2020
    Copy the full SHA
    1c99a0f View commit details
  19. rename JN to NOP

    tpwrules authored and whitequark committed Apr 11, 2020
    Copy the full SHA
    149f28e View commit details
  20. rename all the compare type branches

    tpwrules authored and whitequark committed Apr 11, 2020
    Copy the full SHA
    307d171 View commit details
  21. Copy the full SHA
    322d8f2 View commit details
  22. give up on calling S negative

    tpwrules authored and whitequark committed Apr 11, 2020
    Copy the full SHA
    9d61abc View commit details
  23. Copy the full SHA
    afc5c8a View commit details
  24. Copy the full SHA
    3b0f2fe View commit details
  25. add quick reference guide

    tpwrules authored and whitequark committed Apr 11, 2020
    Copy the full SHA
    fd738e0 View commit details
  26. add latest compiled manual

    tpwrules authored and whitequark committed Apr 11, 2020
    Copy the full SHA
    0e00c63 View commit details
  27. revamp of Boneless documentation and mnemonics

    * improve ALU flag descriptions and related mnemonics (B -> C, O -> V)
    * improve branch mnemonics (Jcc -> Bcc, new Bf0/Bf1 form, JN -> NOP)
    * update manual and design spreadsheet with new mnemonics
    * add Guide to Instruction Set section to manual, which lays out documentation conventions and summarizes the architecture and general behavior
    * add Quick Reference section to manual, which lists and summarizes all of the instructions
    * clarify instruction details in manual and correct various errors
    tpwrules authored and whitequark committed Apr 11, 2020
    Copy the full SHA
    d86a557 View commit details
Showing with 681 additions and 193 deletions.
  1. BIN doc/design.ods
  2. +1 −1 doc/manual/insns/ADC.tex
  3. +1 −1 doc/manual/insns/ADCI.tex
  4. +3 −3 doc/manual/insns/{JC.tex → BC.tex}
  5. +13 −0 doc/manual/insns/BC0.tex
  6. +13 −0 doc/manual/insns/BC1.tex
  7. +2 −2 doc/manual/insns/{JE.tex → BEQ.tex}
  8. +2 −2 doc/manual/insns/{JSGE.tex → BGES.tex}
  9. +3 −3 doc/manual/insns/{JUGE.tex → BGEU.tex}
  10. +2 −2 doc/manual/insns/{JSGT.tex → BGTS.tex}
  11. +13 −0 doc/manual/insns/BGTU.tex
  12. +3 −3 doc/manual/insns/{JULE.tex → BLES.tex}
  13. +5 −5 doc/manual/insns/{JSLE.tex → BLEU.tex}
  14. +3 −3 doc/manual/insns/{JSLT.tex → BLTS.tex}
  15. +3 −3 doc/manual/insns/{JULT.tex → BLTU.tex}
  16. +3 −3 doc/manual/insns/{JNC.tex → BNC.tex}
  17. +2 −2 doc/manual/insns/{JNE.tex → BNE.tex}
  18. +14 −0 doc/manual/insns/BNS.tex
  19. +14 −0 doc/manual/insns/BNV.tex
  20. +3 −3 doc/manual/insns/{JNZ.tex → BNZ.tex}
  21. +14 −0 doc/manual/insns/BS.tex
  22. +2 −2 doc/manual/insns/{JNS.tex → BS0.tex}
  23. +2 −2 doc/manual/insns/{JS.tex → BS1.tex}
  24. +14 −0 doc/manual/insns/BV.tex
  25. +2 −2 doc/manual/insns/{JNO.tex → BV0.tex}
  26. +2 −2 doc/manual/insns/{JO.tex → BV1.tex}
  27. +3 −3 doc/manual/insns/{JZ.tex → BZ.tex}
  28. +13 −0 doc/manual/insns/BZ0.tex
  29. +13 −0 doc/manual/insns/BZ1.tex
  30. +3 −3 doc/manual/insns/CMP.tex
  31. +3 −3 doc/manual/insns/CMPI.tex
  32. +1 −1 doc/manual/insns/JAL.tex
  33. +0 −14 doc/manual/insns/JN.tex
  34. +1 −1 doc/manual/insns/JR.tex
  35. +2 −2 doc/manual/insns/JRAL.tex
  36. +1 −1 doc/manual/insns/JST.tex
  37. +0 −13 doc/manual/insns/JUGT.tex
  38. +2 −3 doc/manual/insns/JVT.tex
  39. +2 −2 doc/manual/insns/LD.tex
  40. +2 −2 doc/manual/insns/LDR.tex
  41. +2 −2 doc/manual/insns/LDW.tex
  42. +2 −2 doc/manual/insns/LDX.tex
  43. +1 −1 doc/manual/insns/LDXA.tex
  44. +2 −2 doc/manual/insns/MOVI.tex
  45. +2 −2 doc/manual/insns/MOVR.tex
  46. +9 −0 doc/manual/insns/NOP.tex
  47. +1 −1 doc/manual/insns/ROL.tex
  48. +7 −3 doc/manual/insns/ROLI.tex
  49. +0 −17 doc/manual/insns/SBB.tex
  50. +17 −0 doc/manual/insns/SBC.tex
  51. +5 −5 doc/manual/insns/{SBBI.tex → SBCI.tex}
  52. +1 −1 doc/manual/insns/SLL.tex
  53. +7 −3 doc/manual/insns/SLLI.tex
  54. +1 −1 doc/manual/insns/SRA.tex
  55. +8 −4 doc/manual/insns/SRAI.tex
  56. +1 −1 doc/manual/insns/SRL.tex
  57. +7 −3 doc/manual/insns/SRLI.tex
  58. +2 −2 doc/manual/insns/ST.tex
  59. +2 −2 doc/manual/insns/STR.tex
  60. +1 −1 doc/manual/insns/STW.tex
  61. +2 −2 doc/manual/insns/STX.tex
  62. +1 −1 doc/manual/insns/STXA.tex
  63. +2 −2 doc/manual/insns/SUB.tex
  64. +2 −2 doc/manual/insns/SUBI.tex
  65. +5 −5 doc/manual/insns/XCHW.tex
  66. +42 −34 doc/manual/insns/index.tex
  67. +1 −1 doc/manual/insns/shifti-restrictions.tex
  68. BIN doc/manual/manual.pdf
  69. +363 −1 doc/manual/manual.tex
Binary file modified doc/design.ods
Binary file not shown.
2 changes: 1 addition & 1 deletion doc/manual/insns/ADC.tex
Original file line number Diff line number Diff line change
@@ -9,7 +9,7 @@
\begin{remarks}
A 32-bit addition with both operands in registers can be performed as follows:
\begin{alltt}
; Perform (R1|R0)(R3|R2) + (R5|R4)
; Perform \string{R1, R0\string}\string{R3, R2\string} + \string{R5, R4\string}
ADD R0, R2, R4
ADC R1, R3, R5
\end{alltt}
2 changes: 1 addition & 1 deletion doc/manual/insns/ADCI.tex
Original file line number Diff line number Diff line change
@@ -13,7 +13,7 @@
\begin{remarks}
A 32-bit addition with a register and an immediate operand can be performed as follows:
\begin{alltt}
; Perform (R1|R0)(R3|R2) + 0x40001
; Perform \string{R1, R0\string}\string{R3, R2\string} + 0x40001
ADDI R0, R2, 1
ADCI R1, R3, 4
\end{alltt}
6 changes: 3 additions & 3 deletions doc/manual/insns/JC.tex → doc/manual/insns/BC.tex
Original file line number Diff line number Diff line change
@@ -1,4 +1,4 @@
\begin{instruction}{JC}{Jump if Carry}
\begin{instruction}{BC}{Branch if Carry}
\begin{encoding*}{short}
\mnemonic & \op{4}{1011} & \op{4}{1010} & \off{8} \\
\end{encoding*}
@@ -7,8 +7,8 @@
\mnemonic & \op{4}{1011} & \op{4}{1010} & \off{8} \\
\end{encoding*}
\assembly{\mnemonic{} label}
\purpose{To transfer control if an arithmetic operation resulted in unsigned overflow.}
\purpose{To transfer control if the last arithmetic operation resulted in unsigned overflow.}
\input{off8-restrictions.tex}
\begin{operation}\off{8}\jump{C}\end{operation}
\begin{remarks}This instruction has the same encoding as \insnref{JUGE}.\end{remarks}
\begin{remarks}This instruction has the same encoding as \insnref{BC1}.\end{remarks}
\end{instruction}
13 changes: 13 additions & 0 deletions doc/manual/insns/BC0.tex
Original file line number Diff line number Diff line change
@@ -0,0 +1,13 @@
\begin{instruction}{BC0}{Branch if Carry is 0}
\begin{encoding*}{short}
\mnemonic & \op{4}{1011} & \op{4}{0010} & \off{8} \\
\end{encoding*}
\begin{encoding*}{long}
\exti
\mnemonic & \op{4}{1011} & \op{4}{0010} & \off{8} \\
\end{encoding*}
\assembly{\mnemonic{} label}
\purpose{To transfer control if the carry (C) flag is 0.}
\input{off8-restrictions.tex}
\begin{operation}\off{8}\jump{\K{not} C}\end{operation}
\end{instruction}
13 changes: 13 additions & 0 deletions doc/manual/insns/BC1.tex
Original file line number Diff line number Diff line change
@@ -0,0 +1,13 @@
\begin{instruction}{BC1}{Branch if Carry is 1}
\begin{encoding*}{short}
\mnemonic & \op{4}{1011} & \op{4}{1010} & \off{8} \\
\end{encoding*}
\begin{encoding*}{long}
\exti
\mnemonic & \op{4}{1011} & \op{4}{1010} & \off{8} \\
\end{encoding*}
\assembly{\mnemonic{} label}
\purpose{To transfer control if the carry (C) flag is 1.}
\input{off8-restrictions.tex}
\begin{operation}\off{8}\jump{C}\end{operation}
\end{instruction}
4 changes: 2 additions & 2 deletions doc/manual/insns/JE.tex → doc/manual/insns/BEQ.tex
Original file line number Diff line number Diff line change
@@ -1,4 +1,4 @@
\begin{instruction}{JE}{Jump if Equal}
\begin{instruction}{BEQ}{Branch if Equal}
\begin{encoding*}{short}
\mnemonic & \op{4}{1011} & \op{4}{1000} & \off{8} \\
\end{encoding*}
@@ -10,5 +10,5 @@
\purpose{To transfer control after a \texttt{\insnref{CMP} Ra, Rb} instruction if \texttt{Ra} is equal to \texttt{Rb}.}
\input{off8-restrictions.tex}
\begin{operation}\off{8}\jump{Z}\end{operation}
\begin{remarks}This instruction has the same encoding as \insnref{JZ}.\end{remarks}
\begin{remarks}This instruction has the same encoding as \insnref{BZ1}.\end{remarks}
\end{instruction}
4 changes: 2 additions & 2 deletions doc/manual/insns/JSGE.tex → doc/manual/insns/BGES.tex
Original file line number Diff line number Diff line change
@@ -1,4 +1,4 @@
\begin{instruction}{JSGE}{Jump if Signed Greater or Equal}
\begin{instruction}{BGES}{Branch if Greater or Equal, Signed}
\begin{encoding*}{short}
\mnemonic & \op{4}{1011} & \op{4}{0101} & \off{8} \\
\end{encoding*}
@@ -7,7 +7,7 @@
\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.}
\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 integers.}
\input{off8-restrictions.tex}
\begin{operation}\off{8}\jump{\K{not} (S \K{xor} V)}\end{operation}
\end{instruction}
6 changes: 3 additions & 3 deletions doc/manual/insns/JUGE.tex → doc/manual/insns/BGEU.tex
Original file line number Diff line number Diff line change
@@ -1,4 +1,4 @@
\begin{instruction}{JUGE}{Jump if Unsigned Greater or Equal}
\begin{instruction}{BGEU}{Branch if Greater or Equal, Unsigned}
\begin{encoding*}{short}
\mnemonic & \op{4}{1011} & \op{4}{1010} & \off{8} \\
\end{encoding*}
@@ -7,8 +7,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.}
\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 integers.}
\input{off8-restrictions.tex}
\begin{operation}\off{8}\jump{C}\end{operation}
\begin{remarks}This instruction has the same encoding as \insnref{JC}.\end{remarks}
\begin{remarks}This instruction has the same encoding as \insnref{BC1}.\end{remarks}
\end{instruction}
4 changes: 2 additions & 2 deletions doc/manual/insns/JSGT.tex → doc/manual/insns/BGTS.tex
Original file line number Diff line number Diff line change
@@ -1,4 +1,4 @@
\begin{instruction}{JSGT}{Jump if Signed Greater Than}
\begin{instruction}{BGTS}{Branch if Greater Than, Signed}
\begin{encoding*}{short}
\mnemonic & \op{4}{1011} & \op{4}{0110} & \off{8} \\
\end{encoding*}
@@ -7,7 +7,7 @@
\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.}
\purpose{To transfer control after a \texttt{\insnref{CMP} Ra, Rb} instruction if \texttt{Ra} is greater than \texttt{Rb} when interpreted as signed integers.}
\input{off8-restrictions.tex}
\begin{operation}\off{8}\jump{\K{not} ((S \K{xor} V) \K{or} Z)}\end{operation}
\end{instruction}
13 changes: 13 additions & 0 deletions doc/manual/insns/BGTU.tex
Original file line number Diff line number Diff line change
@@ -0,0 +1,13 @@
\begin{instruction}{BGTU}{Branch if Greater Than, Unsigned}
\begin{encoding*}{short}
\mnemonic & \op{4}{1011} & \op{4}{0100} & \off{8} \\
\end{encoding*}
\begin{encoding*}{long}
\exti
\mnemonic & \op{4}{1011} & \op{4}{0100} & \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 \texttt{Rb} when interpreted as unsigned integers.}
\input{off8-restrictions.tex}
\begin{operation}\off{8}\jump{\K{not} ((\K{not} C) \K{or} Z)}\end{operation}
\end{instruction}
6 changes: 3 additions & 3 deletions doc/manual/insns/JULE.tex → doc/manual/insns/BLES.tex
Original file line number Diff line number Diff line change
@@ -1,4 +1,4 @@
\begin{instruction}{JULE}{Jump if Unsigned Less or Equal}
\begin{instruction}{BLES}{Branch if Less or Equal, Signed}
\begin{encoding*}{short}
\mnemonic & \op{4}{1011} & \op{4}{1110} & \off{8} \\
\end{encoding*}
@@ -7,7 +7,7 @@
\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.}
\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 integers.}
\input{off8-restrictions.tex}
\begin{operation}\off{8}\jump{(\K{not} C) \K{or} V}\end{operation}
\begin{operation}\off{8}\jump{(S \K{xor} V) \K{or} Z}\end{operation}
\end{instruction}
10 changes: 5 additions & 5 deletions doc/manual/insns/JSLE.tex → doc/manual/insns/BLEU.tex
Original file line number Diff line number Diff line change
@@ -1,13 +1,13 @@
\begin{instruction}{JSLE}{Jump if Signed Less or Equal}
\begin{instruction}{BLEU}{Branch if Less or Equal, Unsigned}
\begin{encoding*}{short}
\mnemonic & \op{4}{1011} & \op{4}{1110} & \off{8} \\
\mnemonic & \op{4}{1011} & \op{4}{1100} & \off{8} \\
\end{encoding*}
\begin{encoding*}{long}
\exti
\mnemonic & \op{4}{1011} & \op{4}{1110} & \off{8} \\
\mnemonic & \op{4}{1011} & \op{4}{1100} & \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.}
\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 integers.}
\input{off8-restrictions.tex}
\begin{operation}\off{8}\jump{((S \K{xor} V) \K{or} Z)}\end{operation}
\begin{operation}\off{8}\jump{(\K{not} C) \K{or} Z}\end{operation}
\end{instruction}
6 changes: 3 additions & 3 deletions doc/manual/insns/JSLT.tex → doc/manual/insns/BLTS.tex
Original file line number Diff line number Diff line change
@@ -1,4 +1,4 @@
\begin{instruction}{JSLT}{Jump if Signed Less Than}
\begin{instruction}{BLTS}{Branch if Less Than, Signed}
\begin{encoding*}{short}
\mnemonic & \op{4}{1011} & \op{4}{1101} & \off{8} \\
\end{encoding*}
@@ -7,7 +7,7 @@
\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.}
\purpose{To transfer control after a \texttt{\insnref{CMP} Ra, Rb} instruction if \texttt{Ra} is less than \texttt{Rb} when interpreted as signed integers.}
\input{off8-restrictions.tex}
\begin{operation}\off{8}\jump{(S \K{xor} V)}\end{operation}
\begin{operation}\off{8}\jump{S \K{xor} V}\end{operation}
\end{instruction}
6 changes: 3 additions & 3 deletions doc/manual/insns/JULT.tex → doc/manual/insns/BLTU.tex
Original file line number Diff line number Diff line change
@@ -1,4 +1,4 @@
\begin{instruction}{JULT}{Jump if Unsigned Less Than}
\begin{instruction}{BLTU}{Branch if Less Than, Unsigned}
\begin{encoding*}{short}
\mnemonic & \op{4}{1011} & \op{4}{0010} & \off{8} \\
\end{encoding*}
@@ -7,8 +7,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.}
\purpose{To transfer control after a \texttt{\insnref{CMP} Ra, Rb} instruction if \texttt{Ra} is less than \texttt{Rb} when interpreted as unsigned integers.}
\input{off8-restrictions.tex}
\begin{operation}\off{8}\jump{\K{not} C}\end{operation}
\begin{remarks}This instruction has the same encoding as \insnref{JNC}.\end{remarks}
\begin{remarks}This instruction has the same encoding as \insnref{BC0}.\end{remarks}
\end{instruction}
6 changes: 3 additions & 3 deletions doc/manual/insns/JNC.tex → doc/manual/insns/BNC.tex
Original file line number Diff line number Diff line change
@@ -1,4 +1,4 @@
\begin{instruction}{JNC}{Jump if Not Carry}
\begin{instruction}{BNC}{Branch if Not Carry}
\begin{encoding*}{short}
\mnemonic & \op{4}{1011} & \op{4}{0010} & \off{8} \\
\end{encoding*}
@@ -7,8 +7,8 @@
\mnemonic & \op{4}{1011} & \op{4}{0010} & \off{8} \\
\end{encoding*}
\assembly{\mnemonic{} label}
\purpose{To transfer control if an arithmetic operation did not result in unsigned overflow.}
\purpose{To transfer control if the last arithmetic operation did not result in unsigned overflow.}
\input{off8-restrictions.tex}
\begin{operation}\off{8}\jump{\K{not} C}\end{operation}
\begin{remarks}This instruction has the same encoding as \insnref{JULT}.\end{remarks}
\begin{remarks}This instruction has the same encoding as \insnref{BC0}.\end{remarks}
\end{instruction}
4 changes: 2 additions & 2 deletions doc/manual/insns/JNE.tex → doc/manual/insns/BNE.tex
Original file line number Diff line number Diff line change
@@ -1,4 +1,4 @@
\begin{instruction}{JNE}{Jump if Not Equal}
\begin{instruction}{BNE}{Branch if Not Equal}
\begin{encoding*}{short}
\mnemonic & \op{4}{1011} & \op{4}{0000} & \off{8} \\
\end{encoding*}
@@ -10,5 +10,5 @@
\purpose{To transfer control after a \texttt{\insnref{CMP} Ra, Rb} instruction if \texttt{Ra} is not equal to \texttt{Rb}.}
\input{off8-restrictions.tex}
\begin{operation}\off{8}\jump{\K{not} Z}\end{operation}
\begin{remarks}This instruction has the same encoding as \insnref{JNZ}.\end{remarks}
\begin{remarks}This instruction has the same encoding as \insnref{BZ0}.\end{remarks}
\end{instruction}
14 changes: 14 additions & 0 deletions doc/manual/insns/BNS.tex
Original file line number Diff line number Diff line change
@@ -0,0 +1,14 @@
\begin{instruction}{BNS}{Branch if Not Sign}
\begin{encoding*}{short}
\mnemonic & \op{4}{1011} & \op{4}{0001} & \off{8} \\
\end{encoding*}
\begin{encoding*}{long}
\exti
\mnemonic & \op{4}{1011} & \op{4}{0001} & \off{8} \\
\end{encoding*}
\assembly{\mnemonic{} label}
\purpose{To transfer control if the last arithmetic operation did not produce a negative result.}
\input{off8-restrictions.tex}
\begin{operation}\off{8}\jump{\K{not} S}\end{operation}
\begin{remarks}This instruction has the same encoding as \insnref{BS0}.\end{remarks}
\end{instruction}
14 changes: 14 additions & 0 deletions doc/manual/insns/BNV.tex
Original file line number Diff line number Diff line change
@@ -0,0 +1,14 @@
\begin{instruction}{BNV}{Branch if Not Overflow}
\begin{encoding*}{short}
\mnemonic & \op{4}{1011} & \op{4}{0011} & \off{8} \\
\end{encoding*}
\begin{encoding*}{long}
\exti
\mnemonic & \op{4}{1011} & \op{4}{0011} & \off{8} \\
\end{encoding*}
\assembly{\mnemonic{} label}
\purpose{To transfer control if the last arithmetic operation did not result in signed overflow.}
\input{off8-restrictions.tex}
\begin{operation}\off{8}\jump{\K{not} V}\end{operation}
\begin{remarks}This instruction has the same encoding as \insnref{BV0}.\end{remarks}
\end{instruction}
6 changes: 3 additions & 3 deletions doc/manual/insns/JNZ.tex → doc/manual/insns/BNZ.tex
Original file line number Diff line number Diff line change
@@ -1,4 +1,4 @@
\begin{instruction}{JNZ}{Jump if Not Zero}
\begin{instruction}{BNZ}{Branch if Not Zero}
\begin{encoding*}{short}
\mnemonic & \op{4}{1011} & \op{4}{0000} & \off{8} \\
\end{encoding*}
@@ -7,8 +7,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.}
\purpose{To transfer control if the last operation produced a result not equal to zero.}
\input{off8-restrictions.tex}
\begin{operation}\off{8}\jump{\K{not} Z}\end{operation}
\begin{remarks}This instruction has the same encoding as \insnref{JNE}.\end{remarks}
\begin{remarks}This instruction has the same encoding as \insnref{BZ0}.\end{remarks}
\end{instruction}
14 changes: 14 additions & 0 deletions doc/manual/insns/BS.tex
Original file line number Diff line number Diff line change
@@ -0,0 +1,14 @@
\begin{instruction}{BS}{Branch if Sign}
\begin{encoding*}{short}
\mnemonic & \op{4}{1011} & \op{4}{1001} & \off{8} \\
\end{encoding*}
\begin{encoding*}{long}
\exti
\mnemonic & \op{4}{1011} & \op{4}{1001} & \off{8} \\
\end{encoding*}
\assembly{\mnemonic{} label}
\purpose{To transfer control if the last arithmetic operation produced a negative result.}
\input{off8-restrictions.tex}
\begin{operation}\off{8}\jump{S}\end{operation}
\begin{remarks}This instruction has the same encoding as \insnref{BS1}.\end{remarks}
\end{instruction}
4 changes: 2 additions & 2 deletions doc/manual/insns/JNS.tex → doc/manual/insns/BS0.tex
Original file line number Diff line number Diff line change
@@ -1,4 +1,4 @@
\begin{instruction}{JNS}{Jump if Not Negative}
\begin{instruction}{BS0}{Branch if Sign is 0}
\begin{encoding*}{short}
\mnemonic & \op{4}{1011} & \op{4}{0001} & \off{8} \\
\end{encoding*}
@@ -7,7 +7,7 @@
\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.}
\purpose{To transfer control if the sign (S) flag is 0.}
\input{off8-restrictions.tex}
\begin{operation}\off{8}\jump{\K{not} S}\end{operation}
\end{instruction}
4 changes: 2 additions & 2 deletions doc/manual/insns/JS.tex → doc/manual/insns/BS1.tex
Original file line number Diff line number Diff line change
@@ -1,4 +1,4 @@
\begin{instruction}{JS}{Jump if Negative}
\begin{instruction}{BS1}{Branch if Sign is 1}
\begin{encoding*}{short}
\mnemonic & \op{4}{1011} & \op{4}{1001} & \off{8} \\
\end{encoding*}
@@ -7,7 +7,7 @@
\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.}
\purpose{To transfer control if the sign (S) flag is 1.}
\input{off8-restrictions.tex}
\begin{operation}\off{8}\jump{S}\end{operation}
\end{instruction}
14 changes: 14 additions & 0 deletions doc/manual/insns/BV.tex
Original file line number Diff line number Diff line change
@@ -0,0 +1,14 @@
\begin{instruction}{BV}{Branch if Overflow}
\begin{encoding*}{short}
\mnemonic & \op{4}{1011} & \op{4}{1011} & \off{8} \\
\end{encoding*}
\begin{encoding*}{long}
\exti
\mnemonic & \op{4}{1011} & \op{4}{1011} & \off{8} \\
\end{encoding*}
\assembly{\mnemonic{} label}
\purpose{To transfer control if the last arithmetic operation resulted in signed overflow.}
\input{off8-restrictions.tex}
\begin{operation}\off{8}\jump{V}\end{operation}
\begin{remarks}This instruction has the same encoding as \insnref{BV1}.\end{remarks}
\end{instruction}
4 changes: 2 additions & 2 deletions doc/manual/insns/JNO.tex → doc/manual/insns/BV0.tex
Original file line number Diff line number Diff line change
@@ -1,4 +1,4 @@
\begin{instruction}{JNO}{Jump if Not Overflow}
\begin{instruction}{BV0}{Branch if Overflow is 0}
\begin{encoding*}{short}
\mnemonic & \op{4}{1011} & \op{4}{0011} & \off{8} \\
\end{encoding*}
@@ -7,7 +7,7 @@
\mnemonic & \op{4}{1011} & \op{4}{0011} & \off{8} \\
\end{encoding*}
\assembly{\mnemonic{} label}
\purpose{To transfer control if an arithmetic operation did not result in signed overflow.}
\purpose{To transfer control if the overflow (V) flag is 0.}
\input{off8-restrictions.tex}
\begin{operation}\off{8}\jump{\K{not} V}\end{operation}
\end{instruction}
4 changes: 2 additions & 2 deletions doc/manual/insns/JO.tex → doc/manual/insns/BV1.tex
Original file line number Diff line number Diff line change
@@ -1,4 +1,4 @@
\begin{instruction}{JO}{Jump if Overflow}
\begin{instruction}{BV1}{Branch if Overflow is 1}
\begin{encoding*}{short}
\mnemonic & \op{4}{1011} & \op{4}{1011} & \off{8} \\
\end{encoding*}
@@ -7,7 +7,7 @@
\mnemonic & \op{4}{1011} & \op{4}{1011} & \off{8} \\
\end{encoding*}
\assembly{\mnemonic{} label}
\purpose{To transfer control if an arithmetic operation resulted in signed overflow.}
\purpose{To transfer control if the overflow (V) flag is 1.}
\input{off8-restrictions.tex}
\begin{operation}\off{8}\jump{V}\end{operation}
\end{instruction}
6 changes: 3 additions & 3 deletions doc/manual/insns/JZ.tex → doc/manual/insns/BZ.tex
Original file line number Diff line number Diff line change
@@ -1,4 +1,4 @@
\begin{instruction}{JZ}{Jump if Zero}
\begin{instruction}{BZ}{Branch if Zero}
\begin{encoding*}{short}
\mnemonic & \op{4}{1011} & \op{4}{1000} & \off{8} \\
\end{encoding*}
@@ -7,8 +7,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.}
\purpose{To transfer control if the last operation produced a result equal to zero.}
\input{off8-restrictions.tex}
\begin{operation}\off{8}\jump{Z}\end{operation}
\begin{remarks}This instruction has the same encoding as \insnref{JE}.\end{remarks}
\begin{remarks}This instruction has the same encoding as \insnref{BZ1}.\end{remarks}
\end{instruction}
Loading