diff --git a/IEEE754Adder.xise b/IEEE754Adder.xise
index 890df49..5c73487 100644
--- a/IEEE754Adder.xise
+++ b/IEEE754Adder.xise
@@ -81,11 +81,11 @@
-
+
-
+
@@ -95,7 +95,11 @@
-
+
+
+
+
+
@@ -152,7 +156,7 @@
-
+
@@ -187,9 +191,9 @@
-
-
-
+
+
+
@@ -217,16 +221,16 @@
-
-
-
+
+
+
-
+
@@ -288,11 +292,11 @@
-
+
-
+
@@ -303,15 +307,15 @@
-
-
-
-
+
+
+
+
-
+
@@ -331,7 +335,7 @@
-
+
@@ -355,8 +359,8 @@
-
-
+
+
@@ -366,7 +370,7 @@
-
+
@@ -375,7 +379,7 @@
-
+
diff --git a/ShiftRight.vhd b/ShiftRight.vhd
new file mode 100644
index 0000000..1e7f9e0
--- /dev/null
+++ b/ShiftRight.vhd
@@ -0,0 +1,75 @@
+library IEEE;
+use IEEE.STD_LOGIC_1164.ALL;
+
+
+entity ShiftRight48 is
+
+ port(
+ N : in std_logic_vector(47 downto 0);
+ PLACES : in std_logic_vector(5 downto 0);
+ RESULT : out std_logic_vector(47 downto 0)
+ );
+
+end ShiftRight48;
+
+
+architecture ShiftRightArch of ShiftRight48 is
+
+begin
+
+ asdf: process (N, PLACES)
+ begin
+ case PLACES is
+ when "000000" => RESULT <= N( 47 downto 0 );
+ when "000001" => RESULT <= "0" & N( 47 downto 1 );
+ when "000010" => RESULT <= "00" & N( 47 downto 2 );
+ when "000011" => RESULT <= "000" & N( 47 downto 3 );
+ when "000100" => RESULT <= "0000" & N( 47 downto 4 );
+ when "000101" => RESULT <= "00000" & N( 47 downto 5 );
+ when "000110" => RESULT <= "000000" & N( 47 downto 6 );
+ when "000111" => RESULT <= "0000000" & N( 47 downto 7 );
+ when "001000" => RESULT <= "00000000" & N( 47 downto 8 );
+ when "001001" => RESULT <= "000000000" & N( 47 downto 9 );
+ when "001010" => RESULT <= "0000000000" & N( 47 downto 10 );
+ when "001011" => RESULT <= "00000000000" & N( 47 downto 11 );
+ when "001100" => RESULT <= "000000000000" & N( 47 downto 12 );
+ when "001101" => RESULT <= "0000000000000" & N( 47 downto 13 );
+ when "001110" => RESULT <= "00000000000000" & N( 47 downto 14 );
+ when "001111" => RESULT <= "000000000000000" & N( 47 downto 15 );
+ when "010000" => RESULT <= "0000000000000000" & N( 47 downto 16 );
+ when "010001" => RESULT <= "00000000000000000" & N( 47 downto 17 );
+ when "010010" => RESULT <= "000000000000000000" & N( 47 downto 18 );
+ when "010011" => RESULT <= "0000000000000000000" & N( 47 downto 19 );
+ when "010100" => RESULT <= "00000000000000000000" & N( 47 downto 20 );
+ when "010101" => RESULT <= "000000000000000000000" & N( 47 downto 21 );
+ when "010110" => RESULT <= "0000000000000000000000" & N( 47 downto 22 );
+ when "010111" => RESULT <= "00000000000000000000000" & N( 47 downto 23 );
+ when "011000" => RESULT <= "000000000000000000000000" & N( 47 downto 24 );
+ when "011001" => RESULT <= "0000000000000000000000000" & N( 47 downto 25 );
+ when "011010" => RESULT <= "00000000000000000000000000" & N( 47 downto 26 );
+ when "011011" => RESULT <= "000000000000000000000000000" & N( 47 downto 27 );
+ when "011100" => RESULT <= "0000000000000000000000000000" & N( 47 downto 28 );
+ when "011101" => RESULT <= "00000000000000000000000000000" & N( 47 downto 29 );
+ when "011110" => RESULT <= "000000000000000000000000000000" & N( 47 downto 30 );
+ when "011111" => RESULT <= "0000000000000000000000000000000" & N( 47 downto 31 );
+ when "100000" => RESULT <= "00000000000000000000000000000000" & N( 47 downto 32 );
+ when "100001" => RESULT <= "000000000000000000000000000000000" & N( 47 downto 33 );
+ when "100010" => RESULT <= "0000000000000000000000000000000000" & N( 47 downto 34 );
+ when "100011" => RESULT <= "00000000000000000000000000000000000" & N( 47 downto 35 );
+ when "100100" => RESULT <= "000000000000000000000000000000000000" & N( 47 downto 36 );
+ when "100101" => RESULT <= "0000000000000000000000000000000000000" & N( 47 downto 37 );
+ when "100110" => RESULT <= "00000000000000000000000000000000000000" & N( 47 downto 38 );
+ when "100111" => RESULT <= "000000000000000000000000000000000000000" & N( 47 downto 39 );
+ when "101000" => RESULT <= "0000000000000000000000000000000000000000" & N( 47 downto 40 );
+ when "101001" => RESULT <= "00000000000000000000000000000000000000000" & N( 47 downto 41 );
+ when "101010" => RESULT <= "000000000000000000000000000000000000000000" & N( 47 downto 42 );
+ when "101011" => RESULT <= "0000000000000000000000000000000000000000000" & N( 47 downto 43 );
+ when "101100" => RESULT <= "00000000000000000000000000000000000000000000" & N( 47 downto 44 );
+ when "101101" => RESULT <= "000000000000000000000000000000000000000000000" & N( 47 downto 45 );
+ when "101110" => RESULT <= "0000000000000000000000000000000000000000000000" & N( 47 downto 46 );
+ when others => RESULT <= "000000000000000000000000000000000000000000000000";
+ end case;
+ end process;
+
+
+end ShiftRightArch;