summaryrefslogtreecommitdiff
path: root/docs/reference/asm_thumb2_arith.rst
diff options
context:
space:
mode:
authorDan Halbert <halbert@halwitz.org>2018-02-27 22:03:52 -0500
committerGitHub <noreply@github.com>2018-02-27 22:03:52 -0500
commit568c04e6afa8016062f685b2198c0209f62827f4 (patch)
treed07b76119f715add462983b335797adf64b61249 /docs/reference/asm_thumb2_arith.rst
parent6a2379fd0bfe10017d8abc5c36ef1d470c0d9b27 (diff)
parentea633117d01d94e8d56ed94344e4b3e46b4eef03 (diff)
Merge pull request #650 from tannewt/merge_2x3.0.0-alpha.2
Merge in commits from 2.x branch.
Diffstat (limited to 'docs/reference/asm_thumb2_arith.rst')
-rw-r--r--docs/reference/asm_thumb2_arith.rst50
1 files changed, 0 insertions, 50 deletions
diff --git a/docs/reference/asm_thumb2_arith.rst b/docs/reference/asm_thumb2_arith.rst
deleted file mode 100644
index da4a68852..000000000
--- a/docs/reference/asm_thumb2_arith.rst
+++ /dev/null
@@ -1,50 +0,0 @@
-Arithmetic instructions
-=======================
-
-Document conventions
---------------------
-
-Notation: ``Rd, Rm, Rn`` denote ARM registers R0-R7. ``immN`` denotes an immediate
-value having a width of N bits e.g. ``imm8``, ``imm3``. ``carry`` denotes
-the carry condition flag, ``not(carry)`` denotes its complement. In the case of instructions
-with more than one register argument, it is permissible for some to be identical. For example
-the following will add the contents of R0 to itself, placing the result in R0:
-
-* add(r0, r0, r0)
-
-Arithmetic instructions affect the condition flags except where stated.
-
-Addition
---------
-
-* add(Rdn, imm8) ``Rdn = Rdn + imm8``
-* add(Rd, Rn, imm3) ``Rd = Rn + imm3``
-* add(Rd, Rn, Rm) ``Rd = Rn +Rm``
-* adc(Rd, Rn) ``Rd = Rd + Rn + carry``
-
-Subtraction
------------
-
-* sub(Rdn, imm8) ``Rdn = Rdn - imm8``
-* sub(Rd, Rn, imm3) ``Rd = Rn - imm3``
-* sub(Rd, Rn, Rm) ``Rd = Rn - Rm``
-* sbc(Rd, Rn) ``Rd = Rd - Rn - not(carry)``
-
-Negation
---------
-
-* neg(Rd, Rn) ``Rd = -Rn``
-
-Multiplication and division
----------------------------
-
-* mul(Rd, Rn) ``Rd = Rd * Rn``
-
-This produces a 32 bit result with overflow lost. The result may be treated as
-signed or unsigned according to the definition of the operands.
-
-* sdiv(Rd, Rn, Rm) ``Rd = Rn / Rm``
-* udiv(Rd, Rn, Rm) ``Rd = Rn / Rm``
-
-These functions perform signed and unsigned division respectively. Condition flags
-are not affected.