diff options
Diffstat (limited to 'tests/alu')
-rw-r--r-- | tests/alu | 15 |
1 files changed, 10 insertions, 5 deletions
@@ -1,8 +1,10 @@ # X op Y = RESULT ZERO CARRY # # Operations: -# + : add -# - : subtract +# + : add (x+y) +# ++ : add with carry (x+y+1) +# - : subtract (x-y) +# -- : subtract with borrow (x-y-1) # * : multiply # / : divide # & : and @@ -17,9 +19,12 @@ # ->> : right shift extended with most significant bit # >>> : right rotate -0x0123 + 0x1234 = 0x1357 Z=0 C=0 -0x0123 - 0x1234 = 0xeeef Z=0 C=1 -0x0123 - 0x0123 = 0x0000 Z=1 C=0 +0x0123 + 0x1234 = 0x1357 Z=0 C=0 +0x0123 ++ 0x1234 = 0x1358 Z=0 C=0 +0x0123 - 0x1234 = 0xeeef Z=0 C=1 +0x0123 -- 0x1234 = 0xeeee Z=0 C=1 +0x0123 - 0x0123 = 0x0000 Z=1 C=0 +0x0123 -- 0x0123 = 0xffff Z=0 C=1 0x0123 * 0x1234 = 0xb11c Z=0 C=0 0x3e58 / 0x0078 = 0x0085 Z=0 C=0 0xaf74 & 0x7cc7 = 0x2c44 Z=0 C=0 |