From 16fa8d7cc8c92f5ab879e4cf9c6c0bbb3567860f Mon Sep 17 00:00:00 2001 From: Gabe Black Date: Thu, 24 May 2018 01:37:55 -0700 Subject: systemc: Import tests from the Accellera systemc distribution. Change-Id: Iad76b398949a55d768a34d027a2d8e3739953da6 Reviewed-on: https://gem5-review.googlesource.com/10845 Reviewed-by: Giacomo Travaglini Maintainer: Gabe Black --- .../datawidth_signed/promote_truncation/common.h | 46 + .../promote_truncation/datawidth.cpp | 65 + .../promote_truncation/datawidth.h | 87 + .../golden/promote_truncation.log | 4099 ++++++++++++++++++++ .../datawidth_signed/promote_truncation/main.cpp | 78 + .../promote_truncation/promote_truncation.f | 3 + .../promote_truncation/stimgen.cpp | 69 + .../datawidth_signed/promote_truncation/stimgen.h | 77 + 8 files changed, 4524 insertions(+) create mode 100644 src/systemc/tests/systemc/misc/unit/data/datawidth_signed/promote_truncation/common.h create mode 100644 src/systemc/tests/systemc/misc/unit/data/datawidth_signed/promote_truncation/datawidth.cpp create mode 100644 src/systemc/tests/systemc/misc/unit/data/datawidth_signed/promote_truncation/datawidth.h create mode 100644 src/systemc/tests/systemc/misc/unit/data/datawidth_signed/promote_truncation/golden/promote_truncation.log create mode 100644 src/systemc/tests/systemc/misc/unit/data/datawidth_signed/promote_truncation/main.cpp create mode 100644 src/systemc/tests/systemc/misc/unit/data/datawidth_signed/promote_truncation/promote_truncation.f create mode 100644 src/systemc/tests/systemc/misc/unit/data/datawidth_signed/promote_truncation/stimgen.cpp create mode 100644 src/systemc/tests/systemc/misc/unit/data/datawidth_signed/promote_truncation/stimgen.h (limited to 'src/systemc/tests/systemc/misc/unit/data/datawidth_signed/promote_truncation') diff --git a/src/systemc/tests/systemc/misc/unit/data/datawidth_signed/promote_truncation/common.h b/src/systemc/tests/systemc/misc/unit/data/datawidth_signed/promote_truncation/common.h new file mode 100644 index 000000000..2e2569230 --- /dev/null +++ b/src/systemc/tests/systemc/misc/unit/data/datawidth_signed/promote_truncation/common.h @@ -0,0 +1,46 @@ +/***************************************************************************** + + Licensed to Accellera Systems Initiative Inc. (Accellera) under one or + more contributor license agreements. See the NOTICE file distributed + with this work for additional information regarding copyright ownership. + Accellera licenses this file to you under the Apache License, Version 2.0 + (the "License"); you may not use this file except in compliance with the + License. You may obtain a copy of the License at + + http://www.apache.org/licenses/LICENSE-2.0 + + Unless required by applicable law or agreed to in writing, software + distributed under the License is distributed on an "AS IS" BASIS, + WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or + implied. See the License for the specific language governing + permissions and limitations under the License. + + *****************************************************************************/ + +/***************************************************************************** + + common.h -- + + Original Author: Martin Janssen, Synopsys, Inc., 2002-02-15 + + *****************************************************************************/ + +/***************************************************************************** + + MODIFICATION LOG - modifiers, enter your name, affiliation, date and + changes you are making here. + + Name, Affiliation, Date: + Description of Modification: + + *****************************************************************************/ + +#ifndef COMMON_H +#define COMMON_H + +#include "systemc.h" + +typedef sc_signal > signal_bool_vector4; +typedef sc_signal > signal_bool_vector6; + +#endif diff --git a/src/systemc/tests/systemc/misc/unit/data/datawidth_signed/promote_truncation/datawidth.cpp b/src/systemc/tests/systemc/misc/unit/data/datawidth_signed/promote_truncation/datawidth.cpp new file mode 100644 index 000000000..25913d4a9 --- /dev/null +++ b/src/systemc/tests/systemc/misc/unit/data/datawidth_signed/promote_truncation/datawidth.cpp @@ -0,0 +1,65 @@ +/***************************************************************************** + + Licensed to Accellera Systems Initiative Inc. (Accellera) under one or + more contributor license agreements. See the NOTICE file distributed + with this work for additional information regarding copyright ownership. + Accellera licenses this file to you under the Apache License, Version 2.0 + (the "License"); you may not use this file except in compliance with the + License. You may obtain a copy of the License at + + http://www.apache.org/licenses/LICENSE-2.0 + + Unless required by applicable law or agreed to in writing, software + distributed under the License is distributed on an "AS IS" BASIS, + WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or + implied. See the License for the specific language governing + permissions and limitations under the License. + + *****************************************************************************/ + +/***************************************************************************** + + datawidth.cpp -- + + Original Author: Martin Janssen, Synopsys, Inc., 2002-02-15 + + *****************************************************************************/ + +/***************************************************************************** + + MODIFICATION LOG - modifiers, enter your name, affiliation, date and + changes you are making here. + + Name, Affiliation, Date: + Description of Modification: + + *****************************************************************************/ + + /*******************************************/ + /* Implementation Filename: datawidth.cc */ + /*******************************************/ + +#include "datawidth.h" + +void +datawidth::entry() +{ + sc_signed tmp_a (in1_width); + sc_signed tmp_b (in2_width); + sc_signed tmp_result (result_width); + + while (true) { + + // HANDSHAKING + do { wait(); } while (ready != 1); + + // COMPUTATION + tmp_a = in1.read(); + tmp_b = in2.read(); + tmp_result = tmp_a + tmp_b; + + // WRITE OUTPUT + result.write(tmp_result); // result = in1 + in2 + wait(); + } +} diff --git a/src/systemc/tests/systemc/misc/unit/data/datawidth_signed/promote_truncation/datawidth.h b/src/systemc/tests/systemc/misc/unit/data/datawidth_signed/promote_truncation/datawidth.h new file mode 100644 index 000000000..12f04c9be --- /dev/null +++ b/src/systemc/tests/systemc/misc/unit/data/datawidth_signed/promote_truncation/datawidth.h @@ -0,0 +1,87 @@ +/***************************************************************************** + + Licensed to Accellera Systems Initiative Inc. (Accellera) under one or + more contributor license agreements. See the NOTICE file distributed + with this work for additional information regarding copyright ownership. + Accellera licenses this file to you under the Apache License, Version 2.0 + (the "License"); you may not use this file except in compliance with the + License. You may obtain a copy of the License at + + http://www.apache.org/licenses/LICENSE-2.0 + + Unless required by applicable law or agreed to in writing, software + distributed under the License is distributed on an "AS IS" BASIS, + WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or + implied. See the License for the specific language governing + permissions and limitations under the License. + + *****************************************************************************/ + +/***************************************************************************** + + datawidth.h -- + + Original Author: Martin Janssen, Synopsys, Inc., 2002-02-15 + + *****************************************************************************/ + +/***************************************************************************** + + MODIFICATION LOG - modifiers, enter your name, affiliation, date and + changes you are making here. + + Name, Affiliation, Date: + Description of Modification: + + *****************************************************************************/ + + /**************************************/ + /* Interface Filename: datawidth.h */ + /**************************************/ + +#include "common.h" + +SC_MODULE( datawidth ) +{ + SC_HAS_PROCESS( datawidth ); + + sc_in_clk clk; + + // Inputs + const signal_bool_vector4& in1; + const signal_bool_vector6& in2; + const sc_signal& ready; + // Outputs + signal_bool_vector4& result; + // Parameters + const int in1_width; + const int in2_width; + const int result_width; + + // Constructor + datawidth (sc_module_name NAME, + sc_clock& TICK, + const signal_bool_vector4& IN1, + const signal_bool_vector6& IN2, + const sc_signal& READY, + signal_bool_vector4& RESULT, + const int IN1_WIDTH, + const int IN2_WIDTH, + const int RESULT_WIDTH ) + + : + in1 (IN1), + in2 (IN2), + ready (READY), + result (RESULT), + in1_width (IN1_WIDTH), + in2_width (IN2_WIDTH), + result_width (RESULT_WIDTH) + + { + clk (TICK); + SC_CTHREAD( entry, clk.pos() ); + } + + void entry(); +}; diff --git a/src/systemc/tests/systemc/misc/unit/data/datawidth_signed/promote_truncation/golden/promote_truncation.log b/src/systemc/tests/systemc/misc/unit/data/datawidth_signed/promote_truncation/golden/promote_truncation.log new file mode 100644 index 000000000..081cff3dd --- /dev/null +++ b/src/systemc/tests/systemc/misc/unit/data/datawidth_signed/promote_truncation/golden/promote_truncation.log @@ -0,0 +1,4099 @@ +SystemC Simulation +0 + 0 = 0 (0000) +0 + 1 = 1 (0001) +0 + 2 = 2 (0010) +0 + 3 = 3 (0011) +0 + 4 = 4 (0100) +0 + 5 = 5 (0101) +0 + 6 = 6 (0110) +0 + 7 = 7 (0111) +0 + 8 = -8 (1000) +0 + 9 = -7 (1001) +0 + 10 = -6 (1010) +0 + 11 = -5 (1011) +0 + 12 = -4 (1100) +0 + 13 = -3 (1101) +0 + 14 = -2 (1110) +0 + 15 = -1 (1111) +0 + 16 = 0 (0000) +0 + 17 = 1 (0001) +0 + 18 = 2 (0010) +0 + 19 = 3 (0011) +0 + 20 = 4 (0100) +0 + 21 = 5 (0101) +0 + 22 = 6 (0110) +0 + 23 = 7 (0111) +0 + 24 = -8 (1000) +0 + 25 = -7 (1001) +0 + 26 = -6 (1010) +0 + 27 = -5 (1011) +0 + 28 = -4 (1100) +0 + 29 = -3 (1101) +0 + 30 = -2 (1110) +0 + 31 = -1 (1111) +0 + -32 = 0 (0000) +0 + -31 = 1 (0001) +0 + -30 = 2 (0010) +0 + -29 = 3 (0011) +0 + -28 = 4 (0100) +0 + -27 = 5 (0101) +0 + -26 = 6 (0110) +0 + -25 = 7 (0111) +0 + -24 = -8 (1000) +0 + -23 = -7 (1001) +0 + -22 = -6 (1010) +0 + -21 = -5 (1011) +0 + -20 = -4 (1100) +0 + -19 = -3 (1101) +0 + -18 = -2 (1110) +0 + -17 = -1 (1111) +0 + -16 = 0 (0000) +0 + -15 = 1 (0001) +0 + -14 = 2 (0010) +0 + -13 = 3 (0011) +0 + -12 = 4 (0100) +0 + -11 = 5 (0101) +0 + -10 = 6 (0110) +0 + -9 = 7 (0111) +0 + -8 = -8 (1000) +0 + -7 = -7 (1001) +0 + -6 = -6 (1010) +0 + -5 = -5 (1011) +0 + -4 = -4 (1100) +0 + -3 = -3 (1101) +0 + -2 = -2 (1110) +0 + -1 = -1 (1111) +1 + 0 = 1 (0001) +1 + 1 = 2 (0010) +1 + 2 = 3 (0011) +1 + 3 = 4 (0100) +1 + 4 = 5 (0101) +1 + 5 = 6 (0110) +1 + 6 = 7 (0111) +1 + 7 = -8 (1000) +1 + 8 = -7 (1001) +1 + 9 = -6 (1010) +1 + 10 = -5 (1011) +1 + 11 = -4 (1100) +1 + 12 = -3 (1101) +1 + 13 = -2 (1110) +1 + 14 = -1 (1111) +1 + 15 = 0 (0000) +1 + 16 = 1 (0001) +1 + 17 = 2 (0010) +1 + 18 = 3 (0011) +1 + 19 = 4 (0100) +1 + 20 = 5 (0101) +1 + 21 = 6 (0110) +1 + 22 = 7 (0111) +1 + 23 = -8 (1000) +1 + 24 = -7 (1001) +1 + 25 = -6 (1010) +1 + 26 = -5 (1011) +1 + 27 = -4 (1100) +1 + 28 = -3 (1101) +1 + 29 = -2 (1110) +1 + 30 = -1 (1111) +1 + 31 = 0 (0000) +1 + -32 = 1 (0001) +1 + -31 = 2 (0010) +1 + -30 = 3 (0011) +1 + -29 = 4 (0100) +1 + -28 = 5 (0101) +1 + -27 = 6 (0110) +1 + -26 = 7 (0111) +1 + -25 = -8 (1000) +1 + -24 = -7 (1001) +1 + -23 = -6 (1010) +1 + -22 = -5 (1011) +1 + -21 = -4 (1100) +1 + -20 = -3 (1101) +1 + -19 = -2 (1110) +1 + -18 = -1 (1111) +1 + -17 = 0 (0000) +1 + -16 = 1 (0001) +1 + -15 = 2 (0010) +1 + -14 = 3 (0011) +1 + -13 = 4 (0100) +1 + -12 = 5 (0101) +1 + -11 = 6 (0110) +1 + -10 = 7 (0111) +1 + -9 = -8 (1000) +1 + -8 = -7 (1001) +1 + -7 = -6 (1010) +1 + -6 = -5 (1011) +1 + -5 = -4 (1100) +1 + -4 = -3 (1101) +1 + -3 = -2 (1110) +1 + -2 = -1 (1111) +1 + -1 = 0 (0000) +2 + 0 = 2 (0010) +2 + 1 = 3 (0011) +2 + 2 = 4 (0100) +2 + 3 = 5 (0101) +2 + 4 = 6 (0110) +2 + 5 = 7 (0111) +2 + 6 = -8 (1000) +2 + 7 = -7 (1001) +2 + 8 = -6 (1010) +2 + 9 = -5 (1011) +2 + 10 = -4 (1100) +2 + 11 = -3 (1101) +2 + 12 = -2 (1110) +2 + 13 = -1 (1111) +2 + 14 = 0 (0000) +2 + 15 = 1 (0001) +2 + 16 = 2 (0010) +2 + 17 = 3 (0011) +2 + 18 = 4 (0100) +2 + 19 = 5 (0101) +2 + 20 = 6 (0110) +2 + 21 = 7 (0111) +2 + 22 = -8 (1000) +2 + 23 = -7 (1001) +2 + 24 = -6 (1010) +2 + 25 = -5 (1011) +2 + 26 = -4 (1100) +2 + 27 = -3 (1101) +2 + 28 = -2 (1110) +2 + 29 = -1 (1111) +2 + 30 = 0 (0000) +2 + 31 = 1 (0001) +2 + -32 = 2 (0010) +2 + -31 = 3 (0011) +2 + -30 = 4 (0100) +2 + -29 = 5 (0101) +2 + -28 = 6 (0110) +2 + -27 = 7 (0111) +2 + -26 = -8 (1000) +2 + -25 = -7 (1001) +2 + -24 = -6 (1010) +2 + -23 = -5 (1011) +2 + -22 = -4 (1100) +2 + -21 = -3 (1101) +2 + -20 = -2 (1110) +2 + -19 = -1 (1111) +2 + -18 = 0 (0000) +2 + -17 = 1 (0001) +2 + -16 = 2 (0010) +2 + -15 = 3 (0011) +2 + -14 = 4 (0100) +2 + -13 = 5 (0101) +2 + -12 = 6 (0110) +2 + -11 = 7 (0111) +2 + -10 = -8 (1000) +2 + -9 = -7 (1001) +2 + -8 = -6 (1010) +2 + -7 = -5 (1011) +2 + -6 = -4 (1100) +2 + -5 = -3 (1101) +2 + -4 = -2 (1110) +2 + -3 = -1 (1111) +2 + -2 = 0 (0000) +2 + -1 = 1 (0001) +3 + 0 = 3 (0011) +3 + 1 = 4 (0100) +3 + 2 = 5 (0101) +3 + 3 = 6 (0110) +3 + 4 = 7 (0111) +3 + 5 = -8 (1000) +3 + 6 = -7 (1001) +3 + 7 = -6 (1010) +3 + 8 = -5 (1011) +3 + 9 = -4 (1100) +3 + 10 = -3 (1101) +3 + 11 = -2 (1110) +3 + 12 = -1 (1111) +3 + 13 = 0 (0000) +3 + 14 = 1 (0001) +3 + 15 = 2 (0010) +3 + 16 = 3 (0011) +3 + 17 = 4 (0100) +3 + 18 = 5 (0101) +3 + 19 = 6 (0110) +3 + 20 = 7 (0111) +3 + 21 = -8 (1000) +3 + 22 = -7 (1001) +3 + 23 = -6 (1010) +3 + 24 = -5 (1011) +3 + 25 = -4 (1100) +3 + 26 = -3 (1101) +3 + 27 = -2 (1110) +3 + 28 = -1 (1111) +3 + 29 = 0 (0000) +3 + 30 = 1 (0001) +3 + 31 = 2 (0010) +3 + -32 = 3 (0011) +3 + -31 = 4 (0100) +3 + -30 = 5 (0101) +3 + -29 = 6 (0110) +3 + -28 = 7 (0111) +3 + -27 = -8 (1000) +3 + -26 = -7 (1001) +3 + -25 = -6 (1010) +3 + -24 = -5 (1011) +3 + -23 = -4 (1100) +3 + -22 = -3 (1101) +3 + -21 = -2 (1110) +3 + -20 = -1 (1111) +3 + -19 = 0 (0000) +3 + -18 = 1 (0001) +3 + -17 = 2 (0010) +3 + -16 = 3 (0011) +3 + -15 = 4 (0100) +3 + -14 = 5 (0101) +3 + -13 = 6 (0110) +3 + -12 = 7 (0111) +3 + -11 = -8 (1000) +3 + -10 = -7 (1001) +3 + -9 = -6 (1010) +3 + -8 = -5 (1011) +3 + -7 = -4 (1100) +3 + -6 = -3 (1101) +3 + -5 = -2 (1110) +3 + -4 = -1 (1111) +3 + -3 = 0 (0000) +3 + -2 = 1 (0001) +3 + -1 = 2 (0010) +4 + 0 = 4 (0100) +4 + 1 = 5 (0101) +4 + 2 = 6 (0110) +4 + 3 = 7 (0111) +4 + 4 = -8 (1000) +4 + 5 = -7 (1001) +4 + 6 = -6 (1010) +4 + 7 = -5 (1011) +4 + 8 = -4 (1100) +4 + 9 = -3 (1101) +4 + 10 = -2 (1110) +4 + 11 = -1 (1111) +4 + 12 = 0 (0000) +4 + 13 = 1 (0001) +4 + 14 = 2 (0010) +4 + 15 = 3 (0011) +4 + 16 = 4 (0100) +4 + 17 = 5 (0101) +4 + 18 = 6 (0110) +4 + 19 = 7 (0111) +4 + 20 = -8 (1000) +4 + 21 = -7 (1001) +4 + 22 = -6 (1010) +4 + 23 = -5 (1011) +4 + 24 = -4 (1100) +4 + 25 = -3 (1101) +4 + 26 = -2 (1110) +4 + 27 = -1 (1111) +4 + 28 = 0 (0000) +4 + 29 = 1 (0001) +4 + 30 = 2 (0010) +4 + 31 = 3 (0011) +4 + -32 = 4 (0100) +4 + -31 = 5 (0101) +4 + -30 = 6 (0110) +4 + -29 = 7 (0111) +4 + -28 = -8 (1000) +4 + -27 = -7 (1001) +4 + -26 = -6 (1010) +4 + -25 = -5 (1011) +4 + -24 = -4 (1100) +4 + -23 = -3 (1101) +4 + -22 = -2 (1110) +4 + -21 = -1 (1111) +4 + -20 = 0 (0000) +4 + -19 = 1 (0001) +4 + -18 = 2 (0010) +4 + -17 = 3 (0011) +4 + -16 = 4 (0100) +4 + -15 = 5 (0101) +4 + -14 = 6 (0110) +4 + -13 = 7 (0111) +4 + -12 = -8 (1000) +4 + -11 = -7 (1001) +4 + -10 = -6 (1010) +4 + -9 = -5 (1011) +4 + -8 = -4 (1100) +4 + -7 = -3 (1101) +4 + -6 = -2 (1110) +4 + -5 = -1 (1111) +4 + -4 = 0 (0000) +4 + -3 = 1 (0001) +4 + -2 = 2 (0010) +4 + -1 = 3 (0011) +5 + 0 = 5 (0101) +5 + 1 = 6 (0110) +5 + 2 = 7 (0111) +5 + 3 = -8 (1000) +5 + 4 = -7 (1001) +5 + 5 = -6 (1010) +5 + 6 = -5 (1011) +5 + 7 = -4 (1100) +5 + 8 = -3 (1101) +5 + 9 = -2 (1110) +5 + 10 = -1 (1111) +5 + 11 = 0 (0000) +5 + 12 = 1 (0001) +5 + 13 = 2 (0010) +5 + 14 = 3 (0011) +5 + 15 = 4 (0100) +5 + 16 = 5 (0101) +5 + 17 = 6 (0110) +5 + 18 = 7 (0111) +5 + 19 = -8 (1000) +5 + 20 = -7 (1001) +5 + 21 = -6 (1010) +5 + 22 = -5 (1011) +5 + 23 = -4 (1100) +5 + 24 = -3 (1101) +5 + 25 = -2 (1110) +5 + 26 = -1 (1111) +5 + 27 = 0 (0000) +5 + 28 = 1 (0001) +5 + 29 = 2 (0010) +5 + 30 = 3 (0011) +5 + 31 = 4 (0100) +5 + -32 = 5 (0101) +5 + -31 = 6 (0110) +5 + -30 = 7 (0111) +5 + -29 = -8 (1000) +5 + -28 = -7 (1001) +5 + -27 = -6 (1010) +5 + -26 = -5 (1011) +5 + -25 = -4 (1100) +5 + -24 = -3 (1101) +5 + -23 = -2 (1110) +5 + -22 = -1 (1111) +5 + -21 = 0 (0000) +5 + -20 = 1 (0001) +5 + -19 = 2 (0010) +5 + -18 = 3 (0011) +5 + -17 = 4 (0100) +5 + -16 = 5 (0101) +5 + -15 = 6 (0110) +5 + -14 = 7 (0111) +5 + -13 = -8 (1000) +5 + -12 = -7 (1001) +5 + -11 = -6 (1010) +5 + -10 = -5 (1011) +5 + -9 = -4 (1100) +5 + -8 = -3 (1101) +5 + -7 = -2 (1110) +5 + -6 = -1 (1111) +5 + -5 = 0 (0000) +5 + -4 = 1 (0001) +5 + -3 = 2 (0010) +5 + -2 = 3 (0011) +5 + -1 = 4 (0100) +6 + 0 = 6 (0110) +6 + 1 = 7 (0111) +6 + 2 = -8 (1000) +6 + 3 = -7 (1001) +6 + 4 = -6 (1010) +6 + 5 = -5 (1011) +6 + 6 = -4 (1100) +6 + 7 = -3 (1101) +6 + 8 = -2 (1110) +6 + 9 = -1 (1111) +6 + 10 = 0 (0000) +6 + 11 = 1 (0001) +6 + 12 = 2 (0010) +6 + 13 = 3 (0011) +6 + 14 = 4 (0100) +6 + 15 = 5 (0101) +6 + 16 = 6 (0110) +6 + 17 = 7 (0111) +6 + 18 = -8 (1000) +6 + 19 = -7 (1001) +6 + 20 = -6 (1010) +6 + 21 = -5 (1011) +6 + 22 = -4 (1100) +6 + 23 = -3 (1101) +6 + 24 = -2 (1110) +6 + 25 = -1 (1111) +6 + 26 = 0 (0000) +6 + 27 = 1 (0001) +6 + 28 = 2 (0010) +6 + 29 = 3 (0011) +6 + 30 = 4 (0100) +6 + 31 = 5 (0101) +6 + -32 = 6 (0110) +6 + -31 = 7 (0111) +6 + -30 = -8 (1000) +6 + -29 = -7 (1001) +6 + -28 = -6 (1010) +6 + -27 = -5 (1011) +6 + -26 = -4 (1100) +6 + -25 = -3 (1101) +6 + -24 = -2 (1110) +6 + -23 = -1 (1111) +6 + -22 = 0 (0000) +6 + -21 = 1 (0001) +6 + -20 = 2 (0010) +6 + -19 = 3 (0011) +6 + -18 = 4 (0100) +6 + -17 = 5 (0101) +6 + -16 = 6 (0110) +6 + -15 = 7 (0111) +6 + -14 = -8 (1000) +6 + -13 = -7 (1001) +6 + -12 = -6 (1010) +6 + -11 = -5 (1011) +6 + -10 = -4 (1100) +6 + -9 = -3 (1101) +6 + -8 = -2 (1110) +6 + -7 = -1 (1111) +6 + -6 = 0 (0000) +6 + -5 = 1 (0001) +6 + -4 = 2 (0010) +6 + -3 = 3 (0011) +6 + -2 = 4 (0100) +6 + -1 = 5 (0101) +7 + 0 = 7 (0111) +7 + 1 = -8 (1000) +7 + 2 = -7 (1001) +7 + 3 = -6 (1010) +7 + 4 = -5 (1011) +7 + 5 = -4 (1100) +7 + 6 = -3 (1101) +7 + 7 = -2 (1110) +7 + 8 = -1 (1111) +7 + 9 = 0 (0000) +7 + 10 = 1 (0001) +7 + 11 = 2 (0010) +7 + 12 = 3 (0011) +7 + 13 = 4 (0100) +7 + 14 = 5 (0101) +7 + 15 = 6 (0110) +7 + 16 = 7 (0111) +7 + 17 = -8 (1000) +7 + 18 = -7 (1001) +7 + 19 = -6 (1010) +7 + 20 = -5 (1011) +7 + 21 = -4 (1100) +7 + 22 = -3 (1101) +7 + 23 = -2 (1110) +7 + 24 = -1 (1111) +7 + 25 = 0 (0000) +7 + 26 = 1 (0001) +7 + 27 = 2 (0010) +7 + 28 = 3 (0011) +7 + 29 = 4 (0100) +7 + 30 = 5 (0101) +7 + 31 = 6 (0110) +7 + -32 = 7 (0111) +7 + -31 = -8 (1000) +7 + -30 = -7 (1001) +7 + -29 = -6 (1010) +7 + -28 = -5 (1011) +7 + -27 = -4 (1100) +7 + -26 = -3 (1101) +7 + -25 = -2 (1110) +7 + -24 = -1 (1111) +7 + -23 = 0 (0000) +7 + -22 = 1 (0001) +7 + -21 = 2 (0010) +7 + -20 = 3 (0011) +7 + -19 = 4 (0100) +7 + -18 = 5 (0101) +7 + -17 = 6 (0110) +7 + -16 = 7 (0111) +7 + -15 = -8 (1000) +7 + -14 = -7 (1001) +7 + -13 = -6 (1010) +7 + -12 = -5 (1011) +7 + -11 = -4 (1100) +7 + -10 = -3 (1101) +7 + -9 = -2 (1110) +7 + -8 = -1 (1111) +7 + -7 = 0 (0000) +7 + -6 = 1 (0001) +7 + -5 = 2 (0010) +7 + -4 = 3 (0011) +7 + -3 = 4 (0100) +7 + -2 = 5 (0101) +7 + -1 = 6 (0110) +-8 + 0 = -8 (1000) +-8 + 1 = -7 (1001) +-8 + 2 = -6 (1010) +-8 + 3 = -5 (1011) +-8 + 4 = -4 (1100) +-8 + 5 = -3 (1101) +-8 + 6 = -2 (1110) +-8 + 7 = -1 (1111) +-8 + 8 = 0 (0000) +-8 + 9 = 1 (0001) +-8 + 10 = 2 (0010) +-8 + 11 = 3 (0011) +-8 + 12 = 4 (0100) +-8 + 13 = 5 (0101) +-8 + 14 = 6 (0110) +-8 + 15 = 7 (0111) +-8 + 16 = -8 (1000) +-8 + 17 = -7 (1001) +-8 + 18 = -6 (1010) +-8 + 19 = -5 (1011) +-8 + 20 = -4 (1100) +-8 + 21 = -3 (1101) +-8 + 22 = -2 (1110) +-8 + 23 = -1 (1111) +-8 + 24 = 0 (0000) +-8 + 25 = 1 (0001) +-8 + 26 = 2 (0010) +-8 + 27 = 3 (0011) +-8 + 28 = 4 (0100) +-8 + 29 = 5 (0101) +-8 + 30 = 6 (0110) +-8 + 31 = 7 (0111) +-8 + -32 = -8 (1000) +-8 + -31 = -7 (1001) +-8 + -30 = -6 (1010) +-8 + -29 = -5 (1011) +-8 + -28 = -4 (1100) +-8 + -27 = -3 (1101) +-8 + -26 = -2 (1110) +-8 + -25 = -1 (1111) +-8 + -24 = 0 (0000) +-8 + -23 = 1 (0001) +-8 + -22 = 2 (0010) +-8 + -21 = 3 (0011) +-8 + -20 = 4 (0100) +-8 + -19 = 5 (0101) +-8 + -18 = 6 (0110) +-8 + -17 = 7 (0111) +-8 + -16 = -8 (1000) +-8 + -15 = -7 (1001) +-8 + -14 = -6 (1010) +-8 + -13 = -5 (1011) +-8 + -12 = -4 (1100) +-8 + -11 = -3 (1101) +-8 + -10 = -2 (1110) +-8 + -9 = -1 (1111) +-8 + -8 = 0 (0000) +-8 + -7 = 1 (0001) +-8 + -6 = 2 (0010) +-8 + -5 = 3 (0011) +-8 + -4 = 4 (0100) +-8 + -3 = 5 (0101) +-8 + -2 = 6 (0110) +-8 + -1 = 7 (0111) +-7 + 0 = -7 (1001) +-7 + 1 = -6 (1010) +-7 + 2 = -5 (1011) +-7 + 3 = -4 (1100) +-7 + 4 = -3 (1101) +-7 + 5 = -2 (1110) +-7 + 6 = -1 (1111) +-7 + 7 = 0 (0000) +-7 + 8 = 1 (0001) +-7 + 9 = 2 (0010) +-7 + 10 = 3 (0011) +-7 + 11 = 4 (0100) +-7 + 12 = 5 (0101) +-7 + 13 = 6 (0110) +-7 + 14 = 7 (0111) +-7 + 15 = -8 (1000) +-7 + 16 = -7 (1001) +-7 + 17 = -6 (1010) +-7 + 18 = -5 (1011) +-7 + 19 = -4 (1100) +-7 + 20 = -3 (1101) +-7 + 21 = -2 (1110) +-7 + 22 = -1 (1111) +-7 + 23 = 0 (0000) +-7 + 24 = 1 (0001) +-7 + 25 = 2 (0010) +-7 + 26 = 3 (0011) +-7 + 27 = 4 (0100) +-7 + 28 = 5 (0101) +-7 + 29 = 6 (0110) +-7 + 30 = 7 (0111) +-7 + 31 = -8 (1000) +-7 + -32 = -7 (1001) +-7 + -31 = -6 (1010) +-7 + -30 = -5 (1011) +-7 + -29 = -4 (1100) +-7 + -28 = -3 (1101) +-7 + -27 = -2 (1110) +-7 + -26 = -1 (1111) +-7 + -25 = 0 (0000) +-7 + -24 = 1 (0001) +-7 + -23 = 2 (0010) +-7 + -22 = 3 (0011) +-7 + -21 = 4 (0100) +-7 + -20 = 5 (0101) +-7 + -19 = 6 (0110) +-7 + -18 = 7 (0111) +-7 + -17 = -8 (1000) +-7 + -16 = -7 (1001) +-7 + -15 = -6 (1010) +-7 + -14 = -5 (1011) +-7 + -13 = -4 (1100) +-7 + -12 = -3 (1101) +-7 + -11 = -2 (1110) +-7 + -10 = -1 (1111) +-7 + -9 = 0 (0000) +-7 + -8 = 1 (0001) +-7 + -7 = 2 (0010) +-7 + -6 = 3 (0011) +-7 + -5 = 4 (0100) +-7 + -4 = 5 (0101) +-7 + -3 = 6 (0110) +-7 + -2 = 7 (0111) +-7 + -1 = -8 (1000) +-6 + 0 = -6 (1010) +-6 + 1 = -5 (1011) +-6 + 2 = -4 (1100) +-6 + 3 = -3 (1101) +-6 + 4 = -2 (1110) +-6 + 5 = -1 (1111) +-6 + 6 = 0 (0000) +-6 + 7 = 1 (0001) +-6 + 8 = 2 (0010) +-6 + 9 = 3 (0011) +-6 + 10 = 4 (0100) +-6 + 11 = 5 (0101) +-6 + 12 = 6 (0110) +-6 + 13 = 7 (0111) +-6 + 14 = -8 (1000) +-6 + 15 = -7 (1001) +-6 + 16 = -6 (1010) +-6 + 17 = -5 (1011) +-6 + 18 = -4 (1100) +-6 + 19 = -3 (1101) +-6 + 20 = -2 (1110) +-6 + 21 = -1 (1111) +-6 + 22 = 0 (0000) +-6 + 23 = 1 (0001) +-6 + 24 = 2 (0010) +-6 + 25 = 3 (0011) +-6 + 26 = 4 (0100) +-6 + 27 = 5 (0101) +-6 + 28 = 6 (0110) +-6 + 29 = 7 (0111) +-6 + 30 = -8 (1000) +-6 + 31 = -7 (1001) +-6 + -32 = -6 (1010) +-6 + -31 = -5 (1011) +-6 + -30 = -4 (1100) +-6 + -29 = -3 (1101) +-6 + -28 = -2 (1110) +-6 + -27 = -1 (1111) +-6 + -26 = 0 (0000) +-6 + -25 = 1 (0001) +-6 + -24 = 2 (0010) +-6 + -23 = 3 (0011) +-6 + -22 = 4 (0100) +-6 + -21 = 5 (0101) +-6 + -20 = 6 (0110) +-6 + -19 = 7 (0111) +-6 + -18 = -8 (1000) +-6 + -17 = -7 (1001) +-6 + -16 = -6 (1010) +-6 + -15 = -5 (1011) +-6 + -14 = -4 (1100) +-6 + -13 = -3 (1101) +-6 + -12 = -2 (1110) +-6 + -11 = -1 (1111) +-6 + -10 = 0 (0000) +-6 + -9 = 1 (0001) +-6 + -8 = 2 (0010) +-6 + -7 = 3 (0011) +-6 + -6 = 4 (0100) +-6 + -5 = 5 (0101) +-6 + -4 = 6 (0110) +-6 + -3 = 7 (0111) +-6 + -2 = -8 (1000) +-6 + -1 = -7 (1001) +-5 + 0 = -5 (1011) +-5 + 1 = -4 (1100) +-5 + 2 = -3 (1101) +-5 + 3 = -2 (1110) +-5 + 4 = -1 (1111) +-5 + 5 = 0 (0000) +-5 + 6 = 1 (0001) +-5 + 7 = 2 (0010) +-5 + 8 = 3 (0011) +-5 + 9 = 4 (0100) +-5 + 10 = 5 (0101) +-5 + 11 = 6 (0110) +-5 + 12 = 7 (0111) +-5 + 13 = -8 (1000) +-5 + 14 = -7 (1001) +-5 + 15 = -6 (1010) +-5 + 16 = -5 (1011) +-5 + 17 = -4 (1100) +-5 + 18 = -3 (1101) +-5 + 19 = -2 (1110) +-5 + 20 = -1 (1111) +-5 + 21 = 0 (0000) +-5 + 22 = 1 (0001) +-5 + 23 = 2 (0010) +-5 + 24 = 3 (0011) +-5 + 25 = 4 (0100) +-5 + 26 = 5 (0101) +-5 + 27 = 6 (0110) +-5 + 28 = 7 (0111) +-5 + 29 = -8 (1000) +-5 + 30 = -7 (1001) +-5 + 31 = -6 (1010) +-5 + -32 = -5 (1011) +-5 + -31 = -4 (1100) +-5 + -30 = -3 (1101) +-5 + -29 = -2 (1110) +-5 + -28 = -1 (1111) +-5 + -27 = 0 (0000) +-5 + -26 = 1 (0001) +-5 + -25 = 2 (0010) +-5 + -24 = 3 (0011) +-5 + -23 = 4 (0100) +-5 + -22 = 5 (0101) +-5 + -21 = 6 (0110) +-5 + -20 = 7 (0111) +-5 + -19 = -8 (1000) +-5 + -18 = -7 (1001) +-5 + -17 = -6 (1010) +-5 + -16 = -5 (1011) +-5 + -15 = -4 (1100) +-5 + -14 = -3 (1101) +-5 + -13 = -2 (1110) +-5 + -12 = -1 (1111) +-5 + -11 = 0 (0000) +-5 + -10 = 1 (0001) +-5 + -9 = 2 (0010) +-5 + -8 = 3 (0011) +-5 + -7 = 4 (0100) +-5 + -6 = 5 (0101) +-5 + -5 = 6 (0110) +-5 + -4 = 7 (0111) +-5 + -3 = -8 (1000) +-5 + -2 = -7 (1001) +-5 + -1 = -6 (1010) +-4 + 0 = -4 (1100) +-4 + 1 = -3 (1101) +-4 + 2 = -2 (1110) +-4 + 3 = -1 (1111) +-4 + 4 = 0 (0000) +-4 + 5 = 1 (0001) +-4 + 6 = 2 (0010) +-4 + 7 = 3 (0011) +-4 + 8 = 4 (0100) +-4 + 9 = 5 (0101) +-4 + 10 = 6 (0110) +-4 + 11 = 7 (0111) +-4 + 12 = -8 (1000) +-4 + 13 = -7 (1001) +-4 + 14 = -6 (1010) +-4 + 15 = -5 (1011) +-4 + 16 = -4 (1100) +-4 + 17 = -3 (1101) +-4 + 18 = -2 (1110) +-4 + 19 = -1 (1111) +-4 + 20 = 0 (0000) +-4 + 21 = 1 (0001) +-4 + 22 = 2 (0010) +-4 + 23 = 3 (0011) +-4 + 24 = 4 (0100) +-4 + 25 = 5 (0101) +-4 + 26 = 6 (0110) +-4 + 27 = 7 (0111) +-4 + 28 = -8 (1000) +-4 + 29 = -7 (1001) +-4 + 30 = -6 (1010) +-4 + 31 = -5 (1011) +-4 + -32 = -4 (1100) +-4 + -31 = -3 (1101) +-4 + -30 = -2 (1110) +-4 + -29 = -1 (1111) +-4 + -28 = 0 (0000) +-4 + -27 = 1 (0001) +-4 + -26 = 2 (0010) +-4 + -25 = 3 (0011) +-4 + -24 = 4 (0100) +-4 + -23 = 5 (0101) +-4 + -22 = 6 (0110) +-4 + -21 = 7 (0111) +-4 + -20 = -8 (1000) +-4 + -19 = -7 (1001) +-4 + -18 = -6 (1010) +-4 + -17 = -5 (1011) +-4 + -16 = -4 (1100) +-4 + -15 = -3 (1101) +-4 + -14 = -2 (1110) +-4 + -13 = -1 (1111) +-4 + -12 = 0 (0000) +-4 + -11 = 1 (0001) +-4 + -10 = 2 (0010) +-4 + -9 = 3 (0011) +-4 + -8 = 4 (0100) +-4 + -7 = 5 (0101) +-4 + -6 = 6 (0110) +-4 + -5 = 7 (0111) +-4 + -4 = -8 (1000) +-4 + -3 = -7 (1001) +-4 + -2 = -6 (1010) +-4 + -1 = -5 (1011) +-3 + 0 = -3 (1101) +-3 + 1 = -2 (1110) +-3 + 2 = -1 (1111) +-3 + 3 = 0 (0000) +-3 + 4 = 1 (0001) +-3 + 5 = 2 (0010) +-3 + 6 = 3 (0011) +-3 + 7 = 4 (0100) +-3 + 8 = 5 (0101) +-3 + 9 = 6 (0110) +-3 + 10 = 7 (0111) +-3 + 11 = -8 (1000) +-3 + 12 = -7 (1001) +-3 + 13 = -6 (1010) +-3 + 14 = -5 (1011) +-3 + 15 = -4 (1100) +-3 + 16 = -3 (1101) +-3 + 17 = -2 (1110) +-3 + 18 = -1 (1111) +-3 + 19 = 0 (0000) +-3 + 20 = 1 (0001) +-3 + 21 = 2 (0010) +-3 + 22 = 3 (0011) +-3 + 23 = 4 (0100) +-3 + 24 = 5 (0101) +-3 + 25 = 6 (0110) +-3 + 26 = 7 (0111) +-3 + 27 = -8 (1000) +-3 + 28 = -7 (1001) +-3 + 29 = -6 (1010) +-3 + 30 = -5 (1011) +-3 + 31 = -4 (1100) +-3 + -32 = -3 (1101) +-3 + -31 = -2 (1110) +-3 + -30 = -1 (1111) +-3 + -29 = 0 (0000) +-3 + -28 = 1 (0001) +-3 + -27 = 2 (0010) +-3 + -26 = 3 (0011) +-3 + -25 = 4 (0100) +-3 + -24 = 5 (0101) +-3 + -23 = 6 (0110) +-3 + -22 = 7 (0111) +-3 + -21 = -8 (1000) +-3 + -20 = -7 (1001) +-3 + -19 = -6 (1010) +-3 + -18 = -5 (1011) +-3 + -17 = -4 (1100) +-3 + -16 = -3 (1101) +-3 + -15 = -2 (1110) +-3 + -14 = -1 (1111) +-3 + -13 = 0 (0000) +-3 + -12 = 1 (0001) +-3 + -11 = 2 (0010) +-3 + -10 = 3 (0011) +-3 + -9 = 4 (0100) +-3 + -8 = 5 (0101) +-3 + -7 = 6 (0110) +-3 + -6 = 7 (0111) +-3 + -5 = -8 (1000) +-3 + -4 = -7 (1001) +-3 + -3 = -6 (1010) +-3 + -2 = -5 (1011) +-3 + -1 = -4 (1100) +-2 + 0 = -2 (1110) +-2 + 1 = -1 (1111) +-2 + 2 = 0 (0000) +-2 + 3 = 1 (0001) +-2 + 4 = 2 (0010) +-2 + 5 = 3 (0011) +-2 + 6 = 4 (0100) +-2 + 7 = 5 (0101) +-2 + 8 = 6 (0110) +-2 + 9 = 7 (0111) +-2 + 10 = -8 (1000) +-2 + 11 = -7 (1001) +-2 + 12 = -6 (1010) +-2 + 13 = -5 (1011) +-2 + 14 = -4 (1100) +-2 + 15 = -3 (1101) +-2 + 16 = -2 (1110) +-2 + 17 = -1 (1111) +-2 + 18 = 0 (0000) +-2 + 19 = 1 (0001) +-2 + 20 = 2 (0010) +-2 + 21 = 3 (0011) +-2 + 22 = 4 (0100) +-2 + 23 = 5 (0101) +-2 + 24 = 6 (0110) +-2 + 25 = 7 (0111) +-2 + 26 = -8 (1000) +-2 + 27 = -7 (1001) +-2 + 28 = -6 (1010) +-2 + 29 = -5 (1011) +-2 + 30 = -4 (1100) +-2 + 31 = -3 (1101) +-2 + -32 = -2 (1110) +-2 + -31 = -1 (1111) +-2 + -30 = 0 (0000) +-2 + -29 = 1 (0001) +-2 + -28 = 2 (0010) +-2 + -27 = 3 (0011) +-2 + -26 = 4 (0100) +-2 + -25 = 5 (0101) +-2 + -24 = 6 (0110) +-2 + -23 = 7 (0111) +-2 + -22 = -8 (1000) +-2 + -21 = -7 (1001) +-2 + -20 = -6 (1010) +-2 + -19 = -5 (1011) +-2 + -18 = -4 (1100) +-2 + -17 = -3 (1101) +-2 + -16 = -2 (1110) +-2 + -15 = -1 (1111) +-2 + -14 = 0 (0000) +-2 + -13 = 1 (0001) +-2 + -12 = 2 (0010) +-2 + -11 = 3 (0011) +-2 + -10 = 4 (0100) +-2 + -9 = 5 (0101) +-2 + -8 = 6 (0110) +-2 + -7 = 7 (0111) +-2 + -6 = -8 (1000) +-2 + -5 = -7 (1001) +-2 + -4 = -6 (1010) +-2 + -3 = -5 (1011) +-2 + -2 = -4 (1100) +-2 + -1 = -3 (1101) +-1 + 0 = -1 (1111) +-1 + 1 = 0 (0000) +-1 + 2 = 1 (0001) +-1 + 3 = 2 (0010) +-1 + 4 = 3 (0011) +-1 + 5 = 4 (0100) +-1 + 6 = 5 (0101) +-1 + 7 = 6 (0110) +-1 + 8 = 7 (0111) +-1 + 9 = -8 (1000) +-1 + 10 = -7 (1001) +-1 + 11 = -6 (1010) +-1 + 12 = -5 (1011) +-1 + 13 = -4 (1100) +-1 + 14 = -3 (1101) +-1 + 15 = -2 (1110) +-1 + 16 = -1 (1111) +-1 + 17 = 0 (0000) +-1 + 18 = 1 (0001) +-1 + 19 = 2 (0010) +-1 + 20 = 3 (0011) +-1 + 21 = 4 (0100) +-1 + 22 = 5 (0101) +-1 + 23 = 6 (0110) +-1 + 24 = 7 (0111) +-1 + 25 = -8 (1000) +-1 + 26 = -7 (1001) +-1 + 27 = -6 (1010) +-1 + 28 = -5 (1011) +-1 + 29 = -4 (1100) +-1 + 30 = -3 (1101) +-1 + 31 = -2 (1110) +-1 + -32 = -1 (1111) +-1 + -31 = 0 (0000) +-1 + -30 = 1 (0001) +-1 + -29 = 2 (0010) +-1 + -28 = 3 (0011) +-1 + -27 = 4 (0100) +-1 + -26 = 5 (0101) +-1 + -25 = 6 (0110) +-1 + -24 = 7 (0111) +-1 + -23 = -8 (1000) +-1 + -22 = -7 (1001) +-1 + -21 = -6 (1010) +-1 + -20 = -5 (1011) +-1 + -19 = -4 (1100) +-1 + -18 = -3 (1101) +-1 + -17 = -2 (1110) +-1 + -16 = -1 (1111) +-1 + -15 = 0 (0000) +-1 + -14 = 1 (0001) +-1 + -13 = 2 (0010) +-1 + -12 = 3 (0011) +-1 + -11 = 4 (0100) +-1 + -10 = 5 (0101) +-1 + -9 = 6 (0110) +-1 + -8 = 7 (0111) +-1 + -7 = -8 (1000) +-1 + -6 = -7 (1001) +-1 + -5 = -6 (1010) +-1 + -4 = -5 (1011) +-1 + -3 = -4 (1100) +-1 + -2 = -3 (1101) +-1 + -1 = -2 (1110) +0 + 0 = 0 (0000) +0 + 1 = 1 (0001) +0 + 2 = 2 (0010) +0 + 3 = 3 (0011) +0 + 4 = 4 (0100) +0 + 5 = 5 (0101) +0 + 6 = 6 (0110) +0 + 7 = 7 (0111) +0 + 8 = -8 (1000) +0 + 9 = -7 (1001) +0 + 10 = -6 (1010) +0 + 11 = -5 (1011) +0 + 12 = -4 (1100) +0 + 13 = -3 (1101) +0 + 14 = -2 (1110) +0 + 15 = -1 (1111) +0 + 16 = 0 (0000) +0 + 17 = 1 (0001) +0 + 18 = 2 (0010) +0 + 19 = 3 (0011) +0 + 20 = 4 (0100) +0 + 21 = 5 (0101) +0 + 22 = 6 (0110) +0 + 23 = 7 (0111) +0 + 24 = -8 (1000) +0 + 25 = -7 (1001) +0 + 26 = -6 (1010) +0 + 27 = -5 (1011) +0 + 28 = -4 (1100) +0 + 29 = -3 (1101) +0 + 30 = -2 (1110) +0 + 31 = -1 (1111) +0 + -32 = 0 (0000) +0 + -31 = 1 (0001) +0 + -30 = 2 (0010) +0 + -29 = 3 (0011) +0 + -28 = 4 (0100) +0 + -27 = 5 (0101) +0 + -26 = 6 (0110) +0 + -25 = 7 (0111) +0 + -24 = -8 (1000) +0 + -23 = -7 (1001) +0 + -22 = -6 (1010) +0 + -21 = -5 (1011) +0 + -20 = -4 (1100) +0 + -19 = -3 (1101) +0 + -18 = -2 (1110) +0 + -17 = -1 (1111) +0 + -16 = 0 (0000) +0 + -15 = 1 (0001) +0 + -14 = 2 (0010) +0 + -13 = 3 (0011) +0 + -12 = 4 (0100) +0 + -11 = 5 (0101) +0 + -10 = 6 (0110) +0 + -9 = 7 (0111) +0 + -8 = -8 (1000) +0 + -7 = -7 (1001) +0 + -6 = -6 (1010) +0 + -5 = -5 (1011) +0 + -4 = -4 (1100) +0 + -3 = -3 (1101) +0 + -2 = -2 (1110) +0 + -1 = -1 (1111) +1 + 0 = 1 (0001) +1 + 1 = 2 (0010) +1 + 2 = 3 (0011) +1 + 3 = 4 (0100) +1 + 4 = 5 (0101) +1 + 5 = 6 (0110) +1 + 6 = 7 (0111) +1 + 7 = -8 (1000) +1 + 8 = -7 (1001) +1 + 9 = -6 (1010) +1 + 10 = -5 (1011) +1 + 11 = -4 (1100) +1 + 12 = -3 (1101) +1 + 13 = -2 (1110) +1 + 14 = -1 (1111) +1 + 15 = 0 (0000) +1 + 16 = 1 (0001) +1 + 17 = 2 (0010) +1 + 18 = 3 (0011) +1 + 19 = 4 (0100) +1 + 20 = 5 (0101) +1 + 21 = 6 (0110) +1 + 22 = 7 (0111) +1 + 23 = -8 (1000) +1 + 24 = -7 (1001) +1 + 25 = -6 (1010) +1 + 26 = -5 (1011) +1 + 27 = -4 (1100) +1 + 28 = -3 (1101) +1 + 29 = -2 (1110) +1 + 30 = -1 (1111) +1 + 31 = 0 (0000) +1 + -32 = 1 (0001) +1 + -31 = 2 (0010) +1 + -30 = 3 (0011) +1 + -29 = 4 (0100) +1 + -28 = 5 (0101) +1 + -27 = 6 (0110) +1 + -26 = 7 (0111) +1 + -25 = -8 (1000) +1 + -24 = -7 (1001) +1 + -23 = -6 (1010) +1 + -22 = -5 (1011) +1 + -21 = -4 (1100) +1 + -20 = -3 (1101) +1 + -19 = -2 (1110) +1 + -18 = -1 (1111) +1 + -17 = 0 (0000) +1 + -16 = 1 (0001) +1 + -15 = 2 (0010) +1 + -14 = 3 (0011) +1 + -13 = 4 (0100) +1 + -12 = 5 (0101) +1 + -11 = 6 (0110) +1 + -10 = 7 (0111) +1 + -9 = -8 (1000) +1 + -8 = -7 (1001) +1 + -7 = -6 (1010) +1 + -6 = -5 (1011) +1 + -5 = -4 (1100) +1 + -4 = -3 (1101) +1 + -3 = -2 (1110) +1 + -2 = -1 (1111) +1 + -1 = 0 (0000) +2 + 0 = 2 (0010) +2 + 1 = 3 (0011) +2 + 2 = 4 (0100) +2 + 3 = 5 (0101) +2 + 4 = 6 (0110) +2 + 5 = 7 (0111) +2 + 6 = -8 (1000) +2 + 7 = -7 (1001) +2 + 8 = -6 (1010) +2 + 9 = -5 (1011) +2 + 10 = -4 (1100) +2 + 11 = -3 (1101) +2 + 12 = -2 (1110) +2 + 13 = -1 (1111) +2 + 14 = 0 (0000) +2 + 15 = 1 (0001) +2 + 16 = 2 (0010) +2 + 17 = 3 (0011) +2 + 18 = 4 (0100) +2 + 19 = 5 (0101) +2 + 20 = 6 (0110) +2 + 21 = 7 (0111) +2 + 22 = -8 (1000) +2 + 23 = -7 (1001) +2 + 24 = -6 (1010) +2 + 25 = -5 (1011) +2 + 26 = -4 (1100) +2 + 27 = -3 (1101) +2 + 28 = -2 (1110) +2 + 29 = -1 (1111) +2 + 30 = 0 (0000) +2 + 31 = 1 (0001) +2 + -32 = 2 (0010) +2 + -31 = 3 (0011) +2 + -30 = 4 (0100) +2 + -29 = 5 (0101) +2 + -28 = 6 (0110) +2 + -27 = 7 (0111) +2 + -26 = -8 (1000) +2 + -25 = -7 (1001) +2 + -24 = -6 (1010) +2 + -23 = -5 (1011) +2 + -22 = -4 (1100) +2 + -21 = -3 (1101) +2 + -20 = -2 (1110) +2 + -19 = -1 (1111) +2 + -18 = 0 (0000) +2 + -17 = 1 (0001) +2 + -16 = 2 (0010) +2 + -15 = 3 (0011) +2 + -14 = 4 (0100) +2 + -13 = 5 (0101) +2 + -12 = 6 (0110) +2 + -11 = 7 (0111) +2 + -10 = -8 (1000) +2 + -9 = -7 (1001) +2 + -8 = -6 (1010) +2 + -7 = -5 (1011) +2 + -6 = -4 (1100) +2 + -5 = -3 (1101) +2 + -4 = -2 (1110) +2 + -3 = -1 (1111) +2 + -2 = 0 (0000) +2 + -1 = 1 (0001) +3 + 0 = 3 (0011) +3 + 1 = 4 (0100) +3 + 2 = 5 (0101) +3 + 3 = 6 (0110) +3 + 4 = 7 (0111) +3 + 5 = -8 (1000) +3 + 6 = -7 (1001) +3 + 7 = -6 (1010) +3 + 8 = -5 (1011) +3 + 9 = -4 (1100) +3 + 10 = -3 (1101) +3 + 11 = -2 (1110) +3 + 12 = -1 (1111) +3 + 13 = 0 (0000) +3 + 14 = 1 (0001) +3 + 15 = 2 (0010) +3 + 16 = 3 (0011) +3 + 17 = 4 (0100) +3 + 18 = 5 (0101) +3 + 19 = 6 (0110) +3 + 20 = 7 (0111) +3 + 21 = -8 (1000) +3 + 22 = -7 (1001) +3 + 23 = -6 (1010) +3 + 24 = -5 (1011) +3 + 25 = -4 (1100) +3 + 26 = -3 (1101) +3 + 27 = -2 (1110) +3 + 28 = -1 (1111) +3 + 29 = 0 (0000) +3 + 30 = 1 (0001) +3 + 31 = 2 (0010) +3 + -32 = 3 (0011) +3 + -31 = 4 (0100) +3 + -30 = 5 (0101) +3 + -29 = 6 (0110) +3 + -28 = 7 (0111) +3 + -27 = -8 (1000) +3 + -26 = -7 (1001) +3 + -25 = -6 (1010) +3 + -24 = -5 (1011) +3 + -23 = -4 (1100) +3 + -22 = -3 (1101) +3 + -21 = -2 (1110) +3 + -20 = -1 (1111) +3 + -19 = 0 (0000) +3 + -18 = 1 (0001) +3 + -17 = 2 (0010) +3 + -16 = 3 (0011) +3 + -15 = 4 (0100) +3 + -14 = 5 (0101) +3 + -13 = 6 (0110) +3 + -12 = 7 (0111) +3 + -11 = -8 (1000) +3 + -10 = -7 (1001) +3 + -9 = -6 (1010) +3 + -8 = -5 (1011) +3 + -7 = -4 (1100) +3 + -6 = -3 (1101) +3 + -5 = -2 (1110) +3 + -4 = -1 (1111) +3 + -3 = 0 (0000) +3 + -2 = 1 (0001) +3 + -1 = 2 (0010) +4 + 0 = 4 (0100) +4 + 1 = 5 (0101) +4 + 2 = 6 (0110) +4 + 3 = 7 (0111) +4 + 4 = -8 (1000) +4 + 5 = -7 (1001) +4 + 6 = -6 (1010) +4 + 7 = -5 (1011) +4 + 8 = -4 (1100) +4 + 9 = -3 (1101) +4 + 10 = -2 (1110) +4 + 11 = -1 (1111) +4 + 12 = 0 (0000) +4 + 13 = 1 (0001) +4 + 14 = 2 (0010) +4 + 15 = 3 (0011) +4 + 16 = 4 (0100) +4 + 17 = 5 (0101) +4 + 18 = 6 (0110) +4 + 19 = 7 (0111) +4 + 20 = -8 (1000) +4 + 21 = -7 (1001) +4 + 22 = -6 (1010) +4 + 23 = -5 (1011) +4 + 24 = -4 (1100) +4 + 25 = -3 (1101) +4 + 26 = -2 (1110) +4 + 27 = -1 (1111) +4 + 28 = 0 (0000) +4 + 29 = 1 (0001) +4 + 30 = 2 (0010) +4 + 31 = 3 (0011) +4 + -32 = 4 (0100) +4 + -31 = 5 (0101) +4 + -30 = 6 (0110) +4 + -29 = 7 (0111) +4 + -28 = -8 (1000) +4 + -27 = -7 (1001) +4 + -26 = -6 (1010) +4 + -25 = -5 (1011) +4 + -24 = -4 (1100) +4 + -23 = -3 (1101) +4 + -22 = -2 (1110) +4 + -21 = -1 (1111) +4 + -20 = 0 (0000) +4 + -19 = 1 (0001) +4 + -18 = 2 (0010) +4 + -17 = 3 (0011) +4 + -16 = 4 (0100) +4 + -15 = 5 (0101) +4 + -14 = 6 (0110) +4 + -13 = 7 (0111) +4 + -12 = -8 (1000) +4 + -11 = -7 (1001) +4 + -10 = -6 (1010) +4 + -9 = -5 (1011) +4 + -8 = -4 (1100) +4 + -7 = -3 (1101) +4 + -6 = -2 (1110) +4 + -5 = -1 (1111) +4 + -4 = 0 (0000) +4 + -3 = 1 (0001) +4 + -2 = 2 (0010) +4 + -1 = 3 (0011) +5 + 0 = 5 (0101) +5 + 1 = 6 (0110) +5 + 2 = 7 (0111) +5 + 3 = -8 (1000) +5 + 4 = -7 (1001) +5 + 5 = -6 (1010) +5 + 6 = -5 (1011) +5 + 7 = -4 (1100) +5 + 8 = -3 (1101) +5 + 9 = -2 (1110) +5 + 10 = -1 (1111) +5 + 11 = 0 (0000) +5 + 12 = 1 (0001) +5 + 13 = 2 (0010) +5 + 14 = 3 (0011) +5 + 15 = 4 (0100) +5 + 16 = 5 (0101) +5 + 17 = 6 (0110) +5 + 18 = 7 (0111) +5 + 19 = -8 (1000) +5 + 20 = -7 (1001) +5 + 21 = -6 (1010) +5 + 22 = -5 (1011) +5 + 23 = -4 (1100) +5 + 24 = -3 (1101) +5 + 25 = -2 (1110) +5 + 26 = -1 (1111) +5 + 27 = 0 (0000) +5 + 28 = 1 (0001) +5 + 29 = 2 (0010) +5 + 30 = 3 (0011) +5 + 31 = 4 (0100) +5 + -32 = 5 (0101) +5 + -31 = 6 (0110) +5 + -30 = 7 (0111) +5 + -29 = -8 (1000) +5 + -28 = -7 (1001) +5 + -27 = -6 (1010) +5 + -26 = -5 (1011) +5 + -25 = -4 (1100) +5 + -24 = -3 (1101) +5 + -23 = -2 (1110) +5 + -22 = -1 (1111) +5 + -21 = 0 (0000) +5 + -20 = 1 (0001) +5 + -19 = 2 (0010) +5 + -18 = 3 (0011) +5 + -17 = 4 (0100) +5 + -16 = 5 (0101) +5 + -15 = 6 (0110) +5 + -14 = 7 (0111) +5 + -13 = -8 (1000) +5 + -12 = -7 (1001) +5 + -11 = -6 (1010) +5 + -10 = -5 (1011) +5 + -9 = -4 (1100) +5 + -8 = -3 (1101) +5 + -7 = -2 (1110) +5 + -6 = -1 (1111) +5 + -5 = 0 (0000) +5 + -4 = 1 (0001) +5 + -3 = 2 (0010) +5 + -2 = 3 (0011) +5 + -1 = 4 (0100) +6 + 0 = 6 (0110) +6 + 1 = 7 (0111) +6 + 2 = -8 (1000) +6 + 3 = -7 (1001) +6 + 4 = -6 (1010) +6 + 5 = -5 (1011) +6 + 6 = -4 (1100) +6 + 7 = -3 (1101) +6 + 8 = -2 (1110) +6 + 9 = -1 (1111) +6 + 10 = 0 (0000) +6 + 11 = 1 (0001) +6 + 12 = 2 (0010) +6 + 13 = 3 (0011) +6 + 14 = 4 (0100) +6 + 15 = 5 (0101) +6 + 16 = 6 (0110) +6 + 17 = 7 (0111) +6 + 18 = -8 (1000) +6 + 19 = -7 (1001) +6 + 20 = -6 (1010) +6 + 21 = -5 (1011) +6 + 22 = -4 (1100) +6 + 23 = -3 (1101) +6 + 24 = -2 (1110) +6 + 25 = -1 (1111) +6 + 26 = 0 (0000) +6 + 27 = 1 (0001) +6 + 28 = 2 (0010) +6 + 29 = 3 (0011) +6 + 30 = 4 (0100) +6 + 31 = 5 (0101) +6 + -32 = 6 (0110) +6 + -31 = 7 (0111) +6 + -30 = -8 (1000) +6 + -29 = -7 (1001) +6 + -28 = -6 (1010) +6 + -27 = -5 (1011) +6 + -26 = -4 (1100) +6 + -25 = -3 (1101) +6 + -24 = -2 (1110) +6 + -23 = -1 (1111) +6 + -22 = 0 (0000) +6 + -21 = 1 (0001) +6 + -20 = 2 (0010) +6 + -19 = 3 (0011) +6 + -18 = 4 (0100) +6 + -17 = 5 (0101) +6 + -16 = 6 (0110) +6 + -15 = 7 (0111) +6 + -14 = -8 (1000) +6 + -13 = -7 (1001) +6 + -12 = -6 (1010) +6 + -11 = -5 (1011) +6 + -10 = -4 (1100) +6 + -9 = -3 (1101) +6 + -8 = -2 (1110) +6 + -7 = -1 (1111) +6 + -6 = 0 (0000) +6 + -5 = 1 (0001) +6 + -4 = 2 (0010) +6 + -3 = 3 (0011) +6 + -2 = 4 (0100) +6 + -1 = 5 (0101) +7 + 0 = 7 (0111) +7 + 1 = -8 (1000) +7 + 2 = -7 (1001) +7 + 3 = -6 (1010) +7 + 4 = -5 (1011) +7 + 5 = -4 (1100) +7 + 6 = -3 (1101) +7 + 7 = -2 (1110) +7 + 8 = -1 (1111) +7 + 9 = 0 (0000) +7 + 10 = 1 (0001) +7 + 11 = 2 (0010) +7 + 12 = 3 (0011) +7 + 13 = 4 (0100) +7 + 14 = 5 (0101) +7 + 15 = 6 (0110) +7 + 16 = 7 (0111) +7 + 17 = -8 (1000) +7 + 18 = -7 (1001) +7 + 19 = -6 (1010) +7 + 20 = -5 (1011) +7 + 21 = -4 (1100) +7 + 22 = -3 (1101) +7 + 23 = -2 (1110) +7 + 24 = -1 (1111) +7 + 25 = 0 (0000) +7 + 26 = 1 (0001) +7 + 27 = 2 (0010) +7 + 28 = 3 (0011) +7 + 29 = 4 (0100) +7 + 30 = 5 (0101) +7 + 31 = 6 (0110) +7 + -32 = 7 (0111) +7 + -31 = -8 (1000) +7 + -30 = -7 (1001) +7 + -29 = -6 (1010) +7 + -28 = -5 (1011) +7 + -27 = -4 (1100) +7 + -26 = -3 (1101) +7 + -25 = -2 (1110) +7 + -24 = -1 (1111) +7 + -23 = 0 (0000) +7 + -22 = 1 (0001) +7 + -21 = 2 (0010) +7 + -20 = 3 (0011) +7 + -19 = 4 (0100) +7 + -18 = 5 (0101) +7 + -17 = 6 (0110) +7 + -16 = 7 (0111) +7 + -15 = -8 (1000) +7 + -14 = -7 (1001) +7 + -13 = -6 (1010) +7 + -12 = -5 (1011) +7 + -11 = -4 (1100) +7 + -10 = -3 (1101) +7 + -9 = -2 (1110) +7 + -8 = -1 (1111) +7 + -7 = 0 (0000) +7 + -6 = 1 (0001) +7 + -5 = 2 (0010) +7 + -4 = 3 (0011) +7 + -3 = 4 (0100) +7 + -2 = 5 (0101) +7 + -1 = 6 (0110) +-8 + 0 = -8 (1000) +-8 + 1 = -7 (1001) +-8 + 2 = -6 (1010) +-8 + 3 = -5 (1011) +-8 + 4 = -4 (1100) +-8 + 5 = -3 (1101) +-8 + 6 = -2 (1110) +-8 + 7 = -1 (1111) +-8 + 8 = 0 (0000) +-8 + 9 = 1 (0001) +-8 + 10 = 2 (0010) +-8 + 11 = 3 (0011) +-8 + 12 = 4 (0100) +-8 + 13 = 5 (0101) +-8 + 14 = 6 (0110) +-8 + 15 = 7 (0111) +-8 + 16 = -8 (1000) +-8 + 17 = -7 (1001) +-8 + 18 = -6 (1010) +-8 + 19 = -5 (1011) +-8 + 20 = -4 (1100) +-8 + 21 = -3 (1101) +-8 + 22 = -2 (1110) +-8 + 23 = -1 (1111) +-8 + 24 = 0 (0000) +-8 + 25 = 1 (0001) +-8 + 26 = 2 (0010) +-8 + 27 = 3 (0011) +-8 + 28 = 4 (0100) +-8 + 29 = 5 (0101) +-8 + 30 = 6 (0110) +-8 + 31 = 7 (0111) +-8 + -32 = -8 (1000) +-8 + -31 = -7 (1001) +-8 + -30 = -6 (1010) +-8 + -29 = -5 (1011) +-8 + -28 = -4 (1100) +-8 + -27 = -3 (1101) +-8 + -26 = -2 (1110) +-8 + -25 = -1 (1111) +-8 + -24 = 0 (0000) +-8 + -23 = 1 (0001) +-8 + -22 = 2 (0010) +-8 + -21 = 3 (0011) +-8 + -20 = 4 (0100) +-8 + -19 = 5 (0101) +-8 + -18 = 6 (0110) +-8 + -17 = 7 (0111) +-8 + -16 = -8 (1000) +-8 + -15 = -7 (1001) +-8 + -14 = -6 (1010) +-8 + -13 = -5 (1011) +-8 + -12 = -4 (1100) +-8 + -11 = -3 (1101) +-8 + -10 = -2 (1110) +-8 + -9 = -1 (1111) +-8 + -8 = 0 (0000) +-8 + -7 = 1 (0001) +-8 + -6 = 2 (0010) +-8 + -5 = 3 (0011) +-8 + -4 = 4 (0100) +-8 + -3 = 5 (0101) +-8 + -2 = 6 (0110) +-8 + -1 = 7 (0111) +-7 + 0 = -7 (1001) +-7 + 1 = -6 (1010) +-7 + 2 = -5 (1011) +-7 + 3 = -4 (1100) +-7 + 4 = -3 (1101) +-7 + 5 = -2 (1110) +-7 + 6 = -1 (1111) +-7 + 7 = 0 (0000) +-7 + 8 = 1 (0001) +-7 + 9 = 2 (0010) +-7 + 10 = 3 (0011) +-7 + 11 = 4 (0100) +-7 + 12 = 5 (0101) +-7 + 13 = 6 (0110) +-7 + 14 = 7 (0111) +-7 + 15 = -8 (1000) +-7 + 16 = -7 (1001) +-7 + 17 = -6 (1010) +-7 + 18 = -5 (1011) +-7 + 19 = -4 (1100) +-7 + 20 = -3 (1101) +-7 + 21 = -2 (1110) +-7 + 22 = -1 (1111) +-7 + 23 = 0 (0000) +-7 + 24 = 1 (0001) +-7 + 25 = 2 (0010) +-7 + 26 = 3 (0011) +-7 + 27 = 4 (0100) +-7 + 28 = 5 (0101) +-7 + 29 = 6 (0110) +-7 + 30 = 7 (0111) +-7 + 31 = -8 (1000) +-7 + -32 = -7 (1001) +-7 + -31 = -6 (1010) +-7 + -30 = -5 (1011) +-7 + -29 = -4 (1100) +-7 + -28 = -3 (1101) +-7 + -27 = -2 (1110) +-7 + -26 = -1 (1111) +-7 + -25 = 0 (0000) +-7 + -24 = 1 (0001) +-7 + -23 = 2 (0010) +-7 + -22 = 3 (0011) +-7 + -21 = 4 (0100) +-7 + -20 = 5 (0101) +-7 + -19 = 6 (0110) +-7 + -18 = 7 (0111) +-7 + -17 = -8 (1000) +-7 + -16 = -7 (1001) +-7 + -15 = -6 (1010) +-7 + -14 = -5 (1011) +-7 + -13 = -4 (1100) +-7 + -12 = -3 (1101) +-7 + -11 = -2 (1110) +-7 + -10 = -1 (1111) +-7 + -9 = 0 (0000) +-7 + -8 = 1 (0001) +-7 + -7 = 2 (0010) +-7 + -6 = 3 (0011) +-7 + -5 = 4 (0100) +-7 + -4 = 5 (0101) +-7 + -3 = 6 (0110) +-7 + -2 = 7 (0111) +-7 + -1 = -8 (1000) +-6 + 0 = -6 (1010) +-6 + 1 = -5 (1011) +-6 + 2 = -4 (1100) +-6 + 3 = -3 (1101) +-6 + 4 = -2 (1110) +-6 + 5 = -1 (1111) +-6 + 6 = 0 (0000) +-6 + 7 = 1 (0001) +-6 + 8 = 2 (0010) +-6 + 9 = 3 (0011) +-6 + 10 = 4 (0100) +-6 + 11 = 5 (0101) +-6 + 12 = 6 (0110) +-6 + 13 = 7 (0111) +-6 + 14 = -8 (1000) +-6 + 15 = -7 (1001) +-6 + 16 = -6 (1010) +-6 + 17 = -5 (1011) +-6 + 18 = -4 (1100) +-6 + 19 = -3 (1101) +-6 + 20 = -2 (1110) +-6 + 21 = -1 (1111) +-6 + 22 = 0 (0000) +-6 + 23 = 1 (0001) +-6 + 24 = 2 (0010) +-6 + 25 = 3 (0011) +-6 + 26 = 4 (0100) +-6 + 27 = 5 (0101) +-6 + 28 = 6 (0110) +-6 + 29 = 7 (0111) +-6 + 30 = -8 (1000) +-6 + 31 = -7 (1001) +-6 + -32 = -6 (1010) +-6 + -31 = -5 (1011) +-6 + -30 = -4 (1100) +-6 + -29 = -3 (1101) +-6 + -28 = -2 (1110) +-6 + -27 = -1 (1111) +-6 + -26 = 0 (0000) +-6 + -25 = 1 (0001) +-6 + -24 = 2 (0010) +-6 + -23 = 3 (0011) +-6 + -22 = 4 (0100) +-6 + -21 = 5 (0101) +-6 + -20 = 6 (0110) +-6 + -19 = 7 (0111) +-6 + -18 = -8 (1000) +-6 + -17 = -7 (1001) +-6 + -16 = -6 (1010) +-6 + -15 = -5 (1011) +-6 + -14 = -4 (1100) +-6 + -13 = -3 (1101) +-6 + -12 = -2 (1110) +-6 + -11 = -1 (1111) +-6 + -10 = 0 (0000) +-6 + -9 = 1 (0001) +-6 + -8 = 2 (0010) +-6 + -7 = 3 (0011) +-6 + -6 = 4 (0100) +-6 + -5 = 5 (0101) +-6 + -4 = 6 (0110) +-6 + -3 = 7 (0111) +-6 + -2 = -8 (1000) +-6 + -1 = -7 (1001) +-5 + 0 = -5 (1011) +-5 + 1 = -4 (1100) +-5 + 2 = -3 (1101) +-5 + 3 = -2 (1110) +-5 + 4 = -1 (1111) +-5 + 5 = 0 (0000) +-5 + 6 = 1 (0001) +-5 + 7 = 2 (0010) +-5 + 8 = 3 (0011) +-5 + 9 = 4 (0100) +-5 + 10 = 5 (0101) +-5 + 11 = 6 (0110) +-5 + 12 = 7 (0111) +-5 + 13 = -8 (1000) +-5 + 14 = -7 (1001) +-5 + 15 = -6 (1010) +-5 + 16 = -5 (1011) +-5 + 17 = -4 (1100) +-5 + 18 = -3 (1101) +-5 + 19 = -2 (1110) +-5 + 20 = -1 (1111) +-5 + 21 = 0 (0000) +-5 + 22 = 1 (0001) +-5 + 23 = 2 (0010) +-5 + 24 = 3 (0011) +-5 + 25 = 4 (0100) +-5 + 26 = 5 (0101) +-5 + 27 = 6 (0110) +-5 + 28 = 7 (0111) +-5 + 29 = -8 (1000) +-5 + 30 = -7 (1001) +-5 + 31 = -6 (1010) +-5 + -32 = -5 (1011) +-5 + -31 = -4 (1100) +-5 + -30 = -3 (1101) +-5 + -29 = -2 (1110) +-5 + -28 = -1 (1111) +-5 + -27 = 0 (0000) +-5 + -26 = 1 (0001) +-5 + -25 = 2 (0010) +-5 + -24 = 3 (0011) +-5 + -23 = 4 (0100) +-5 + -22 = 5 (0101) +-5 + -21 = 6 (0110) +-5 + -20 = 7 (0111) +-5 + -19 = -8 (1000) +-5 + -18 = -7 (1001) +-5 + -17 = -6 (1010) +-5 + -16 = -5 (1011) +-5 + -15 = -4 (1100) +-5 + -14 = -3 (1101) +-5 + -13 = -2 (1110) +-5 + -12 = -1 (1111) +-5 + -11 = 0 (0000) +-5 + -10 = 1 (0001) +-5 + -9 = 2 (0010) +-5 + -8 = 3 (0011) +-5 + -7 = 4 (0100) +-5 + -6 = 5 (0101) +-5 + -5 = 6 (0110) +-5 + -4 = 7 (0111) +-5 + -3 = -8 (1000) +-5 + -2 = -7 (1001) +-5 + -1 = -6 (1010) +-4 + 0 = -4 (1100) +-4 + 1 = -3 (1101) +-4 + 2 = -2 (1110) +-4 + 3 = -1 (1111) +-4 + 4 = 0 (0000) +-4 + 5 = 1 (0001) +-4 + 6 = 2 (0010) +-4 + 7 = 3 (0011) +-4 + 8 = 4 (0100) +-4 + 9 = 5 (0101) +-4 + 10 = 6 (0110) +-4 + 11 = 7 (0111) +-4 + 12 = -8 (1000) +-4 + 13 = -7 (1001) +-4 + 14 = -6 (1010) +-4 + 15 = -5 (1011) +-4 + 16 = -4 (1100) +-4 + 17 = -3 (1101) +-4 + 18 = -2 (1110) +-4 + 19 = -1 (1111) +-4 + 20 = 0 (0000) +-4 + 21 = 1 (0001) +-4 + 22 = 2 (0010) +-4 + 23 = 3 (0011) +-4 + 24 = 4 (0100) +-4 + 25 = 5 (0101) +-4 + 26 = 6 (0110) +-4 + 27 = 7 (0111) +-4 + 28 = -8 (1000) +-4 + 29 = -7 (1001) +-4 + 30 = -6 (1010) +-4 + 31 = -5 (1011) +-4 + -32 = -4 (1100) +-4 + -31 = -3 (1101) +-4 + -30 = -2 (1110) +-4 + -29 = -1 (1111) +-4 + -28 = 0 (0000) +-4 + -27 = 1 (0001) +-4 + -26 = 2 (0010) +-4 + -25 = 3 (0011) +-4 + -24 = 4 (0100) +-4 + -23 = 5 (0101) +-4 + -22 = 6 (0110) +-4 + -21 = 7 (0111) +-4 + -20 = -8 (1000) +-4 + -19 = -7 (1001) +-4 + -18 = -6 (1010) +-4 + -17 = -5 (1011) +-4 + -16 = -4 (1100) +-4 + -15 = -3 (1101) +-4 + -14 = -2 (1110) +-4 + -13 = -1 (1111) +-4 + -12 = 0 (0000) +-4 + -11 = 1 (0001) +-4 + -10 = 2 (0010) +-4 + -9 = 3 (0011) +-4 + -8 = 4 (0100) +-4 + -7 = 5 (0101) +-4 + -6 = 6 (0110) +-4 + -5 = 7 (0111) +-4 + -4 = -8 (1000) +-4 + -3 = -7 (1001) +-4 + -2 = -6 (1010) +-4 + -1 = -5 (1011) +-3 + 0 = -3 (1101) +-3 + 1 = -2 (1110) +-3 + 2 = -1 (1111) +-3 + 3 = 0 (0000) +-3 + 4 = 1 (0001) +-3 + 5 = 2 (0010) +-3 + 6 = 3 (0011) +-3 + 7 = 4 (0100) +-3 + 8 = 5 (0101) +-3 + 9 = 6 (0110) +-3 + 10 = 7 (0111) +-3 + 11 = -8 (1000) +-3 + 12 = -7 (1001) +-3 + 13 = -6 (1010) +-3 + 14 = -5 (1011) +-3 + 15 = -4 (1100) +-3 + 16 = -3 (1101) +-3 + 17 = -2 (1110) +-3 + 18 = -1 (1111) +-3 + 19 = 0 (0000) +-3 + 20 = 1 (0001) +-3 + 21 = 2 (0010) +-3 + 22 = 3 (0011) +-3 + 23 = 4 (0100) +-3 + 24 = 5 (0101) +-3 + 25 = 6 (0110) +-3 + 26 = 7 (0111) +-3 + 27 = -8 (1000) +-3 + 28 = -7 (1001) +-3 + 29 = -6 (1010) +-3 + 30 = -5 (1011) +-3 + 31 = -4 (1100) +-3 + -32 = -3 (1101) +-3 + -31 = -2 (1110) +-3 + -30 = -1 (1111) +-3 + -29 = 0 (0000) +-3 + -28 = 1 (0001) +-3 + -27 = 2 (0010) +-3 + -26 = 3 (0011) +-3 + -25 = 4 (0100) +-3 + -24 = 5 (0101) +-3 + -23 = 6 (0110) +-3 + -22 = 7 (0111) +-3 + -21 = -8 (1000) +-3 + -20 = -7 (1001) +-3 + -19 = -6 (1010) +-3 + -18 = -5 (1011) +-3 + -17 = -4 (1100) +-3 + -16 = -3 (1101) +-3 + -15 = -2 (1110) +-3 + -14 = -1 (1111) +-3 + -13 = 0 (0000) +-3 + -12 = 1 (0001) +-3 + -11 = 2 (0010) +-3 + -10 = 3 (0011) +-3 + -9 = 4 (0100) +-3 + -8 = 5 (0101) +-3 + -7 = 6 (0110) +-3 + -6 = 7 (0111) +-3 + -5 = -8 (1000) +-3 + -4 = -7 (1001) +-3 + -3 = -6 (1010) +-3 + -2 = -5 (1011) +-3 + -1 = -4 (1100) +-2 + 0 = -2 (1110) +-2 + 1 = -1 (1111) +-2 + 2 = 0 (0000) +-2 + 3 = 1 (0001) +-2 + 4 = 2 (0010) +-2 + 5 = 3 (0011) +-2 + 6 = 4 (0100) +-2 + 7 = 5 (0101) +-2 + 8 = 6 (0110) +-2 + 9 = 7 (0111) +-2 + 10 = -8 (1000) +-2 + 11 = -7 (1001) +-2 + 12 = -6 (1010) +-2 + 13 = -5 (1011) +-2 + 14 = -4 (1100) +-2 + 15 = -3 (1101) +-2 + 16 = -2 (1110) +-2 + 17 = -1 (1111) +-2 + 18 = 0 (0000) +-2 + 19 = 1 (0001) +-2 + 20 = 2 (0010) +-2 + 21 = 3 (0011) +-2 + 22 = 4 (0100) +-2 + 23 = 5 (0101) +-2 + 24 = 6 (0110) +-2 + 25 = 7 (0111) +-2 + 26 = -8 (1000) +-2 + 27 = -7 (1001) +-2 + 28 = -6 (1010) +-2 + 29 = -5 (1011) +-2 + 30 = -4 (1100) +-2 + 31 = -3 (1101) +-2 + -32 = -2 (1110) +-2 + -31 = -1 (1111) +-2 + -30 = 0 (0000) +-2 + -29 = 1 (0001) +-2 + -28 = 2 (0010) +-2 + -27 = 3 (0011) +-2 + -26 = 4 (0100) +-2 + -25 = 5 (0101) +-2 + -24 = 6 (0110) +-2 + -23 = 7 (0111) +-2 + -22 = -8 (1000) +-2 + -21 = -7 (1001) +-2 + -20 = -6 (1010) +-2 + -19 = -5 (1011) +-2 + -18 = -4 (1100) +-2 + -17 = -3 (1101) +-2 + -16 = -2 (1110) +-2 + -15 = -1 (1111) +-2 + -14 = 0 (0000) +-2 + -13 = 1 (0001) +-2 + -12 = 2 (0010) +-2 + -11 = 3 (0011) +-2 + -10 = 4 (0100) +-2 + -9 = 5 (0101) +-2 + -8 = 6 (0110) +-2 + -7 = 7 (0111) +-2 + -6 = -8 (1000) +-2 + -5 = -7 (1001) +-2 + -4 = -6 (1010) +-2 + -3 = -5 (1011) +-2 + -2 = -4 (1100) +-2 + -1 = -3 (1101) +-1 + 0 = -1 (1111) +-1 + 1 = 0 (0000) +-1 + 2 = 1 (0001) +-1 + 3 = 2 (0010) +-1 + 4 = 3 (0011) +-1 + 5 = 4 (0100) +-1 + 6 = 5 (0101) +-1 + 7 = 6 (0110) +-1 + 8 = 7 (0111) +-1 + 9 = -8 (1000) +-1 + 10 = -7 (1001) +-1 + 11 = -6 (1010) +-1 + 12 = -5 (1011) +-1 + 13 = -4 (1100) +-1 + 14 = -3 (1101) +-1 + 15 = -2 (1110) +-1 + 16 = -1 (1111) +-1 + 17 = 0 (0000) +-1 + 18 = 1 (0001) +-1 + 19 = 2 (0010) +-1 + 20 = 3 (0011) +-1 + 21 = 4 (0100) +-1 + 22 = 5 (0101) +-1 + 23 = 6 (0110) +-1 + 24 = 7 (0111) +-1 + 25 = -8 (1000) +-1 + 26 = -7 (1001) +-1 + 27 = -6 (1010) +-1 + 28 = -5 (1011) +-1 + 29 = -4 (1100) +-1 + 30 = -3 (1101) +-1 + 31 = -2 (1110) +-1 + -32 = -1 (1111) +-1 + -31 = 0 (0000) +-1 + -30 = 1 (0001) +-1 + -29 = 2 (0010) +-1 + -28 = 3 (0011) +-1 + -27 = 4 (0100) +-1 + -26 = 5 (0101) +-1 + -25 = 6 (0110) +-1 + -24 = 7 (0111) +-1 + -23 = -8 (1000) +-1 + -22 = -7 (1001) +-1 + -21 = -6 (1010) +-1 + -20 = -5 (1011) +-1 + -19 = -4 (1100) +-1 + -18 = -3 (1101) +-1 + -17 = -2 (1110) +-1 + -16 = -1 (1111) +-1 + -15 = 0 (0000) +-1 + -14 = 1 (0001) +-1 + -13 = 2 (0010) +-1 + -12 = 3 (0011) +-1 + -11 = 4 (0100) +-1 + -10 = 5 (0101) +-1 + -9 = 6 (0110) +-1 + -8 = 7 (0111) +-1 + -7 = -8 (1000) +-1 + -6 = -7 (1001) +-1 + -5 = -6 (1010) +-1 + -4 = -5 (1011) +-1 + -3 = -4 (1100) +-1 + -2 = -3 (1101) +-1 + -1 = -2 (1110) +0 + 0 = 0 (0000) +0 + 1 = 1 (0001) +0 + 2 = 2 (0010) +0 + 3 = 3 (0011) +0 + 4 = 4 (0100) +0 + 5 = 5 (0101) +0 + 6 = 6 (0110) +0 + 7 = 7 (0111) +0 + 8 = -8 (1000) +0 + 9 = -7 (1001) +0 + 10 = -6 (1010) +0 + 11 = -5 (1011) +0 + 12 = -4 (1100) +0 + 13 = -3 (1101) +0 + 14 = -2 (1110) +0 + 15 = -1 (1111) +0 + 16 = 0 (0000) +0 + 17 = 1 (0001) +0 + 18 = 2 (0010) +0 + 19 = 3 (0011) +0 + 20 = 4 (0100) +0 + 21 = 5 (0101) +0 + 22 = 6 (0110) +0 + 23 = 7 (0111) +0 + 24 = -8 (1000) +0 + 25 = -7 (1001) +0 + 26 = -6 (1010) +0 + 27 = -5 (1011) +0 + 28 = -4 (1100) +0 + 29 = -3 (1101) +0 + 30 = -2 (1110) +0 + 31 = -1 (1111) +0 + -32 = 0 (0000) +0 + -31 = 1 (0001) +0 + -30 = 2 (0010) +0 + -29 = 3 (0011) +0 + -28 = 4 (0100) +0 + -27 = 5 (0101) +0 + -26 = 6 (0110) +0 + -25 = 7 (0111) +0 + -24 = -8 (1000) +0 + -23 = -7 (1001) +0 + -22 = -6 (1010) +0 + -21 = -5 (1011) +0 + -20 = -4 (1100) +0 + -19 = -3 (1101) +0 + -18 = -2 (1110) +0 + -17 = -1 (1111) +0 + -16 = 0 (0000) +0 + -15 = 1 (0001) +0 + -14 = 2 (0010) +0 + -13 = 3 (0011) +0 + -12 = 4 (0100) +0 + -11 = 5 (0101) +0 + -10 = 6 (0110) +0 + -9 = 7 (0111) +0 + -8 = -8 (1000) +0 + -7 = -7 (1001) +0 + -6 = -6 (1010) +0 + -5 = -5 (1011) +0 + -4 = -4 (1100) +0 + -3 = -3 (1101) +0 + -2 = -2 (1110) +0 + -1 = -1 (1111) +1 + 0 = 1 (0001) +1 + 1 = 2 (0010) +1 + 2 = 3 (0011) +1 + 3 = 4 (0100) +1 + 4 = 5 (0101) +1 + 5 = 6 (0110) +1 + 6 = 7 (0111) +1 + 7 = -8 (1000) +1 + 8 = -7 (1001) +1 + 9 = -6 (1010) +1 + 10 = -5 (1011) +1 + 11 = -4 (1100) +1 + 12 = -3 (1101) +1 + 13 = -2 (1110) +1 + 14 = -1 (1111) +1 + 15 = 0 (0000) +1 + 16 = 1 (0001) +1 + 17 = 2 (0010) +1 + 18 = 3 (0011) +1 + 19 = 4 (0100) +1 + 20 = 5 (0101) +1 + 21 = 6 (0110) +1 + 22 = 7 (0111) +1 + 23 = -8 (1000) +1 + 24 = -7 (1001) +1 + 25 = -6 (1010) +1 + 26 = -5 (1011) +1 + 27 = -4 (1100) +1 + 28 = -3 (1101) +1 + 29 = -2 (1110) +1 + 30 = -1 (1111) +1 + 31 = 0 (0000) +1 + -32 = 1 (0001) +1 + -31 = 2 (0010) +1 + -30 = 3 (0011) +1 + -29 = 4 (0100) +1 + -28 = 5 (0101) +1 + -27 = 6 (0110) +1 + -26 = 7 (0111) +1 + -25 = -8 (1000) +1 + -24 = -7 (1001) +1 + -23 = -6 (1010) +1 + -22 = -5 (1011) +1 + -21 = -4 (1100) +1 + -20 = -3 (1101) +1 + -19 = -2 (1110) +1 + -18 = -1 (1111) +1 + -17 = 0 (0000) +1 + -16 = 1 (0001) +1 + -15 = 2 (0010) +1 + -14 = 3 (0011) +1 + -13 = 4 (0100) +1 + -12 = 5 (0101) +1 + -11 = 6 (0110) +1 + -10 = 7 (0111) +1 + -9 = -8 (1000) +1 + -8 = -7 (1001) +1 + -7 = -6 (1010) +1 + -6 = -5 (1011) +1 + -5 = -4 (1100) +1 + -4 = -3 (1101) +1 + -3 = -2 (1110) +1 + -2 = -1 (1111) +1 + -1 = 0 (0000) +2 + 0 = 2 (0010) +2 + 1 = 3 (0011) +2 + 2 = 4 (0100) +2 + 3 = 5 (0101) +2 + 4 = 6 (0110) +2 + 5 = 7 (0111) +2 + 6 = -8 (1000) +2 + 7 = -7 (1001) +2 + 8 = -6 (1010) +2 + 9 = -5 (1011) +2 + 10 = -4 (1100) +2 + 11 = -3 (1101) +2 + 12 = -2 (1110) +2 + 13 = -1 (1111) +2 + 14 = 0 (0000) +2 + 15 = 1 (0001) +2 + 16 = 2 (0010) +2 + 17 = 3 (0011) +2 + 18 = 4 (0100) +2 + 19 = 5 (0101) +2 + 20 = 6 (0110) +2 + 21 = 7 (0111) +2 + 22 = -8 (1000) +2 + 23 = -7 (1001) +2 + 24 = -6 (1010) +2 + 25 = -5 (1011) +2 + 26 = -4 (1100) +2 + 27 = -3 (1101) +2 + 28 = -2 (1110) +2 + 29 = -1 (1111) +2 + 30 = 0 (0000) +2 + 31 = 1 (0001) +2 + -32 = 2 (0010) +2 + -31 = 3 (0011) +2 + -30 = 4 (0100) +2 + -29 = 5 (0101) +2 + -28 = 6 (0110) +2 + -27 = 7 (0111) +2 + -26 = -8 (1000) +2 + -25 = -7 (1001) +2 + -24 = -6 (1010) +2 + -23 = -5 (1011) +2 + -22 = -4 (1100) +2 + -21 = -3 (1101) +2 + -20 = -2 (1110) +2 + -19 = -1 (1111) +2 + -18 = 0 (0000) +2 + -17 = 1 (0001) +2 + -16 = 2 (0010) +2 + -15 = 3 (0011) +2 + -14 = 4 (0100) +2 + -13 = 5 (0101) +2 + -12 = 6 (0110) +2 + -11 = 7 (0111) +2 + -10 = -8 (1000) +2 + -9 = -7 (1001) +2 + -8 = -6 (1010) +2 + -7 = -5 (1011) +2 + -6 = -4 (1100) +2 + -5 = -3 (1101) +2 + -4 = -2 (1110) +2 + -3 = -1 (1111) +2 + -2 = 0 (0000) +2 + -1 = 1 (0001) +3 + 0 = 3 (0011) +3 + 1 = 4 (0100) +3 + 2 = 5 (0101) +3 + 3 = 6 (0110) +3 + 4 = 7 (0111) +3 + 5 = -8 (1000) +3 + 6 = -7 (1001) +3 + 7 = -6 (1010) +3 + 8 = -5 (1011) +3 + 9 = -4 (1100) +3 + 10 = -3 (1101) +3 + 11 = -2 (1110) +3 + 12 = -1 (1111) +3 + 13 = 0 (0000) +3 + 14 = 1 (0001) +3 + 15 = 2 (0010) +3 + 16 = 3 (0011) +3 + 17 = 4 (0100) +3 + 18 = 5 (0101) +3 + 19 = 6 (0110) +3 + 20 = 7 (0111) +3 + 21 = -8 (1000) +3 + 22 = -7 (1001) +3 + 23 = -6 (1010) +3 + 24 = -5 (1011) +3 + 25 = -4 (1100) +3 + 26 = -3 (1101) +3 + 27 = -2 (1110) +3 + 28 = -1 (1111) +3 + 29 = 0 (0000) +3 + 30 = 1 (0001) +3 + 31 = 2 (0010) +3 + -32 = 3 (0011) +3 + -31 = 4 (0100) +3 + -30 = 5 (0101) +3 + -29 = 6 (0110) +3 + -28 = 7 (0111) +3 + -27 = -8 (1000) +3 + -26 = -7 (1001) +3 + -25 = -6 (1010) +3 + -24 = -5 (1011) +3 + -23 = -4 (1100) +3 + -22 = -3 (1101) +3 + -21 = -2 (1110) +3 + -20 = -1 (1111) +3 + -19 = 0 (0000) +3 + -18 = 1 (0001) +3 + -17 = 2 (0010) +3 + -16 = 3 (0011) +3 + -15 = 4 (0100) +3 + -14 = 5 (0101) +3 + -13 = 6 (0110) +3 + -12 = 7 (0111) +3 + -11 = -8 (1000) +3 + -10 = -7 (1001) +3 + -9 = -6 (1010) +3 + -8 = -5 (1011) +3 + -7 = -4 (1100) +3 + -6 = -3 (1101) +3 + -5 = -2 (1110) +3 + -4 = -1 (1111) +3 + -3 = 0 (0000) +3 + -2 = 1 (0001) +3 + -1 = 2 (0010) +4 + 0 = 4 (0100) +4 + 1 = 5 (0101) +4 + 2 = 6 (0110) +4 + 3 = 7 (0111) +4 + 4 = -8 (1000) +4 + 5 = -7 (1001) +4 + 6 = -6 (1010) +4 + 7 = -5 (1011) +4 + 8 = -4 (1100) +4 + 9 = -3 (1101) +4 + 10 = -2 (1110) +4 + 11 = -1 (1111) +4 + 12 = 0 (0000) +4 + 13 = 1 (0001) +4 + 14 = 2 (0010) +4 + 15 = 3 (0011) +4 + 16 = 4 (0100) +4 + 17 = 5 (0101) +4 + 18 = 6 (0110) +4 + 19 = 7 (0111) +4 + 20 = -8 (1000) +4 + 21 = -7 (1001) +4 + 22 = -6 (1010) +4 + 23 = -5 (1011) +4 + 24 = -4 (1100) +4 + 25 = -3 (1101) +4 + 26 = -2 (1110) +4 + 27 = -1 (1111) +4 + 28 = 0 (0000) +4 + 29 = 1 (0001) +4 + 30 = 2 (0010) +4 + 31 = 3 (0011) +4 + -32 = 4 (0100) +4 + -31 = 5 (0101) +4 + -30 = 6 (0110) +4 + -29 = 7 (0111) +4 + -28 = -8 (1000) +4 + -27 = -7 (1001) +4 + -26 = -6 (1010) +4 + -25 = -5 (1011) +4 + -24 = -4 (1100) +4 + -23 = -3 (1101) +4 + -22 = -2 (1110) +4 + -21 = -1 (1111) +4 + -20 = 0 (0000) +4 + -19 = 1 (0001) +4 + -18 = 2 (0010) +4 + -17 = 3 (0011) +4 + -16 = 4 (0100) +4 + -15 = 5 (0101) +4 + -14 = 6 (0110) +4 + -13 = 7 (0111) +4 + -12 = -8 (1000) +4 + -11 = -7 (1001) +4 + -10 = -6 (1010) +4 + -9 = -5 (1011) +4 + -8 = -4 (1100) +4 + -7 = -3 (1101) +4 + -6 = -2 (1110) +4 + -5 = -1 (1111) +4 + -4 = 0 (0000) +4 + -3 = 1 (0001) +4 + -2 = 2 (0010) +4 + -1 = 3 (0011) +5 + 0 = 5 (0101) +5 + 1 = 6 (0110) +5 + 2 = 7 (0111) +5 + 3 = -8 (1000) +5 + 4 = -7 (1001) +5 + 5 = -6 (1010) +5 + 6 = -5 (1011) +5 + 7 = -4 (1100) +5 + 8 = -3 (1101) +5 + 9 = -2 (1110) +5 + 10 = -1 (1111) +5 + 11 = 0 (0000) +5 + 12 = 1 (0001) +5 + 13 = 2 (0010) +5 + 14 = 3 (0011) +5 + 15 = 4 (0100) +5 + 16 = 5 (0101) +5 + 17 = 6 (0110) +5 + 18 = 7 (0111) +5 + 19 = -8 (1000) +5 + 20 = -7 (1001) +5 + 21 = -6 (1010) +5 + 22 = -5 (1011) +5 + 23 = -4 (1100) +5 + 24 = -3 (1101) +5 + 25 = -2 (1110) +5 + 26 = -1 (1111) +5 + 27 = 0 (0000) +5 + 28 = 1 (0001) +5 + 29 = 2 (0010) +5 + 30 = 3 (0011) +5 + 31 = 4 (0100) +5 + -32 = 5 (0101) +5 + -31 = 6 (0110) +5 + -30 = 7 (0111) +5 + -29 = -8 (1000) +5 + -28 = -7 (1001) +5 + -27 = -6 (1010) +5 + -26 = -5 (1011) +5 + -25 = -4 (1100) +5 + -24 = -3 (1101) +5 + -23 = -2 (1110) +5 + -22 = -1 (1111) +5 + -21 = 0 (0000) +5 + -20 = 1 (0001) +5 + -19 = 2 (0010) +5 + -18 = 3 (0011) +5 + -17 = 4 (0100) +5 + -16 = 5 (0101) +5 + -15 = 6 (0110) +5 + -14 = 7 (0111) +5 + -13 = -8 (1000) +5 + -12 = -7 (1001) +5 + -11 = -6 (1010) +5 + -10 = -5 (1011) +5 + -9 = -4 (1100) +5 + -8 = -3 (1101) +5 + -7 = -2 (1110) +5 + -6 = -1 (1111) +5 + -5 = 0 (0000) +5 + -4 = 1 (0001) +5 + -3 = 2 (0010) +5 + -2 = 3 (0011) +5 + -1 = 4 (0100) +6 + 0 = 6 (0110) +6 + 1 = 7 (0111) +6 + 2 = -8 (1000) +6 + 3 = -7 (1001) +6 + 4 = -6 (1010) +6 + 5 = -5 (1011) +6 + 6 = -4 (1100) +6 + 7 = -3 (1101) +6 + 8 = -2 (1110) +6 + 9 = -1 (1111) +6 + 10 = 0 (0000) +6 + 11 = 1 (0001) +6 + 12 = 2 (0010) +6 + 13 = 3 (0011) +6 + 14 = 4 (0100) +6 + 15 = 5 (0101) +6 + 16 = 6 (0110) +6 + 17 = 7 (0111) +6 + 18 = -8 (1000) +6 + 19 = -7 (1001) +6 + 20 = -6 (1010) +6 + 21 = -5 (1011) +6 + 22 = -4 (1100) +6 + 23 = -3 (1101) +6 + 24 = -2 (1110) +6 + 25 = -1 (1111) +6 + 26 = 0 (0000) +6 + 27 = 1 (0001) +6 + 28 = 2 (0010) +6 + 29 = 3 (0011) +6 + 30 = 4 (0100) +6 + 31 = 5 (0101) +6 + -32 = 6 (0110) +6 + -31 = 7 (0111) +6 + -30 = -8 (1000) +6 + -29 = -7 (1001) +6 + -28 = -6 (1010) +6 + -27 = -5 (1011) +6 + -26 = -4 (1100) +6 + -25 = -3 (1101) +6 + -24 = -2 (1110) +6 + -23 = -1 (1111) +6 + -22 = 0 (0000) +6 + -21 = 1 (0001) +6 + -20 = 2 (0010) +6 + -19 = 3 (0011) +6 + -18 = 4 (0100) +6 + -17 = 5 (0101) +6 + -16 = 6 (0110) +6 + -15 = 7 (0111) +6 + -14 = -8 (1000) +6 + -13 = -7 (1001) +6 + -12 = -6 (1010) +6 + -11 = -5 (1011) +6 + -10 = -4 (1100) +6 + -9 = -3 (1101) +6 + -8 = -2 (1110) +6 + -7 = -1 (1111) +6 + -6 = 0 (0000) +6 + -5 = 1 (0001) +6 + -4 = 2 (0010) +6 + -3 = 3 (0011) +6 + -2 = 4 (0100) +6 + -1 = 5 (0101) +7 + 0 = 7 (0111) +7 + 1 = -8 (1000) +7 + 2 = -7 (1001) +7 + 3 = -6 (1010) +7 + 4 = -5 (1011) +7 + 5 = -4 (1100) +7 + 6 = -3 (1101) +7 + 7 = -2 (1110) +7 + 8 = -1 (1111) +7 + 9 = 0 (0000) +7 + 10 = 1 (0001) +7 + 11 = 2 (0010) +7 + 12 = 3 (0011) +7 + 13 = 4 (0100) +7 + 14 = 5 (0101) +7 + 15 = 6 (0110) +7 + 16 = 7 (0111) +7 + 17 = -8 (1000) +7 + 18 = -7 (1001) +7 + 19 = -6 (1010) +7 + 20 = -5 (1011) +7 + 21 = -4 (1100) +7 + 22 = -3 (1101) +7 + 23 = -2 (1110) +7 + 24 = -1 (1111) +7 + 25 = 0 (0000) +7 + 26 = 1 (0001) +7 + 27 = 2 (0010) +7 + 28 = 3 (0011) +7 + 29 = 4 (0100) +7 + 30 = 5 (0101) +7 + 31 = 6 (0110) +7 + -32 = 7 (0111) +7 + -31 = -8 (1000) +7 + -30 = -7 (1001) +7 + -29 = -6 (1010) +7 + -28 = -5 (1011) +7 + -27 = -4 (1100) +7 + -26 = -3 (1101) +7 + -25 = -2 (1110) +7 + -24 = -1 (1111) +7 + -23 = 0 (0000) +7 + -22 = 1 (0001) +7 + -21 = 2 (0010) +7 + -20 = 3 (0011) +7 + -19 = 4 (0100) +7 + -18 = 5 (0101) +7 + -17 = 6 (0110) +7 + -16 = 7 (0111) +7 + -15 = -8 (1000) +7 + -14 = -7 (1001) +7 + -13 = -6 (1010) +7 + -12 = -5 (1011) +7 + -11 = -4 (1100) +7 + -10 = -3 (1101) +7 + -9 = -2 (1110) +7 + -8 = -1 (1111) +7 + -7 = 0 (0000) +7 + -6 = 1 (0001) +7 + -5 = 2 (0010) +7 + -4 = 3 (0011) +7 + -3 = 4 (0100) +7 + -2 = 5 (0101) +7 + -1 = 6 (0110) +-8 + 0 = -8 (1000) +-8 + 1 = -7 (1001) +-8 + 2 = -6 (1010) +-8 + 3 = -5 (1011) +-8 + 4 = -4 (1100) +-8 + 5 = -3 (1101) +-8 + 6 = -2 (1110) +-8 + 7 = -1 (1111) +-8 + 8 = 0 (0000) +-8 + 9 = 1 (0001) +-8 + 10 = 2 (0010) +-8 + 11 = 3 (0011) +-8 + 12 = 4 (0100) +-8 + 13 = 5 (0101) +-8 + 14 = 6 (0110) +-8 + 15 = 7 (0111) +-8 + 16 = -8 (1000) +-8 + 17 = -7 (1001) +-8 + 18 = -6 (1010) +-8 + 19 = -5 (1011) +-8 + 20 = -4 (1100) +-8 + 21 = -3 (1101) +-8 + 22 = -2 (1110) +-8 + 23 = -1 (1111) +-8 + 24 = 0 (0000) +-8 + 25 = 1 (0001) +-8 + 26 = 2 (0010) +-8 + 27 = 3 (0011) +-8 + 28 = 4 (0100) +-8 + 29 = 5 (0101) +-8 + 30 = 6 (0110) +-8 + 31 = 7 (0111) +-8 + -32 = -8 (1000) +-8 + -31 = -7 (1001) +-8 + -30 = -6 (1010) +-8 + -29 = -5 (1011) +-8 + -28 = -4 (1100) +-8 + -27 = -3 (1101) +-8 + -26 = -2 (1110) +-8 + -25 = -1 (1111) +-8 + -24 = 0 (0000) +-8 + -23 = 1 (0001) +-8 + -22 = 2 (0010) +-8 + -21 = 3 (0011) +-8 + -20 = 4 (0100) +-8 + -19 = 5 (0101) +-8 + -18 = 6 (0110) +-8 + -17 = 7 (0111) +-8 + -16 = -8 (1000) +-8 + -15 = -7 (1001) +-8 + -14 = -6 (1010) +-8 + -13 = -5 (1011) +-8 + -12 = -4 (1100) +-8 + -11 = -3 (1101) +-8 + -10 = -2 (1110) +-8 + -9 = -1 (1111) +-8 + -8 = 0 (0000) +-8 + -7 = 1 (0001) +-8 + -6 = 2 (0010) +-8 + -5 = 3 (0011) +-8 + -4 = 4 (0100) +-8 + -3 = 5 (0101) +-8 + -2 = 6 (0110) +-8 + -1 = 7 (0111) +-7 + 0 = -7 (1001) +-7 + 1 = -6 (1010) +-7 + 2 = -5 (1011) +-7 + 3 = -4 (1100) +-7 + 4 = -3 (1101) +-7 + 5 = -2 (1110) +-7 + 6 = -1 (1111) +-7 + 7 = 0 (0000) +-7 + 8 = 1 (0001) +-7 + 9 = 2 (0010) +-7 + 10 = 3 (0011) +-7 + 11 = 4 (0100) +-7 + 12 = 5 (0101) +-7 + 13 = 6 (0110) +-7 + 14 = 7 (0111) +-7 + 15 = -8 (1000) +-7 + 16 = -7 (1001) +-7 + 17 = -6 (1010) +-7 + 18 = -5 (1011) +-7 + 19 = -4 (1100) +-7 + 20 = -3 (1101) +-7 + 21 = -2 (1110) +-7 + 22 = -1 (1111) +-7 + 23 = 0 (0000) +-7 + 24 = 1 (0001) +-7 + 25 = 2 (0010) +-7 + 26 = 3 (0011) +-7 + 27 = 4 (0100) +-7 + 28 = 5 (0101) +-7 + 29 = 6 (0110) +-7 + 30 = 7 (0111) +-7 + 31 = -8 (1000) +-7 + -32 = -7 (1001) +-7 + -31 = -6 (1010) +-7 + -30 = -5 (1011) +-7 + -29 = -4 (1100) +-7 + -28 = -3 (1101) +-7 + -27 = -2 (1110) +-7 + -26 = -1 (1111) +-7 + -25 = 0 (0000) +-7 + -24 = 1 (0001) +-7 + -23 = 2 (0010) +-7 + -22 = 3 (0011) +-7 + -21 = 4 (0100) +-7 + -20 = 5 (0101) +-7 + -19 = 6 (0110) +-7 + -18 = 7 (0111) +-7 + -17 = -8 (1000) +-7 + -16 = -7 (1001) +-7 + -15 = -6 (1010) +-7 + -14 = -5 (1011) +-7 + -13 = -4 (1100) +-7 + -12 = -3 (1101) +-7 + -11 = -2 (1110) +-7 + -10 = -1 (1111) +-7 + -9 = 0 (0000) +-7 + -8 = 1 (0001) +-7 + -7 = 2 (0010) +-7 + -6 = 3 (0011) +-7 + -5 = 4 (0100) +-7 + -4 = 5 (0101) +-7 + -3 = 6 (0110) +-7 + -2 = 7 (0111) +-7 + -1 = -8 (1000) +-6 + 0 = -6 (1010) +-6 + 1 = -5 (1011) +-6 + 2 = -4 (1100) +-6 + 3 = -3 (1101) +-6 + 4 = -2 (1110) +-6 + 5 = -1 (1111) +-6 + 6 = 0 (0000) +-6 + 7 = 1 (0001) +-6 + 8 = 2 (0010) +-6 + 9 = 3 (0011) +-6 + 10 = 4 (0100) +-6 + 11 = 5 (0101) +-6 + 12 = 6 (0110) +-6 + 13 = 7 (0111) +-6 + 14 = -8 (1000) +-6 + 15 = -7 (1001) +-6 + 16 = -6 (1010) +-6 + 17 = -5 (1011) +-6 + 18 = -4 (1100) +-6 + 19 = -3 (1101) +-6 + 20 = -2 (1110) +-6 + 21 = -1 (1111) +-6 + 22 = 0 (0000) +-6 + 23 = 1 (0001) +-6 + 24 = 2 (0010) +-6 + 25 = 3 (0011) +-6 + 26 = 4 (0100) +-6 + 27 = 5 (0101) +-6 + 28 = 6 (0110) +-6 + 29 = 7 (0111) +-6 + 30 = -8 (1000) +-6 + 31 = -7 (1001) +-6 + -32 = -6 (1010) +-6 + -31 = -5 (1011) +-6 + -30 = -4 (1100) +-6 + -29 = -3 (1101) +-6 + -28 = -2 (1110) +-6 + -27 = -1 (1111) +-6 + -26 = 0 (0000) +-6 + -25 = 1 (0001) +-6 + -24 = 2 (0010) +-6 + -23 = 3 (0011) +-6 + -22 = 4 (0100) +-6 + -21 = 5 (0101) +-6 + -20 = 6 (0110) +-6 + -19 = 7 (0111) +-6 + -18 = -8 (1000) +-6 + -17 = -7 (1001) +-6 + -16 = -6 (1010) +-6 + -15 = -5 (1011) +-6 + -14 = -4 (1100) +-6 + -13 = -3 (1101) +-6 + -12 = -2 (1110) +-6 + -11 = -1 (1111) +-6 + -10 = 0 (0000) +-6 + -9 = 1 (0001) +-6 + -8 = 2 (0010) +-6 + -7 = 3 (0011) +-6 + -6 = 4 (0100) +-6 + -5 = 5 (0101) +-6 + -4 = 6 (0110) +-6 + -3 = 7 (0111) +-6 + -2 = -8 (1000) +-6 + -1 = -7 (1001) +-5 + 0 = -5 (1011) +-5 + 1 = -4 (1100) +-5 + 2 = -3 (1101) +-5 + 3 = -2 (1110) +-5 + 4 = -1 (1111) +-5 + 5 = 0 (0000) +-5 + 6 = 1 (0001) +-5 + 7 = 2 (0010) +-5 + 8 = 3 (0011) +-5 + 9 = 4 (0100) +-5 + 10 = 5 (0101) +-5 + 11 = 6 (0110) +-5 + 12 = 7 (0111) +-5 + 13 = -8 (1000) +-5 + 14 = -7 (1001) +-5 + 15 = -6 (1010) +-5 + 16 = -5 (1011) +-5 + 17 = -4 (1100) +-5 + 18 = -3 (1101) +-5 + 19 = -2 (1110) +-5 + 20 = -1 (1111) +-5 + 21 = 0 (0000) +-5 + 22 = 1 (0001) +-5 + 23 = 2 (0010) +-5 + 24 = 3 (0011) +-5 + 25 = 4 (0100) +-5 + 26 = 5 (0101) +-5 + 27 = 6 (0110) +-5 + 28 = 7 (0111) +-5 + 29 = -8 (1000) +-5 + 30 = -7 (1001) +-5 + 31 = -6 (1010) +-5 + -32 = -5 (1011) +-5 + -31 = -4 (1100) +-5 + -30 = -3 (1101) +-5 + -29 = -2 (1110) +-5 + -28 = -1 (1111) +-5 + -27 = 0 (0000) +-5 + -26 = 1 (0001) +-5 + -25 = 2 (0010) +-5 + -24 = 3 (0011) +-5 + -23 = 4 (0100) +-5 + -22 = 5 (0101) +-5 + -21 = 6 (0110) +-5 + -20 = 7 (0111) +-5 + -19 = -8 (1000) +-5 + -18 = -7 (1001) +-5 + -17 = -6 (1010) +-5 + -16 = -5 (1011) +-5 + -15 = -4 (1100) +-5 + -14 = -3 (1101) +-5 + -13 = -2 (1110) +-5 + -12 = -1 (1111) +-5 + -11 = 0 (0000) +-5 + -10 = 1 (0001) +-5 + -9 = 2 (0010) +-5 + -8 = 3 (0011) +-5 + -7 = 4 (0100) +-5 + -6 = 5 (0101) +-5 + -5 = 6 (0110) +-5 + -4 = 7 (0111) +-5 + -3 = -8 (1000) +-5 + -2 = -7 (1001) +-5 + -1 = -6 (1010) +-4 + 0 = -4 (1100) +-4 + 1 = -3 (1101) +-4 + 2 = -2 (1110) +-4 + 3 = -1 (1111) +-4 + 4 = 0 (0000) +-4 + 5 = 1 (0001) +-4 + 6 = 2 (0010) +-4 + 7 = 3 (0011) +-4 + 8 = 4 (0100) +-4 + 9 = 5 (0101) +-4 + 10 = 6 (0110) +-4 + 11 = 7 (0111) +-4 + 12 = -8 (1000) +-4 + 13 = -7 (1001) +-4 + 14 = -6 (1010) +-4 + 15 = -5 (1011) +-4 + 16 = -4 (1100) +-4 + 17 = -3 (1101) +-4 + 18 = -2 (1110) +-4 + 19 = -1 (1111) +-4 + 20 = 0 (0000) +-4 + 21 = 1 (0001) +-4 + 22 = 2 (0010) +-4 + 23 = 3 (0011) +-4 + 24 = 4 (0100) +-4 + 25 = 5 (0101) +-4 + 26 = 6 (0110) +-4 + 27 = 7 (0111) +-4 + 28 = -8 (1000) +-4 + 29 = -7 (1001) +-4 + 30 = -6 (1010) +-4 + 31 = -5 (1011) +-4 + -32 = -4 (1100) +-4 + -31 = -3 (1101) +-4 + -30 = -2 (1110) +-4 + -29 = -1 (1111) +-4 + -28 = 0 (0000) +-4 + -27 = 1 (0001) +-4 + -26 = 2 (0010) +-4 + -25 = 3 (0011) +-4 + -24 = 4 (0100) +-4 + -23 = 5 (0101) +-4 + -22 = 6 (0110) +-4 + -21 = 7 (0111) +-4 + -20 = -8 (1000) +-4 + -19 = -7 (1001) +-4 + -18 = -6 (1010) +-4 + -17 = -5 (1011) +-4 + -16 = -4 (1100) +-4 + -15 = -3 (1101) +-4 + -14 = -2 (1110) +-4 + -13 = -1 (1111) +-4 + -12 = 0 (0000) +-4 + -11 = 1 (0001) +-4 + -10 = 2 (0010) +-4 + -9 = 3 (0011) +-4 + -8 = 4 (0100) +-4 + -7 = 5 (0101) +-4 + -6 = 6 (0110) +-4 + -5 = 7 (0111) +-4 + -4 = -8 (1000) +-4 + -3 = -7 (1001) +-4 + -2 = -6 (1010) +-4 + -1 = -5 (1011) +-3 + 0 = -3 (1101) +-3 + 1 = -2 (1110) +-3 + 2 = -1 (1111) +-3 + 3 = 0 (0000) +-3 + 4 = 1 (0001) +-3 + 5 = 2 (0010) +-3 + 6 = 3 (0011) +-3 + 7 = 4 (0100) +-3 + 8 = 5 (0101) +-3 + 9 = 6 (0110) +-3 + 10 = 7 (0111) +-3 + 11 = -8 (1000) +-3 + 12 = -7 (1001) +-3 + 13 = -6 (1010) +-3 + 14 = -5 (1011) +-3 + 15 = -4 (1100) +-3 + 16 = -3 (1101) +-3 + 17 = -2 (1110) +-3 + 18 = -1 (1111) +-3 + 19 = 0 (0000) +-3 + 20 = 1 (0001) +-3 + 21 = 2 (0010) +-3 + 22 = 3 (0011) +-3 + 23 = 4 (0100) +-3 + 24 = 5 (0101) +-3 + 25 = 6 (0110) +-3 + 26 = 7 (0111) +-3 + 27 = -8 (1000) +-3 + 28 = -7 (1001) +-3 + 29 = -6 (1010) +-3 + 30 = -5 (1011) +-3 + 31 = -4 (1100) +-3 + -32 = -3 (1101) +-3 + -31 = -2 (1110) +-3 + -30 = -1 (1111) +-3 + -29 = 0 (0000) +-3 + -28 = 1 (0001) +-3 + -27 = 2 (0010) +-3 + -26 = 3 (0011) +-3 + -25 = 4 (0100) +-3 + -24 = 5 (0101) +-3 + -23 = 6 (0110) +-3 + -22 = 7 (0111) +-3 + -21 = -8 (1000) +-3 + -20 = -7 (1001) +-3 + -19 = -6 (1010) +-3 + -18 = -5 (1011) +-3 + -17 = -4 (1100) +-3 + -16 = -3 (1101) +-3 + -15 = -2 (1110) +-3 + -14 = -1 (1111) +-3 + -13 = 0 (0000) +-3 + -12 = 1 (0001) +-3 + -11 = 2 (0010) +-3 + -10 = 3 (0011) +-3 + -9 = 4 (0100) +-3 + -8 = 5 (0101) +-3 + -7 = 6 (0110) +-3 + -6 = 7 (0111) +-3 + -5 = -8 (1000) +-3 + -4 = -7 (1001) +-3 + -3 = -6 (1010) +-3 + -2 = -5 (1011) +-3 + -1 = -4 (1100) +-2 + 0 = -2 (1110) +-2 + 1 = -1 (1111) +-2 + 2 = 0 (0000) +-2 + 3 = 1 (0001) +-2 + 4 = 2 (0010) +-2 + 5 = 3 (0011) +-2 + 6 = 4 (0100) +-2 + 7 = 5 (0101) +-2 + 8 = 6 (0110) +-2 + 9 = 7 (0111) +-2 + 10 = -8 (1000) +-2 + 11 = -7 (1001) +-2 + 12 = -6 (1010) +-2 + 13 = -5 (1011) +-2 + 14 = -4 (1100) +-2 + 15 = -3 (1101) +-2 + 16 = -2 (1110) +-2 + 17 = -1 (1111) +-2 + 18 = 0 (0000) +-2 + 19 = 1 (0001) +-2 + 20 = 2 (0010) +-2 + 21 = 3 (0011) +-2 + 22 = 4 (0100) +-2 + 23 = 5 (0101) +-2 + 24 = 6 (0110) +-2 + 25 = 7 (0111) +-2 + 26 = -8 (1000) +-2 + 27 = -7 (1001) +-2 + 28 = -6 (1010) +-2 + 29 = -5 (1011) +-2 + 30 = -4 (1100) +-2 + 31 = -3 (1101) +-2 + -32 = -2 (1110) +-2 + -31 = -1 (1111) +-2 + -30 = 0 (0000) +-2 + -29 = 1 (0001) +-2 + -28 = 2 (0010) +-2 + -27 = 3 (0011) +-2 + -26 = 4 (0100) +-2 + -25 = 5 (0101) +-2 + -24 = 6 (0110) +-2 + -23 = 7 (0111) +-2 + -22 = -8 (1000) +-2 + -21 = -7 (1001) +-2 + -20 = -6 (1010) +-2 + -19 = -5 (1011) +-2 + -18 = -4 (1100) +-2 + -17 = -3 (1101) +-2 + -16 = -2 (1110) +-2 + -15 = -1 (1111) +-2 + -14 = 0 (0000) +-2 + -13 = 1 (0001) +-2 + -12 = 2 (0010) +-2 + -11 = 3 (0011) +-2 + -10 = 4 (0100) +-2 + -9 = 5 (0101) +-2 + -8 = 6 (0110) +-2 + -7 = 7 (0111) +-2 + -6 = -8 (1000) +-2 + -5 = -7 (1001) +-2 + -4 = -6 (1010) +-2 + -3 = -5 (1011) +-2 + -2 = -4 (1100) +-2 + -1 = -3 (1101) +-1 + 0 = -1 (1111) +-1 + 1 = 0 (0000) +-1 + 2 = 1 (0001) +-1 + 3 = 2 (0010) +-1 + 4 = 3 (0011) +-1 + 5 = 4 (0100) +-1 + 6 = 5 (0101) +-1 + 7 = 6 (0110) +-1 + 8 = 7 (0111) +-1 + 9 = -8 (1000) +-1 + 10 = -7 (1001) +-1 + 11 = -6 (1010) +-1 + 12 = -5 (1011) +-1 + 13 = -4 (1100) +-1 + 14 = -3 (1101) +-1 + 15 = -2 (1110) +-1 + 16 = -1 (1111) +-1 + 17 = 0 (0000) +-1 + 18 = 1 (0001) +-1 + 19 = 2 (0010) +-1 + 20 = 3 (0011) +-1 + 21 = 4 (0100) +-1 + 22 = 5 (0101) +-1 + 23 = 6 (0110) +-1 + 24 = 7 (0111) +-1 + 25 = -8 (1000) +-1 + 26 = -7 (1001) +-1 + 27 = -6 (1010) +-1 + 28 = -5 (1011) +-1 + 29 = -4 (1100) +-1 + 30 = -3 (1101) +-1 + 31 = -2 (1110) +-1 + -32 = -1 (1111) +-1 + -31 = 0 (0000) +-1 + -30 = 1 (0001) +-1 + -29 = 2 (0010) +-1 + -28 = 3 (0011) +-1 + -27 = 4 (0100) +-1 + -26 = 5 (0101) +-1 + -25 = 6 (0110) +-1 + -24 = 7 (0111) +-1 + -23 = -8 (1000) +-1 + -22 = -7 (1001) +-1 + -21 = -6 (1010) +-1 + -20 = -5 (1011) +-1 + -19 = -4 (1100) +-1 + -18 = -3 (1101) +-1 + -17 = -2 (1110) +-1 + -16 = -1 (1111) +-1 + -15 = 0 (0000) +-1 + -14 = 1 (0001) +-1 + -13 = 2 (0010) +-1 + -12 = 3 (0011) +-1 + -11 = 4 (0100) +-1 + -10 = 5 (0101) +-1 + -9 = 6 (0110) +-1 + -8 = 7 (0111) +-1 + -7 = -8 (1000) +-1 + -6 = -7 (1001) +-1 + -5 = -6 (1010) +-1 + -4 = -5 (1011) +-1 + -3 = -4 (1100) +-1 + -2 = -3 (1101) +-1 + -1 = -2 (1110) +0 + 0 = 0 (0000) +0 + 1 = 1 (0001) +0 + 2 = 2 (0010) +0 + 3 = 3 (0011) +0 + 4 = 4 (0100) +0 + 5 = 5 (0101) +0 + 6 = 6 (0110) +0 + 7 = 7 (0111) +0 + 8 = -8 (1000) +0 + 9 = -7 (1001) +0 + 10 = -6 (1010) +0 + 11 = -5 (1011) +0 + 12 = -4 (1100) +0 + 13 = -3 (1101) +0 + 14 = -2 (1110) +0 + 15 = -1 (1111) +0 + 16 = 0 (0000) +0 + 17 = 1 (0001) +0 + 18 = 2 (0010) +0 + 19 = 3 (0011) +0 + 20 = 4 (0100) +0 + 21 = 5 (0101) +0 + 22 = 6 (0110) +0 + 23 = 7 (0111) +0 + 24 = -8 (1000) +0 + 25 = -7 (1001) +0 + 26 = -6 (1010) +0 + 27 = -5 (1011) +0 + 28 = -4 (1100) +0 + 29 = -3 (1101) +0 + 30 = -2 (1110) +0 + 31 = -1 (1111) +0 + -32 = 0 (0000) +0 + -31 = 1 (0001) +0 + -30 = 2 (0010) +0 + -29 = 3 (0011) +0 + -28 = 4 (0100) +0 + -27 = 5 (0101) +0 + -26 = 6 (0110) +0 + -25 = 7 (0111) +0 + -24 = -8 (1000) +0 + -23 = -7 (1001) +0 + -22 = -6 (1010) +0 + -21 = -5 (1011) +0 + -20 = -4 (1100) +0 + -19 = -3 (1101) +0 + -18 = -2 (1110) +0 + -17 = -1 (1111) +0 + -16 = 0 (0000) +0 + -15 = 1 (0001) +0 + -14 = 2 (0010) +0 + -13 = 3 (0011) +0 + -12 = 4 (0100) +0 + -11 = 5 (0101) +0 + -10 = 6 (0110) +0 + -9 = 7 (0111) +0 + -8 = -8 (1000) +0 + -7 = -7 (1001) +0 + -6 = -6 (1010) +0 + -5 = -5 (1011) +0 + -4 = -4 (1100) +0 + -3 = -3 (1101) +0 + -2 = -2 (1110) +0 + -1 = -1 (1111) +1 + 0 = 1 (0001) +1 + 1 = 2 (0010) +1 + 2 = 3 (0011) +1 + 3 = 4 (0100) +1 + 4 = 5 (0101) +1 + 5 = 6 (0110) +1 + 6 = 7 (0111) +1 + 7 = -8 (1000) +1 + 8 = -7 (1001) +1 + 9 = -6 (1010) +1 + 10 = -5 (1011) +1 + 11 = -4 (1100) +1 + 12 = -3 (1101) +1 + 13 = -2 (1110) +1 + 14 = -1 (1111) +1 + 15 = 0 (0000) +1 + 16 = 1 (0001) +1 + 17 = 2 (0010) +1 + 18 = 3 (0011) +1 + 19 = 4 (0100) +1 + 20 = 5 (0101) +1 + 21 = 6 (0110) +1 + 22 = 7 (0111) +1 + 23 = -8 (1000) +1 + 24 = -7 (1001) +1 + 25 = -6 (1010) +1 + 26 = -5 (1011) +1 + 27 = -4 (1100) +1 + 28 = -3 (1101) +1 + 29 = -2 (1110) +1 + 30 = -1 (1111) +1 + 31 = 0 (0000) +1 + -32 = 1 (0001) +1 + -31 = 2 (0010) +1 + -30 = 3 (0011) +1 + -29 = 4 (0100) +1 + -28 = 5 (0101) +1 + -27 = 6 (0110) +1 + -26 = 7 (0111) +1 + -25 = -8 (1000) +1 + -24 = -7 (1001) +1 + -23 = -6 (1010) +1 + -22 = -5 (1011) +1 + -21 = -4 (1100) +1 + -20 = -3 (1101) +1 + -19 = -2 (1110) +1 + -18 = -1 (1111) +1 + -17 = 0 (0000) +1 + -16 = 1 (0001) +1 + -15 = 2 (0010) +1 + -14 = 3 (0011) +1 + -13 = 4 (0100) +1 + -12 = 5 (0101) +1 + -11 = 6 (0110) +1 + -10 = 7 (0111) +1 + -9 = -8 (1000) +1 + -8 = -7 (1001) +1 + -7 = -6 (1010) +1 + -6 = -5 (1011) +1 + -5 = -4 (1100) +1 + -4 = -3 (1101) +1 + -3 = -2 (1110) +1 + -2 = -1 (1111) +1 + -1 = 0 (0000) +2 + 0 = 2 (0010) +2 + 1 = 3 (0011) +2 + 2 = 4 (0100) +2 + 3 = 5 (0101) +2 + 4 = 6 (0110) +2 + 5 = 7 (0111) +2 + 6 = -8 (1000) +2 + 7 = -7 (1001) +2 + 8 = -6 (1010) +2 + 9 = -5 (1011) +2 + 10 = -4 (1100) +2 + 11 = -3 (1101) +2 + 12 = -2 (1110) +2 + 13 = -1 (1111) +2 + 14 = 0 (0000) +2 + 15 = 1 (0001) +2 + 16 = 2 (0010) +2 + 17 = 3 (0011) +2 + 18 = 4 (0100) +2 + 19 = 5 (0101) +2 + 20 = 6 (0110) +2 + 21 = 7 (0111) +2 + 22 = -8 (1000) +2 + 23 = -7 (1001) +2 + 24 = -6 (1010) +2 + 25 = -5 (1011) +2 + 26 = -4 (1100) +2 + 27 = -3 (1101) +2 + 28 = -2 (1110) +2 + 29 = -1 (1111) +2 + 30 = 0 (0000) +2 + 31 = 1 (0001) +2 + -32 = 2 (0010) +2 + -31 = 3 (0011) +2 + -30 = 4 (0100) +2 + -29 = 5 (0101) +2 + -28 = 6 (0110) +2 + -27 = 7 (0111) +2 + -26 = -8 (1000) +2 + -25 = -7 (1001) +2 + -24 = -6 (1010) +2 + -23 = -5 (1011) +2 + -22 = -4 (1100) +2 + -21 = -3 (1101) +2 + -20 = -2 (1110) +2 + -19 = -1 (1111) +2 + -18 = 0 (0000) +2 + -17 = 1 (0001) +2 + -16 = 2 (0010) +2 + -15 = 3 (0011) +2 + -14 = 4 (0100) +2 + -13 = 5 (0101) +2 + -12 = 6 (0110) +2 + -11 = 7 (0111) +2 + -10 = -8 (1000) +2 + -9 = -7 (1001) +2 + -8 = -6 (1010) +2 + -7 = -5 (1011) +2 + -6 = -4 (1100) +2 + -5 = -3 (1101) +2 + -4 = -2 (1110) +2 + -3 = -1 (1111) +2 + -2 = 0 (0000) +2 + -1 = 1 (0001) +3 + 0 = 3 (0011) +3 + 1 = 4 (0100) +3 + 2 = 5 (0101) +3 + 3 = 6 (0110) +3 + 4 = 7 (0111) +3 + 5 = -8 (1000) +3 + 6 = -7 (1001) +3 + 7 = -6 (1010) +3 + 8 = -5 (1011) +3 + 9 = -4 (1100) +3 + 10 = -3 (1101) +3 + 11 = -2 (1110) +3 + 12 = -1 (1111) +3 + 13 = 0 (0000) +3 + 14 = 1 (0001) +3 + 15 = 2 (0010) +3 + 16 = 3 (0011) +3 + 17 = 4 (0100) +3 + 18 = 5 (0101) +3 + 19 = 6 (0110) +3 + 20 = 7 (0111) +3 + 21 = -8 (1000) +3 + 22 = -7 (1001) +3 + 23 = -6 (1010) +3 + 24 = -5 (1011) +3 + 25 = -4 (1100) +3 + 26 = -3 (1101) +3 + 27 = -2 (1110) +3 + 28 = -1 (1111) +3 + 29 = 0 (0000) +3 + 30 = 1 (0001) +3 + 31 = 2 (0010) +3 + -32 = 3 (0011) +3 + -31 = 4 (0100) +3 + -30 = 5 (0101) +3 + -29 = 6 (0110) +3 + -28 = 7 (0111) +3 + -27 = -8 (1000) +3 + -26 = -7 (1001) +3 + -25 = -6 (1010) +3 + -24 = -5 (1011) +3 + -23 = -4 (1100) +3 + -22 = -3 (1101) +3 + -21 = -2 (1110) +3 + -20 = -1 (1111) +3 + -19 = 0 (0000) +3 + -18 = 1 (0001) +3 + -17 = 2 (0010) +3 + -16 = 3 (0011) +3 + -15 = 4 (0100) +3 + -14 = 5 (0101) +3 + -13 = 6 (0110) +3 + -12 = 7 (0111) +3 + -11 = -8 (1000) +3 + -10 = -7 (1001) +3 + -9 = -6 (1010) +3 + -8 = -5 (1011) +3 + -7 = -4 (1100) +3 + -6 = -3 (1101) +3 + -5 = -2 (1110) +3 + -4 = -1 (1111) +3 + -3 = 0 (0000) +3 + -2 = 1 (0001) +3 + -1 = 2 (0010) +4 + 0 = 4 (0100) +4 + 1 = 5 (0101) +4 + 2 = 6 (0110) +4 + 3 = 7 (0111) +4 + 4 = -8 (1000) +4 + 5 = -7 (1001) +4 + 6 = -6 (1010) +4 + 7 = -5 (1011) +4 + 8 = -4 (1100) +4 + 9 = -3 (1101) +4 + 10 = -2 (1110) +4 + 11 = -1 (1111) +4 + 12 = 0 (0000) +4 + 13 = 1 (0001) +4 + 14 = 2 (0010) +4 + 15 = 3 (0011) +4 + 16 = 4 (0100) +4 + 17 = 5 (0101) +4 + 18 = 6 (0110) +4 + 19 = 7 (0111) +4 + 20 = -8 (1000) +4 + 21 = -7 (1001) +4 + 22 = -6 (1010) +4 + 23 = -5 (1011) +4 + 24 = -4 (1100) +4 + 25 = -3 (1101) +4 + 26 = -2 (1110) +4 + 27 = -1 (1111) +4 + 28 = 0 (0000) +4 + 29 = 1 (0001) +4 + 30 = 2 (0010) +4 + 31 = 3 (0011) +4 + -32 = 4 (0100) +4 + -31 = 5 (0101) +4 + -30 = 6 (0110) +4 + -29 = 7 (0111) +4 + -28 = -8 (1000) +4 + -27 = -7 (1001) +4 + -26 = -6 (1010) +4 + -25 = -5 (1011) +4 + -24 = -4 (1100) +4 + -23 = -3 (1101) +4 + -22 = -2 (1110) +4 + -21 = -1 (1111) +4 + -20 = 0 (0000) +4 + -19 = 1 (0001) +4 + -18 = 2 (0010) +4 + -17 = 3 (0011) +4 + -16 = 4 (0100) +4 + -15 = 5 (0101) +4 + -14 = 6 (0110) +4 + -13 = 7 (0111) +4 + -12 = -8 (1000) +4 + -11 = -7 (1001) +4 + -10 = -6 (1010) +4 + -9 = -5 (1011) +4 + -8 = -4 (1100) +4 + -7 = -3 (1101) +4 + -6 = -2 (1110) +4 + -5 = -1 (1111) +4 + -4 = 0 (0000) +4 + -3 = 1 (0001) +4 + -2 = 2 (0010) +4 + -1 = 3 (0011) +5 + 0 = 5 (0101) +5 + 1 = 6 (0110) +5 + 2 = 7 (0111) +5 + 3 = -8 (1000) +5 + 4 = -7 (1001) +5 + 5 = -6 (1010) +5 + 6 = -5 (1011) +5 + 7 = -4 (1100) +5 + 8 = -3 (1101) +5 + 9 = -2 (1110) +5 + 10 = -1 (1111) +5 + 11 = 0 (0000) +5 + 12 = 1 (0001) +5 + 13 = 2 (0010) +5 + 14 = 3 (0011) +5 + 15 = 4 (0100) +5 + 16 = 5 (0101) +5 + 17 = 6 (0110) +5 + 18 = 7 (0111) +5 + 19 = -8 (1000) +5 + 20 = -7 (1001) +5 + 21 = -6 (1010) +5 + 22 = -5 (1011) +5 + 23 = -4 (1100) +5 + 24 = -3 (1101) +5 + 25 = -2 (1110) +5 + 26 = -1 (1111) +5 + 27 = 0 (0000) +5 + 28 = 1 (0001) +5 + 29 = 2 (0010) +5 + 30 = 3 (0011) +5 + 31 = 4 (0100) +5 + -32 = 5 (0101) +5 + -31 = 6 (0110) +5 + -30 = 7 (0111) +5 + -29 = -8 (1000) +5 + -28 = -7 (1001) +5 + -27 = -6 (1010) +5 + -26 = -5 (1011) +5 + -25 = -4 (1100) +5 + -24 = -3 (1101) +5 + -23 = -2 (1110) +5 + -22 = -1 (1111) +5 + -21 = 0 (0000) +5 + -20 = 1 (0001) +5 + -19 = 2 (0010) +5 + -18 = 3 (0011) +5 + -17 = 4 (0100) +5 + -16 = 5 (0101) +5 + -15 = 6 (0110) +5 + -14 = 7 (0111) +5 + -13 = -8 (1000) +5 + -12 = -7 (1001) +5 + -11 = -6 (1010) +5 + -10 = -5 (1011) +5 + -9 = -4 (1100) +5 + -8 = -3 (1101) +5 + -7 = -2 (1110) +5 + -6 = -1 (1111) +5 + -5 = 0 (0000) +5 + -4 = 1 (0001) +5 + -3 = 2 (0010) +5 + -2 = 3 (0011) +5 + -1 = 4 (0100) +6 + 0 = 6 (0110) +6 + 1 = 7 (0111) +6 + 2 = -8 (1000) +6 + 3 = -7 (1001) +6 + 4 = -6 (1010) +6 + 5 = -5 (1011) +6 + 6 = -4 (1100) +6 + 7 = -3 (1101) +6 + 8 = -2 (1110) +6 + 9 = -1 (1111) +6 + 10 = 0 (0000) +6 + 11 = 1 (0001) +6 + 12 = 2 (0010) +6 + 13 = 3 (0011) +6 + 14 = 4 (0100) +6 + 15 = 5 (0101) +6 + 16 = 6 (0110) +6 + 17 = 7 (0111) +6 + 18 = -8 (1000) +6 + 19 = -7 (1001) +6 + 20 = -6 (1010) +6 + 21 = -5 (1011) +6 + 22 = -4 (1100) +6 + 23 = -3 (1101) +6 + 24 = -2 (1110) +6 + 25 = -1 (1111) +6 + 26 = 0 (0000) +6 + 27 = 1 (0001) +6 + 28 = 2 (0010) +6 + 29 = 3 (0011) +6 + 30 = 4 (0100) +6 + 31 = 5 (0101) +6 + -32 = 6 (0110) +6 + -31 = 7 (0111) +6 + -30 = -8 (1000) +6 + -29 = -7 (1001) +6 + -28 = -6 (1010) +6 + -27 = -5 (1011) +6 + -26 = -4 (1100) +6 + -25 = -3 (1101) +6 + -24 = -2 (1110) +6 + -23 = -1 (1111) +6 + -22 = 0 (0000) +6 + -21 = 1 (0001) +6 + -20 = 2 (0010) +6 + -19 = 3 (0011) +6 + -18 = 4 (0100) +6 + -17 = 5 (0101) +6 + -16 = 6 (0110) +6 + -15 = 7 (0111) +6 + -14 = -8 (1000) +6 + -13 = -7 (1001) +6 + -12 = -6 (1010) +6 + -11 = -5 (1011) +6 + -10 = -4 (1100) +6 + -9 = -3 (1101) +6 + -8 = -2 (1110) +6 + -7 = -1 (1111) +6 + -6 = 0 (0000) +6 + -5 = 1 (0001) +6 + -4 = 2 (0010) +6 + -3 = 3 (0011) +6 + -2 = 4 (0100) +6 + -1 = 5 (0101) +7 + 0 = 7 (0111) +7 + 1 = -8 (1000) +7 + 2 = -7 (1001) +7 + 3 = -6 (1010) +7 + 4 = -5 (1011) +7 + 5 = -4 (1100) +7 + 6 = -3 (1101) +7 + 7 = -2 (1110) +7 + 8 = -1 (1111) +7 + 9 = 0 (0000) +7 + 10 = 1 (0001) +7 + 11 = 2 (0010) +7 + 12 = 3 (0011) +7 + 13 = 4 (0100) +7 + 14 = 5 (0101) +7 + 15 = 6 (0110) +7 + 16 = 7 (0111) +7 + 17 = -8 (1000) +7 + 18 = -7 (1001) +7 + 19 = -6 (1010) +7 + 20 = -5 (1011) +7 + 21 = -4 (1100) +7 + 22 = -3 (1101) +7 + 23 = -2 (1110) +7 + 24 = -1 (1111) +7 + 25 = 0 (0000) +7 + 26 = 1 (0001) +7 + 27 = 2 (0010) +7 + 28 = 3 (0011) +7 + 29 = 4 (0100) +7 + 30 = 5 (0101) +7 + 31 = 6 (0110) +7 + -32 = 7 (0111) +7 + -31 = -8 (1000) +7 + -30 = -7 (1001) +7 + -29 = -6 (1010) +7 + -28 = -5 (1011) +7 + -27 = -4 (1100) +7 + -26 = -3 (1101) +7 + -25 = -2 (1110) +7 + -24 = -1 (1111) +7 + -23 = 0 (0000) +7 + -22 = 1 (0001) +7 + -21 = 2 (0010) +7 + -20 = 3 (0011) +7 + -19 = 4 (0100) +7 + -18 = 5 (0101) +7 + -17 = 6 (0110) +7 + -16 = 7 (0111) +7 + -15 = -8 (1000) +7 + -14 = -7 (1001) +7 + -13 = -6 (1010) +7 + -12 = -5 (1011) +7 + -11 = -4 (1100) +7 + -10 = -3 (1101) +7 + -9 = -2 (1110) +7 + -8 = -1 (1111) +7 + -7 = 0 (0000) +7 + -6 = 1 (0001) +7 + -5 = 2 (0010) +7 + -4 = 3 (0011) +7 + -3 = 4 (0100) +7 + -2 = 5 (0101) +7 + -1 = 6 (0110) +-8 + 0 = -8 (1000) +-8 + 1 = -7 (1001) +-8 + 2 = -6 (1010) +-8 + 3 = -5 (1011) +-8 + 4 = -4 (1100) +-8 + 5 = -3 (1101) +-8 + 6 = -2 (1110) +-8 + 7 = -1 (1111) +-8 + 8 = 0 (0000) +-8 + 9 = 1 (0001) +-8 + 10 = 2 (0010) +-8 + 11 = 3 (0011) +-8 + 12 = 4 (0100) +-8 + 13 = 5 (0101) +-8 + 14 = 6 (0110) +-8 + 15 = 7 (0111) +-8 + 16 = -8 (1000) +-8 + 17 = -7 (1001) +-8 + 18 = -6 (1010) +-8 + 19 = -5 (1011) +-8 + 20 = -4 (1100) +-8 + 21 = -3 (1101) +-8 + 22 = -2 (1110) +-8 + 23 = -1 (1111) +-8 + 24 = 0 (0000) +-8 + 25 = 1 (0001) +-8 + 26 = 2 (0010) +-8 + 27 = 3 (0011) +-8 + 28 = 4 (0100) +-8 + 29 = 5 (0101) +-8 + 30 = 6 (0110) +-8 + 31 = 7 (0111) +-8 + -32 = -8 (1000) +-8 + -31 = -7 (1001) +-8 + -30 = -6 (1010) +-8 + -29 = -5 (1011) +-8 + -28 = -4 (1100) +-8 + -27 = -3 (1101) +-8 + -26 = -2 (1110) +-8 + -25 = -1 (1111) +-8 + -24 = 0 (0000) +-8 + -23 = 1 (0001) +-8 + -22 = 2 (0010) +-8 + -21 = 3 (0011) +-8 + -20 = 4 (0100) +-8 + -19 = 5 (0101) +-8 + -18 = 6 (0110) +-8 + -17 = 7 (0111) +-8 + -16 = -8 (1000) +-8 + -15 = -7 (1001) +-8 + -14 = -6 (1010) +-8 + -13 = -5 (1011) +-8 + -12 = -4 (1100) +-8 + -11 = -3 (1101) +-8 + -10 = -2 (1110) +-8 + -9 = -1 (1111) +-8 + -8 = 0 (0000) +-8 + -7 = 1 (0001) +-8 + -6 = 2 (0010) +-8 + -5 = 3 (0011) +-8 + -4 = 4 (0100) +-8 + -3 = 5 (0101) +-8 + -2 = 6 (0110) +-8 + -1 = 7 (0111) +-7 + 0 = -7 (1001) +-7 + 1 = -6 (1010) +-7 + 2 = -5 (1011) +-7 + 3 = -4 (1100) +-7 + 4 = -3 (1101) +-7 + 5 = -2 (1110) +-7 + 6 = -1 (1111) +-7 + 7 = 0 (0000) +-7 + 8 = 1 (0001) +-7 + 9 = 2 (0010) +-7 + 10 = 3 (0011) +-7 + 11 = 4 (0100) +-7 + 12 = 5 (0101) +-7 + 13 = 6 (0110) +-7 + 14 = 7 (0111) +-7 + 15 = -8 (1000) +-7 + 16 = -7 (1001) +-7 + 17 = -6 (1010) +-7 + 18 = -5 (1011) +-7 + 19 = -4 (1100) +-7 + 20 = -3 (1101) +-7 + 21 = -2 (1110) +-7 + 22 = -1 (1111) +-7 + 23 = 0 (0000) +-7 + 24 = 1 (0001) +-7 + 25 = 2 (0010) +-7 + 26 = 3 (0011) +-7 + 27 = 4 (0100) +-7 + 28 = 5 (0101) +-7 + 29 = 6 (0110) +-7 + 30 = 7 (0111) +-7 + 31 = -8 (1000) +-7 + -32 = -7 (1001) +-7 + -31 = -6 (1010) +-7 + -30 = -5 (1011) +-7 + -29 = -4 (1100) +-7 + -28 = -3 (1101) +-7 + -27 = -2 (1110) +-7 + -26 = -1 (1111) +-7 + -25 = 0 (0000) +-7 + -24 = 1 (0001) +-7 + -23 = 2 (0010) +-7 + -22 = 3 (0011) +-7 + -21 = 4 (0100) +-7 + -20 = 5 (0101) +-7 + -19 = 6 (0110) +-7 + -18 = 7 (0111) +-7 + -17 = -8 (1000) +-7 + -16 = -7 (1001) +-7 + -15 = -6 (1010) +-7 + -14 = -5 (1011) +-7 + -13 = -4 (1100) +-7 + -12 = -3 (1101) +-7 + -11 = -2 (1110) +-7 + -10 = -1 (1111) +-7 + -9 = 0 (0000) +-7 + -8 = 1 (0001) +-7 + -7 = 2 (0010) +-7 + -6 = 3 (0011) +-7 + -5 = 4 (0100) +-7 + -4 = 5 (0101) +-7 + -3 = 6 (0110) +-7 + -2 = 7 (0111) +-7 + -1 = -8 (1000) +-6 + 0 = -6 (1010) +-6 + 1 = -5 (1011) +-6 + 2 = -4 (1100) +-6 + 3 = -3 (1101) +-6 + 4 = -2 (1110) +-6 + 5 = -1 (1111) +-6 + 6 = 0 (0000) +-6 + 7 = 1 (0001) +-6 + 8 = 2 (0010) +-6 + 9 = 3 (0011) +-6 + 10 = 4 (0100) +-6 + 11 = 5 (0101) +-6 + 12 = 6 (0110) +-6 + 13 = 7 (0111) +-6 + 14 = -8 (1000) +-6 + 15 = -7 (1001) +-6 + 16 = -6 (1010) +-6 + 17 = -5 (1011) +-6 + 18 = -4 (1100) +-6 + 19 = -3 (1101) +-6 + 20 = -2 (1110) +-6 + 21 = -1 (1111) +-6 + 22 = 0 (0000) +-6 + 23 = 1 (0001) +-6 + 24 = 2 (0010) +-6 + 25 = 3 (0011) +-6 + 26 = 4 (0100) +-6 + 27 = 5 (0101) +-6 + 28 = 6 (0110) +-6 + 29 = 7 (0111) +-6 + 30 = -8 (1000) +-6 + 31 = -7 (1001) +-6 + -32 = -6 (1010) +-6 + -31 = -5 (1011) +-6 + -30 = -4 (1100) +-6 + -29 = -3 (1101) +-6 + -28 = -2 (1110) +-6 + -27 = -1 (1111) +-6 + -26 = 0 (0000) +-6 + -25 = 1 (0001) +-6 + -24 = 2 (0010) +-6 + -23 = 3 (0011) +-6 + -22 = 4 (0100) +-6 + -21 = 5 (0101) +-6 + -20 = 6 (0110) +-6 + -19 = 7 (0111) +-6 + -18 = -8 (1000) +-6 + -17 = -7 (1001) +-6 + -16 = -6 (1010) +-6 + -15 = -5 (1011) +-6 + -14 = -4 (1100) +-6 + -13 = -3 (1101) +-6 + -12 = -2 (1110) +-6 + -11 = -1 (1111) +-6 + -10 = 0 (0000) +-6 + -9 = 1 (0001) +-6 + -8 = 2 (0010) +-6 + -7 = 3 (0011) +-6 + -6 = 4 (0100) +-6 + -5 = 5 (0101) +-6 + -4 = 6 (0110) +-6 + -3 = 7 (0111) +-6 + -2 = -8 (1000) +-6 + -1 = -7 (1001) +-5 + 0 = -5 (1011) +-5 + 1 = -4 (1100) +-5 + 2 = -3 (1101) +-5 + 3 = -2 (1110) +-5 + 4 = -1 (1111) +-5 + 5 = 0 (0000) +-5 + 6 = 1 (0001) +-5 + 7 = 2 (0010) +-5 + 8 = 3 (0011) +-5 + 9 = 4 (0100) +-5 + 10 = 5 (0101) +-5 + 11 = 6 (0110) +-5 + 12 = 7 (0111) +-5 + 13 = -8 (1000) +-5 + 14 = -7 (1001) +-5 + 15 = -6 (1010) +-5 + 16 = -5 (1011) +-5 + 17 = -4 (1100) +-5 + 18 = -3 (1101) +-5 + 19 = -2 (1110) +-5 + 20 = -1 (1111) +-5 + 21 = 0 (0000) +-5 + 22 = 1 (0001) +-5 + 23 = 2 (0010) +-5 + 24 = 3 (0011) +-5 + 25 = 4 (0100) +-5 + 26 = 5 (0101) +-5 + 27 = 6 (0110) +-5 + 28 = 7 (0111) +-5 + 29 = -8 (1000) +-5 + 30 = -7 (1001) +-5 + 31 = -6 (1010) +-5 + -32 = -5 (1011) +-5 + -31 = -4 (1100) +-5 + -30 = -3 (1101) +-5 + -29 = -2 (1110) +-5 + -28 = -1 (1111) +-5 + -27 = 0 (0000) +-5 + -26 = 1 (0001) +-5 + -25 = 2 (0010) +-5 + -24 = 3 (0011) +-5 + -23 = 4 (0100) +-5 + -22 = 5 (0101) +-5 + -21 = 6 (0110) +-5 + -20 = 7 (0111) +-5 + -19 = -8 (1000) +-5 + -18 = -7 (1001) +-5 + -17 = -6 (1010) +-5 + -16 = -5 (1011) +-5 + -15 = -4 (1100) +-5 + -14 = -3 (1101) +-5 + -13 = -2 (1110) +-5 + -12 = -1 (1111) +-5 + -11 = 0 (0000) +-5 + -10 = 1 (0001) +-5 + -9 = 2 (0010) +-5 + -8 = 3 (0011) +-5 + -7 = 4 (0100) +-5 + -6 = 5 (0101) +-5 + -5 = 6 (0110) +-5 + -4 = 7 (0111) +-5 + -3 = -8 (1000) +-5 + -2 = -7 (1001) +-5 + -1 = -6 (1010) +-4 + 0 = -4 (1100) +-4 + 1 = -3 (1101) +-4 + 2 = -2 (1110) +-4 + 3 = -1 (1111) +-4 + 4 = 0 (0000) +-4 + 5 = 1 (0001) +-4 + 6 = 2 (0010) +-4 + 7 = 3 (0011) +-4 + 8 = 4 (0100) +-4 + 9 = 5 (0101) +-4 + 10 = 6 (0110) +-4 + 11 = 7 (0111) +-4 + 12 = -8 (1000) +-4 + 13 = -7 (1001) +-4 + 14 = -6 (1010) +-4 + 15 = -5 (1011) +-4 + 16 = -4 (1100) +-4 + 17 = -3 (1101) +-4 + 18 = -2 (1110) +-4 + 19 = -1 (1111) +-4 + 20 = 0 (0000) +-4 + 21 = 1 (0001) +-4 + 22 = 2 (0010) +-4 + 23 = 3 (0011) +-4 + 24 = 4 (0100) +-4 + 25 = 5 (0101) +-4 + 26 = 6 (0110) +-4 + 27 = 7 (0111) +-4 + 28 = -8 (1000) +-4 + 29 = -7 (1001) +-4 + 30 = -6 (1010) +-4 + 31 = -5 (1011) +-4 + -32 = -4 (1100) +-4 + -31 = -3 (1101) +-4 + -30 = -2 (1110) +-4 + -29 = -1 (1111) +-4 + -28 = 0 (0000) +-4 + -27 = 1 (0001) +-4 + -26 = 2 (0010) +-4 + -25 = 3 (0011) +-4 + -24 = 4 (0100) +-4 + -23 = 5 (0101) +-4 + -22 = 6 (0110) +-4 + -21 = 7 (0111) +-4 + -20 = -8 (1000) +-4 + -19 = -7 (1001) +-4 + -18 = -6 (1010) +-4 + -17 = -5 (1011) +-4 + -16 = -4 (1100) +-4 + -15 = -3 (1101) +-4 + -14 = -2 (1110) +-4 + -13 = -1 (1111) +-4 + -12 = 0 (0000) +-4 + -11 = 1 (0001) +-4 + -10 = 2 (0010) +-4 + -9 = 3 (0011) +-4 + -8 = 4 (0100) +-4 + -7 = 5 (0101) +-4 + -6 = 6 (0110) +-4 + -5 = 7 (0111) +-4 + -4 = -8 (1000) +-4 + -3 = -7 (1001) +-4 + -2 = -6 (1010) +-4 + -1 = -5 (1011) +-3 + 0 = -3 (1101) +-3 + 1 = -2 (1110) +-3 + 2 = -1 (1111) +-3 + 3 = 0 (0000) +-3 + 4 = 1 (0001) +-3 + 5 = 2 (0010) +-3 + 6 = 3 (0011) +-3 + 7 = 4 (0100) +-3 + 8 = 5 (0101) +-3 + 9 = 6 (0110) +-3 + 10 = 7 (0111) +-3 + 11 = -8 (1000) +-3 + 12 = -7 (1001) +-3 + 13 = -6 (1010) +-3 + 14 = -5 (1011) +-3 + 15 = -4 (1100) +-3 + 16 = -3 (1101) +-3 + 17 = -2 (1110) +-3 + 18 = -1 (1111) +-3 + 19 = 0 (0000) +-3 + 20 = 1 (0001) +-3 + 21 = 2 (0010) +-3 + 22 = 3 (0011) +-3 + 23 = 4 (0100) +-3 + 24 = 5 (0101) +-3 + 25 = 6 (0110) +-3 + 26 = 7 (0111) +-3 + 27 = -8 (1000) +-3 + 28 = -7 (1001) +-3 + 29 = -6 (1010) +-3 + 30 = -5 (1011) +-3 + 31 = -4 (1100) +-3 + -32 = -3 (1101) +-3 + -31 = -2 (1110) +-3 + -30 = -1 (1111) +-3 + -29 = 0 (0000) +-3 + -28 = 1 (0001) +-3 + -27 = 2 (0010) +-3 + -26 = 3 (0011) +-3 + -25 = 4 (0100) +-3 + -24 = 5 (0101) +-3 + -23 = 6 (0110) +-3 + -22 = 7 (0111) +-3 + -21 = -8 (1000) +-3 + -20 = -7 (1001) +-3 + -19 = -6 (1010) +-3 + -18 = -5 (1011) +-3 + -17 = -4 (1100) +-3 + -16 = -3 (1101) +-3 + -15 = -2 (1110) +-3 + -14 = -1 (1111) +-3 + -13 = 0 (0000) +-3 + -12 = 1 (0001) +-3 + -11 = 2 (0010) +-3 + -10 = 3 (0011) +-3 + -9 = 4 (0100) +-3 + -8 = 5 (0101) +-3 + -7 = 6 (0110) +-3 + -6 = 7 (0111) +-3 + -5 = -8 (1000) +-3 + -4 = -7 (1001) +-3 + -3 = -6 (1010) +-3 + -2 = -5 (1011) +-3 + -1 = -4 (1100) +-2 + 0 = -2 (1110) +-2 + 1 = -1 (1111) +-2 + 2 = 0 (0000) +-2 + 3 = 1 (0001) +-2 + 4 = 2 (0010) +-2 + 5 = 3 (0011) +-2 + 6 = 4 (0100) +-2 + 7 = 5 (0101) +-2 + 8 = 6 (0110) +-2 + 9 = 7 (0111) +-2 + 10 = -8 (1000) +-2 + 11 = -7 (1001) +-2 + 12 = -6 (1010) +-2 + 13 = -5 (1011) +-2 + 14 = -4 (1100) +-2 + 15 = -3 (1101) +-2 + 16 = -2 (1110) +-2 + 17 = -1 (1111) +-2 + 18 = 0 (0000) +-2 + 19 = 1 (0001) +-2 + 20 = 2 (0010) +-2 + 21 = 3 (0011) +-2 + 22 = 4 (0100) +-2 + 23 = 5 (0101) +-2 + 24 = 6 (0110) +-2 + 25 = 7 (0111) +-2 + 26 = -8 (1000) +-2 + 27 = -7 (1001) +-2 + 28 = -6 (1010) +-2 + 29 = -5 (1011) +-2 + 30 = -4 (1100) +-2 + 31 = -3 (1101) +-2 + -32 = -2 (1110) +-2 + -31 = -1 (1111) +-2 + -30 = 0 (0000) +-2 + -29 = 1 (0001) +-2 + -28 = 2 (0010) +-2 + -27 = 3 (0011) +-2 + -26 = 4 (0100) +-2 + -25 = 5 (0101) +-2 + -24 = 6 (0110) +-2 + -23 = 7 (0111) +-2 + -22 = -8 (1000) +-2 + -21 = -7 (1001) +-2 + -20 = -6 (1010) +-2 + -19 = -5 (1011) +-2 + -18 = -4 (1100) +-2 + -17 = -3 (1101) +-2 + -16 = -2 (1110) +-2 + -15 = -1 (1111) +-2 + -14 = 0 (0000) +-2 + -13 = 1 (0001) +-2 + -12 = 2 (0010) +-2 + -11 = 3 (0011) +-2 + -10 = 4 (0100) +-2 + -9 = 5 (0101) +-2 + -8 = 6 (0110) +-2 + -7 = 7 (0111) +-2 + -6 = -8 (1000) +-2 + -5 = -7 (1001) +-2 + -4 = -6 (1010) +-2 + -3 = -5 (1011) +-2 + -2 = -4 (1100) +-2 + -1 = -3 (1101) +-1 + 0 = -1 (1111) +-1 + 1 = 0 (0000) +-1 + 2 = 1 (0001) +-1 + 3 = 2 (0010) +-1 + 4 = 3 (0011) +-1 + 5 = 4 (0100) +-1 + 6 = 5 (0101) +-1 + 7 = 6 (0110) +-1 + 8 = 7 (0111) +-1 + 9 = -8 (1000) +-1 + 10 = -7 (1001) +-1 + 11 = -6 (1010) +-1 + 12 = -5 (1011) +-1 + 13 = -4 (1100) +-1 + 14 = -3 (1101) +-1 + 15 = -2 (1110) +-1 + 16 = -1 (1111) +-1 + 17 = 0 (0000) +-1 + 18 = 1 (0001) +-1 + 19 = 2 (0010) +-1 + 20 = 3 (0011) +-1 + 21 = 4 (0100) +-1 + 22 = 5 (0101) +-1 + 23 = 6 (0110) +-1 + 24 = 7 (0111) +-1 + 25 = -8 (1000) +-1 + 26 = -7 (1001) +-1 + 27 = -6 (1010) +-1 + 28 = -5 (1011) +-1 + 29 = -4 (1100) +-1 + 30 = -3 (1101) +-1 + 31 = -2 (1110) +-1 + -32 = -1 (1111) +-1 + -31 = 0 (0000) +-1 + -30 = 1 (0001) +-1 + -29 = 2 (0010) +-1 + -28 = 3 (0011) +-1 + -27 = 4 (0100) +-1 + -26 = 5 (0101) +-1 + -25 = 6 (0110) +-1 + -24 = 7 (0111) +-1 + -23 = -8 (1000) +-1 + -22 = -7 (1001) +-1 + -21 = -6 (1010) +-1 + -20 = -5 (1011) +-1 + -19 = -4 (1100) +-1 + -18 = -3 (1101) +-1 + -17 = -2 (1110) +-1 + -16 = -1 (1111) +-1 + -15 = 0 (0000) +-1 + -14 = 1 (0001) +-1 + -13 = 2 (0010) +-1 + -12 = 3 (0011) +-1 + -11 = 4 (0100) +-1 + -10 = 5 (0101) +-1 + -9 = 6 (0110) +-1 + -8 = 7 (0111) +-1 + -7 = -8 (1000) +-1 + -6 = -7 (1001) +-1 + -5 = -6 (1010) +-1 + -4 = -5 (1011) +-1 + -3 = -4 (1100) +-1 + -2 = -3 (1101) +-1 + -1 = -2 (1110) + +Info: /OSCI/SystemC: Simulation stopped by user. diff --git a/src/systemc/tests/systemc/misc/unit/data/datawidth_signed/promote_truncation/main.cpp b/src/systemc/tests/systemc/misc/unit/data/datawidth_signed/promote_truncation/main.cpp new file mode 100644 index 000000000..2aefb1d1d --- /dev/null +++ b/src/systemc/tests/systemc/misc/unit/data/datawidth_signed/promote_truncation/main.cpp @@ -0,0 +1,78 @@ +/***************************************************************************** + + Licensed to Accellera Systems Initiative Inc. (Accellera) under one or + more contributor license agreements. See the NOTICE file distributed + with this work for additional information regarding copyright ownership. + Accellera licenses this file to you under the Apache License, Version 2.0 + (the "License"); you may not use this file except in compliance with the + License. You may obtain a copy of the License at + + http://www.apache.org/licenses/LICENSE-2.0 + + Unless required by applicable law or agreed to in writing, software + distributed under the License is distributed on an "AS IS" BASIS, + WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or + implied. See the License for the specific language governing + permissions and limitations under the License. + + *****************************************************************************/ + +/***************************************************************************** + + main.cpp -- + + Original Author: Martin Janssen, Synopsys, Inc., 2002-02-15 + + *****************************************************************************/ + +/***************************************************************************** + + MODIFICATION LOG - modifiers, enter your name, affiliation, date and + changes you are making here. + + Name, Affiliation, Date: + Description of Modification: + + *****************************************************************************/ + + /****************************************/ + /* Main Filename: main.cc */ + /****************************************/ + /* */ + /* 4-bit bool = 4-bit bool + 6-bit bool */ + /* */ + /* Max addition is 63 + 63 */ + /* */ + /****************************************/ + +#include "datawidth.h" +#include "stimgen.h" + +int sc_main(int ac, char *av[]) +{ + +// Parameter Settings + int result_size = 4; + int in1_size = 4; + int in2_size = 6; + +// Signal Instantiation + signal_bool_vector4 in1 ("in1"); + signal_bool_vector6 in2 ("in2"); + signal_bool_vector4 result ("result"); + sc_signal ready ("ready"); + +// Clock Instantiation + sc_clock clk( "clock", 10, SC_NS, 0.5, 0, SC_NS); + +// Process Instantiation + datawidth D1 ("D1", clk, in1, in2, ready, result, + in1_size, in2_size, result_size); + + stimgen T1 ("T1", clk, result, in1, in2, ready); + +// Simulation Run Control + sc_start(); + return 0; + +} diff --git a/src/systemc/tests/systemc/misc/unit/data/datawidth_signed/promote_truncation/promote_truncation.f b/src/systemc/tests/systemc/misc/unit/data/datawidth_signed/promote_truncation/promote_truncation.f new file mode 100644 index 000000000..90b689aca --- /dev/null +++ b/src/systemc/tests/systemc/misc/unit/data/datawidth_signed/promote_truncation/promote_truncation.f @@ -0,0 +1,3 @@ +promote_truncation/datawidth.cpp +promote_truncation/stimgen.cpp +promote_truncation/main.cpp diff --git a/src/systemc/tests/systemc/misc/unit/data/datawidth_signed/promote_truncation/stimgen.cpp b/src/systemc/tests/systemc/misc/unit/data/datawidth_signed/promote_truncation/stimgen.cpp new file mode 100644 index 000000000..9a98bd4a9 --- /dev/null +++ b/src/systemc/tests/systemc/misc/unit/data/datawidth_signed/promote_truncation/stimgen.cpp @@ -0,0 +1,69 @@ +/***************************************************************************** + + Licensed to Accellera Systems Initiative Inc. (Accellera) under one or + more contributor license agreements. See the NOTICE file distributed + with this work for additional information regarding copyright ownership. + Accellera licenses this file to you under the Apache License, Version 2.0 + (the "License"); you may not use this file except in compliance with the + License. You may obtain a copy of the License at + + http://www.apache.org/licenses/LICENSE-2.0 + + Unless required by applicable law or agreed to in writing, software + distributed under the License is distributed on an "AS IS" BASIS, + WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or + implied. See the License for the specific language governing + permissions and limitations under the License. + + *****************************************************************************/ + +/***************************************************************************** + + stimgen.cpp -- + + Original Author: Martin Janssen, Synopsys, Inc., 2002-02-15 + + *****************************************************************************/ + +/***************************************************************************** + + MODIFICATION LOG - modifiers, enter your name, affiliation, date and + changes you are making here. + + Name, Affiliation, Date: + Description of Modification: + + *****************************************************************************/ + + /*****************************************/ + /* Implementation Filename: stimgen.cc */ + /*****************************************/ + +#include "stimgen.h" + +void +stimgen::entry() +{ + int i; + int j; + + ready.write(0); + + for (i = 0; i < 64; i++) { // integer in1 (6 bits of data) + for (j = 0; j < 64; j++) { // integer in2 (6 bits of data) + in1.write(i); + in2.write(j); + ready.write(1); + wait(); + + ready.write(0); + wait(); + + cout << in1.read().to_int() << " + " << in2.read().to_int() + << " = " << result.read().to_int() + << " (" << result << ")" << endl; + } + } + + sc_stop(); +} diff --git a/src/systemc/tests/systemc/misc/unit/data/datawidth_signed/promote_truncation/stimgen.h b/src/systemc/tests/systemc/misc/unit/data/datawidth_signed/promote_truncation/stimgen.h new file mode 100644 index 000000000..959122edf --- /dev/null +++ b/src/systemc/tests/systemc/misc/unit/data/datawidth_signed/promote_truncation/stimgen.h @@ -0,0 +1,77 @@ +/***************************************************************************** + + Licensed to Accellera Systems Initiative Inc. (Accellera) under one or + more contributor license agreements. See the NOTICE file distributed + with this work for additional information regarding copyright ownership. + Accellera licenses this file to you under the Apache License, Version 2.0 + (the "License"); you may not use this file except in compliance with the + License. You may obtain a copy of the License at + + http://www.apache.org/licenses/LICENSE-2.0 + + Unless required by applicable law or agreed to in writing, software + distributed under the License is distributed on an "AS IS" BASIS, + WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or + implied. See the License for the specific language governing + permissions and limitations under the License. + + *****************************************************************************/ + +/***************************************************************************** + + stimgen.h -- + + Original Author: Martin Janssen, Synopsys, Inc., 2002-02-15 + + *****************************************************************************/ + +/***************************************************************************** + + MODIFICATION LOG - modifiers, enter your name, affiliation, date and + changes you are making here. + + Name, Affiliation, Date: + Description of Modification: + + *****************************************************************************/ + + /************************************/ + /* Interface Filename: stimgen.h */ + /************************************/ + +#include "common.h" + +SC_MODULE( stimgen ) +{ + SC_HAS_PROCESS( stimgen ); + + sc_in_clk clk; + + // Inputs + const signal_bool_vector4& result; + // Outputs + signal_bool_vector4& in1; + signal_bool_vector6& in2; + sc_signal& ready; + + // Constructor + stimgen (sc_module_name NAME, + sc_clock& TICK, + const signal_bool_vector4& RESULT, + signal_bool_vector4& IN1, + signal_bool_vector6& IN2, + sc_signal& READY ) + + : + result (RESULT), + in1 (IN1), + in2 (IN2), + ready (READY) + + { + clk (TICK); + SC_CTHREAD( entry, clk.pos() ); + } + + void entry(); +}; -- cgit v1.2.3