X-Git-Url: http://wien.tomnetworks.com/gitweb/?a=blobdiff_plain;f=cpu%2Fsrc%2From_b.vhd;h=a0acce488ea9a45ef8b0e6e6a92a5ec85a62ca77;hb=2fc8379195133d616d8452eb23c79268fffc6008;hp=2bce93deacc07e2cf8ac1c6e0c1dfbe76b9897d9;hpb=7c21f901c3a852725bec1e9691627c3280ad6ae0;p=calu.git diff --git a/cpu/src/rom_b.vhd b/cpu/src/rom_b.vhd index 2bce93d..a0acce4 100644 --- a/cpu/src/rom_b.vhd +++ b/cpu/src/rom_b.vhd @@ -99,17 +99,17 @@ begin --uart test: - when "0000000" => data_out <= x"ed010058"; - when "0000001" => data_out <= x"ed090060"; - when "0000010" => data_out <= x"ed110080"; --x"e7188000"; f - when "0000011" => data_out <= x"ed390000"; --x"ec1a0000"; - when "0000100" => data_out <= x"ed480012"; - when "0000101" => data_out <= x"e7438000"; - when "0000110" => data_out <= x"e254c000"; -- f - when "0000111" => data_out <= x"07188000"; - when "0001000" => data_out <= x"07980000"; - when "0001001" => data_out <= x"07990000"; - when "0001010" => data_out <= x"eb7ffb81"; +-- when "0000000" => data_out <= x"ed010058"; +-- when "0000001" => data_out <= x"ed090060"; +-- when "0000010" => data_out <= x"ed110080"; --x"e7188000"; f +-- when "0000011" => data_out <= x"ed390000"; --x"ec1a0000"; +-- when "0000100" => data_out <= x"ed480012"; +-- when "0000101" => data_out <= x"e7438000"; +-- when "0000110" => data_out <= x"e254c000"; -- f +-- when "0000111" => data_out <= x"07188000"; +-- when "0001000" => data_out <= x"07980000"; +-- when "0001001" => data_out <= x"07990000"; +-- when "0001010" => data_out <= x"eb7ffb81"; ------------------------------------------- @@ -123,12 +123,20 @@ begin -- when "00000000111" => data_out <= x"e7a00004"; -- when "00000001000" => data_out <= x"e7280004"; -- -- when "00000001001" => data_out <= x"eb7ffb81"; - --- when "0000000" => data_out <= x"eb000181"; --- when "0000001" => data_out <= x"F0000000"; --- when "0000010" => data_out <= x"eb000008"; --- when others => data_out <= "11101011000000000000000000000010"; - + when "0000000" => data_out <= x"eb000183"; -- br+ main + when "0000001" => data_out <= x"eb000407"; -- call+ uartrdy + when "0000010" => data_out <= x"eb000008"; -- ret + when "0000011" => data_out <= x"ed010000"; -- ldi r0, 0x2000 + when "0000100" => data_out <= x"ed090058"; -- ldi r1, 0x200b + when "0000101" => data_out <= x"ed110060"; -- ldi r2, 0x200c + when "0000110" => data_out <= x"e7280000"; -- ldw r5, 0(r0) + when "0000111" => data_out <= x"e2a80010"; -- andx r5, 0x2 + when "0001000" => data_out <= x"1b7ffd83"; -- brzs+ main + when "0001001" => data_out <= x"e7390000"; -- ldw r7, 0(r2) + when "0001010" => data_out <= x"e7b88000"; -- stw r7, 0(r1) + when "0001011" => data_out <= x"eb7ffc01"; -- br main + -- just nop until rom end! + when others => data_out <= x"fd000000"; end case; end if; end process;