OpenCores
URL https://opencores.org/ocsvn/am9080_cpu_based_on_microcoded_am29xx_bit-slices/am9080_cpu_based_on_microcoded_am29xx_bit-slices/trunk

Subversion Repositories am9080_cpu_based_on_microcoded_am29xx_bit-slices

Compare Revisions

  • This comparison shows the changes necessary to convert path
    /am9080_cpu_based_on_microcoded_am29xx_bit-slices/trunk
    from Rev 4 to Rev 5
    Reverse comparison

Rev 4 → Rev 5

/Am9080/Am29XX/Old/am2901.vhd
0,0 → 1,92
----------------------------------------------------------------------------------
-- Company:
-- Engineer:
--
-- Create Date: 14:59:18 04/26/2010
-- Design Name:
-- Module Name: am2901 - am2901
-- Project Name:
-- Target Devices:
-- Tool versions:
-- Description:
--
-- Dependencies:
--
-- Revision:
-- Revision 0.01 - File Created
-- Additional Comments:
--
----------------------------------------------------------------------------------
library IEEE;
use IEEE.STD_LOGIC_1164.ALL;
--use IEEE.STD_LOGIC_ARITH.ALL;
--use IEEE.STD_LOGIC_UNSIGNED.ALL;
use IEEE.NUMERIC_STD.ALL;
use work.am2901_comps.all;
 
---- Uncomment the following library declaration if instantiating
---- any Xilinx primitives in this code.
--library UNISIM;
--use UNISIM.VComponents.all;
 
entity am2901 is
Port ( clk : in STD_LOGIC;
rst : in STD_LOGIC;
a : in std_logic_vector (3 downto 0);----address inputs
b : in STD_LOGIC_VECTOR (3 downto 0);----address inputs
d : in STD_LOGIC_VECTOR (3 downto 0);----direct data
i : in STD_LOGIC_VECTOR (8 downto 0);---micro instruction
c_n : in STD_LOGIC;---------------------carry in
oe : in STD_LOGIC;----------------------output enable
ram0 : inout STD_LOGIC;-----------------shift lines to ram
ram3 : inout STD_LOGIC;-----------------shift lines to ram
qs0 : inout STD_LOGIC;------------------shift lines to q
qs3 : inout STD_LOGIC;------------------shift lines to q
y : inout STD_LOGIC_VECTOR (3 downto 0);-------data outputs(3-state)
g_bar : out STD_LOGIC;---------------carry generate
p_bar : out STD_LOGIC;---------------carry propagate
ovr : out STD_LOGIC;-----------------overflow
c_n4 : out STD_LOGIC;----------------carry out
f_0 : out STD_LOGIC;-----------------f = 0
f3 : out STD_LOGIC);-----------------f(3) w/o 3-state
end am2901;
 
architecture am2901 of am2901 is
alias dest_ctl: std_logic_vector(2 downto 0) is i(8 downto 6);
alias alu_ctl : std_logic_vector(2 downto 0) is i(5 downto 3);
alias src_ctl : std_logic_vector(2 downto 0) is i(2 downto 0);
signal ad,bd: STD_LOGIC_VECTOR (3 downto 0);
signal q : std_logic_vector (3 downto 0);
signal r,s : std_logic_vector (3 downto 0);
signal f : STD_LOGIC_VECTOR (3 downto 0);
 
begin
-----instantiate and connect components
 
u1: ram_regs port map(clk=>clk,rst=>rst,a=>a,b=>b,f=>f,
dest_ctl=>dest_ctl,ram0=>ram0,ram3=>ram3,
ad=>ad,bd=>bd);
 
u2: q_reg port map(clk=>clk,rst=>rst,f=>f,dest_ctl=>dest_ctl,
qs0=>qs0,qs3=>qs3,q=>q);
 
u3: src_op port map(d=>d,ad=>ad,bd=>bd,q=>q,
src_ctl=>src_ctl,r=>r,s=>s);
 
u4: alu port map(r=>r, s=>s,c_n=>c_n,alu_ctl=>alu_ctl,
f=>f, g_bar => g_bar, p_bar=>p_bar,
c_n4=>c_n4, ovr=>ovr);
 
u5: out_mux port map(ad=>ad,f=>f,dest_ctl=>dest_ctl,
oe=>oe,y=>y);
 
 
------define f_0 and f3 outputs
 
f_0 <= '1' when f = "0000" else '0'; -- not that these are "strong" signals, not open collector
f3 <= f(3);
 
end am2901;
 
Am9080/Am29XX/Old/am2901.vhd Property changes : Added: svn:eol-style ## -0,0 +1 ## +CRLF \ No newline at end of property Index: Am9080/Am29XX/Old/am2901_comps.vhd =================================================================== --- Am9080/Am29XX/Old/am2901_comps.vhd (nonexistent) +++ Am9080/Am29XX/Old/am2901_comps.vhd (revision 5) @@ -0,0 +1,67 @@ +-- Package File Template +-- +-- Purpose: This package defines supplemental types, subtypes, +-- constants, and functions + + +library IEEE; +use IEEE.STD_LOGIC_1164.all; +use IEEE.numeric_std.all; +package am2901_comps is + component ram_regs is + Port ( clk : in STD_LOGIC; + rst : in STD_LOGIC; + a : in std_logic_vector (3 downto 0); + b : in std_logic_vector (3 downto 0); + f : in std_logic_vector (3 downto 0); + dest_ctl : in STD_LOGIC_VECTOR (2 downto 0); + ram0 : inout STD_LOGIC; + ram3 : inout STD_LOGIC; + ad : buffer std_logic_vector (3 downto 0); + bd : buffer std_logic_vector (3 downto 0)); +end component; + component q_reg is + Port ( clk : in STD_LOGIC; + rst : in STD_LOGIC; + f : in std_logic_vector (3 downto 0); + dest_ctl : in STD_LOGIC_VECTOR (2 downto 0); + qs0 : inout STD_LOGIC; + qs3 : inout STD_LOGIC; + q : out std_logic_vector (3 downto 0)); +end component; + +component src_op is + Port ( d : in std_logic_vector (3 downto 0); + ad : in std_logic_vector (3 downto 0); + bd : in std_logic_vector (3 downto 0); + q : in std_logic_vector (3 downto 0); + src_ctl : in STD_LOGIC_VECTOR (2 downto 0); + r : buffer std_logic_vector (3 downto 0); + s : buffer std_logic_vector (3 downto 0)); +end component; + + + component alu is + Port ( r : in STD_LOGIC_VECTOR (3 downto 0); + s : in STD_LOGIC_VECTOR (3 downto 0); + c_n : in STD_LOGIC; + alu_ctl : in STD_LOGIC_VECTOR (2 downto 0); + f : out STD_LOGIC_VECTOR (3 downto 0); + g_bar : out STD_LOGIC; + p_bar : out STD_LOGIC; + c_n4 : out STD_LOGIC; + ovr : out STD_LOGIC); +end component; + + + component out_mux is + Port ( ad : in STD_LOGIC_VECTOR (3 downto 0); + f : in STD_LOGIC_VECTOR (3 downto 0); + dest_ctl : in STD_LOGIC_VECTOR (2 downto 0); + oe : in STD_LOGIC; + y : inout STD_LOGIC_VECTOR (3 downto 0)); +end component; + + + +end am2901_comps;
Am9080/Am29XX/Old/am2901_comps.vhd Property changes : Added: svn:eol-style ## -0,0 +1 ## +CRLF \ No newline at end of property Index: Am9080/Am29XX/Old/mnemonics.vhd =================================================================== --- Am9080/Am29XX/Old/mnemonics.vhd (nonexistent) +++ Am9080/Am29XX/Old/mnemonics.vhd (revision 5) @@ -0,0 +1,50 @@ +-- Package File Template +-- +-- Purpose: This package defines supplemental types, subtypes, +-- constants, and functions + + +library IEEE; +use IEEE.STD_LOGIC_1164.all; + +package mnemonics is + + + ---ALU source operand control mnemonics + + + constant aq: std_logic_vector(2 downto 0) :="000"; + constant ab: std_logic_vector(2 downto 0) :="001"; + constant zq: std_logic_vector(2 downto 0) :="010"; + constant zb: std_logic_vector(2 downto 0) :="011"; + constant za: std_logic_vector(2 downto 0) :="100"; + constant da: std_logic_vector(2 downto 0) :="101"; + constant dq: std_logic_vector(2 downto 0) :="110"; + constant dz: std_logic_vector(2 downto 0) :="111"; + + ----ALU function control mnemonics + + constant add: std_logic_vector(2 downto 0) :="000"; + constant subr: std_logic_vector(2 downto 0) :="001"; + constant subs: std_logic_vector(2 downto 0) :="010"; + constant orrs: std_logic_vector(2 downto 0) :="011"; + constant andrs: std_logic_vector(2 downto 0) :="100"; + constant notrs: std_logic_vector(2 downto 0) :="101"; + constant exor : std_logic_vector(2 downto 0) :="110"; + constant exnor: std_logic_vector(2 downto 0) :="111"; + + + ---ALU destination control mnemonics + + constant qreg: std_logic_vector(2 downto 0) :="000"; + constant nop : std_logic_vector(2 downto 0) :="001"; + constant rama: std_logic_vector(2 downto 0) :="010"; + constant ramf: std_logic_vector(2 downto 0) :="011"; + constant ramqd: std_logic_vector(2 downto 0) :="100"; + constant ramd : std_logic_vector(2 downto 0) :="101"; + constant ramqu: std_logic_vector(2 downto 0) :="110"; + constant ramu : std_logic_vector(2 downto 0) :="111"; + + end mnemonics; + + \ No newline at end of file
Am9080/Am29XX/Old/mnemonics.vhd Property changes : Added: svn:eol-style ## -0,0 +1 ## +CRLF \ No newline at end of property Index: Am9080/Am29XX/Old/out_mux.vhd =================================================================== --- Am9080/Am29XX/Old/out_mux.vhd (nonexistent) +++ Am9080/Am29XX/Old/out_mux.vhd (revision 5) @@ -0,0 +1,47 @@ +---------------------------------------------------------------------------------- +-- Company: +-- Engineer: +-- +-- Create Date: 14:46:36 04/26/2010 +-- Design Name: +-- Module Name: out_mux - out_mux +-- Project Name: +-- Target Devices: +-- Tool versions: +-- Description: +-- +-- Dependencies: +-- +-- Revision: +-- Revision 0.01 - File Created +-- Additional Comments: +-- +---------------------------------------------------------------------------------- +library IEEE; +use IEEE.STD_LOGIC_1164.ALL; +use IEEE.STD_LOGIC_ARITH.ALL; +use IEEE.STD_LOGIC_UNSIGNED.ALL; +use IEEE.NUMERIC_STD.ALL; +use work.mnemonics.all; +---- Uncomment the following library declaration if instantiating +---- any Xilinx primitives in this code. +--library UNISIM; +--use UNISIM.VComponents.all; + +entity out_mux is + Port ( ad : in STD_LOGIC_VECTOR (3 downto 0); + f : in STD_LOGIC_VECTOR (3 downto 0); + dest_ctl : in STD_LOGIC_VECTOR (2 downto 0); + oe : in STD_LOGIC; + y : inout STD_LOGIC_VECTOR (3 downto 0)); +end out_mux; + +architecture out_mux of out_mux is + signal y_int: STD_LOGIC_VECTOR(3 downto 0); ---output before tri-state + ---- buffer +begin + y_int <= ad when dest_ctl = rama else f; + y <= y_int when oe='0' else "ZZZZ"; + +end out_mux; +
Am9080/Am29XX/Old/out_mux.vhd Property changes : Added: svn:eol-style ## -0,0 +1 ## +CRLF \ No newline at end of property Index: Am9080/Am29XX/Old/q_reg.vhd =================================================================== --- Am9080/Am29XX/Old/q_reg.vhd (nonexistent) +++ Am9080/Am29XX/Old/q_reg.vhd (revision 5) @@ -0,0 +1,81 @@ +---------------------------------------------------------------------------------- +-- Company: +-- Engineer: +-- +-- Create Date: 11:13:03 04/26/2010 +-- Design Name: +-- Module Name: q_reg - q_reg +-- Project Name: +-- Target Devices: +-- Tool versions: +-- Description: +-- +-- Dependencies: +-- +-- Revision: +-- Revision 0.01 - File Created +-- Additional Comments: +-- +---------------------------------------------------------------------------------- +library IEEE;--,basic; +use IEEE.STD_LOGIC_1164.ALL; +use IEEE.STD_LOGIC_ARITH.ALL; +use IEEE.STD_LOGIC_UNSIGNED.ALL; +use IEEE.NUMERIC_STD.ALL; +use work.mnemonics.all; +--use basic.regs_pkg.all; +---- Uncomment the following library declaration if instantiating +---- any Xilinx primitives in this code. +--library UNISIM; +--use UNISIM.VComponents.all; + +entity q_reg is + Port ( clk : in STD_LOGIC; + rst : in STD_LOGIC; + f : in std_logic_vector (3 downto 0); + dest_ctl : in STD_LOGIC_VECTOR (2 downto 0); + qs0 : inout STD_LOGIC; + qs3 : inout STD_LOGIC; + q : out std_logic_vector (3 downto 0)); +end q_reg; + +architecture q_reg of q_reg is + + component ureg is + Port ( clk : in STD_LOGIC; + reset : in STD_LOGIC; + load : in STD_LOGIC; + d : in std_logic_vector (3 downto 0); + q : out std_logic_vector (3 downto 0)); +end component; + + signal q_en: std_logic; + signal data: std_logic_vector(3 downto 0); + + + +begin + + ---define q register: + u1: ureg port map (clk,rst,q_en,data,q); + + ---- define q_en: + with dest_ctl select + q_en <='1' when qreg|ramqd|ramqu, + '0' when others; + + ----define data input to q register: + + with dest_ctl select + data<=(f(2),f(1),f(0),qs0) when ramqu , --- shift up + (qs3,f(3),f(2),f(1)) when ramqd, --- shift down + f when qreg, + "----" when others; + + ----define qs0 and qs3 inouts: + + qs3 <=f(3) when (dest_ctl = ramu or dest_ctl = ramqu) else 'Z'; + qs0 <=f(0) when (dest_ctl = ramd or dest_ctl = ramqd) else 'Z'; + +end q_reg; +
Am9080/Am29XX/Old/q_reg.vhd Property changes : Added: svn:eol-style ## -0,0 +1 ## +CRLF \ No newline at end of property Index: Am9080/Am29XX/Old/ram_regs.vhd =================================================================== --- Am9080/Am29XX/Old/ram_regs.vhd (nonexistent) +++ Am9080/Am29XX/Old/ram_regs.vhd (revision 5) @@ -0,0 +1,113 @@ +---------------------------------------------------------------------------------- +-- Company: +-- Engineer: +-- +-- Create Date: 13:16:34 04/08/2010 +-- Design Name: +-- Module Name: ram_regs - ram_regs +-- Project Name: +-- Target Devices: +-- Tool versions: +-- Description: +-- +-- Dependencies: +-- +-- Revision: +-- Revision 0.01 - File Created +-- Additional Comments: +-- +---------------------------------------------------------------------------------- +library IEEE;--, basic; +use IEEE.STD_LOGIC_1164.ALL; +use IEEE.STD_LOGIC_ARITH.ALL; +use IEEE.STD_LOGIC_UNSIGNED.ALL; +use IEEE.NUMERIC_STD.ALL; +use work.mnemonics.all; +--use basic.regs_pkg.all; +---- Uncomment the following library declaration if instantiating +---- any Xilinx primitives in this code. +--library UNISIM; +--use UNISIM.VComponents.all; + +entity ram_regs is + Port ( clk : in STD_LOGIC; + rst : in STD_LOGIC; + a : in std_logic_vector (3 downto 0); + b : in std_logic_vector (3 downto 0); + f : in std_logic_vector (3 downto 0); + dest_ctl : in STD_LOGIC_VECTOR (2 downto 0); + ram0 : inout STD_LOGIC; + ram3 : inout STD_LOGIC; + ad : buffer std_logic_vector (3 downto 0); + bd : buffer std_logic_vector (3 downto 0)); +end ram_regs; + +architecture ram_regs of ram_regs is + + + component ureg is + Port ( clk : in STD_LOGIC; + reset : in STD_LOGIC; + load : in STD_LOGIC; + d : in std_logic_vector (3 downto 0); + q : out std_logic_vector (3 downto 0)); +end component; + + + + + + + + + signal ram_en: std_logic; + signal data: std_logic_vector (3 downto 0); + signal en : std_logic_vector(15 downto 0); + type ram_array is array(15 downto 0) of std_logic_vector (3 downto 0); + signal ab_data: ram_array; + +begin + + --define register array: + + gen : for i in 15 downto 0 generate + ram : ureg + port map(clk,rst,en(i),data,ab_data(i)); + end generate; + + ---decode b to determine which register is enabled: + + with dest_ctl select + ram_en <='0' when qreg |nop, + '1' when others; + + decode_b: process(b, ram_en) + begin + for i in 0 to 15 loop + if CONV_INTEGER(b) = i then en(i) <= ram_en; + else en(i) <='0'; + end if; + end loop; + end process; + + ----define data input to register array: + + with dest_ctl select + data<=(f(2),f(1),f(0),ram0) when ramqu|ramu , --shift up + (ram3,f(3),f(2),f(1)) when ramqd| ramd , --shift down + f when rama|ramf, + "----" when others; + + --define reg_array output for a and b regs: + + ad<= ab_data(CONV_INTEGER(a)); --- to_integer defined in + bd<= ab_data(CONV_INTEGER(b)); --- numeric_std (See Chapter 7) + + ----define ram0 and ram3 inouts: + ram3 <= f(3) when (dest_ctl = ramu or dest_ctl = ramqu ) else 'Z'; + ram0 <= f(0) when (dest_ctl = ramd or dest_ctl = ramqd) else 'Z'; + + + +end ram_regs; +
Am9080/Am29XX/Old/ram_regs.vhd Property changes : Added: svn:eol-style ## -0,0 +1 ## +CRLF \ No newline at end of property Index: Am9080/Am29XX/Old/src_op.vhd =================================================================== --- Am9080/Am29XX/Old/src_op.vhd (nonexistent) +++ Am9080/Am29XX/Old/src_op.vhd (revision 5) @@ -0,0 +1,58 @@ +---------------------------------------------------------------------------------- +-- Company: +-- Engineer: +-- +-- Create Date: 13:00:06 04/26/2010 +-- Design Name: +-- Module Name: src_op - src_op +-- Project Name: +-- Target Devices: +-- Tool versions: +-- Description: +-- +-- Dependencies: +-- +-- Revision: +-- Revision 0.01 - File Created +-- Additional Comments: +-- +---------------------------------------------------------------------------------- +library IEEE; +use IEEE.STD_LOGIC_1164.ALL; +use IEEE.STD_LOGIC_ARITH.ALL; +use IEEE.STD_LOGIC_UNSIGNED.ALL; +use IEEE.NUMERIC_STD.ALL; +use WORK.MNEMONICS.ALL; +---- Uncomment the following library declaration if instantiating +---- any Xilinx primitives in this code. +--library UNISIM; +--use UNISIM.VComponents.all; + +entity src_op is + Port ( d : in std_logic_vector (3 downto 0); + ad : in std_logic_vector (3 downto 0); + bd : in std_logic_vector (3 downto 0); + q : in std_logic_vector (3 downto 0); + src_ctl : in STD_LOGIC_VECTOR (2 downto 0); + r : buffer std_logic_vector (3 downto 0); + s : buffer std_logic_vector (3 downto 0)); +end src_op; + +architecture src_op of src_op is + +begin + ---decode alu operand r: + + with src_ctl select + r<= ad when aq |ab, + "0000" when zq|zb|za, + d when others; + + with src_ctl select + s<=q when aq|zq|dq, + bd when ab|zb, + ad when za|da, + "0000" when others; + +end src_op; +
Am9080/Am29XX/Old/src_op.vhd Property changes : Added: svn:eol-style ## -0,0 +1 ## +CRLF \ No newline at end of property Index: Am9080/Am29XX/Old/ureg.vhd =================================================================== --- Am9080/Am29XX/Old/ureg.vhd (nonexistent) +++ Am9080/Am29XX/Old/ureg.vhd (revision 5) @@ -0,0 +1,67 @@ +-----Set of registers (unsigned) +----- Sizes : (1,size) +----- + +-----clk ---posedge clock input +-----reset -----asynchronous reset +-----load -----active high input loads rregister +-----d -----register input +-----q -----register output + + +---------------------------------------------------------------------------------- +-- Company: +-- Engineer: +-- +-- Create Date: 10:52:23 04/26/2010 +-- Design Name: +-- Module Name: ureg - archureg +-- Project Name: +-- Target Devices: +-- Tool versions: +-- Description: +-- +-- Dependencies: +-- +-- Revision: +-- Revision 0.01 - File Created +-- Additional Comments: +-- +---------------------------------------------------------------------------------- +library IEEE; +use IEEE.STD_LOGIC_1164.ALL; +use IEEE.STD_LOGIC_ARITH.ALL; +use IEEE.STD_LOGIC_UNSIGNED.ALL; +use IEEE.NUMERIC_STD.ALL; +---- Uncomment the following library declaration if instantiating +---- any Xilinx primitives in this code. +--library UNISIM; +--use UNISIM.VComponents.all; + +entity ureg is + Port ( clk : in STD_LOGIC; + reset : in STD_LOGIC; + load : in STD_LOGIC; + d : in std_logic_vector (3 downto 0); + q : out std_logic_vector (3 downto 0)); +end ureg; + +architecture archureg of ureg is +signal q_temp: std_logic_vector(3 downto 0); +begin + + p1: process(reset,clk) + begin + if reset ='1' then + q_temp<=(others =>'0'); + elsif (clk'event and clk='1') then + if load='1' then + q_temp<=d; + else + q_temp<=q_temp; + end if; + end if; + end process; +q <= q_temp; +end archureg; +
Am9080/Am29XX/Old/ureg.vhd Property changes : Added: svn:eol-style ## -0,0 +1 ## +CRLF \ No newline at end of property Index: Am9080/Am29XX/Am2918.vhd =================================================================== --- Am9080/Am29XX/Am2918.vhd (nonexistent) +++ Am9080/Am29XX/Am2918.vhd (revision 5) @@ -0,0 +1,55 @@ +---------------------------------------------------------------------------------- +-- Company: +-- Engineer: +-- +-- Create Date: 09/20/2017 11:29:08 PM +-- Design Name: +-- Module Name: Am2918 - Behavioral +-- Project Name: +-- Target Devices: +-- Tool Versions: +-- Description: +-- +-- Dependencies: +-- +-- Revision: +-- Revision 0.01 - File Created +-- Additional Comments: +-- +---------------------------------------------------------------------------------- + + +library IEEE; +use IEEE.STD_LOGIC_1164.ALL; + +-- Uncomment the following library declaration if using +-- arithmetic functions with Signed or Unsigned values +--use IEEE.NUMERIC_STD.ALL; + +-- Uncomment the following library declaration if instantiating +-- any Xilinx leaf cells in this code. +--library UNISIM; +--use UNISIM.VComponents.all; + +entity Am2918 is + Port ( clk : in STD_LOGIC; + nOE : in STD_LOGIC; + d : in STD_LOGIC_VECTOR (3 downto 0); + o : buffer STD_LOGIC_VECTOR (3 downto 0); + y : out STD_LOGIC_VECTOR (3 downto 0)); +end Am2918; + +architecture Behavioral of Am2918 is + +begin + +y <= o when (nOE = '0') else "ZZZZ"; + +load_q: process(clk, d) +begin + if (rising_edge(clk)) then + o <= d; + end if; +end process; + +end Behavioral;
Am9080/Am29XX/Am2918.vhd Property changes : Added: svn:eol-style ## -0,0 +1 ## +CRLF \ No newline at end of property Index: Am9080/Am29XX/Am2920.vhd =================================================================== --- Am9080/Am29XX/Am2920.vhd (nonexistent) +++ Am9080/Am29XX/Am2920.vhd (revision 5) @@ -0,0 +1,62 @@ +---------------------------------------------------------------------------------- +-- Company: +-- Engineer: +-- +-- Create Date: 09/20/2017 11:10:09 PM +-- Design Name: +-- Module Name: Am2920 - Behavioral +-- Project Name: +-- Target Devices: +-- Tool Versions: +-- Description: +-- +-- Dependencies: +-- +-- Revision: +-- Revision 0.01 - File Created +-- Additional Comments: +-- +---------------------------------------------------------------------------------- + + +library IEEE; +use IEEE.STD_LOGIC_1164.ALL; + +-- Uncomment the following library declaration if using +-- arithmetic functions with Signed or Unsigned values +--use IEEE.NUMERIC_STD.ALL; + +-- Uncomment the following library declaration if instantiating +-- any Xilinx leaf cells in this code. +--library UNISIM; +--use UNISIM.VComponents.all; + +entity Am2920 is + Port ( clk : in STD_LOGIC; + nE : in STD_LOGIC; + nCLR : in STD_LOGIC; + nOE : in STD_LOGIC; + d : in STD_LOGIC_VECTOR (7 downto 0); + y : out STD_LOGIC_VECTOR (7 downto 0)); +end Am2920; + +architecture Behavioral of Am2920 is + +signal q: std_logic_vector(7 downto 0); + +begin + +y <= q when (nOE = '0') else "ZZZZZZZZ"; + +load_q: process(clk, d, nE, nCLR) +begin + if (nCLR = '0') then + q <= "00000000"; + else + if (rising_edge(clk) and (nE = '0')) then + q <= d; + end if; + end if; +end process; + +end Behavioral;
Am9080/Am29XX/Am2920.vhd Property changes : Added: svn:eol-style ## -0,0 +1 ## +CRLF \ No newline at end of property Index: Am9080/Am29XX/Am2922.vhd =================================================================== --- Am9080/Am29XX/Am2922.vhd (nonexistent) +++ Am9080/Am29XX/Am2922.vhd (revision 5) @@ -0,0 +1,79 @@ +---------------------------------------------------------------------------------- +-- Company: +-- Engineer: +-- +-- Create Date: 09/20/2017 10:32:16 PM +-- Design Name: +-- Module Name: Am2922 - Behavioral +-- Project Name: +-- Target Devices: +-- Tool Versions: +-- Description: +-- +-- Dependencies: +-- +-- Revision: +-- Revision 0.01 - File Created +-- Additional Comments: +-- +---------------------------------------------------------------------------------- + + +library IEEE; +use IEEE.STD_LOGIC_1164.ALL; + +-- Uncomment the following library declaration if using +-- arithmetic functions with Signed or Unsigned values +--use IEEE.NUMERIC_STD.ALL; + +-- Uncomment the following library declaration if instantiating +-- any Xilinx leaf cells in this code. +--library UNISIM; +--use UNISIM.VComponents.all; + +entity Am2922 is + Port ( clk : in STD_LOGIC; + a : in STD_LOGIC; + b : in STD_LOGIC; + c : in STD_LOGIC; + pol : in STD_LOGIC; + nME : in STD_LOGIC; + nRE : in STD_LOGIC; + nCLR : in STD_LOGIC; + nOE : in STD_LOGIC; + d : in STD_LOGIC_VECTOR (7 downto 0); + y : out STD_LOGIC); +end Am2922; + +architecture Behavioral of Am2922 is + +signal mux, muxen: std_logic; +signal q: std_logic_vector(3 downto 0) := "0000"; + +begin + +muxen <= not nME; +mux <= not ( + (muxen and q(2) and q(1) and q(0) and d(7)) or + (muxen and q(2) and q(1) and (not q(0)) and d(6)) or + (muxen and q(2) and (not q(1)) and q(0) and d(5)) or + (muxen and q(2) and (not q(1)) and (not q(0)) and d(4)) or + (muxen and (not q(2)) and q(1) and q(0) and d(3)) or + (muxen and (not q(2)) and q(1) and (not q(0)) and d(2)) or + (muxen and (not q(2)) and (not q(1)) and q(0) and d(1)) or + (muxen and (not q(2)) and (not q(1)) and (not q(0)) and d(0)) + ); +y <= (q(3) xor mux) when (nOE = '0') else 'Z'; + +load_q: process(clk, a, b, c, pol, nCLR, nRE) +begin + if (nCLR = '0') then + q <= "0000"; + else + if (rising_edge(clk) and (nRE = '0')) then + q <= pol & c & b & a; + end if; + end if; +end process; + +end Behavioral;
Am9080/Am29XX/Am2922.vhd Property changes : Added: svn:eol-style ## -0,0 +1 ## +CRLF \ No newline at end of property Index: Am9080/Am29XX/am2909.vhd =================================================================== --- Am9080/Am29XX/am2909.vhd (nonexistent) +++ Am9080/Am29XX/am2909.vhd (revision 5) @@ -0,0 +1,104 @@ +-- VERSION: 1.0 +-- MODULE: am2909 +-- 13/1/2010 +-- ************************************************************ +-- Copyright (C) Stanisalw Deniziak + +library ieee; +use ieee.std_logic_1164.all; +use ieee.numeric_std.all; + +entity am2909 is + port + ( + -- Input ports + S : in std_logic_vector(1 downto 0); + R,D : in std_logic_vector(3 downto 0); + ORi : in std_logic_vector(3 downto 0); + nFE, PUP, nRE , nZERO, nOE, CN : in std_logic; + CLK : in std_logic; + -- Output ports + Y : out std_logic_vector(3 downto 0); + C4 : out std_logic + ); +end am2909; + +architecture RTL of am2909 is +signal XX, AR, F, PC, YY : std_logic_vector(3 downto 0); +begin + +Sel: process (S, AR, F, PC, D) +begin +case S(1 downto 0) is + when "00" => + XX <= PC; + when "01" => + XX <= AR; + when "10" => + XX <= F; + when "11" => + XX <= D; + when others => + null; + end case; +end process; + +stos: process (CLK) +variable STK0, STK1, STK2, STK3: std_logic_vector(3 downto 0); +begin +if (rising_edge(clk)) then + if (nFE = '0') then + if PUP = '0' then + STK0 := STK1; + STK1 := STK2; + STK2 := STK3; + else + STK3 := STK2; + STK2 := STK1; + STK1 := STK0; + STK0 := PC; + end if; + end if; + end if; + F <= STK0; +end process; + +AReg: process (clk) +begin +if (rising_edge(clk)) then + if nRE = '0' then + AR <= R; + end if; + end if; +end process; + +uPC: process (CLK, YY, CN) +variable res : std_logic_vector(5 downto 0); +variable PCint : std_logic_vector(5 downto 0); +begin + PCint := '0' & YY & CN; + res := std_logic_vector(unsigned(PCint) + 1); + C4 <= res(5); + if (rising_edge(clk)) then + PC <= res(4 downto 1); + end if; +end process; + +output: process (nOE, nZERO, XX, ORi, YY) +begin + if (nZERO = '0') then + YY <= "0000"; + else + YY <= XX or ORi; + end if; + + if (nOE = '0') then + Y <= YY; + else + Y <= "ZZZZ"; + end if; + +end process; + +end RTL; +
Am9080/Am29XX/am2909.vhd Property changes : Added: svn:eol-style ## -0,0 +1 ## +CRLF \ No newline at end of property Index: Am9080/prom/desktop.ini =================================================================== --- Am9080/prom/desktop.ini (nonexistent) +++ Am9080/prom/desktop.ini (revision 5) @@ -0,0 +1,4 @@ +[LocalizedFileNames] +testprog3.mif=@testprog3.mif,0 +testprog2.mif=@testprog2.mif,0 +testprog1.mif=@testprog1.mif,0
Am9080/prom/desktop.ini Property changes : Added: svn:eol-style ## -0,0 +1 ## +CRLF \ No newline at end of property Index: Am9080/prom/mapper.hex =================================================================== --- Am9080/prom/mapper.hex (nonexistent) +++ Am9080/prom/mapper.hex (revision 5) @@ -0,0 +1,17 @@ +: 10 0000 00 086 022 0DF 06D 0AB 0AA 01B 05A 000 071 0DC 06F 0AB 0AA 01B 05D B9 +: 10 0010 00 000 0E5 0DF 0F1 0AB 0AA 01B 05F 000 073 156 0F6 0AB 0AA 01B 060 ED +: 10 0020 00 000 0E9 0D3 0F3 0AB 0AA 01B 13F 000 074 0C9 0F8 0AB 0AA 01B 0C8 35 +: 10 0030 00 000 0ED 02D 0F5 0A6 0A2 01E 09C 000 075 026 0FA 0AB 0AA 01B 09D 4D +: 10 0040 00 014 014 014 014 014 014 018 014 014 014 014 014 014 014 018 014 B8 +: 10 0050 00 014 014 014 014 014 014 018 014 014 014 014 014 014 014 018 014 B8 +: 10 0060 00 014 014 014 014 014 014 018 014 014 014 014 014 014 014 018 014 B8 +: 10 0070 00 015 015 015 015 015 015 082 015 014 014 014 014 014 014 018 014 47 +: 10 0080 00 034 034 034 034 034 034 035 034 03A 03A 03A 03A 03A 03A 08C 03A 3D +: 10 0090 00 0AC 0AC 0AC 0AC 0AC 0AC 0AD 0AC 0B2 0B2 0B2 0B2 0B2 0B2 0B4 0B2 0D +: 10 00A0 00 09F 09F 09F 09F 09F 09F 0B9 09F 0A0 0A0 0A0 0A0 0A0 0A0 0BC 0A0 D2 +: 10 00B0 00 0A1 0A1 0A1 0A1 0A1 0A1 0BF 0A1 076 076 076 076 086 076 079 076 17 +: 10 00C0 00 10D 07C 107 042 10A 064 038 055 114 050 10E 000 111 047 03F 055 D5 +: 10 00D0 00 11B 0FB 115 08B 118 064 0B0 055 122 000 11C 087 11F 000 0B7 055 D9 +: 10 00E0 00 129 101 123 092 126 064 0C2 055 130 09B 12A 159 12D 000 0C4 055 EC +: 10 00F0 00 137 150 131 090 134 068 0C6 055 13E 091 138 08F 13B 000 077 055 64 +: 00 0000 01 FF
Am9080/prom/mapper.hex Property changes : Added: svn:eol-style ## -0,0 +1 ## +CRLF \ No newline at end of property Index: Am9080/prom/mapper.mif =================================================================== --- Am9080/prom/mapper.mif (nonexistent) +++ Am9080/prom/mapper.mif (revision 5) @@ -0,0 +1,265 @@ +; http://www.pastraiser.com/cpu/i8080/i8080_opcodes.html +;PC MICROWORD IN HEX SOURCE CODE +; +0000 086 NOP: FF H#086 +0001 022 LXIB: FF H#022 +0002 0DF STAXB: FF H#0DF +0003 06D INXB: FF H#06D +0004 0AB INRB: FF H#0AB +0005 0AA DCRB: FF H#0AA +0006 01B MVIB: FF H#01B +0007 05A RLC: FF H#05A +0008 000 FF 12X +0009 071 DADB: FF H#071 +000A 0DC LDAXB: FF H#0DC +000B 06F DCXB: FF H#06F +000C 0AB INRC: FF H#0AB +000D 0AA DCRC: FF H#0AA +000E 01B MVIC: FF H#01B +000F 05D RRC: FF H#05D +0010 000 FF 12X +0011 0E5 LXID: FF H#0E5 +0012 0DF STAXD: FF H#0DF +0013 0F1 INXD: FF H#0FI +0014 0AB INRD: FF H#0AB +0015 0AA DCRD: FF H#0AA +0016 01B MVID: FF H#01B +0017 05F RAL: FF H#05F +0018 000 FF 12X +0019 073 DADD: FF H#073 +001A 156 LDAXD: FF H#156 +001B 0F6 DCXD: FF H#0F6 +001C 0AB INRE: FF H#0AB +001D 0AA DCRE: FF H#0AA +001E 01B MVIE: FF H#01B +001F 060 RAR: FF H#060 +0020 000 FF 12X +0021 0E9 LXIH: FF H#0E9 +0022 0D3 SHLD: FF H#0D3 +0023 0F3 INXH: FF H#0F3 +0024 0AB INRH: FF H#0AB +0025 0AA DCRH: FF H#0AA +0026 01B MVIH: FF H#01B +0027 13F DAA: FF H#13F +0028 000 FF 12X +0029 074 DADH: FF H#074 +002A 0C9 LHLD: FF H#0C9 +002B 0F8 DCXH: FF H#0F8 +002C 0AB INRL: FF H#0AB +002D 0AA DCRL: FF H#0AA +002E 01B MVIL: FF H#01B +002F 0C8 CMA: FF H#0C8 +0030 000 FF 12X +0031 0ED LXISP: FF H#0ED +0032 02D STA: FF H#02D +0033 0F5 INXSP: FF H#0F5 +0034 0A6 INRM: FF H#0A6 +0035 0A2 DCRM: FF H#0A2 +0036 01E MVIM: FF H#01E +0037 09C STC: FF H#09C +0038 000 FF 12X +0039 075 DADSP: FF H#075 +003A 026 LDA: FF H#026 +003B 0FA DCXSP: FF H#0FA +003C 0AB INRA: FF H#0AB +003D 0AA DCRA: FF H#0AA +003E 01B MVIA: FF H#01B +003F 09D CMC: FF H#09D +0040 014 MOVB.R FF H#014 +0041 014 MOVB.R FF H#014 +0042 014 MOVB.R FF H#014 +0043 014 MOVB.R FF H#014 +0044 014 NOVB.R FF H#014 +0045 014 MOVB.R FF H#014 +0046 018 MOVB.M FF H#018 +0047 014 MOVB.A FF H#014 +0048 014 MOVC.R FF H#014 +0049 014 MOVC.R FF H#014 +004A 014 MOVC.R FF H#014 +004B 014 MOVC.R FF H#014 +004C 014 MOVC.R FF H#014 +004D 014 MOVC.R FF H#014 +004E 018 MOVC.M FF H#018 +004F 014 MOVX.R FF H#014 +0050 014 MOVX.R FF H#014 +0051 014 MOVX.R FF H#014 +0052 014 MOVX.R FF H#014 +0053 014 MOVX.R FF H#014 +0054 014 MOVX.R FF H#014 +0055 014 NOVX.R FF H#014 +0056 018 MOVD.M FF H#018 +0057 014 MOVY.R FF H#014 +0058 014 MOVY.R FF H#014 +0059 014 MOVY.R FF H#014 +005A 014 MOVY.R FF H#014 +005B 014 MOVY.R FF H#014 +005C 014 MOVY.R FF H#014 +005D 014 MOVY.R FF H#014 +005E 018 MOVE.M FF H#018 +005F 014 MOVZ.R FF H#014 +0060 014 MOVZ.R FF H#014 +0061 014 MOVZ.R FF H#014 +0062 014 MOVZ.R FF H#014 +0063 014 MOVZ.R FF H#014 +0064 014 MOVZ.R FF H#014 +0065 014 MOVZ.R FF H#014 +0066 018 MOVH.M FF H#018 +0067 014 MOVW.R FF H#014 +0068 014 MOVW.R FF H#014 +0069 014 MOVW.R FF H#014 +006A 014 MOVW.R FF H#014 +006B 014 MOVM.R FF H#014 +006C 014 MOVM.R FF H#014 +006D 014 MOVW.R FF H#014 +006E 018 MOVL.M FF H#018 +006F 014 MOVL.A FF H#014 +0070 015 MOVM.R FF H#015 +0071 015 MOVM.R FF H#015 +0072 015 MOVM.R FF H#015 +0073 015 MOVM.R FF H#015 +0074 015 MOVM.R FF H#015 +0075 015 MOVM.R FF H#015 +0076 082 HLT: FF H#082 +0077 015 MOVM.A: FF H#015 +0078 014 MOVA.R: FF H#014 +0079 014 MOVA.R: FF H#014 +007A 014 MOVA.R: FF H#014 +007B 014 MOVA.R: FF H#014 +007C 014 MOVA.R: FF H#014 +007D 014 MOVA.R: FF H#014 +007E 018 MOVA.M: FF H#018 +007F 014 MOVA.A: FF H#014 +0080 034 ADDR: FF H#034 +0081 034 ADDR: FF H#034 +0082 034 ADDR: FF H#034 +0083 034 ADDR: FF H#034 +0084 034 ADDR: FF H#034 +0085 034 ADDR: FF H#034 +0086 035 ADDM: FF H#035 +0087 034 ADDA: FF H#034 +0088 03A ADCR: FF H#03A +0089 03A ADCR: FF H#03A +008A 03A ADCR: FF H#03A +008B 03A ADCR: FF H#03A +008C 03A ADCR: FF H#03A +008D 03A ADCR: FF H#03A +008E 08C ADCM: FF H#03C +008F 03A ADCA: FF H#03A +0090 0AC SUBR: FF H#0AC +0091 0AC SUBR: FF H#0AC +0092 0AC SUBR: FF H#0AC +0093 0AC SUBR: FF H#0AC +0094 0AC SUBR: FF H#0AC +0095 0AC SUBR: FF H#0AC +0096 0AD SUBN: FF H#0AD +0097 0AC SUBA: FF H#0AC +0098 0B2 SBBR: FF H#0B2 +0099 0B2 SBBR: FF H#0B2 +009A 0B2 SBBR: FF H#0B2 +009B 0B2 SBBR: FF H#0B2 +009C 0B2 SBBR: FF H#0B2 +009D 0B2 SBBR: FF H#0B2 +009E 0B4 SBBM: FF H#0B4 +009F 0B2 SBBA: FF H#0B2 +00A0 09F ANAR: FF H#09F +00A1 09F ANAR: FF H#09F +00A2 09F ANAR: FF H#09F +00A3 09F ANAR: FF H#09F +00A4 09F RNAR: FF H#09F +00A5 09F RNAR: FF H#09F +00A6 0B9 ANAM: FF H#089 +00A7 09F ANAA: FF H#09F +00A8 0A0 XRAR: FF H#0A0 +00A9 0A0 XRAR: FF H#0A0 +00AA 0A0 XRAR: FF H#0A0 +00AB 0A0 XRAR: FF H#0A0 +00AC 0A0 XRAR: FF H#0A0 +00AD 0A0 XRAR: FF H#0A0 +00AE 0BC XRAM: FF H#0BC +00AF 0A0 XRAA: FF H#0A0 +00B0 0A1 ORAR: FF H#0A1 +00B1 0A1 ORAR: FF H#0A1 +00B2 0A1 ORAR: FF H#0A1 +00B3 0A1 ORAR: FF H#0A1 +00B4 0A1 ORAR: FF H#0A1 +00B5 0A1 ORAR: FF H#0A1 +00B6 0BF ORAM: FF H#0BF +00B7 0A1 ORAA: FF H#0A1 +00B8 076 CMPR: FF H#076 +00B9 076 CMPR: FF H#076 +00BA 076 CMPR: FF H#076 +00BB 076 CMPR FF H#076 +00BE 076 CMPR FF H#076 +00BD 076 CMPR FF H#076 +00BE 079 CMPM FF H#079 +00BF 076 CMPA FF H#076 +00C0 10D RNZ: FF H#100 +00C1 07C POPB: FF H#07C +00C2 107 JNZ: FF H#107 +00C3 042 JMP: FF H#042 +00C4 10A CNZ: FF H#10A +00C5 064 PUSHB: FF H#064 +00C6 038 ADI: FF H#038 +00C7 055 RST0: FF H#055 +00C8 114 RZ: FF H#114 +00C9 050 RET: FF H#050 +00CA 10E JZ: FF H#10E +00CB 000 FF 12X +00CC 111 CZ: FF H#111 +00CD 047 CALL: FF H#047 +00CE 03F ACI: FF H#03F +00CF 055 RST1: FF H#055 +00D0 11B RNC: FF H#11B +00D1 0FB POPD: FF H#0FB +00D2 115 JNC: FF H#115 +00D3 08B OUT.: FF H#08B +00D4 118 CNC: FF H#118 +00D5 064 PUSHD: FF H0064 +00D6 0B0 SUI: FF H#0B0 +00D7 055 RST2: FF H#055 +00D8 122 RC: FF H#122 +00D9 000 FF 12X +00DA 11C JC: FF H#11C +00DB 087 IN.: FF H#087 +00DC 11F CC: FF H#11F +00DD 000 FF 12X +00DE 0B7 SBI: FF H#0B7 +00DF 055 RST3: FF H#055 +00E0 129 RPO: FF H#129 +00E1 101 POPH: FF H#101 +00E2 123 JPO: FF H#123 +00E3 092 XTHL: FF H#092 +00E4 126 CPD: FF H#126 +00E5 064 PUSHH: FF H#064 +00E6 0C2 ANI: FF H#0C2 +00E7 055 RST4: FF H#055 +00E8 130 RPE: FF H#130 +00E9 09B PCHL: FF H#09B +00EA 12A JPE: FF H#12A +00EB 159 XCHG: FF H#159 +00EC 12D CPE: FF H#12D +00ED 000 FF 12X +00EE 0C4 XRI: FF H#0C4 +00EF 055 RST5: FF H#055 +00F0 137 RP: FF H#037 +00F1 150 P0PPSW: FF H#150 +00F2 131 JP: FF H#131 +00F3 090 DI: FF H#090 +00F4 134 CP: FF H#134 +00F5 068 PUSHPSW: FF H#068 +00F6 0C6 ORI: FF H#0C6 +00F7 055 RST6: FF H#055 +00F8 13E RM: FF H#13E +00F9 091 SPHL: FF H#091 +00FA 138 JM: FF H#138 +00FB 08F EI: FF H#08F +00FC 13B CM: FF H#13B +00FD 000 FF 12X +00FE 077 CPI: FF H#077 +00FF 055 RST7: FF H#055 +; END + + + + +
Am9080/prom/mapper.mif Property changes : Added: svn:eol-style ## -0,0 +1 ## +CRLF \ No newline at end of property Index: Am9080/prom/microcode.hex =================================================================== --- Am9080/prom/microcode.hex (nonexistent) +++ Am9080/prom/microcode.hex (revision 5) @@ -0,0 +1,560 @@ +-------------------------------------------------------------------------------- + I D DIRECT-VALUE NXT P COND B SYSCTL OE OS A UK S C W AADR BADR DST FCT SRC +-------------------------------------------------------------------------------- +0000 1 0 000000111000 000 0 1111 0 111110 00 11 0 11 0 1 1 1111 1111 011 100 100 +0001 1 1 000000000000 000 0 1111 0 111110 00 00 0 11 0 1 0 1010 1101 011 011 111 +0002 1 1 000000000000 000 0 1111 0 111110 00 00 0 11 0 1 0 1010 1100 011 100 100 +0003 1 1 000000000000 110 1 1111 0 111110 00 10 0 11 0 1 0 1010 1010 011 100 100 +0004 0 1 000000000100 000 0 1001 0 111010 00 10 0 11 0 1 1 1111 1111 011 011 100 +0005 1 1 000000001100 001 1 1010 0 111110 00 10 0 11 0 1 1 1111 1111 011 000 100 +0006 0 0 000000000000 000 0 0000 0 000000 00 00 0 00 0 0 0 0000 0000 000 000 000 +0007 0 0 000000000000 000 0 0000 0 000000 00 00 0 00 0 0 0 0000 0000 000 000 000 +0008 0 0 000000000000 000 0 0000 0 000000 00 00 0 00 0 0 0 0000 0000 000 000 000 +0009 0 0 000000000000 000 0 0000 0 000000 00 00 0 00 0 0 0 0000 0000 000 000 000 +000A 1 1 000000001010 011 0 1010 0 111111 00 00 0 11 0 1 0 1010 1010 001 000 000 +000B 1 1 000000001011 111 0 1010 0 111111 00 00 0 11 0 1 0 1010 1010 001 000 000 +000C 1 1 000000001100 001 1 1010 0 111111 00 00 0 11 0 1 0 1010 1010 001 000 000 +000D 1 1 000000001101 011 1 1001 0 111010 00 10 0 11 0 1 1 1111 1111 011 011 100 +000E 1 1 000000001110 011 1 1001 0 111100 10 10 0 11 0 1 1 1111 1111 011 011 100 +000F 1 1 000000001111 111 1 1001 0 111100 10 10 0 11 0 1 1 1111 1111 011 011 100 +0010 1 1 000000010000 111 1 1001 0 111010 00 10 0 11 0 1 1 1111 1111 011 011 100 +0011 1 1 000000010001 011 1 1001 0 111010 00 10 0 11 0 1 1 1000 1000 011 011 100 +0012 1 1 000000010010 011 1 1001 0 111100 10 10 0 11 0 1 1 1000 1000 011 011 100 +0013 1 1 000000010011 011 1 1001 0 111100 01 10 0 11 0 1 1 1000 1000 011 011 100 +0014 1 1 000000001011 111 0 1010 1 111110 00 00 1 11 0 1 0 1010 1010 011 011 100 +0015 1 1 000000001010 010 1 1010 0 111110 00 10 0 11 0 1 1 0100 1010 001 011 100 +0016 1 1 000000001010 010 1 1010 0 111110 00 01 1 11 0 1 0 1010 1010 001 011 100 +0017 1 1 000000010111 111 1 1001 0 111100 10 10 0 11 0 1 1 1111 1111 011 011 100 +0018 1 1 000000001010 010 1 1010 0 111110 00 10 0 11 0 1 1 0100 1010 001 011 100 +0019 1 1 000000001101 010 0 1001 0 111010 00 10 0 11 0 1 1 1111 1111 011 011 100 +001A 1 1 000000001011 111 0 1010 1 111110 00 00 0 11 0 1 0 1010 1010 011 011 111 +001B 1 1 000000001101 010 0 1001 0 111010 00 10 0 11 0 1 1 1111 1111 011 000 100 +001C 1 1 000000001011 111 0 1010 1 111110 00 00 0 11 0 1 0 1010 1010 011 011 111 +001D 0 0 000000000000 000 0 0000 0 000000 00 00 0 11 0 1 0 1010 1010 001 000 000 +001E 1 1 000000001101 010 0 1001 0 111010 00 00 0 11 0 1 0 1010 1010 001 000 000 +001F 1 1 000000001010 010 1 1010 0 111110 00 01 0 11 0 1 0 1010 1010 011 011 111 +-------------------------------------------------------------------------------- + I D DIRECT-VALUE NXT P COND B SYSCTL OE OS A UK S C W AADR BADR DST FCT SRC +-------------------------------------------------------------------------------- +0020 1 1 000000001010 010 1 1010 0 111110 00 10 0 11 0 1 1 0100 1010 001 011 100 +0021 1 1 000000001111 111 1 1001 0 111100 10 10 0 11 0 1 1 1111 1111 011 000 100 +0022 1 1 000000001101 010 0 1001 0 111010 00 10 0 11 0 1 1 1111 1111 011 000 100 +0023 1 1 000000001010 010 1 1010 0 111110 00 00 0 11 0 1 0 1010 0001 011 011 111 +0024 1 1 000000001101 010 0 1001 0 111010 00 10 0 11 0 1 1 1111 1111 011 000 100 +0025 1 1 000000001011 111 0 1010 0 111110 00 00 0 11 0 1 0 1010 0000 011 011 111 +0026 1 1 000000001101 010 0 1001 0 111010 00 10 0 11 0 1 1 1111 1111 011 000 100 +0027 1 1 000000001010 010 1 1010 0 111110 00 00 0 11 0 1 1 1010 1010 011 011 111 +0028 1 1 000000001101 010 0 1001 0 111010 00 10 0 11 0 1 1 1111 1111 011 000 100 +0029 1 1 000000001010 010 1 1010 0 111110 00 00 0 11 0 1 0 1010 1010 011 011 111 +002A 1 1 000000001010 010 1 1010 0 111110 00 10 0 11 0 1 1 1010 1010 001 011 100 +002B 1 1 000000001101 010 0 1001 0 111010 00 10 0 11 0 1 1 1111 1111 011 011 100 +002C 1 1 000000001011 111 0 1010 0 111110 00 00 0 11 0 1 0 0111 0111 011 011 111 +002D 1 1 000000001101 010 0 1001 0 111010 00 10 0 11 0 1 1 1111 1111 011 000 100 +002E 1 1 000000001010 010 1 1010 0 111110 00 00 0 11 0 1 1 1010 1010 011 011 111 +002F 1 1 000000001101 010 0 1001 0 111010 00 10 0 11 0 1 1 1111 1111 011 000 100 +0030 1 1 000000001010 010 1 1010 0 111110 00 00 0 11 0 1 0 1010 1010 011 011 111 +0031 1 1 000000001010 010 1 1010 0 111110 00 10 0 11 0 1 1 1010 1010 011 011 100 +0032 1 1 000000001010 010 1 1010 0 111110 00 01 0 11 0 1 0 0111 0111 011 011 100 +0033 1 1 000000001111 111 1 1001 0 111100 10 10 0 11 0 1 1 1111 1111 011 011 100 +0034 1 1 000000001011 111 0 1010 0 111110 00 00 1 00 0 0 0 1010 0111 011 000 001 +0035 1 1 000000001010 010 1 1010 0 111110 00 10 0 11 0 1 1 0100 1010 001 011 100 +0036 1 1 000000001101 010 0 1001 0 111010 00 10 0 11 0 1 1 1111 1111 011 011 100 +0037 1 1 000000001011 111 0 1010 0 111110 00 00 0 00 0 0 0 0111 0111 011 000 101 +0038 1 1 000000001101 010 0 1001 0 111010 00 10 0 11 0 1 1 1111 1111 011 000 100 +0039 1 1 000000001011 111 0 1010 0 111110 00 00 0 00 0 0 0 0111 0111 011 000 101 +003A 1 1 000000110100 000 0 0001 0 111110 00 00 0 11 0 1 0 1010 1010 001 000 000 +003B 1 1 000000001011 111 0 1010 0 111110 00 00 1 00 0 1 0 1010 0111 011 000 001 +003C 1 1 000000110110 000 0 0001 0 111110 00 10 0 11 0 1 1 0100 1010 001 011 100 +003D 1 1 000000001101 010 0 1001 0 111010 00 10 0 11 0 1 1 1111 1111 011 011 100 +003E 1 1 000000001011 111 0 1010 0 111110 00 00 0 00 0 1 0 0111 0111 011 000 101 +003F 1 1 000000111000 000 0 0001 0 111110 00 00 0 11 0 1 0 1010 1010 001 000 000 +-------------------------------------------------------------------------------- + I D DIRECT-VALUE NXT P COND B SYSCTL OE OS A UK S C W AADR BADR DST FCT SRC +-------------------------------------------------------------------------------- +0040 1 1 000000001101 010 0 1001 0 111010 00 10 0 11 0 1 1 1111 1111 011 000 100 +0041 1 1 000000001011 111 0 1010 0 111110 00 00 0 00 0 1 0 0111 0111 011 000 101 +0042 1 1 000000001101 010 0 1001 0 111010 00 10 0 11 0 1 1 1111 1111 011 000 100 +0043 1 1 000000001010 010 1 1010 0 111110 00 00 0 11 0 1 1 1010 1010 011 011 111 +0044 1 1 000000001101 010 0 1001 0 111010 00 10 0 11 0 1 1 1111 1111 011 000 100 +0045 1 1 000000001010 010 1 1010 0 111110 00 00 0 11 0 1 0 1010 1010 011 011 111 +0046 1 1 000000001011 111 0 1010 0 111110 00 10 0 11 0 1 1 1010 1111 010 011 100 +0047 1 1 000000001101 010 0 1001 0 111010 00 10 0 11 0 1 1 1111 1111 011 000 100 +0048 1 1 000000001010 010 1 1010 0 111110 00 00 0 11 0 1 1 1010 1010 011 011 111 +0049 1 1 000000001101 010 0 1001 0 111010 00 10 0 11 0 1 1 1111 1111 011 000 100 +004A 1 1 000000001010 010 1 1010 0 111110 00 00 0 11 0 1 0 1010 1010 011 011 111 +004B 1 1 000000001010 010 1 1010 0 111110 00 10 0 11 0 0 1 1000 1000 011 001 100 +004C 1 1 000000001010 010 1 1010 0 111110 00 01 0 11 0 1 1 1111 1010 001 011 100 +004D 1 1 000000010010 010 0 1001 0 111100 10 10 0 11 0 0 1 1000 1000 011 001 100 +004E 1 1 000001001110 111 1 1001 0 111100 01 10 0 11 0 1 1 1010 1111 011 011 100 +004F 0 0 000000000000 000 0 0000 0 000000 00 00 0 11 0 1 0 1010 1010 001 000 000 +0050 1 1 000000010001 010 1 1111 0 111110 00 10 0 11 0 1 1 1000 1000 010 000 100 +0051 1 1 000000001010 010 1 1010 0 111110 00 00 0 11 0 1 1 1111 1111 011 011 111 +0052 1 1 000000010001 010 0 1001 0 111010 00 10 0 11 0 1 1 1000 1000 010 000 100 +0053 1 1 000000001010 010 1 1010 0 111110 00 00 0 11 0 1 0 1111 1111 011 011 111 +0054 1 1 000000001011 111 0 1010 0 111110 00 10 0 11 0 1 1 1111 1111 001 011 100 +0055 1 1 000000001010 010 1 1010 0 111110 00 00 0 11 0 1 1 1100 1010 011 100 101 +0056 1 1 000000001010 010 1 1010 0 111110 00 01 0 11 0 1 1 1111 1010 001 011 100 +0057 1 1 000000010010 010 1 1111 0 111110 00 10 0 11 0 0 1 1000 1000 011 001 100 +0058 1 1 000000001010 010 1 1010 0 111110 00 10 0 11 0 0 1 1000 1000 011 001 100 +0059 1 1 000001011001 111 1 1001 0 111100 01 10 0 11 0 1 1 1010 1111 011 011 100 +005A 1 1 000000001010 010 1 1010 0 111110 00 00 0 01 0 1 0 0111 0111 111 011 100 +005B 1 1 000010011100 111 0 1100 0 111110 00 00 0 11 0 1 0 1010 1010 001 000 000 +005C 1 1 000000001011 111 0 1010 0 111110 00 00 0 01 0 1 0 1010 1010 001 011 000 +005D 1 1 000000001010 010 1 1010 0 111110 00 00 0 01 0 1 0 0111 0111 101 011 100 +005E 1 1 000001011011 000 1 1111 0 111110 00 00 0 11 0 1 0 0111 1010 001 011 100 +005F 1 1 000001011011 000 1 1111 0 111110 00 00 0 01 1 1 0 0111 0111 111 011 100 +-------------------------------------------------------------------------------- + I D DIRECT-VALUE NXT P COND B SYSCTL OE OS A UK S C W AADR BADR DST FCT SRC +-------------------------------------------------------------------------------- +0060 1 1 000000001010 010 1 1010 0 111110 00 00 0 11 0 1 0 0111 0111 101 011 100 +0061 1 1 000000001010 010 1 1010 0 111110 00 00 0 11 0 1 0 0111 0111 111 011 100 +0062 1 1 000010011100 111 0 1100 0 111110 00 00 0 01 1 1 0 0111 0111 101 011 100 +0063 1 1 000000001011 111 0 1010 0 111110 00 00 0 01 0 1 0 1010 1010 001 011 000 +0064 1 1 000000001010 010 1 1010 1 111110 00 01 0 11 0 1 1 1010 1010 001 011 011 +0065 1 1 000000001010 010 1 1010 0 111110 00 10 0 11 0 0 1 1000 1000 011 001 100 +0066 1 1 000000010010 010 0 1001 0 111100 10 10 0 11 0 0 1 1000 1000 011 001 100 +0067 1 1 000001100111 111 1 1001 0 111100 01 10 0 11 0 1 1 1111 1111 011 011 100 +0068 1 1 000000001010 010 1 1010 0 111110 00 01 0 11 0 1 0 0111 1010 001 011 100 +0069 1 1 000000010010 010 1 1111 0 111110 00 10 0 11 0 0 1 1000 1000 011 001 100 +006A 1 1 000001101010 000 0 1001 0 111100 11 00 0 11 0 1 0 1010 1010 001 000 000 +006B 1 1 000000001010 010 1 1010 0 111110 00 00 0 11 0 0 1 1000 1000 011 001 100 +006C 1 1 000000001011 111 0 1010 0 111110 00 10 0 11 0 1 1 1111 1111 011 011 100 +006D 1 1 000000001010 010 1 1010 0 111110 00 00 0 11 0 1 1 1010 0000 011 000 011 +006E 1 1 000000001011 111 0 1010 0 111110 00 00 0 11 1 1 1 0000 0001 010 011 111 +006F 1 1 000000001010 010 1 1010 0 111110 00 00 0 11 0 0 1 1010 0000 011 001 011 +0070 1 1 000000001011 111 0 1010 0 111110 00 00 0 11 1 1 1 0000 0001 010 011 111 +0071 1 1 000000001010 010 1 1010 0 111110 00 00 0 01 0 0 1 0000 0100 011 000 001 +0072 1 1 000000001011 111 0 1010 0 111110 00 00 0 11 1 1 1 0100 0101 010 011 111 +0073 1 1 000001110010 000 1 1111 0 111110 00 00 0 01 0 0 1 0010 0100 011 000 001 +0074 1 1 000001110010 000 1 1111 0 111110 00 00 0 01 0 0 1 0100 0100 011 000 001 +0075 1 1 000001110010 000 1 1111 0 111110 00 00 0 01 0 0 1 1000 0100 011 000 001 +0076 1 1 000000001011 111 0 1010 0 111110 00 00 1 00 0 1 0 1010 0111 001 001 001 +0077 1 1 000000001101 010 0 1001 0 111010 00 10 0 11 0 1 1 1111 1111 011 000 100 +0078 1 1 000000001011 111 0 1010 0 111110 00 00 0 00 0 1 0 0111 1010 001 001 101 +0079 1 1 000000001010 010 1 1010 0 111110 00 10 0 11 0 1 1 0100 1010 001 011 100 +007A 1 1 000000001101 010 0 1001 0 111010 00 10 0 11 0 1 1 1111 1010 001 011 100 +007B 1 1 000000001011 111 0 1010 0 111110 00 00 0 00 0 1 0 0111 1010 001 001 101 +007C 1 1 000000001010 010 1 1010 0 111110 00 10 0 11 0 1 1 1000 1000 010 011 100 +007D 1 1 000000010001 010 0 1001 0 111010 00 10 0 11 0 1 1 1000 1000 011 000 100 +007E 1 1 000000001010 010 1 1010 0 111110 00 00 0 11 0 1 0 1010 0001 011 011 111 +007F 1 1 000000010001 010 0 1001 0 111010 00 10 0 11 0 1 1 1000 1000 011 000 100 +-------------------------------------------------------------------------------- + I D DIRECT-VALUE NXT P COND B SYSCTL OE OS A UK S C W AADR BADR DST FCT SRC +-------------------------------------------------------------------------------- +0080 1 1 000000001010 010 1 1010 0 111110 00 00 0 11 0 1 0 1010 0000 011 011 111 +0081 1 1 000000001011 111 0 1010 0 111110 00 10 0 11 0 1 1 1111 1010 001 011 100 +0082 1 1 000000001010 010 1 1010 0 111110 00 00 0 11 0 1 0 1010 1010 001 000 000 +0083 1 1 000010000010 000 0 1000 0 111110 00 00 0 11 0 1 0 1010 1010 001 000 000 +0084 1 1 000000000000 000 0 1111 0 011110 00 00 0 11 0 1 0 1010 1010 001 000 000 +0085 1 1 000001010110 000 1 1111 0 011110 00 00 0 11 0 1 0 1010 1010 001 000 000 +0086 1 1 000000001011 111 0 1010 0 111110 00 00 0 11 0 1 0 1010 1010 001 000 000 +0087 1 1 000000001101 010 0 1001 0 111010 00 10 0 11 0 1 1 1111 1111 011 000 100 +0088 1 1 000000001010 010 1 1010 0 111110 00 10 0 11 0 1 0 1010 1010 001 011 111 +0089 1 1 000010001001 000 0 1001 0 101110 00 10 0 11 0 1 1 1111 1010 001 011 100 +008A 1 1 000000001011 111 0 1010 0 111110 00 00 0 11 0 1 0 1010 0111 011 011 111 +008B 1 1 000000001010 010 1 1010 0 111110 00 01 0 11 0 1 0 0111 1010 001 011 100 +008C 1 1 000000001101 010 0 1001 0 111010 00 10 0 11 0 1 1 1111 1111 011 000 100 +008D 1 1 000000001010 010 1 1010 0 111110 00 10 0 11 0 1 0 1010 1010 001 011 111 +008E 1 1 000010001110 111 1 1001 0 110110 10 10 0 11 0 1 1 1111 1010 001 011 100 +008F 1 1 000000001011 111 0 1010 0 111110 00 11 0 11 0 1 0 1100 1010 001 111 100 +0090 1 1 000000001011 111 0 1010 0 111110 00 11 0 11 0 1 0 1010 1010 001 100 100 +0091 1 1 000000001011 111 0 1010 0 111110 00 00 0 11 0 1 1 0100 1000 011 011 100 +0092 1 1 000000001010 010 1 1010 0 111110 00 01 0 11 0 1 1 0100 1010 001 011 100 +0093 1 1 000000001010 010 1 1010 0 111110 00 10 0 11 0 1 1 1000 1010 001 011 100 +0094 1 1 000010010100 000 0 1001 0 111010 00 00 0 11 0 1 0 1010 1010 001 000 000 +0095 1 1 000000001010 010 1 1010 0 111110 00 00 0 11 0 1 0 1010 0101 011 011 111 +0096 1 1 000000010011 010 0 1001 0 111100 01 10 0 11 0 1 1 1000 1000 011 000 100 +0097 1 1 000010010111 000 0 1001 0 111010 00 00 0 11 0 1 0 1010 1010 001 000 000 +0098 1 1 000000001010 010 1 1010 0 111110 00 00 0 11 0 1 0 1010 0100 011 011 111 +0099 1 1 000010011001 000 0 1001 0 111100 10 10 0 11 0 1 1 1111 1010 001 011 100 +009A 1 1 000000001011 111 0 1010 0 111110 00 00 0 11 0 0 1 1000 1000 011 001 100 +009B 1 1 000000001011 111 0 1010 0 111110 00 10 0 11 0 1 1 0100 1111 011 011 100 +009C 1 1 000000001011 111 0 1010 0 111110 00 00 0 01 0 0 0 1100 1010 001 001 100 +009D 1 1 000010011100 111 1 0001 0 111110 00 00 0 01 0 1 0 1010 1010 001 100 100 +009E 1 1 000000001011 111 0 1010 0 111110 00 00 0 01 0 0 0 1010 1010 001 100 100 +009F 1 1 000000001011 111 0 1010 0 111110 00 00 1 00 0 1 0 1010 0111 011 100 001 +-------------------------------------------------------------------------------- + I D DIRECT-VALUE NXT P COND B SYSCTL OE OS A UK S C W AADR BADR DST FCT SRC +-------------------------------------------------------------------------------- +00A0 1 1 000000001011 111 0 1010 0 111110 00 00 1 00 0 1 0 1010 0111 011 110 001 +00A1 1 1 000000001011 111 0 1010 0 111110 00 00 1 00 0 1 0 1010 0111 011 011 001 +00A2 1 1 000000001010 010 1 1010 0 111110 00 10 0 11 0 1 1 0100 1010 001 011 100 +00A3 1 1 000010100011 000 0 1001 0 111010 00 00 0 11 0 1 0 1010 1010 001 000 000 +00A4 1 1 000000001010 010 1 1010 0 111110 00 01 0 10 0 0 0 1010 1010 001 010 111 +00A5 1 1 000010100101 111 1 1001 0 111100 10 10 0 11 0 1 1 1111 1010 001 011 100 +00A6 1 1 000000001010 010 1 1010 0 111110 00 10 0 11 0 1 1 0100 1010 001 011 100 +00A7 1 1 000010100111 000 0 1001 0 111010 00 00 0 11 0 1 0 1010 1010 001 000 000 +00A8 1 1 000000001010 010 1 1010 0 111110 00 01 0 10 0 1 0 1010 1010 001 000 111 +00A9 1 1 000010101001 111 1 1001 0 111100 10 10 0 11 0 1 1 1111 1010 001 011 100 +00AA 1 1 000000001011 111 0 1010 1 111110 00 00 0 10 0 0 0 1010 1010 011 001 011 +00AB 1 1 000000001011 111 0 1010 1 111110 00 00 0 10 0 1 0 1010 1010 011 000 011 +00AC 1 1 000000001011 111 0 1010 0 111110 00 00 1 00 0 1 0 1010 0111 011 001 001 +00AD 1 1 000000001010 010 1 1010 0 111110 00 10 0 11 0 1 1 0100 1010 001 011 100 +00AE 1 1 000000001101 010 0 1001 0 111010 00 10 0 11 0 1 1 1111 1010 001 011 100 +00AF 1 1 000000001011 111 0 1010 0 111110 00 00 0 00 0 1 0 0111 0111 011 001 101 +00B0 1 1 000000001101 010 0 1001 0 111010 00 10 0 11 0 1 1 1111 1111 011 000 100 +00B1 1 1 000000001011 111 0 1010 0 111110 00 00 0 00 0 1 0 0111 0111 011 001 101 +00B2 1 1 000010101100 000 0 0001 0 111110 00 00 0 11 0 1 0 1010 1010 001 000 000 +00B3 1 1 000000001011 111 0 1010 0 111110 00 00 1 00 0 0 0 1010 0111 011 001 001 +00B4 1 1 000010101110 000 0 0001 0 111110 00 10 0 11 0 1 1 0100 1010 001 011 100 +00B5 1 1 000000001101 010 0 1001 0 111010 00 10 0 11 0 1 1 1111 1010 001 011 100 +00B6 1 1 000000001011 111 0 1010 0 111110 00 00 0 00 0 0 0 0111 0111 011 001 101 +00B7 1 1 000010110000 000 0 0001 0 111110 00 00 0 11 0 1 0 1010 1010 001 000 000 +00B8 1 1 000101011101 000 1 1111 0 111110 00 00 0 11 0 1 0 1010 1010 001 000 000 +00B9 1 1 000000001010 010 1 1010 0 111110 00 10 0 11 0 1 1 0100 1010 001 011 100 +00BA 1 1 000000001101 010 0 1001 0 111010 00 10 0 11 0 1 1 1111 1010 001 011 100 +00BB 1 1 000000001011 111 0 1010 0 111110 00 00 0 00 0 1 0 0111 0111 011 100 101 +00BC 1 1 000000001010 010 1 1010 0 111110 00 10 0 11 0 1 1 0100 1010 001 011 100 +00BD 1 1 000000001101 010 0 1001 0 111010 00 10 0 11 0 1 1 1111 1010 001 011 100 +00BE 1 1 000000001011 111 0 1010 0 111110 00 00 0 00 0 1 0 0111 0111 011 110 101 +00BF 1 1 000000001010 010 1 1010 0 111110 00 10 0 11 0 1 1 0100 1010 001 011 100 +-------------------------------------------------------------------------------- + I D DIRECT-VALUE NXT P COND B SYSCTL OE OS A UK S C W AADR BADR DST FCT SRC +-------------------------------------------------------------------------------- +00C0 1 1 000000001101 010 0 1001 0 111010 00 10 0 11 0 1 1 1111 1010 001 011 100 +00C1 1 1 000000001011 111 0 1010 0 111110 00 00 0 00 0 1 0 0111 0111 011 011 101 +00C2 1 1 000000001101 010 0 1001 0 111010 00 10 0 11 0 1 1 1111 1111 011 000 100 +00C3 1 1 000000001011 111 0 1010 0 111110 00 00 0 00 0 1 0 0111 0111 011 100 101 +00C4 1 1 000000001101 010 0 1001 0 111010 00 10 0 11 0 1 1 1111 1111 011 000 100 +00C5 1 1 000000001011 111 0 1010 0 111110 00 00 0 00 0 1 0 0111 0111 011 110 101 +00C6 1 1 000000001101 010 0 1001 0 111010 00 10 0 11 0 1 1 1111 1111 011 000 100 +00C7 1 1 000000001011 111 0 1010 0 111110 00 00 0 00 0 1 0 0111 0111 011 011 101 +00C8 1 1 000000001011 111 0 1010 0 111110 00 00 0 11 0 1 0 0111 0111 011 111 100 +00C9 1 1 000000001101 010 0 1001 0 111010 00 10 0 11 0 1 1 1111 1111 011 000 100 +00CA 1 1 000000001010 010 1 1010 0 111110 00 00 0 11 0 1 1 1010 1010 011 011 111 +00CB 1 1 000000001101 010 0 1001 0 111010 00 10 0 11 0 1 1 1111 1111 011 000 100 +00CC 1 1 000000001010 010 1 1010 0 111110 00 00 0 11 0 1 0 1010 1010 011 011 111 +00CD 1 1 000000001010 010 1 1010 0 111110 00 10 0 11 0 1 1 1010 1010 011 011 100 +00CE 1 1 000011001110 000 0 1001 0 111010 00 00 0 11 0 1 0 1010 1010 001 000 000 +00CF 1 1 000000001010 010 1 1010 0 111110 00 00 0 11 0 1 0 1010 0101 011 011 111 +00D0 1 1 000000001010 010 1 1010 0 111110 00 10 0 11 0 1 1 1010 1010 011 000 100 +00D1 1 1 000011010001 000 0 1001 0 111010 00 10 0 11 0 1 1 1111 1010 001 011 100 +00D2 1 1 000000001011 111 0 1010 0 111110 00 00 0 11 0 1 0 1010 0100 011 011 111 +00D3 1 1 000000001101 010 0 1001 0 111010 00 10 0 11 0 1 1 1111 1111 011 000 100 +00D4 1 1 000000001010 010 1 1010 0 111110 00 00 0 11 0 1 1 1010 1010 011 011 111 +00D5 1 1 000000001101 010 0 1001 0 111010 00 10 0 11 0 1 1 1111 1111 011 000 100 +00D6 1 1 000000001010 010 1 1010 0 111110 00 00 0 11 0 1 0 1010 1010 011 011 111 +00D7 1 1 000000001010 010 1 1010 0 111110 00 10 0 11 0 1 1 1010 1010 011 011 100 +00D8 1 1 000000001010 010 1 1010 0 111110 00 01 0 11 0 1 1 0100 1010 001 011 100 +00D9 1 1 000011011001 000 0 1001 0 111100 01 00 0 11 0 1 0 1010 1010 001 000 000 +00DA 1 1 000000001010 010 1 1010 0 111110 00 10 0 11 0 1 1 1010 1010 011 000 100 +00DB 1 1 000011011011 111 1 1001 0 111100 10 10 0 11 0 1 1 1111 1010 001 011 100 +00DC 1 1 000000001010 010 1 1010 0 111110 00 10 0 11 0 1 1 0000 1010 001 011 100 +00DD 1 1 000011011101 000 0 1001 0 111010 00 10 0 11 0 1 1 1111 1010 001 011 100 +00DE 1 1 000000001011 111 0 1010 0 111110 00 00 0 11 0 1 0 1010 0111 011 011 111 +00DF 1 1 000000001010 010 1 1010 1 111110 00 10 0 11 0 1 1 1010 1010 001 011 011 +-------------------------------------------------------------------------------- + I D DIRECT-VALUE NXT P COND B SYSCTL OE OS A UK S C W AADR BADR DST FCT SRC +-------------------------------------------------------------------------------- +00E0 1 1 000000001010 010 1 1010 0 111110 00 01 0 11 0 1 0 0111 1010 001 011 100 +00E1 1 1 000000001011 111 0 1010 0 111100 10 10 0 11 0 1 1 1111 1010 001 011 100 +00E2 1 1 000000001010 010 1 1010 0 111110 00 00 0 11 0 1 1 0010 1010 011 011 100 +00E3 1 1 000000001010 010 1 1010 0 111110 00 00 0 11 0 1 1 0100 0010 011 011 100 +00E4 1 1 000000001011 111 0 1010 0 111110 00 00 0 11 0 1 1 1010 0100 011 011 100 +00E5 1 1 000000001101 010 0 1001 0 111010 00 10 0 11 0 1 1 1111 1111 011 000 100 +00E6 1 1 000000001010 010 1 1010 0 111110 00 00 0 11 0 1 0 1010 0011 011 011 111 +00E7 1 1 000000001101 010 0 1001 0 111010 00 10 0 11 0 1 1 1111 1111 011 000 100 +00E8 1 1 000000001011 111 0 1010 0 111110 00 00 0 11 0 1 0 1010 0010 011 011 111 +00E9 1 1 000000001101 010 0 1001 0 111010 00 10 0 11 0 1 1 1111 1111 011 000 100 +00EA 1 1 000000001010 010 1 1010 0 111110 00 00 0 11 0 1 0 1010 0101 011 011 111 +00EB 1 1 000000001101 010 0 1001 0 111010 00 10 0 11 0 1 1 1111 1111 011 000 100 +00EC 1 1 000000001011 111 0 1010 0 111110 00 00 0 11 0 1 0 1010 0100 011 011 111 +00ED 1 1 000000001101 010 0 1001 0 111010 00 10 0 11 0 1 1 1111 1111 011 000 100 +00EE 1 1 000000001010 010 1 1010 0 111110 00 00 0 11 0 1 1 1010 1000 011 011 111 +00EF 1 1 000000011101 010 0 1001 0 111010 00 10 0 11 0 1 1 1111 1111 011 000 100 +00F0 1 1 000000001011 111 0 1010 0 111110 00 00 0 11 0 1 0 1010 1000 011 011 111 +00F1 1 1 000000001010 010 1 1010 0 111110 00 00 0 11 0 1 1 1010 0010 011 000 011 +00F2 1 1 000000001011 111 0 1010 0 111110 00 00 0 11 1 1 1 0010 0011 010 011 111 +00F3 1 1 000000001010 010 1 1010 0 111110 00 00 0 11 0 1 1 1010 0100 011 000 011 +00F4 1 1 000000001011 111 0 1010 0 111110 00 00 0 11 1 1 1 0100 0101 010 011 111 +00F5 1 1 000000001011 111 0 1010 0 111110 00 00 0 11 0 1 1 1010 1000 011 000 011 +00F6 1 1 000000001010 010 1 1010 0 111110 00 00 0 11 0 0 1 1010 0010 011 001 011 +00F7 1 1 000000001011 111 0 1010 0 111110 00 00 0 11 1 1 1 0010 0011 010 011 111 +00F8 1 1 000000001010 010 1 1010 0 111110 00 00 0 11 0 0 1 1010 0100 011 001 011 +00F9 1 1 000000001011 111 0 1010 0 111110 00 00 0 11 1 1 1 0100 0101 010 011 111 +00FA 1 1 000000001011 111 0 1010 0 111110 00 00 0 11 0 0 1 1010 1000 011 001 011 +00FB 1 1 000000001010 010 1 1010 0 111110 00 10 0 11 0 1 1 1000 1000 010 011 100 +00FC 1 1 000000010001 010 0 1001 0 111010 00 10 0 11 0 1 1 1000 1000 011 000 100 +00FD 1 1 000000001010 010 1 1010 0 111110 00 00 0 11 0 1 0 1010 0011 011 011 111 +00FE 1 1 000000010001 010 0 1001 0 111010 00 10 0 11 0 1 1 1000 1000 011 000 100 +00FF 1 1 000000001010 010 1 1010 0 111110 00 00 0 11 0 1 0 1010 0010 011 011 111 +-------------------------------------------------------------------------------- + I D DIRECT-VALUE NXT P COND B SYSCTL OE OS A UK S C W AADR BADR DST FCT SRC +-------------------------------------------------------------------------------- +0100 1 1 000000001011 111 0 1010 0 111110 00 10 0 11 0 1 1 1111 1010 001 011 100 +0101 1 1 000000001010 010 1 1010 0 111110 00 10 0 11 0 1 1 1000 1000 010 011 100 +0102 1 1 000000010001 010 0 1001 0 111010 00 10 0 11 0 1 1 1000 1000 011 000 100 +0103 1 1 000000001010 010 1 1010 0 111110 00 00 0 11 0 1 0 1010 0101 011 011 111 +0104 1 1 000000010001 010 0 1001 0 111010 00 10 0 11 0 1 1 1000 1000 011 000 100 +0105 1 1 000000001010 010 1 1010 0 111110 00 00 0 11 0 1 0 1010 0100 011 011 111 +0106 1 1 000000001011 111 0 1010 0 111110 00 10 0 11 0 1 1 1111 1010 001 011 100 +0107 1 1 000001000010 000 0 0000 0 111110 00 00 0 11 0 1 0 1010 1010 001 000 000 +0108 1 1 000000001010 010 1 1010 0 111110 00 10 0 11 0 1 1 1111 1111 011 000 100 +0109 1 1 000000001011 111 0 1010 0 111110 00 10 0 11 0 1 1 1111 1111 011 000 100 +010A 1 1 000001000111 000 0 0000 0 111110 00 00 0 11 0 1 0 1010 1010 001 000 000 +010B 1 1 000000001010 010 1 1010 0 111110 00 10 0 11 0 1 1 1111 1111 011 000 100 +010C 1 1 000000001011 111 0 1010 0 111110 00 10 0 11 0 1 1 1111 1111 011 000 100 +010D 1 1 000001010000 111 1 0000 0 111110 00 00 0 11 0 1 0 1010 1010 001 000 000 +010E 1 1 000001000010 000 1 0000 0 111110 00 00 0 11 0 1 0 1010 1010 001 000 000 +010F 1 1 000000001010 010 1 1010 0 111110 00 10 0 11 0 1 1 1111 1111 011 000 100 +0110 1 1 000000001011 111 0 1010 0 111110 00 10 0 11 0 1 1 1111 1111 011 000 100 +0111 1 1 000001000111 000 1 0000 0 111110 00 00 0 11 0 1 0 1010 1010 001 000 000 +0112 1 1 000000001010 010 1 1010 0 111110 00 10 0 11 0 1 1 1111 1111 011 000 100 +0113 1 1 000000001011 111 0 1010 0 111110 00 10 0 11 0 1 1 1111 1111 011 000 100 +0114 1 1 000001010000 111 0 0000 0 111110 00 00 0 11 0 1 0 1010 1010 001 000 000 +0115 1 1 000001000010 000 0 0001 0 111110 00 00 0 11 0 1 0 1010 1010 001 000 000 +0116 1 1 000000001010 010 1 1010 0 111110 00 10 0 11 0 1 1 1111 1111 011 000 100 +0117 1 1 000000001011 111 0 1010 0 111110 00 10 0 11 0 1 1 1111 1111 011 000 100 +0118 1 1 000001000111 000 0 0001 0 111110 00 00 0 11 0 1 0 1010 1010 001 000 000 +0119 1 1 000000001010 010 1 1010 0 111110 00 10 0 11 0 1 1 1111 1111 011 000 100 +011A 1 1 000000001011 111 0 1010 0 111110 00 10 0 11 0 1 1 1111 1111 011 000 100 +011B 1 1 000001010000 111 1 0001 0 111110 00 00 0 11 0 1 0 1010 1010 001 000 000 +011C 1 1 000001000010 000 1 0001 0 111110 00 00 0 11 0 1 0 1010 1010 001 000 000 +011D 1 1 000000001010 010 1 1010 0 111110 00 10 0 11 0 1 1 1111 1111 011 000 100 +011E 1 1 000000001011 111 0 1010 0 111110 00 10 0 11 0 1 1 1111 1111 011 000 100 +011F 1 1 000001000111 000 1 0001 0 111110 00 00 0 11 0 1 0 1010 1010 001 000 000 +-------------------------------------------------------------------------------- + I D DIRECT-VALUE NXT P COND B SYSCTL OE OS A UK S C W AADR BADR DST FCT SRC +-------------------------------------------------------------------------------- +0120 1 1 000000001010 010 1 1010 0 111110 00 10 0 11 0 1 1 1111 1111 011 000 100 +0121 1 1 000000001011 111 0 1010 0 111110 00 10 0 11 0 1 1 1111 1111 011 000 100 +0122 1 1 000001010000 111 0 0001 0 111110 00 00 0 11 0 1 0 1010 1010 001 000 000 +0123 1 1 000001000010 000 0 0010 0 111110 00 00 0 11 0 1 0 1010 1010 001 000 000 +0124 1 1 000000001010 010 1 1010 0 111110 00 10 0 11 0 1 1 1111 1111 011 000 100 +0125 1 1 000000001011 111 0 1010 0 111110 00 10 0 11 0 1 1 1111 1111 011 000 100 +0126 1 1 000001000111 000 0 0010 0 111110 00 00 0 11 0 1 0 1010 1010 001 000 000 +0127 1 1 000000001010 010 1 1010 0 111110 00 10 0 11 0 1 1 1111 1111 011 000 100 +0128 1 1 000000001011 111 0 1010 0 111110 00 10 0 11 0 1 1 1111 1111 011 000 100 +0129 1 1 000001010000 111 1 0010 0 111110 00 00 0 11 0 1 0 1010 1010 001 000 000 +012A 1 1 000001000010 000 1 0010 0 111110 00 00 0 11 0 1 0 1010 1010 001 000 000 +012B 1 1 000000001010 010 1 1010 0 111110 00 10 0 11 0 1 1 1111 1111 011 000 100 +012C 1 1 000000001011 111 0 1010 0 111110 00 10 0 11 0 1 1 1111 1111 011 000 100 +012D 1 1 000001000111 000 1 0010 0 111110 00 00 0 11 0 1 0 1010 1010 001 000 000 +012E 1 1 000000001010 010 1 1010 0 111110 00 10 0 11 0 1 1 1111 1111 011 000 100 +012F 1 1 000000001011 111 0 1010 0 111110 00 10 0 11 0 1 1 1111 1111 011 000 100 +0130 1 1 000001010000 111 0 0010 0 111110 00 00 0 11 0 1 0 1010 1010 001 000 000 +0131 1 1 000001000010 000 0 0011 0 111110 00 00 0 11 0 1 0 1010 1010 001 000 000 +0132 1 1 000000001010 010 1 1010 0 111110 00 10 0 11 0 1 1 1111 1111 011 000 100 +0133 1 1 000000001011 111 0 1010 0 111110 00 10 0 11 0 1 1 1111 1111 011 000 100 +0134 1 1 000001000111 111 1 0011 0 111110 00 00 0 11 0 1 0 1010 1010 001 000 000 +0135 1 1 000000001010 010 1 1010 0 111110 00 10 0 11 0 1 1 1111 1111 011 000 100 +0136 1 1 000000001011 111 0 1010 0 111110 00 10 0 11 0 1 1 1111 1111 011 000 100 +0137 1 1 000001010000 000 0 0011 0 111110 00 00 0 11 0 1 0 1010 1010 001 000 000 +0138 1 1 000001000010 000 1 0011 0 111110 00 00 0 11 0 1 0 1010 1010 001 000 000 +0139 1 1 000000001010 010 1 1010 0 111110 00 10 0 11 0 1 1 1111 1111 011 000 100 +013A 1 1 000000001011 111 0 1010 0 111110 00 10 0 11 0 1 1 1111 1111 011 000 100 +013B 1 1 000001000111 000 1 0011 0 111110 00 00 0 11 0 1 0 1010 1010 001 000 000 +013C 1 1 000000001010 010 1 1010 0 111110 00 10 0 11 0 1 1 1111 1111 011 000 100 +013D 1 1 000000001011 111 0 1010 0 111110 00 10 0 11 0 1 1 1111 1111 011 000 100 +013E 1 1 000001010000 111 0 0011 0 111110 00 00 0 11 0 1 0 1010 1010 001 000 000 +013F 1 1 000000001010 010 1 1010 0 111110 00 00 0 11 0 1 0 1010 1010 001 000 000 +-------------------------------------------------------------------------------- + I D DIRECT-VALUE NXT P COND B SYSCTL OE OS A UK S C W AADR BADR DST FCT SRC +-------------------------------------------------------------------------------- +0140 1 0 000000000110 000 0 1111 0 111110 00 00 0 11 0 1 0 1010 1010 001 000 000 +0141 1 1 000101000110 000 1 0100 0 111110 00 00 0 11 0 1 0 1010 1010 011 011 111 +0142 1 0 000000001111 000 0 1111 0 111110 00 00 0 11 0 1 0 1010 1010 001 000 000 +0143 1 0 000000001010 000 0 1111 0 111110 00 00 0 11 0 1 0 0111 1010 000 100 101 +0144 1 1 000000001010 010 1 1010 0 111110 00 00 0 11 0 1 0 1010 1010 001 001 110 +0145 1 1 000101000111 000 0 1110 0 111110 00 00 0 11 0 1 0 1010 1010 001 000 000 +0146 1 1 000101011111 010 1 0001 0 111110 00 00 0 00 0 0 0 1010 0111 011 000 001 +0147 1 0 000001100000 000 0 1111 0 111110 00 00 0 11 0 1 0 1010 1010 001 000 000 +0148 1 1 000101001111 000 1 0001 0 111110 00 00 0 11 0 1 0 1010 1010 011 011 111 +0149 1 0 000011110000 000 0 1111 0 111110 00 00 0 11 0 1 0 1010 1010 001 000 000 +014A 1 0 000010100000 000 0 1111 0 111110 00 00 0 11 0 1 0 0111 1010 000 100 101 +014B 1 1 000000001010 010 1 1010 0 111110 00 00 0 11 0 1 0 1010 1010 001 001 110 +014C 1 1 000101001110 000 0 1110 0 111110 00 00 0 11 0 1 0 1010 1010 001 000 000 +014D 1 1 000000001010 010 1 1010 0 111110 00 00 0 00 0 0 0 1010 0111 011 000 001 +014E 1 1 000000001011 111 0 1010 0 111110 00 00 0 11 0 1 0 1010 1010 001 000 000 +014F 1 1 000000001011 111 0 1010 0 111110 00 00 0 10 0 0 0 1010 0111 011 000 001 +0150 1 1 000000001010 010 1 1010 0 111110 00 10 0 11 0 1 1 1000 1000 010 011 100 +0151 1 1 000000010001 010 0 1001 0 111010 00 10 0 11 0 1 1 1000 1000 011 000 100 +0152 1 1 000000001010 010 1 1010 0 111110 00 00 0 11 0 1 0 1010 1010 001 101 000 +0153 1 1 000000010001 010 0 1001 0 111010 00 10 0 11 0 1 1 1000 1000 011 000 100 +0154 1 1 000000001010 010 1 1010 0 111110 00 00 0 11 0 1 0 1010 0111 011 011 111 +0155 1 1 000000001011 111 0 1010 0 111110 00 10 0 11 0 1 1 1111 1010 001 011 100 +0156 1 1 000000001010 010 1 1010 0 111110 00 10 0 11 0 1 1 0010 1010 001 011 100 +0157 1 1 000101010111 000 0 1001 0 111010 00 10 0 11 0 1 1 1111 1010 001 011 100 +0158 1 1 000000001011 111 0 1010 0 111110 00 00 0 11 0 1 0 1010 0111 011 011 111 +0159 1 1 000000001010 010 1 1010 0 111110 00 00 0 11 1 1 1 0010 0111 010 011 111 +015A 1 1 000000001010 010 1 1010 0 111110 00 00 0 11 0 1 1 0100 0010 010 011 100 +015B 1 1 000000001010 010 1 1010 0 111110 00 00 0 11 1 1 1 0101 0100 010 011 111 +015C 1 1 000000001011 111 0 1010 0 111110 00 00 0 11 1 1 1 0010 0011 010 011 111 +015D 1 1 000000001101 010 0 1001 0 111010 00 10 0 11 0 1 1 1111 1111 011 000 100 +015E 1 1 000000001011 111 0 1010 0 111110 00 00 0 00 0 0 0 0111 0111 011 001 111 +015F 1 1 000000000000 011 1 1111 0 111110 00 00 0 01 0 0 0 1100 1010 001 001 100 +-------------------------------------------------------------------------------- + I D DIRECT-VALUE NXT P COND B SYSCTL OE OS A UK S C W AADR BADR DST FCT SRC +-------------------------------------------------------------------------------- +0160 0 0 000000000000 000 0 0000 0 000000 00 00 0 00 0 0 0 0000 0000 000 000 000 +0161 0 0 000000000000 000 0 0000 0 000000 00 00 0 00 0 0 0 0000 0000 000 000 000 +0162 0 0 000000000000 000 0 0000 0 000000 00 00 0 00 0 0 0 0000 0000 000 000 000 +0163 0 0 000000000000 000 0 0000 0 000000 00 00 0 00 0 0 0 0000 0000 000 000 000 +0164 0 0 000000000000 000 0 0000 0 000000 00 00 0 00 0 0 0 0000 0000 000 000 000 +0165 0 0 000000000000 000 0 0000 0 000000 00 00 0 00 0 0 0 0000 0000 000 000 000 +0166 0 0 000000000000 000 0 0000 0 000000 00 00 0 00 0 0 0 0000 0000 000 000 000 +0167 0 0 000000000000 000 0 0000 0 000000 00 00 0 00 0 0 0 0000 0000 000 000 000 +0168 0 0 000000000000 000 0 0000 0 000000 00 00 0 00 0 0 0 0000 0000 000 000 000 +0169 0 0 000000000000 000 0 0000 0 000000 00 00 0 00 0 0 0 0000 0000 000 000 000 +016A 0 0 000000000000 000 0 0000 0 000000 00 00 0 00 0 0 0 0000 0000 000 000 000 +016B 0 0 000000000000 000 0 0000 0 000000 00 00 0 00 0 0 0 0000 0000 000 000 000 +016C 0 0 000000000000 000 0 0000 0 000000 00 00 0 00 0 0 0 0000 0000 000 000 000 +016D 0 0 000000000000 000 0 0000 0 000000 00 00 0 00 0 0 0 0000 0000 000 000 000 +016E 0 0 000000000000 000 0 0000 0 000000 00 00 0 00 0 0 0 0000 0000 000 000 000 +016F 0 0 000000000000 000 0 0000 0 000000 00 00 0 00 0 0 0 0000 0000 000 000 000 +0170 0 0 000000000000 000 0 0000 0 000000 00 00 0 00 0 0 0 0000 0000 000 000 000 +0171 0 0 000000000000 000 0 0000 0 000000 00 00 0 00 0 0 0 0000 0000 000 000 000 +0172 0 0 000000000000 000 0 0000 0 000000 00 00 0 00 0 0 0 0000 0000 000 000 000 +0173 0 0 000000000000 000 0 0000 0 000000 00 00 0 00 0 0 0 0000 0000 000 000 000 +0174 0 0 000000000000 000 0 0000 0 000000 00 00 0 00 0 0 0 0000 0000 000 000 000 +0175 0 0 000000000000 000 0 0000 0 000000 00 00 0 00 0 0 0 0000 0000 000 000 000 +0176 0 0 000000000000 000 0 0000 0 000000 00 00 0 00 0 0 0 0000 0000 000 000 000 +0177 0 0 000000000000 000 0 0000 0 000000 00 00 0 00 0 0 0 0000 0000 000 000 000 +0178 0 0 000000000000 000 0 0000 0 000000 00 00 0 00 0 0 0 0000 0000 000 000 000 +0179 0 0 000000000000 000 0 0000 0 000000 00 00 0 00 0 0 0 0000 0000 000 000 000 +017A 0 0 000000000000 000 0 0000 0 000000 00 00 0 00 0 0 0 0000 0000 000 000 000 +017B 0 0 000000000000 000 0 0000 0 000000 00 00 0 00 0 0 0 0000 0000 000 000 000 +017C 0 0 000000000000 000 0 0000 0 000000 00 00 0 00 0 0 0 0000 0000 000 000 000 +017D 0 0 000000000000 000 0 0000 0 000000 00 00 0 00 0 0 0 0000 0000 000 000 000 +017E 0 0 000000000000 000 0 0000 0 000000 00 00 0 00 0 0 0 0000 0000 000 000 000 +017F 0 0 000000000000 000 0 0000 0 000000 00 00 0 00 0 0 0 0000 0000 000 000 000 +-------------------------------------------------------------------------------- + I D DIRECT-VALUE NXT P COND B SYSCTL OE OS A UK S C W AADR BADR DST FCT SRC +-------------------------------------------------------------------------------- +0180 0 0 000000000000 000 0 0000 0 000000 00 00 0 00 0 0 0 0000 0000 000 000 000 +0181 0 0 000000000000 000 0 0000 0 000000 00 00 0 00 0 0 0 0000 0000 000 000 000 +0182 0 0 000000000000 000 0 0000 0 000000 00 00 0 00 0 0 0 0000 0000 000 000 000 +0183 0 0 000000000000 000 0 0000 0 000000 00 00 0 00 0 0 0 0000 0000 000 000 000 +0184 0 0 000000000000 000 0 0000 0 000000 00 00 0 00 0 0 0 0000 0000 000 000 000 +0185 0 0 000000000000 000 0 0000 0 000000 00 00 0 00 0 0 0 0000 0000 000 000 000 +0186 0 0 000000000000 000 0 0000 0 000000 00 00 0 00 0 0 0 0000 0000 000 000 000 +0187 0 0 000000000000 000 0 0000 0 000000 00 00 0 00 0 0 0 0000 0000 000 000 000 +0188 0 0 000000000000 000 0 0000 0 000000 00 00 0 00 0 0 0 0000 0000 000 000 000 +0189 0 0 000000000000 000 0 0000 0 000000 00 00 0 00 0 0 0 0000 0000 000 000 000 +018A 0 0 000000000000 000 0 0000 0 000000 00 00 0 00 0 0 0 0000 0000 000 000 000 +018B 0 0 000000000000 000 0 0000 0 000000 00 00 0 00 0 0 0 0000 0000 000 000 000 +018C 0 0 000000000000 000 0 0000 0 000000 00 00 0 00 0 0 0 0000 0000 000 000 000 +018D 0 0 000000000000 000 0 0000 0 000000 00 00 0 00 0 0 0 0000 0000 000 000 000 +018E 0 0 000000000000 000 0 0000 0 000000 00 00 0 00 0 0 0 0000 0000 000 000 000 +018F 0 0 000000000000 000 0 0000 0 000000 00 00 0 00 0 0 0 0000 0000 000 000 000 +0190 0 0 000000000000 000 0 0000 0 000000 00 00 0 00 0 0 0 0000 0000 000 000 000 +0191 0 0 000000000000 000 0 0000 0 000000 00 00 0 00 0 0 0 0000 0000 000 000 000 +0192 0 0 000000000000 000 0 0000 0 000000 00 00 0 00 0 0 0 0000 0000 000 000 000 +0193 0 0 000000000000 000 0 0000 0 000000 00 00 0 00 0 0 0 0000 0000 000 000 000 +0194 0 0 000000000000 000 0 0000 0 000000 00 00 0 00 0 0 0 0000 0000 000 000 000 +0195 0 0 000000000000 000 0 0000 0 000000 00 00 0 00 0 0 0 0000 0000 000 000 000 +0196 0 0 000000000000 000 0 0000 0 000000 00 00 0 00 0 0 0 0000 0000 000 000 000 +0197 0 0 000000000000 000 0 0000 0 000000 00 00 0 00 0 0 0 0000 0000 000 000 000 +0198 0 0 000000000000 000 0 0000 0 000000 00 00 0 00 0 0 0 0000 0000 000 000 000 +0199 0 0 000000000000 000 0 0000 0 000000 00 00 0 00 0 0 0 0000 0000 000 000 000 +019A 0 0 000000000000 000 0 0000 0 000000 00 00 0 00 0 0 0 0000 0000 000 000 000 +019B 0 0 000000000000 000 0 0000 0 000000 00 00 0 00 0 0 0 0000 0000 000 000 000 +019C 0 0 000000000000 000 0 0000 0 000000 00 00 0 00 0 0 0 0000 0000 000 000 000 +019D 0 0 000000000000 000 0 0000 0 000000 00 00 0 00 0 0 0 0000 0000 000 000 000 +019E 0 0 000000000000 000 0 0000 0 000000 00 00 0 00 0 0 0 0000 0000 000 000 000 +019F 0 0 000000000000 000 0 0000 0 000000 00 00 0 00 0 0 0 0000 0000 000 000 000 +-------------------------------------------------------------------------------- + I D DIRECT-VALUE NXT P COND B SYSCTL OE OS A UK S C W AADR BADR DST FCT SRC +-------------------------------------------------------------------------------- +01A0 0 0 000000000000 000 0 0000 0 000000 00 00 0 00 0 0 0 0000 0000 000 000 000 +01A1 0 0 000000000000 000 0 0000 0 000000 00 00 0 00 0 0 0 0000 0000 000 000 000 +01A2 0 0 000000000000 000 0 0000 0 000000 00 00 0 00 0 0 0 0000 0000 000 000 000 +01A3 0 0 000000000000 000 0 0000 0 000000 00 00 0 00 0 0 0 0000 0000 000 000 000 +01A4 0 0 000000000000 000 0 0000 0 000000 00 00 0 00 0 0 0 0000 0000 000 000 000 +01A5 0 0 000000000000 000 0 0000 0 000000 00 00 0 00 0 0 0 0000 0000 000 000 000 +01A6 0 0 000000000000 000 0 0000 0 000000 00 00 0 00 0 0 0 0000 0000 000 000 000 +01A7 0 0 000000000000 000 0 0000 0 000000 00 00 0 00 0 0 0 0000 0000 000 000 000 +01A8 0 0 000000000000 000 0 0000 0 000000 00 00 0 00 0 0 0 0000 0000 000 000 000 +01A9 0 0 000000000000 000 0 0000 0 000000 00 00 0 00 0 0 0 0000 0000 000 000 000 +01AA 0 0 000000000000 000 0 0000 0 000000 00 00 0 00 0 0 0 0000 0000 000 000 000 +01AB 0 0 000000000000 000 0 0000 0 000000 00 00 0 00 0 0 0 0000 0000 000 000 000 +01AC 0 0 000000000000 000 0 0000 0 000000 00 00 0 00 0 0 0 0000 0000 000 000 000 +01AD 0 0 000000000000 000 0 0000 0 000000 00 00 0 00 0 0 0 0000 0000 000 000 000 +01AE 0 0 000000000000 000 0 0000 0 000000 00 00 0 00 0 0 0 0000 0000 000 000 000 +01AF 0 0 000000000000 000 0 0000 0 000000 00 00 0 00 0 0 0 0000 0000 000 000 000 +01B0 0 0 000000000000 000 0 0000 0 000000 00 00 0 00 0 0 0 0000 0000 000 000 000 +01B1 0 0 000000000000 000 0 0000 0 000000 00 00 0 00 0 0 0 0000 0000 000 000 000 +01B2 0 0 000000000000 000 0 0000 0 000000 00 00 0 00 0 0 0 0000 0000 000 000 000 +01B3 0 0 000000000000 000 0 0000 0 000000 00 00 0 00 0 0 0 0000 0000 000 000 000 +01B4 0 0 000000000000 000 0 0000 0 000000 00 00 0 00 0 0 0 0000 0000 000 000 000 +01B5 0 0 000000000000 000 0 0000 0 000000 00 00 0 00 0 0 0 0000 0000 000 000 000 +01B6 0 0 000000000000 000 0 0000 0 000000 00 00 0 00 0 0 0 0000 0000 000 000 000 +01B7 0 0 000000000000 000 0 0000 0 000000 00 00 0 00 0 0 0 0000 0000 000 000 000 +01B8 0 0 000000000000 000 0 0000 0 000000 00 00 0 00 0 0 0 0000 0000 000 000 000 +01B9 0 0 000000000000 000 0 0000 0 000000 00 00 0 00 0 0 0 0000 0000 000 000 000 +01BA 0 0 000000000000 000 0 0000 0 000000 00 00 0 00 0 0 0 0000 0000 000 000 000 +01BB 0 0 000000000000 000 0 0000 0 000000 00 00 0 00 0 0 0 0000 0000 000 000 000 +01BC 0 0 000000000000 000 0 0000 0 000000 00 00 0 00 0 0 0 0000 0000 000 000 000 +01BD 0 0 000000000000 000 0 0000 0 000000 00 00 0 00 0 0 0 0000 0000 000 000 000 +01BE 0 0 000000000000 000 0 0000 0 000000 00 00 0 00 0 0 0 0000 0000 000 000 000 +01BF 0 0 000000000000 000 0 0000 0 000000 00 00 0 00 0 0 0 0000 0000 000 000 000 +-------------------------------------------------------------------------------- + I D DIRECT-VALUE NXT P COND B SYSCTL OE OS A UK S C W AADR BADR DST FCT SRC +-------------------------------------------------------------------------------- +01C0 0 0 000000000000 000 0 0000 0 000000 00 00 0 00 0 0 0 0000 0000 000 000 000 +01C1 0 0 000000000000 000 0 0000 0 000000 00 00 0 00 0 0 0 0000 0000 000 000 000 +01C2 0 0 000000000000 000 0 0000 0 000000 00 00 0 00 0 0 0 0000 0000 000 000 000 +01C3 0 0 000000000000 000 0 0000 0 000000 00 00 0 00 0 0 0 0000 0000 000 000 000 +01C4 0 0 000000000000 000 0 0000 0 000000 00 00 0 00 0 0 0 0000 0000 000 000 000 +01C5 0 0 000000000000 000 0 0000 0 000000 00 00 0 00 0 0 0 0000 0000 000 000 000 +01C6 0 0 000000000000 000 0 0000 0 000000 00 00 0 00 0 0 0 0000 0000 000 000 000 +01C7 0 0 000000000000 000 0 0000 0 000000 00 00 0 00 0 0 0 0000 0000 000 000 000 +01C8 0 0 000000000000 000 0 0000 0 000000 00 00 0 00 0 0 0 0000 0000 000 000 000 +01C9 0 0 000000000000 000 0 0000 0 000000 00 00 0 00 0 0 0 0000 0000 000 000 000 +01CA 0 0 000000000000 000 0 0000 0 000000 00 00 0 00 0 0 0 0000 0000 000 000 000 +01CB 0 0 000000000000 000 0 0000 0 000000 00 00 0 00 0 0 0 0000 0000 000 000 000 +01CC 0 0 000000000000 000 0 0000 0 000000 00 00 0 00 0 0 0 0000 0000 000 000 000 +01CD 0 0 000000000000 000 0 0000 0 000000 00 00 0 00 0 0 0 0000 0000 000 000 000 +01CE 0 0 000000000000 000 0 0000 0 000000 00 00 0 00 0 0 0 0000 0000 000 000 000 +01CF 0 0 000000000000 000 0 0000 0 000000 00 00 0 00 0 0 0 0000 0000 000 000 000 +01D0 0 0 000000000000 000 0 0000 0 000000 00 00 0 00 0 0 0 0000 0000 000 000 000 +01D1 0 0 000000000000 000 0 0000 0 000000 00 00 0 00 0 0 0 0000 0000 000 000 000 +01D2 0 0 000000000000 000 0 0000 0 000000 00 00 0 00 0 0 0 0000 0000 000 000 000 +01D3 0 0 000000000000 000 0 0000 0 000000 00 00 0 00 0 0 0 0000 0000 000 000 000 +01D4 0 0 000000000000 000 0 0000 0 000000 00 00 0 00 0 0 0 0000 0000 000 000 000 +01D5 0 0 000000000000 000 0 0000 0 000000 00 00 0 00 0 0 0 0000 0000 000 000 000 +01D6 0 0 000000000000 000 0 0000 0 000000 00 00 0 00 0 0 0 0000 0000 000 000 000 +01D7 0 0 000000000000 000 0 0000 0 000000 00 00 0 00 0 0 0 0000 0000 000 000 000 +01D8 0 0 000000000000 000 0 0000 0 000000 00 00 0 00 0 0 0 0000 0000 000 000 000 +01D9 0 0 000000000000 000 0 0000 0 000000 00 00 0 00 0 0 0 0000 0000 000 000 000 +01DA 0 0 000000000000 000 0 0000 0 000000 00 00 0 00 0 0 0 0000 0000 000 000 000 +01DB 0 0 000000000000 000 0 0000 0 000000 00 00 0 00 0 0 0 0000 0000 000 000 000 +01DC 0 0 000000000000 000 0 0000 0 000000 00 00 0 00 0 0 0 0000 0000 000 000 000 +01DD 0 0 000000000000 000 0 0000 0 000000 00 00 0 00 0 0 0 0000 0000 000 000 000 +01DE 0 0 000000000000 000 0 0000 0 000000 00 00 0 00 0 0 0 0000 0000 000 000 000 +01DF 0 0 000000000000 000 0 0000 0 000000 00 00 0 00 0 0 0 0000 0000 000 000 000 +-------------------------------------------------------------------------------- + I D DIRECT-VALUE NXT P COND B SYSCTL OE OS A UK S C W AADR BADR DST FCT SRC +-------------------------------------------------------------------------------- +01E0 0 0 000000000000 000 0 0000 0 000000 00 00 0 00 0 0 0 0000 0000 000 000 000 +01E1 0 0 000000000000 000 0 0000 0 000000 00 00 0 00 0 0 0 0000 0000 000 000 000 +01E2 0 0 000000000000 000 0 0000 0 000000 00 00 0 00 0 0 0 0000 0000 000 000 000 +01E3 0 0 000000000000 000 0 0000 0 000000 00 00 0 00 0 0 0 0000 0000 000 000 000 +01E4 0 0 000000000000 000 0 0000 0 000000 00 00 0 00 0 0 0 0000 0000 000 000 000 +01E5 0 0 000000000000 000 0 0000 0 000000 00 00 0 00 0 0 0 0000 0000 000 000 000 +01E6 0 0 000000000000 000 0 0000 0 000000 00 00 0 00 0 0 0 0000 0000 000 000 000 +01E7 0 0 000000000000 000 0 0000 0 000000 00 00 0 00 0 0 0 0000 0000 000 000 000 +01E8 0 0 000000000000 000 0 0000 0 000000 00 00 0 00 0 0 0 0000 0000 000 000 000 +01E9 0 0 000000000000 000 0 0000 0 000000 00 00 0 00 0 0 0 0000 0000 000 000 000 +01EA 0 0 000000000000 000 0 0000 0 000000 00 00 0 00 0 0 0 0000 0000 000 000 000 +01EB 0 0 000000000000 000 0 0000 0 000000 00 00 0 00 0 0 0 0000 0000 000 000 000 +01EC 0 0 000000000000 000 0 0000 0 000000 00 00 0 00 0 0 0 0000 0000 000 000 000 +01ED 0 0 000000000000 000 0 0000 0 000000 00 00 0 00 0 0 0 0000 0000 000 000 000 +01EE 0 0 000000000000 000 0 0000 0 000000 00 00 0 00 0 0 0 0000 0000 000 000 000 +01EF 0 0 000000000000 000 0 0000 0 000000 00 00 0 00 0 0 0 0000 0000 000 000 000 +01F0 0 0 000000000000 000 0 0000 0 000000 00 00 0 00 0 0 0 0000 0000 000 000 000 +01F1 0 0 000000000000 000 0 0000 0 000000 00 00 0 00 0 0 0 0000 0000 000 000 000 +01F2 0 0 000000000000 000 0 0000 0 000000 00 00 0 00 0 0 0 0000 0000 000 000 000 +01F3 0 0 000000000000 000 0 0000 0 000000 00 00 0 00 0 0 0 0000 0000 000 000 000 +01F4 0 0 000000000000 000 0 0000 0 000000 00 00 0 00 0 0 0 0000 0000 000 000 000 +01F5 0 0 000000000000 000 0 0000 0 000000 00 00 0 00 0 0 0 0000 0000 000 000 000 +01F6 0 0 000000000000 000 0 0000 0 000000 00 00 0 00 0 0 0 0000 0000 000 000 000 +01F7 0 0 000000000000 000 0 0000 0 000000 00 00 0 00 0 0 0 0000 0000 000 000 000 +01F8 0 0 000000000000 000 0 0000 0 000000 00 00 0 00 0 0 0 0000 0000 000 000 000 +01F9 0 0 000000000000 000 0 0000 0 000000 00 00 0 00 0 0 0 0000 0000 000 000 000 +01FA 0 0 000000000000 000 0 0000 0 000000 00 00 0 00 0 0 0 0000 0000 000 000 000 +01FB 0 0 000000000000 000 0 0000 0 000000 00 00 0 00 0 0 0 0000 0000 000 000 000 +01FC 0 0 000000000000 000 0 0000 0 000000 00 00 0 00 0 0 0 0000 0000 000 000 000 +01FD 0 0 000000000000 000 0 0000 0 000000 00 00 0 00 0 0 0 0000 0000 000 000 000 +01FE 0 0 000000000000 000 0 0000 0 000000 00 00 0 00 0 0 0 0000 0000 000 000 000 +01FF 1 1 000010000100 000 1 1111 0 111110 00 00 0 11 0 1 0 1010 1010 001 000 000
Am9080/prom/microcode.hex Property changes : Added: svn:eol-style ## -0,0 +1 ## +CRLF \ No newline at end of property Index: Am9080/prom/microcode.lst =================================================================== --- Am9080/prom/microcode.lst (nonexistent) +++ Am9080/prom/microcode.lst (revision 5) @@ -0,0 +1,561 @@ +----------------------------------------------------------------------------------------- + I D DIRECT-VALUE NXT P COND B SYSCTL OE OS A UK S C W AADR BADR DST FCT SRC +----------------------------------------------------------------------------------------- +0000 - m 000000111000 C/R - TRUE 0 NOC -- INTE 0 11 0 1 16 R_PC R_PC RAMF AND ZA +0001 - - 000000000000 C/R - TRUE 0 NOC -- ---- 0 11 0 1 8 RAS1 R38Z RAMF OR DZ +0002 - - 000000000000 C/R - TRUE 0 NOC -- ---- 0 11 0 1 8 RAS1 RZ38 RAMF AND ZA +0003 - - 000000000000 R/PUSH ! TRUE 0 NOC -- ADDR 0 11 0 1 8 RAS1 RAS1 RAMF AND ZA +0004 i - = location = C/R - RDY 0 MEMR -- ADDR 0 11 0 1 16 R_PC R_PC RAMF OR ZA +0005 - - 000000001100 D/R ! HOLD 0 NOC -- ADDR 0 11 0 1 16 R_PC R_PC RAMF ADD ZA +0006 (uninitialized) +0007 (uninitialized) +0008 (uninitialized) +0009 (uninitialized) +000A - - = location = R/RTN - HOLD 0 HLDA -- ---- 0 11 0 1 8 RAS1 RAS1 NOP EXNOR DZ +000B - - = location = R/F - HOLD 0 HLDA -- ---- 0 11 0 1 8 RAS1 RAS1 NOP EXNOR DZ +000C - - = location = D/R ! HOLD 0 HLDA -- ---- 0 11 0 1 8 RAS1 RAS1 NOP EXNOR DZ +000D - - = location = R/RTN ! RDY 0 MEMR -- ADDR 0 11 0 1 16 R_PC R_PC RAMF OR ZA +000E - - = location = R/RTN ! RDY 0 MEMW YH ADDR 0 11 0 1 16 R_PC R_PC RAMF OR ZA +000F - - = location = R/F ! RDY 0 MEMW YH ADDR 0 11 0 1 16 R_PC R_PC RAMF OR ZA +0010 - - = location = R/F ! RDY 0 MEMR -- ADDR 0 11 0 1 16 R_PC R_PC RAMF OR ZA +0011 - - = location = R/RTN ! RDY 0 MEMR -- ADDR 0 11 0 1 16 R_SP R_SP RAMF OR ZA +0012 - - = location = R/RTN ! RDY 0 MEMW YH ADDR 0 11 0 1 16 R_SP R_SP RAMF OR ZA +0013 - - = location = R/RTN ! RDY 0 MEMW YL ADDR 0 11 0 1 16 R_SP R_SP RAMF OR ZA +0014 - - 000000001011 R/F - HOLD 1 NOC -- ---- 1 11 0 1 8 RAS1 RAS1 RAMF OR ZA +0015 - - 000000001010 C/SBR ! HOLD 0 NOC -- ADDR 0 11 0 1 16 R_HL RAS1 NOP OR ZA +0016 - - 000000001010 C/SBR ! HOLD 0 NOC -- DATA 1 11 0 1 8 RAS1 RAS1 NOP OR ZA +0017 - - = location = R/F ! RDY 0 MEMW YH ADDR 0 11 0 1 16 R_PC R_PC RAMF OR ZA +0018 - - 000000001010 C/SBR ! HOLD 0 NOC -- ADDR 0 11 0 1 16 R_HL RAS1 NOP OR ZA +0019 - - 000000001101 C/SBR - RDY 0 MEMR -- ADDR 0 11 0 1 16 R_PC R_PC RAMF OR ZA +001A - - 000000001011 R/F - HOLD 1 NOC -- ---- 0 11 0 1 8 RAS1 RAS1 RAMF OR DZ +001B - - 000000001101 C/SBR - RDY 0 MEMR -- ADDR 0 11 0 1 16 R_PC R_PC RAMF ADD ZA +001C - - 000000001011 R/F - HOLD 1 NOC -- ---- 0 11 0 1 8 RAS1 RAS1 RAMF OR DZ +001D - - 111111111111 R/F ! TRUE 0 HLDA FL INTE 0 11 0 1 8 RAS1 RAS1 NOP EXNOR DZ +001E - - 000000001101 C/SBR - RDY 0 MEMR -- ---- 0 11 0 1 8 RAS1 RAS1 NOP EXNOR DZ +001F - - 000000001010 C/SBR ! HOLD 0 NOC -- DATA 0 11 0 1 8 RAS1 RAS1 RAMF OR DZ +----------------------------------------------------------------------------------------- + I D DIRECT-VALUE NXT P COND B SYSCTL OE OS A UK S C W AADR BADR DST FCT SRC +----------------------------------------------------------------------------------------- +0020 - - 000000001010 C/SBR ! HOLD 0 NOC -- ADDR 0 11 0 1 16 R_HL RAS1 NOP OR ZA +0021 - - 000000001111 R/F ! RDY 0 MEMW YH ADDR 0 11 0 1 16 R_PC R_PC RAMF ADD ZA +0022 - - 000000001101 C/SBR - RDY 0 MEMR -- ADDR 0 11 0 1 16 R_PC R_PC RAMF ADD ZA +0023 - - 000000001010 C/SBR ! HOLD 0 NOC -- ---- 0 11 0 1 8 RAS1 R_CB RAMF OR DZ +0024 - - 000000001101 C/SBR - RDY 0 MEMR -- ADDR 0 11 0 1 16 R_PC R_PC RAMF ADD ZA +0025 - - 000000001011 R/F - HOLD 0 NOC -- ---- 0 11 0 1 8 RAS1 R_BC RAMF OR DZ +0026 - - 000000001101 C/SBR - RDY 0 MEMR -- ADDR 0 11 0 1 16 R_PC R_PC RAMF ADD ZA +0027 - - 000000001010 C/SBR ! HOLD 0 NOC -- ---- 0 11 0 1 16 RAS1 RAS1 RAMF OR DZ +0028 - - 000000001101 C/SBR - RDY 0 MEMR -- ADDR 0 11 0 1 16 R_PC R_PC RAMF ADD ZA +0029 - - 000000001010 C/SBR ! HOLD 0 NOC -- ---- 0 11 0 1 8 RAS1 RAS1 RAMF OR DZ +002A - - 000000001010 C/SBR ! HOLD 0 NOC -- ADDR 0 11 0 1 16 RAS1 RAS1 NOP OR ZA +002B - - 000000001101 C/SBR - RDY 0 MEMR -- ADDR 0 11 0 1 16 R_PC R_PC RAMF OR ZA +002C - - 000000001011 R/F - HOLD 0 NOC -- ---- 0 11 0 1 8 R_A? R_A? RAMF OR DZ +002D - - 000000001101 C/SBR - RDY 0 MEMR -- ADDR 0 11 0 1 16 R_PC R_PC RAMF ADD ZA +002E - - 000000001010 C/SBR ! HOLD 0 NOC -- ---- 0 11 0 1 16 RAS1 RAS1 RAMF OR DZ +002F - - 000000001101 C/SBR - RDY 0 MEMR -- ADDR 0 11 0 1 16 R_PC R_PC RAMF ADD ZA +0030 - - 000000001010 C/SBR ! HOLD 0 NOC -- ---- 0 11 0 1 8 RAS1 RAS1 RAMF OR DZ +0031 - - 000000001010 C/SBR ! HOLD 0 NOC -- ADDR 0 11 0 1 16 RAS1 RAS1 RAMF OR ZA +0032 - - 000000001010 C/SBR ! HOLD 0 NOC -- DATA 0 11 0 1 8 R_A? R_A? RAMF OR ZA +0033 - - 000000001111 R/F ! RDY 0 MEMW YH ADDR 0 11 0 1 16 R_PC R_PC RAMF OR ZA +0034 - - 000000001011 R/F - HOLD 0 NOC -- ---- 1 00 0 0 8 RAS1 R_A? RAMF ADD AB +0035 - - 000000001010 C/SBR ! HOLD 0 NOC -- ADDR 0 11 0 1 16 R_HL RAS1 NOP OR ZA +0036 - - 000000001101 C/SBR - RDY 0 MEMR -- ADDR 0 11 0 1 16 R_PC R_PC RAMF OR ZA +0037 - - 000000001011 R/F - HOLD 0 NOC -- ---- 0 00 0 0 8 R_A? R_A? RAMF ADD DA +0038 - - 000000001101 C/SBR - RDY 0 MEMR -- ADDR 0 11 0 1 16 R_PC R_PC RAMF ADD ZA +0039 - - 000000001011 R/F - HOLD 0 NOC -- ---- 0 00 0 0 8 R_A? R_A? RAMF ADD DA +003A - - 000000110100 C/R - CY 0 NOC -- ---- 0 11 0 1 8 RAS1 RAS1 NOP EXNOR DZ +003B - - 000000001011 R/F - HOLD 0 NOC -- ---- 1 00 0 1 8 RAS1 R_A? RAMF ADD AB +003C - - 000000110110 C/R - CY 0 NOC -- ADDR 0 11 0 1 16 R_HL RAS1 NOP OR ZA +003D - - 000000001101 C/SBR - RDY 0 MEMR -- ADDR 0 11 0 1 16 R_PC R_PC RAMF OR ZA +003E - - 000000001011 R/F - HOLD 0 NOC -- ---- 0 00 0 1 8 R_A? R_A? RAMF ADD DA +003F - - 000000111000 C/R - CY 0 NOC -- ---- 0 11 0 1 8 RAS1 RAS1 NOP EXNOR DZ +----------------------------------------------------------------------------------------- + I D DIRECT-VALUE NXT P COND B SYSCTL OE OS A UK S C W AADR BADR DST FCT SRC +----------------------------------------------------------------------------------------- +0040 - - 000000001101 C/SBR - RDY 0 MEMR -- ADDR 0 11 0 1 16 R_PC R_PC RAMF ADD ZA +0041 - - 000000001011 R/F - HOLD 0 NOC -- ---- 0 00 0 1 8 R_A? R_A? RAMF ADD DA +0042 - - 000000001101 C/SBR - RDY 0 MEMR -- ADDR 0 11 0 1 16 R_PC R_PC RAMF ADD ZA +0043 - - 000000001010 C/SBR ! HOLD 0 NOC -- ---- 0 11 0 1 16 RAS1 RAS1 RAMF OR DZ +0044 - - 000000001101 C/SBR - RDY 0 MEMR -- ADDR 0 11 0 1 16 R_PC R_PC RAMF ADD ZA +0045 - - 000000001010 C/SBR ! HOLD 0 NOC -- ---- 0 11 0 1 8 RAS1 RAS1 RAMF OR DZ +0046 - - 000000001011 R/F - HOLD 0 NOC -- ADDR 0 11 0 1 16 RAS1 R_PC RAMA OR ZA +0047 - - 000000001101 C/SBR - RDY 0 MEMR -- ADDR 0 11 0 1 16 R_PC R_PC RAMF ADD ZA +0048 - - 000000001010 C/SBR ! HOLD 0 NOC -- ---- 0 11 0 1 16 RAS1 RAS1 RAMF OR DZ +0049 - - 000000001101 C/SBR - RDY 0 MEMR -- ADDR 0 11 0 1 16 R_PC R_PC RAMF ADD ZA +004A - - 000000001010 C/SBR ! HOLD 0 NOC -- ---- 0 11 0 1 8 RAS1 RAS1 RAMF OR DZ +004B - - 000000001010 C/SBR ! HOLD 0 NOC -- ADDR 0 11 0 0 16 R_SP R_SP RAMF SUBR ZA +004C - - 000000001010 C/SBR ! HOLD 0 NOC -- DATA 0 11 0 1 16 R_PC RAS1 NOP OR ZA +004D - - 000000010010 C/SBR - RDY 0 MEMW YH ADDR 0 11 0 0 16 R_SP R_SP RAMF SUBR ZA +004E - - = location = R/F ! RDY 0 MEMW YL ADDR 0 11 0 1 16 RAS1 R_PC RAMF OR ZA +004F - - 111111111111 R/F ! TRUE 0 HLDA FL INTE 0 11 0 1 8 RAS1 RAS1 NOP EXNOR DZ +0050 - - 000000010001 C/SBR ! TRUE 0 NOC -- ADDR 0 11 0 1 16 R_SP R_SP RAMA ADD ZA +0051 - - 000000001010 C/SBR ! HOLD 0 NOC -- ---- 0 11 0 1 16 R_PC R_PC RAMF OR DZ +0052 - - 000000010001 C/SBR - RDY 0 MEMR -- ADDR 0 11 0 1 16 R_SP R_SP RAMA ADD ZA +0053 - - 000000001010 C/SBR ! HOLD 0 NOC -- ---- 0 11 0 1 8 R_PC R_PC RAMF OR DZ +0054 - - 000000001011 R/F - HOLD 0 NOC -- ADDR 0 11 0 1 16 R_PC R_PC NOP OR ZA +0055 - - 000000001010 C/SBR ! HOLD 0 NOC -- ---- 0 11 0 1 16 RZ38 RAS1 RAMF AND DA +0056 - - 000000001010 C/SBR ! HOLD 0 NOC -- DATA 0 11 0 1 16 R_PC RAS1 NOP OR ZA +0057 - - 000000010010 C/SBR ! TRUE 0 NOC -- ADDR 0 11 0 0 16 R_SP R_SP RAMF SUBR ZA +0058 - - 000000001010 C/SBR ! HOLD 0 NOC -- ADDR 0 11 0 0 16 R_SP R_SP RAMF SUBR ZA +0059 - - = location = R/F ! RDY 0 MEMW YL ADDR 0 11 0 1 16 RAS1 R_PC RAMF OR ZA +005A - - 000000001010 C/SBR ! HOLD 0 NOC -- ---- 0 01 0 1 8 R_A? R_A? RAMU OR ZA +005B - - 000010011100 R/F - F3 0 NOC -- ---- 0 11 0 1 8 RAS1 RAS1 NOP EXNOR DZ +005C - - 000000001011 R/F - HOLD 0 NOC -- ---- 0 01 0 1 8 RAS1 RAS1 NOP OR DZ +005D - - 000000001010 C/SBR ! HOLD 0 NOC -- ---- 0 01 0 1 8 R_A? R_A? RAMD OR ZA +005E - - 000001011011 C/R ! TRUE 0 NOC -- ---- 0 11 0 1 8 R_A? RAS1 NOP OR ZA +005F - - 000001011011 C/R ! TRUE 0 NOC -- ---- 0 01 1 1 8 R_A? R_A? RAMU OR ZA +----------------------------------------------------------------------------------------- + I D DIRECT-VALUE NXT P COND B SYSCTL OE OS A UK S C W AADR BADR DST FCT SRC +----------------------------------------------------------------------------------------- +0060 - - 000000001010 C/SBR ! HOLD 0 NOC -- ---- 0 11 0 1 8 R_A? R_A? RAMD OR ZA +0061 - - 000000001010 C/SBR ! HOLD 0 NOC -- ---- 0 11 0 1 8 R_A? R_A? RAMU OR ZA +0062 - - 000010011100 R/F - F3 0 NOC -- ---- 0 01 1 1 8 R_A? R_A? RAMD OR ZA +0063 - - 000000001011 R/F - HOLD 0 NOC -- ---- 0 01 0 1 8 RAS1 RAS1 NOP OR DZ +0064 - - 000000001010 C/SBR ! HOLD 1 NOC -- DATA 0 11 0 1 16 RAS1 RAS1 NOP OR ZB +0065 - - 000000001010 C/SBR ! HOLD 0 NOC -- ADDR 0 11 0 0 16 R_SP R_SP RAMF SUBR ZA +0066 - - 000000010010 C/SBR - RDY 0 MEMW YH ADDR 0 11 0 0 16 R_SP R_SP RAMF SUBR ZA +0067 - - = location = R/F ! RDY 0 MEMW YL ADDR 0 11 0 1 16 R_PC R_PC RAMF OR ZA +0068 - - 000000001010 C/SBR ! HOLD 0 NOC -- DATA 0 11 0 1 8 R_A? RAS1 NOP OR ZA +0069 - - 000000010010 C/SBR ! TRUE 0 NOC -- ADDR 0 11 0 0 16 R_SP R_SP RAMF SUBR ZA +006A - - 000001101011 R/F - TRUE 0 NOC -- ADDR 0 11 0 0 16 R_SP R_SP RAMF SUBR ZA +006B - - 000000010010 C/SBR - RDY 0 MEMW FL ---- 0 11 0 0 8 RAS1 RAS1 NOP EXNOR DZ +006C - - 000000001011 R/F - HOLD 0 NOC -- ADDR 0 11 0 1 16 R_PC R_PC RAMF OR ZA +006D - - 000000001010 C/SBR ! HOLD 0 NOC -- ---- 0 11 0 1 16 RAS1 R_BC RAMF ADD ZB +006E - - 000000001011 R/F - HOLD 0 NOC -- ---- 0 11 1 1 16 R_BC R_CB RAMA OR DZ +006F - - 000000001010 C/SBR ! HOLD 0 NOC -- ---- 0 11 0 0 16 RAS1 R_BC RAMF SUBR ZB +0070 - - 000000001011 R/F - HOLD 1 NOC -- ---- 1 11 1 1 16 R_BC R_CB RAMA OR DZ +0071 - - 000000001010 C/SBR ! HOLD 0 NOC -- ---- 0 01 0 0 16 R_BC R_HL RAMF ADD AB +0072 - - 000000001011 R/F - HOLD 0 NOC -- ---- 0 11 1 1 16 R_HL R_LH RAMA OR DZ +0073 - - 000001110010 C/R ! TRUE 0 NOC -- ---- 0 01 0 0 16 R_DE R_HL RAMF ADD AB +0074 - - 000001110010 C/R ! TRUE 0 NOC -- ---- 0 01 0 0 16 R_HL R_HL RAMF ADD AB +0075 - - 000001110010 C/R ! TRUE 0 NOC -- ---- 0 01 0 0 16 R_SP R_HL RAMF ADD AB +0076 - - 000000001011 R/F - HOLD 0 NOC -- ---- 1 00 0 1 8 RAS1 R_A? NOP SUBR AB +0077 - - 000000001101 C/SBR - RDY 0 MEMR -- ADDR 0 11 0 1 16 R_PC R_PC RAMF ADD ZA +0078 - - 000000001011 R/F - HOLD 0 NOC -- ---- 0 00 0 1 8 R_A? RAS1 NOP SUBR DA +0079 - - 000000001010 C/SBR ! HOLD 0 NOC -- ADDR 0 11 0 1 16 R_HL RAS1 NOP OR ZA +007A - - 000000001101 C/SBR - RDY 0 MEMR -- ADDR 0 11 0 1 16 R_PC RAS1 NOP OR ZA +007B - - 000000001011 R/F - HOLD 0 NOC -- ---- 0 00 0 1 8 R_A? RAS1 NOP SUBR DA +007C - - 000000001010 C/SBR ! HOLD 0 NOC -- ADDR 0 11 0 1 16 R_SP R_SP RAMA OR ZA +007D - - 000000010001 C/SBR - RDY 0 MEMR -- ADDR 0 11 0 1 16 R_SP R_SP RAMF ADD ZA +007E - - 000000001010 C/SBR ! HOLD 0 NOC -- ---- 0 11 0 1 8 RAS1 R_CB RAMF OR DZ +007F - - 000000010001 C/SBR - RDY 0 MEMR -- ADDR 0 11 0 1 16 R_SP R_SP RAMF ADD ZA +----------------------------------------------------------------------------------------- + I D DIRECT-VALUE NXT P COND B SYSCTL OE OS A UK S C W AADR BADR DST FCT SRC +----------------------------------------------------------------------------------------- +0080 - - 000000001010 C/SBR ! HOLD 0 NOC -- ---- 0 11 0 1 8 RAS1 R_BC RAMF OR DZ +0081 - - 000000001011 R/F - HOLD 0 NOC -- ADDR 0 11 0 1 16 R_PC RAS1 NOP OR ZA +0082 - - 000000001010 C/SBR ! HOLD 0 NOC -- ---- 0 11 0 1 8 RAS1 RAS1 NOP EXNOR DZ +0083 - - 000010000010 C/R - INT 0 NOC -- ---- 0 11 0 1 8 RAS1 RAS1 NOP EXNOR DZ +0084 - - 000000000000 C/R - TRUE 0 INTA -- ---- 0 11 0 1 8 RAS1 RAS1 NOP EXNOR DZ +0085 - - 000001010110 C/R ! TRUE 0 INTA -- ---- 0 11 0 1 16 RZ38 RAS1 RAMA AND DA +0086 - - 000000001011 R/F - HOLD 0 NOC -- ---- 0 11 0 1 8 RAS1 RAS1 NOP EXNOR DZ +0087 - - 000000001101 C/SBR - RDY 0 MEMR -- ADDR 0 11 0 1 16 R_PC R_PC RAMF ADD ZA +0088 - - 000000001010 C/SBR ! HOLD 0 NOC -- ADDR 0 11 0 1 8 RAS1 RAS1 NOP OR DZ +0089 - - = location = C/R - RDY 0 IOR -- ADDR 0 11 0 1 16 R_PC RAS1 NOP OR ZA +008A - - 000000001011 R/F - HOLD 0 NOC -- ---- 0 11 0 1 8 RAS1 R_A? RAMF OR DZ +008B - - 000000001010 C/SBR ! HOLD 0 NOC -- DATA 0 11 0 1 8 R_A? RAS1 NOP OR ZA +008C - - 000000001101 C/SBR - RDY 0 MEMR -- ADDR 0 11 0 1 16 R_PC R_PC RAMF ADD ZA +008D - - 000000001010 C/SBR ! HOLD 0 NOC -- ADDR 0 11 0 1 8 RAS1 RAS1 NOP OR DZ +008E - - = location = R/F ! RDY 0 IOW YH ADDR 0 11 0 1 16 R_PC RAS1 NOP OR ZA +008F - - 000000001011 R/F - HOLD 0 NOC -- INTE 0 11 0 1 8 RZ38 RAS1 NOP EXNOR ZA +0090 - - 000000001011 R/F - HOLD 0 NOC -- INTE 0 11 0 1 8 RAS1 RAS1 NOP AND ZA +0091 - - 000000001011 R/F - HOLD 0 NOC -- ---- 0 11 0 1 16 R_HL R_SP RAMF OR ZA +0092 - - 000000001010 C/SBR ! HOLD 0 NOC -- DATA 0 11 0 1 16 R_HL RAS1 NOP OR ZA +0093 - - 000000001010 C/SBR ! HOLD 0 NOC -- ADDR 0 11 0 1 16 R_SP RAS1 NOP OR ZA +0094 - - = location = C/R - RDY 0 MEMR -- ---- 0 11 0 1 8 RAS1 RAS1 NOP EXNOR DZ +0095 - - 000000001010 C/SBR ! HOLD 0 NOC -- ---- 0 11 0 1 8 RAS1 R_LH RAMF OR DZ +0096 - - 000000010011 C/SBR - RDY 0 MEMW YL ADDR 0 11 0 1 16 R_SP R_SP RAMF ADD ZA +0097 - - = location = C/R - RDY 0 MEMR -- ---- 0 11 0 1 8 RAS1 RAS1 NOP EXNOR DZ +0098 - - 000000001010 C/SBR ! HOLD 0 NOC -- ---- 0 11 0 1 8 RAS1 R_HL RAMF OR DZ +0099 - - = location = C/R - RDY 0 MEMW YH ADDR 0 11 0 1 16 R_PC RAS1 NOP OR ZA +009A - - 000000001011 R/F - HOLD 0 NOC -- ---- 0 11 0 0 16 R_SP R_SP RAMF SUBR ZA +009B - - 000000001011 R/F - HOLD 0 NOC -- ADDR 0 11 0 1 16 R_HL R_PC RAMF OR ZA +009C - - 000000001011 R/F - HOLD 0 NOC -- ---- 0 01 0 0 8 RZ38 RAS1 NOP SUBR ZA +009D - - 000010011100 R/F ! CY 0 NOC -- ---- 0 01 0 1 8 RAS1 RAS1 NOP AND ZA +009E - - 000000001011 R/F - HOLD 0 NOC -- ---- 0 01 0 0 8 RAS1 RAS1 NOP AND ZA +009F - - 000000001011 R/F - HOLD 0 NOC -- ---- 1 00 0 1 8 RAS1 R_A? RAMF AND AB +----------------------------------------------------------------------------------------- + I D DIRECT-VALUE NXT P COND B SYSCTL OE OS A UK S C W AADR BADR DST FCT SRC +----------------------------------------------------------------------------------------- +00A0 - - 000000001011 R/F - HOLD 0 NOC -- ---- 1 00 0 1 8 RAS1 R_A? RAMF EXOR AB +00A1 - - 000000001011 R/F - HOLD 0 NOC -- ---- 1 00 0 1 8 RAS1 R_A? RAMF OR AB +00A2 - - 000000001010 C/SBR ! HOLD 0 NOC -- ADDR 0 11 0 1 16 R_HL RAS1 NOP OR ZA +00A3 - - = location = C/R - RDY 0 MEMR -- ---- 0 11 0 1 8 RAS1 RAS1 NOP EXNOR DZ +00A4 - - 000000001010 C/SBR ! HOLD 0 NOC -- DATA 0 10 0 0 8 RAS1 RAS1 NOP SUBS DZ +00A5 - - = location = R/F ! RDY 0 MEMW YH ADDR 0 11 0 1 16 R_PC RAS1 NOP OR ZA +00A6 - - 000000001010 C/SBR ! HOLD 0 NOC -- ADDR 0 11 0 1 16 R_HL RAS1 NOP OR ZA +00A7 - - = location = C/R - RDY 0 MEMR -- ---- 0 11 0 1 8 RAS1 RAS1 NOP EXNOR DZ +00A8 - - 000000001010 C/SBR ! HOLD 0 NOC -- DATA 0 10 0 1 8 RAS1 RAS1 NOP ADD DZ +00A9 - - = location = R/F ! RDY 0 MEMW YH ADDR 0 11 0 1 16 R_PC RAS1 NOP OR ZA +00AA - - 000000001011 R/F - HOLD 1 NOC -- ---- 0 10 0 0 8 RAS1 RAS1 RAMF SUBR ZB +00AB - - 000000001011 R/F - HOLD 1 NOC -- ---- 0 10 0 1 8 RAS1 RAS1 RAMF ADD ZB +00AC - - 000000001011 R/F - HOLD 0 NOC -- ---- 1 00 0 1 8 RAS1 R_A? RAMF SUBR AB +00AD - - 000000001010 C/SBR ! HOLD 0 NOC -- ADDR 0 11 0 1 16 R_HL RAS1 NOP OR ZA +00AE - - 000000001101 C/SBR - RDY 0 MEMR -- ADDR 0 11 0 1 16 R_PC RAS1 NOP OR ZA +00AF - - 000000001011 R/F - HOLD 0 NOC -- ---- 0 00 0 1 8 R_A? R_A? RAMF SUBR DA +00B0 - - 000000001101 C/SBR - RDY 0 MEMR -- ADDR 0 11 0 1 16 R_PC R_PC RAMF ADD ZA +00B1 - - 000000001011 R/F - HOLD 0 NOC -- ---- 0 00 0 1 8 R_A? R_A? RAMF SUBR DA +00B2 - - 000010101100 C/R - CY 0 NOC -- ---- 0 11 0 1 8 RAS1 RAS1 NOP EXNOR DZ +00B3 - - 000000001011 R/F - HOLD 0 NOC -- ---- 1 00 0 0 8 RAS1 R_A? RAMF SUBR AB +00B4 - - 000010101110 C/R - CY 0 NOC -- ADDR 0 11 0 1 16 R_HL RAS1 NOP OR ZA +00B5 - - 000000001101 C/SBR - RDY 0 MEMR -- ADDR 0 11 0 1 16 R_PC RAS1 NOP OR ZA +00B6 - - 000000001011 R/F - HOLD 0 NOC -- ---- 0 00 0 0 8 R_A? R_A? RAMF SUBR DA +00B7 - - 000010110000 C/R - CY 0 NOC -- ---- 0 11 0 1 8 RAS1 RAS1 NOP EXNOR DZ +00B8 - - 000101011101 C/R ! TRUE 0 NOC -- ---- 0 11 0 1 8 RAS1 RAS1 NOP EXNOR DZ +00B9 - - 000000001010 C/SBR ! HOLD 0 NOC -- ADDR 0 11 0 1 16 R_HL RAS1 NOP OR ZA +00BA - - 000000001101 C/SBR - RDY 0 MEMR -- ADDR 0 11 0 1 16 R_PC RAS1 NOP OR ZA +00BB - - 000000001011 R/F - HOLD 0 NOC -- ---- 0 00 0 1 8 R_A? R_A? RAMF AND DA +00BC - - 000000001010 C/SBR ! HOLD 0 NOC -- ADDR 0 11 0 1 16 R_HL RAS1 NOP OR ZA +00BD - - 000000001101 C/SBR - RDY 0 MEMR -- ADDR 0 11 0 1 16 R_PC RAS1 NOP OR ZA +00BE - - 000000001011 R/F - HOLD 0 NOC -- ---- 0 00 0 1 8 R_A? R_A? RAMF EXOR DA +00BF - - 000000001010 C/SBR ! HOLD 0 NOC -- ADDR 0 11 0 1 16 R_HL RAS1 NOP OR ZA +----------------------------------------------------------------------------------------- + I D DIRECT-VALUE NXT P COND B SYSCTL OE OS A UK S C W AADR BADR DST FCT SRC +----------------------------------------------------------------------------------------- +00C0 - - 000000001101 C/SBR - RDY 0 MEMR -- ADDR 0 11 0 1 16 R_PC RAS1 NOP OR ZA +00C1 - - 000000001011 R/F - HOLD 0 NOC -- ---- 0 00 0 1 8 R_A? R_A? RAMF OR DA +00C2 - - 000000001101 C/SBR - RDY 0 MEMR -- ADDR 0 11 0 1 16 R_PC R_PC RAMF ADD ZA +00C3 - - 000000001011 R/F - HOLD 0 NOC -- ---- 0 00 0 1 8 R_A? R_A? RAMF AND DA +00C4 - - 000000001101 C/SBR - RDY 0 MEMR -- ADDR 0 11 0 1 16 R_PC R_PC RAMF ADD ZA +00C5 - - 000000001011 R/F - HOLD 0 NOC -- ---- 0 00 0 1 8 R_A? R_A? RAMF EXOR DA +00C6 - - 000000001101 C/SBR - RDY 0 MEMR -- ADDR 0 11 0 1 16 R_PC R_PC RAMF ADD ZA +00C7 - - 000000001011 R/F - HOLD 0 NOC -- ---- 0 00 0 1 8 R_A? R_A? RAMF OR DA +00C8 - - 000000001011 R/F - HOLD 0 NOC -- ---- 0 11 0 1 8 R_A? R_A? RAMF EXNOR ZA +00C9 - - 000000001101 C/SBR - RDY 0 MEMR -- ADDR 0 11 0 1 16 R_PC R_PC RAMF ADD ZA +00CA - - 000000001010 C/SBR ! HOLD 0 NOC -- ---- 0 11 0 1 16 RAS1 RAS1 RAMF OR DZ +00CB - - 000000001101 C/SBR - RDY 0 MEMR -- ADDR 0 11 0 1 16 R_PC R_PC RAMF ADD ZA +00CC - - 000000001010 C/SBR ! HOLD 0 NOC -- ---- 0 11 0 1 8 RAS1 RAS1 RAMF OR DZ +00CD - - 000000001010 C/SBR ! HOLD 0 NOC -- ADDR 0 11 0 1 16 RAS1 RAS1 RAMF OR ZA +00CE - - = location = C/R - RDY 0 MEMR -- ---- 0 11 0 1 8 RAS1 RAS1 NOP EXNOR DZ +00CF - - 000000001010 C/SBR ! HOLD 0 NOC -- ---- 0 11 0 1 8 RAS1 R_LH RAMF OR DZ +00D0 - - 000000001010 C/SBR ! HOLD 0 NOC -- ADDR 0 11 0 1 16 RAS1 RAS1 RAMF ADD ZA +00D1 - - = location = C/R - RDY 0 MEMR -- ADDR 0 11 0 1 16 R_PC RAS1 NOP OR ZA +00D2 - - 000000001011 R/F - HOLD 0 NOC -- ---- 0 11 0 1 8 RAS1 R_HL RAMF OR DZ +00D3 - - 000000001101 C/SBR - RDY 0 MEMR -- ADDR 0 11 0 1 16 R_PC R_PC RAMF ADD ZA +00D4 - - 000000001010 C/SBR ! HOLD 0 NOC -- ---- 0 11 0 1 16 RAS1 RAS1 RAMF OR DZ +00D5 - - 000000001101 C/SBR - RDY 0 MEMR -- ADDR 0 11 0 1 16 R_PC R_PC RAMF ADD ZA +00D6 - - 000000001010 C/SBR ! HOLD 0 NOC -- ---- 0 11 0 1 8 RAS1 RAS1 RAMF OR DZ +00D7 - - 000000001010 C/SBR ! HOLD 0 NOC -- ADDR 0 11 0 1 16 RAS1 RAS1 RAMF OR ZA +00D8 - - 000000001010 C/SBR ! HOLD 0 NOC -- DATA 0 11 0 1 16 R_HL RAS1 NOP OR ZA +00D9 - - = location = C/R - RDY 0 MEMW YL ---- 0 11 0 1 8 RAS1 RAS1 NOP EXNOR DZ +00DA - - 000000001010 C/SBR ! HOLD 0 NOC -- ADDR 0 11 0 1 16 RAS1 RAS1 RAMF ADD ZA +00DB - - = location = R/F ! RDY 0 MEMW YH ADDR 0 11 0 1 16 R_PC RAS1 NOP OR ZA +00DC - - 000000001010 C/SBR ! HOLD 0 NOC -- ADDR 0 11 0 1 16 R_BC RAS1 NOP OR ZA +00DD - - = location = C/R - RDY 0 MEMR -- ADDR 0 11 0 1 16 R_PC RAS1 NOP OR ZA +00DE - - 000000001011 R/F - HOLD 0 NOC -- ---- 0 11 0 1 8 RAS1 R_A? RAMF OR DZ +00DF - - 000000001010 C/SBR ! HOLD 1 NOC -- ADDR 0 11 0 1 16 RAS1 RAS1 NOP OR ZB +----------------------------------------------------------------------------------------- + I D DIRECT-VALUE NXT P COND B SYSCTL OE OS A UK S C W AADR BADR DST FCT SRC +----------------------------------------------------------------------------------------- +00E0 - - 000000001010 C/SBR ! HOLD 0 NOC -- DATA 0 11 0 1 8 R_A? RAS1 NOP OR ZA +00E1 - - 000000001011 R/F - HOLD 0 MEMW YH ADDR 0 11 0 1 16 R_PC RAS1 NOP OR ZA +00E2 - - 000000001010 C/SBR ! HOLD 0 NOC -- ---- 0 11 0 1 16 R_DE RAS1 RAMF OR ZA +00E3 - - 000000001010 C/SBR ! HOLD 0 NOC -- ---- 0 11 0 1 16 R_HL R_DE RAMF OR ZA +00E4 - - 000000001011 R/F - HOLD 0 NOC -- ---- 0 11 0 1 16 RAS1 R_HL RAMF OR ZA +00E5 - - 000000001101 C/SBR - RDY 0 MEMR -- ADDR 0 11 0 1 16 R_PC R_PC RAMF ADD ZA +00E6 - - 000000001010 C/SBR ! HOLD 0 NOC -- ---- 0 11 0 1 8 RAS1 R_ED RAMF OR DZ +00E7 - - 000000001101 C/SBR - RDY 0 MEMR -- ADDR 0 11 0 1 16 R_PC R_PC RAMF ADD ZA +00E8 - - 000000001011 R/F - HOLD 0 NOC -- ---- 0 11 0 1 8 RAS1 R_DE RAMF OR DZ +00E9 - - 000000001101 C/SBR - RDY 0 MEMR -- ADDR 0 11 0 1 16 R_PC R_PC RAMF ADD ZA +00EA - - 000000001010 C/SBR ! HOLD 0 NOC -- ---- 0 11 0 1 8 RAS1 R_LH RAMF OR DZ +00EB - - 000000001101 C/SBR - RDY 0 MEMR -- ADDR 0 11 0 1 16 R_PC R_PC RAMF ADD ZA +00EC - - 000000001011 R/F - HOLD 0 NOC -- ---- 0 11 0 1 8 RAS1 R_HL RAMF OR DZ +00ED - - 000000001101 C/SBR - RDY 0 MEMR -- ADDR 0 11 0 1 16 R_PC R_PC RAMF ADD ZA +00EE - - 000000001010 C/SBR ! HOLD 0 NOC -- ---- 0 11 0 1 16 RAS1 R_SP RAMF OR DZ +00EF - - 000000011101 C/SBR - RDY 0 MEMR -- ADDR 0 11 0 1 16 R_PC R_PC RAMF ADD ZA +00F0 - - 000000001011 R/F - HOLD 0 NOC -- ---- 0 11 0 1 8 RAS1 R_SP RAMF OR DZ +00F1 - - 000000001010 C/SBR ! HOLD 0 NOC -- ---- 0 11 0 1 16 RAS1 R_DE RAMF ADD ZB +00F2 - - 000000001011 R/F - HOLD 0 NOC -- ---- 0 11 1 1 16 R_DE R_ED RAMA OR DZ +00F3 - - 000000001010 C/SBR ! HOLD 0 NOC -- ---- 0 11 0 1 16 RAS1 R_HL RAMF ADD ZB +00F4 - - 000000001011 R/F - HOLD 0 NOC -- ---- 0 11 1 1 16 R_HL R_LH RAMA OR DZ +00F5 - - 000000001011 R/F - HOLD 0 NOC -- ---- 0 11 0 1 16 RAS1 R_SP RAMF ADD ZB +00F6 - - 000000001010 C/SBR ! HOLD 0 NOC -- ---- 0 11 0 0 16 RAS1 R_DE RAMF SUBR ZB +00F7 - - 000000001011 R/F - HOLD 1 NOC -- ---- 1 11 1 1 16 R_DE R_ED RAMA OR DZ +00F8 - - 000000001010 C/SBR ! HOLD 0 NOC -- ---- 0 11 0 0 16 RAS1 R_HL RAMF SUBR ZB +00F9 - - 000000001011 R/F - HOLD 0 NOC -- ---- 0 11 1 1 16 R_HL R_LH RAMA OR DZ +00FA - - 000000001011 R/F - HOLD 0 NOC -- ---- 0 11 0 0 16 RAS1 R_SP RAMF SUBR ZB +00FB - - 000000001010 C/SBR ! HOLD 0 NOC -- ADDR 0 11 0 1 16 R_SP R_SP RAMA OR ZA +00FC - - 000000010001 C/SBR - RDY 0 MEMR -- ADDR 0 11 0 1 16 R_SP R_SP RAMF ADD ZA +00FD - - 000000001010 C/SBR ! HOLD 0 NOC -- ---- 0 11 0 1 8 RAS1 R_ED RAMF OR DZ +00FE - - 000000010001 C/SBR - RDY 0 MEMR -- ADDR 0 11 0 1 16 R_SP R_SP RAMF ADD ZA +00FF - - 000000001010 C/SBR ! HOLD 0 NOC -- ---- 0 11 0 1 8 RAS1 R_DE RAMF OR DZ +----------------------------------------------------------------------------------------- + I D DIRECT-VALUE NXT P COND B SYSCTL OE OS A UK S C W AADR BADR DST FCT SRC +----------------------------------------------------------------------------------------- +0100 - - 000000001011 R/F - HOLD 0 NOC -- ADDR 0 11 0 1 16 R_PC RAS1 NOP OR ZA +0101 - - 000000001010 C/SBR ! HOLD 0 NOC -- ADDR 0 11 0 1 16 R_SP R_SP RAMA OR ZA +0102 - - 000000010001 C/SBR - RDY 0 MEMR -- ADDR 0 11 0 1 16 R_SP R_SP RAMF ADD ZA +0103 - - 000000001010 C/SBR ! HOLD 0 NOC -- ---- 0 11 0 1 8 RAS1 R_LH RAMF OR DZ +0104 - - 000000010001 C/SBR - RDY 0 MEMR -- ADDR 0 11 0 1 16 R_SP R_SP RAMF ADD ZA +0105 - - 000000001010 C/SBR ! HOLD 0 NOC -- ---- 0 11 0 1 8 RAS1 R_HL RAMF OR DZ +0106 - - 000000001011 R/F - HOLD 0 NOC -- ADDR 0 11 0 1 16 R_PC RAS1 NOP OR ZA +0107 - - 000001000010 C/R - Z 0 NOC -- ---- 0 11 0 1 8 RAS1 RAS1 NOP EXNOR DZ +0108 - - 000000001010 C/SBR ! HOLD 0 NOC -- ADDR 0 11 0 1 16 R_PC R_PC RAMF ADD ZA +0109 - - 000000001011 R/F - HOLD 0 NOC -- ADDR 0 11 0 1 16 R_PC R_PC RAMF ADD ZA +010A - - 000001000111 C/R - Z 0 NOC -- ---- 0 11 0 1 8 RAS1 RAS1 NOP EXNOR DZ +010B - - 000000001010 C/SBR ! HOLD 0 NOC -- ADDR 0 11 0 1 16 R_PC R_PC RAMF ADD ZA +010C - - 000000001011 R/F - HOLD 0 NOC -- ADDR 0 11 0 1 16 R_PC R_PC RAMF ADD ZA +010D - - 000001010000 R/F ! Z 0 NOC -- ---- 0 11 0 1 8 RAS1 RAS1 NOP EXNOR DZ +010E - - 000001000010 C/R ! Z 0 NOC -- ---- 0 11 0 1 8 RAS1 RAS1 NOP EXNOR DZ +010F - - 000000001010 C/SBR ! HOLD 0 NOC -- ADDR 0 11 0 1 16 R_PC R_PC RAMF ADD ZA +0110 - - 000000001011 R/F - HOLD 0 NOC -- ADDR 0 11 0 1 16 R_PC R_PC RAMF ADD ZA +0111 - - 000001000111 C/R ! Z 0 NOC -- ---- 0 11 0 1 8 RAS1 RAS1 NOP EXNOR DZ +0112 - - 000000001010 C/SBR ! HOLD 0 NOC -- ADDR 0 11 0 1 16 R_PC R_PC RAMF ADD ZA +0113 - - 000000001011 R/F - HOLD 0 NOC -- ADDR 0 11 0 1 16 R_PC R_PC RAMF ADD ZA +0114 - - 000001010000 R/F - Z 0 NOC -- ---- 0 11 0 1 8 RAS1 RAS1 NOP EXNOR DZ +0115 - - 000001000010 C/R - CY 0 NOC -- ---- 0 11 0 1 8 RAS1 RAS1 NOP EXNOR DZ +0116 - - 000000001010 C/SBR ! HOLD 0 NOC -- ADDR 0 11 0 1 16 R_PC R_PC RAMF ADD ZA +0117 - - 000000001011 R/F - HOLD 0 NOC -- ADDR 0 11 0 1 16 R_PC R_PC RAMF ADD ZA +0118 - - 000001000111 C/R - CY 0 NOC -- ---- 0 11 0 1 8 RAS1 RAS1 NOP EXNOR DZ +0119 - - 000000001010 C/SBR ! HOLD 0 NOC -- ADDR 0 11 0 1 16 R_PC R_PC RAMF ADD ZA +011A - - 000000001011 R/F - HOLD 0 NOC -- ADDR 0 11 0 1 16 R_PC R_PC RAMF ADD ZA +011B - - 000001010000 R/F ! CY 0 NOC -- ---- 0 11 0 1 8 RAS1 RAS1 NOP EXNOR DZ +011C - - 000001000010 C/R ! CY 0 NOC -- ---- 0 11 0 1 8 RAS1 RAS1 NOP EXNOR DZ +011D - - 000000001010 C/SBR ! HOLD 0 NOC -- ADDR 0 11 0 1 16 R_PC R_PC RAMF ADD ZA +011E - - 000000001011 R/F - HOLD 0 NOC -- ADDR 0 11 0 1 16 R_PC R_PC RAMF ADD ZA +011F - - 000001000111 C/R ! CY 0 NOC -- ---- 0 11 0 1 8 RAS1 RAS1 NOP EXNOR DZ +----------------------------------------------------------------------------------------- + I D DIRECT-VALUE NXT P COND B SYSCTL OE OS A UK S C W AADR BADR DST FCT SRC +----------------------------------------------------------------------------------------- +0120 - - 000000001010 C/SBR ! HOLD 0 NOC -- ADDR 0 11 0 1 16 R_PC R_PC RAMF ADD ZA +0121 - - 000000001011 R/F - HOLD 0 NOC -- ADDR 0 11 0 1 16 R_PC R_PC RAMF ADD ZA +0122 - - 000001010000 R/F - CY 0 NOC -- ---- 0 11 0 1 8 RAS1 RAS1 NOP EXNOR DZ +0123 - - 000001000010 C/R - P 0 NOC -- ---- 0 11 0 1 8 RAS1 RAS1 NOP EXNOR DZ +0124 - - 000000001010 C/SBR ! HOLD 0 NOC -- ADDR 0 11 0 1 16 R_PC R_PC RAMF ADD ZA +0125 - - 000000001011 R/F - HOLD 0 NOC -- ADDR 0 11 0 1 16 R_PC R_PC RAMF ADD ZA +0126 - - 000001000111 C/R - P 0 NOC -- ---- 0 11 0 1 8 RAS1 RAS1 NOP EXNOR DZ +0127 - - 000000001010 C/SBR ! HOLD 0 NOC -- ADDR 0 11 0 1 16 R_PC R_PC RAMF ADD ZA +0128 - - 000000001011 R/F - HOLD 0 NOC -- ADDR 0 11 0 1 16 R_PC R_PC RAMF ADD ZA +0129 - - 000001010000 R/F ! P 0 NOC -- ---- 0 11 0 1 8 RAS1 RAS1 NOP EXNOR DZ +012A - - 000001000010 C/R ! P 0 NOC -- ---- 0 11 0 1 8 RAS1 RAS1 NOP EXNOR DZ +012B - - 000000001010 C/SBR ! HOLD 0 NOC -- ADDR 0 11 0 1 16 R_PC R_PC RAMF ADD ZA +012C - - 000000001011 R/F - HOLD 0 NOC -- ADDR 0 11 0 1 16 R_PC R_PC RAMF ADD ZA +012D - - 000001000111 C/R ! P 0 NOC -- ---- 0 11 0 1 8 RAS1 RAS1 NOP EXNOR DZ +012E - - 000000001010 C/SBR ! HOLD 0 NOC -- ADDR 0 11 0 1 16 R_PC R_PC RAMF ADD ZA +012F - - 000000001011 R/F - HOLD 0 NOC -- ADDR 0 11 0 1 16 R_PC R_PC RAMF ADD ZA +0130 - - 000001010000 R/F - P 0 NOC -- ---- 0 11 0 1 8 RAS1 RAS1 NOP EXNOR DZ +0131 - - 000001000010 C/R - S 0 NOC -- ---- 0 11 0 1 8 RAS1 RAS1 NOP EXNOR DZ +0132 - - 000000001010 C/SBR ! HOLD 0 NOC -- ADDR 0 11 0 1 16 R_PC R_PC RAMF ADD ZA +0133 - - 000000001011 R/F - HOLD 0 NOC -- ADDR 0 11 0 1 16 R_PC R_PC RAMF ADD ZA +0134 - - 000001000111 R/F ! S 0 NOC -- ---- 0 11 0 1 8 RAS1 RAS1 NOP EXNOR DZ +0135 - - 000000001010 C/SBR ! HOLD 0 NOC -- ADDR 0 11 0 1 16 R_PC R_PC RAMF ADD ZA +0136 - - 000000001011 R/F - HOLD 0 NOC -- ADDR 0 11 0 1 16 R_PC R_PC RAMF ADD ZA +0137 - - 000001010000 C/R - S 0 NOC -- ---- 0 11 0 1 8 RAS1 RAS1 NOP EXNOR DZ +0138 - - 000001000010 C/R ! S 0 NOC -- ---- 0 11 0 1 8 RAS1 RAS1 NOP EXNOR DZ +0139 - - 000000001010 C/SBR ! HOLD 0 NOC -- ADDR 0 11 0 1 16 R_PC R_PC RAMF ADD ZA +013A - - 000000001011 R/F - HOLD 0 NOC -- ADDR 0 11 0 1 16 R_PC R_PC RAMF ADD ZA +013B - - 000001000111 C/R ! S 0 NOC -- ---- 0 11 0 1 8 RAS1 RAS1 NOP EXNOR DZ +013C - - 000000001010 C/SBR ! HOLD 0 NOC -- ADDR 0 11 0 1 16 R_PC R_PC RAMF ADD ZA +013D - - 000000001011 R/F - HOLD 0 NOC -- ADDR 0 11 0 1 16 R_PC R_PC RAMF ADD ZA +013E - - 000001010000 R/F - S 0 NOC -- ---- 0 11 0 1 8 RAS1 RAS1 NOP EXNOR DZ +013F - - 000000001010 C/SBR ! HOLD 0 NOC -- ---- 0 11 0 1 8 RAS1 RAS1 NOP EXNOR DZ +----------------------------------------------------------------------------------------- + I D DIRECT-VALUE NXT P COND B SYSCTL OE OS A UK S C W AADR BADR DST FCT SRC +----------------------------------------------------------------------------------------- +0140 - m 000000000110 C/R - TRUE 0 NOC -- ---- 0 11 0 1 8 RAS1 RAS1 NOP EXNOR DZ +0141 - - 000101000110 C/R ! AC 0 NOC -- ---- 0 11 0 1 8 RAS1 RAS1 RAMF OR DZ +0142 - m 000000001111 C/R - TRUE 0 NOC -- ---- 0 11 0 1 8 RAS1 RAS1 NOP EXNOR DZ +0143 - m 000000001010 C/R - TRUE 0 NOC -- ---- 0 11 0 1 8 R_A? RAS1 QREG AND DA +0144 - - 000000001010 C/SBR ! HOLD 0 NOC -- ---- 0 11 0 1 8 RAS1 RAS1 NOP SUBR DQ +0145 - - 000101000111 C/R - CN4 0 NOC -- ---- 0 11 0 1 8 RAS1 RAS1 NOP EXNOR DZ +0146 - - 000101011111 C/SBR ! CY 0 NOC -- ---- 0 00 0 0 8 RAS1 R_A? RAMF ADD AB +0147 - m 000001100000 C/R - TRUE 0 NOC -- ---- 0 11 0 1 8 RAS1 RAS1 NOP EXNOR DZ +0148 - - 000101001111 C/R ! CY 0 NOC -- ---- 0 11 0 1 8 RAS1 RAS1 RAMF OR DZ +0149 - m 000011110000 C/R - TRUE 0 NOC -- ---- 0 11 0 1 8 RAS1 RAS1 NOP EXNOR DZ +014A - m 000010100000 C/R - TRUE 0 NOC -- ---- 0 11 0 1 8 R_A? RAS1 QREG AND DA +014B - - 000000001010 C/SBR ! HOLD 0 NOC -- ---- 0 11 0 1 8 RAS1 RAS1 NOP SUBR DQ +014C - - 000101001110 C/R - CN4 0 NOC -- ---- 0 11 0 1 8 RAS1 RAS1 NOP EXNOR DZ +014D - - 000000001010 C/SBR ! HOLD 0 NOC -- ---- 0 00 0 0 8 RAS1 R_A? RAMF ADD AB +014E - - 000000001011 R/F - HOLD 0 NOC -- ---- 0 11 0 1 8 RAS1 RAS1 NOP EXNOR DZ +014F - - 000000001011 R/F - HOLD 0 NOC -- ---- 0 10 0 0 8 RAS1 R_A? RAMF ADD AB +0150 - - 000000001010 C/SBR ! HOLD 0 NOC -- ADDR 0 11 0 1 16 R_SP R_SP RAMA OR ZA +0151 - - 000000010001 C/SBR - RDY 0 MEMR -- ADDR 0 11 0 1 16 R_SP R_SP RAMF ADD ZA +0152 - - 000000001010 C/SBR ! HOLD 0 NOC -- ---- 0 11 0 1 8 RAS1 RAS1 NOP NOTRS DZ +0153 - - 000000010001 C/SBR - RDY 0 MEMR -- ADDR 0 11 0 1 16 R_SP R_SP RAMF ADD ZA +0154 - - 000000001010 C/SBR ! HOLD 0 NOC -- ---- 0 11 0 1 8 RAS1 R_A? RAMF OR DZ +0155 - - 000000001011 R/F - HOLD 0 NOC -- ADDR 0 11 0 1 16 R_PC RAS1 NOP OR ZA +0156 - - 000000001010 C/SBR ! HOLD 0 NOC -- ADDR 0 11 0 1 16 R_DE RAS1 NOP OR ZA +0157 - - = location = C/R - RDY 0 MEMR -- ADDR 0 11 0 1 16 R_PC RAS1 NOP OR ZA +0158 - - 000000001011 R/F - HOLD 0 NOC -- ---- 0 11 0 1 8 RAS1 R_A? RAMF OR DZ +0159 - - 000000001010 C/SBR ! HOLD 0 NOC -- ---- 0 11 1 1 16 R_DE R_LH RAMA OR DZ +015A - - 000000001010 C/SBR ! HOLD 0 NOC -- ---- 0 11 0 1 16 R_HL R_DE RAMA OR ZA +015B - - 000000001010 C/SBR ! HOLD 0 NOC -- ---- 0 11 1 1 16 R_LH R_HL RAMA OR DZ +015C - - 000000001011 R/F - HOLD 0 NOC -- ---- 0 11 1 1 16 R_DE R_ED RAMA OR DZ +015D - - 000000001101 C/SBR - RDY 0 MEMR -- ADDR 0 11 0 1 16 R_PC R_PC RAMF ADD ZA +015E - - 000000001011 R/F - HOLD 0 NOC -- ---- 0 00 0 0 8 R_A? R_A? RAMF SUBR DA +015F - - 000000000000 R/RTN ! TRUE 0 NOC -- ---- 0 01 0 0 8 RZ38 RAS1 NOP SUBR ZA +----------------------------------------------------------------------------------------- + I D DIRECT-VALUE NXT P COND B SYSCTL OE OS A UK S C W AADR BADR DST FCT SRC +----------------------------------------------------------------------------------------- +0160 (uninitialized) +0161 (uninitialized) +0162 (uninitialized) +0163 (uninitialized) +0164 (uninitialized) +0165 (uninitialized) +0166 (uninitialized) +0167 (uninitialized) +0168 (uninitialized) +0169 (uninitialized) +016A (uninitialized) +016B (uninitialized) +016C (uninitialized) +016D (uninitialized) +016E (uninitialized) +016F (uninitialized) +0170 (uninitialized) +0171 (uninitialized) +0172 (uninitialized) +0173 (uninitialized) +0174 (uninitialized) +0175 (uninitialized) +0176 (uninitialized) +0177 (uninitialized) +0178 (uninitialized) +0179 (uninitialized) +017A (uninitialized) +017B (uninitialized) +017C (uninitialized) +017D (uninitialized) +017E (uninitialized) +017F (uninitialized) +----------------------------------------------------------------------------------------- + I D DIRECT-VALUE NXT P COND B SYSCTL OE OS A UK S C W AADR BADR DST FCT SRC +----------------------------------------------------------------------------------------- +0180 (uninitialized) +0181 (uninitialized) +0182 (uninitialized) +0183 (uninitialized) +0184 (uninitialized) +0185 (uninitialized) +0186 (uninitialized) +0187 (uninitialized) +0188 (uninitialized) +0189 (uninitialized) +018A (uninitialized) +018B (uninitialized) +018C (uninitialized) +018D (uninitialized) +018E (uninitialized) +018F (uninitialized) +0190 (uninitialized) +0191 (uninitialized) +0192 (uninitialized) +0193 (uninitialized) +0194 (uninitialized) +0195 (uninitialized) +0196 (uninitialized) +0197 (uninitialized) +0198 (uninitialized) +0199 (uninitialized) +019A (uninitialized) +019B (uninitialized) +019C (uninitialized) +019D (uninitialized) +019E (uninitialized) +019F (uninitialized) +----------------------------------------------------------------------------------------- + I D DIRECT-VALUE NXT P COND B SYSCTL OE OS A UK S C W AADR BADR DST FCT SRC +----------------------------------------------------------------------------------------- +01A0 (uninitialized) +01A1 (uninitialized) +01A2 (uninitialized) +01A3 (uninitialized) +01A4 (uninitialized) +01A5 (uninitialized) +01A6 (uninitialized) +01A7 (uninitialized) +01A8 (uninitialized) +01A9 (uninitialized) +01AA (uninitialized) +01AB (uninitialized) +01AC (uninitialized) +01AD (uninitialized) +01AE (uninitialized) +01AF (uninitialized) +01B0 (uninitialized) +01B1 (uninitialized) +01B2 (uninitialized) +01B3 (uninitialized) +01B4 (uninitialized) +01B5 (uninitialized) +01B6 (uninitialized) +01B7 (uninitialized) +01B8 (uninitialized) +01B9 (uninitialized) +01BA (uninitialized) +01BB (uninitialized) +01BC (uninitialized) +01BD (uninitialized) +01BE (uninitialized) +01BF (uninitialized) +----------------------------------------------------------------------------------------- + I D DIRECT-VALUE NXT P COND B SYSCTL OE OS A UK S C W AADR BADR DST FCT SRC +----------------------------------------------------------------------------------------- +01C0 (uninitialized) +01C1 (uninitialized) +01C2 (uninitialized) +01C3 (uninitialized) +01C4 (uninitialized) +01C5 (uninitialized) +01C6 (uninitialized) +01C7 (uninitialized) +01C8 (uninitialized) +01C9 (uninitialized) +01CA (uninitialized) +01CB (uninitialized) +01CC (uninitialized) +01CD (uninitialized) +01CE (uninitialized) +01CF (uninitialized) +01D0 (uninitialized) +01D1 (uninitialized) +01D2 (uninitialized) +01D3 (uninitialized) +01D4 (uninitialized) +01D5 (uninitialized) +01D6 (uninitialized) +01D7 (uninitialized) +01D8 (uninitialized) +01D9 (uninitialized) +01DA (uninitialized) +01DB (uninitialized) +01DC (uninitialized) +01DD (uninitialized) +01DE (uninitialized) +01DF (uninitialized) +----------------------------------------------------------------------------------------- + I D DIRECT-VALUE NXT P COND B SYSCTL OE OS A UK S C W AADR BADR DST FCT SRC +----------------------------------------------------------------------------------------- +01E0 (uninitialized) +01E1 (uninitialized) +01E2 (uninitialized) +01E3 (uninitialized) +01E4 (uninitialized) +01E5 (uninitialized) +01E6 (uninitialized) +01E7 (uninitialized) +01E8 (uninitialized) +01E9 (uninitialized) +01EA (uninitialized) +01EB (uninitialized) +01EC (uninitialized) +01ED (uninitialized) +01EE (uninitialized) +01EF (uninitialized) +01F0 (uninitialized) +01F1 (uninitialized) +01F2 (uninitialized) +01F3 (uninitialized) +01F4 (uninitialized) +01F5 (uninitialized) +01F6 (uninitialized) +01F7 (uninitialized) +01F8 (uninitialized) +01F9 (uninitialized) +01FA (uninitialized) +01FB (uninitialized) +01FC (uninitialized) +01FD (uninitialized) +01FE (uninitialized) +01FF - - 000010000100 C/R ! TRUE 0 NOC -- ---- 0 11 0 1 8 RAS1 RAS1 NOP EXNOR DZ + -- ---- 0 11 0 1 8 RAS1 RAS1 NOP EXNOR DZ
Am9080/prom/microcode.lst Property changes : Added: svn:eol-style ## -0,0 +1 ## +CRLF \ No newline at end of property Index: Am9080/prom/microcode.mif =================================================================== --- Am9080/prom/microcode.mif (nonexistent) +++ Am9080/prom/microcode.mif (revision 5) @@ -0,0 +1,1072 @@ +;EMULATOR ASSEMBLY (MARCH 1977) +;07/06/77 +; +;PC SOURCE AND/OR OBJECT CODE. x = DONT CARE +;0000 ;INITIALIZATION: +; +;0000 RESET: ALU DOUBLE, PC,PC.FTOB.F & AND & ZA :\, ALUC s, BASW & /lOC,, TO. INTE a IF.INY, & NUM DBUS, Hc:3&& NOC +0000 1000000011100000 0011110111110001 1011011111111110 11100100; +; +;0001 ALU,H#D,FTOB.F & DR & D2 & ALUC & BASW & 10C & /NOC & IF,INV & NUM +0001 1100000000000000 0011110111110000 0011010101011010 11011111; +; +;0002 ALU,H#C,FTOB.F & ANII *' 2Ft a, ALUC s, BASW & IOC & /NOC & IF,INV & NUM +0002 1100000000000000 0011110111110000 0011010101011000 11100100; +; +;0003 ALU,,,FTOB.F & AND :\, ZA & st.uc & BASLJ & IOC,,TO.A & /NOC & IF R.PUSH & NUM +0003 1100000000000011 0111110111110001 0011010101010100 11100100; +; +;0004 FETCH: ALU DOUBLE,PC,PC,FTOB.F & OR & ZA & ALUC & BASW & /IOC IN,,TO.A & MEMR & IF .INV,READY & NUM, $ +0004 0100000000010000 0010010111010001 0011011111111110 11011100; +; +;0005 INCPC & IF D.R. ,HOLD & NUM,HLDD & NOC +0005 1100000000110000 1110100111110001 0011011111111110 11000100; +; +;0000 +;0000 ;HOLD AND MEMORY REFERENCE SUBROUTINES AND HANDLERS: +;0000 +; +;0000 ORG 10 +; +;000A HLDSB: NALU & IOC & HLDA & IF R.RTN, INV, HOLD & NUM. $ +000A 1100000000101001 1010100111111000 0011010101010100 01XXXXXX +; +;000B HLDF: NALU & IOC & HLDA & IF R.F, INV,HOLD & NUM, $ +000B 1100000000101111 1010100111111000 0011010101010100 01XXXXXX +; +;000C HLDD: NALU & IOC & HLDA & IF D.R.,,HOLD & NUM, $ +000C 1100000000110000 1110100111111000 0011010101010100 01XXXXXX +; +;000D MMRSB: ALU DOUBLE,PC,PC,FTOB.F & OR & ZA & IOC,,TO.A & /ALUC & MEMR & IF R.RTN, ,READY & NUM, $ & BASW +000D 1100000000110101 1110010111010001 0011011111111110 11011100 +; +;000E MMWSB: ALU DOUBLE,PC,PC,FTOB.F & OR & ZA & ALUC & /IOC, DH, TO.A & NUM, $ & IF R.RT,,READY & BASW & MEMW +000E 1100000000111001 1110010111100101 0011011111111110 11011100 +; +;000F MMWF: ALU DOUBLE.PC.PC.FTOB.F & DR & ZA & ALue & BASW & /MEMW & IF R.F,,READY *' IOC. DH.TO.A & NUM, $ +000F 1100000000111111 1110010111100101 0011011111111110 11011100 +; +;0010 MMRF: ALU DOUELE.PC,PC,FTOB.F & DR & ZA & ALUC & BASW :\, MEMR & /IOC,,TO.A ~ IF R.F ,,READY ~ NUM , $ +0010 1100000001000011 1110010111010001 0011011111111110 11011100 +; +;0011 MMRSP: ALU DOUBLE,SP,SP,FTOB.F ~ OR ~ 2A & IOC,,TO.A & BASW & /ALUC & MEMR & IF R.RTN.,READY & NUM, $ +0011 1100000001000101 1110010111010001 0011011100010000 11011100 +; +;0012 MMWSPH: ALU DOUBLE,SP,SP',FTOB.F s, DR & 2A & ALUC 3. BASbJ & /IOC,DH,TO.A & MEMW 3. IF R.RTN, ,READY 3. NUM, $ +0012 1100000001001001 1110010111100101 0011011100010000 11011100 +; +;0013 MMWSPL: ALU DOUBLE, Sp, Sp, F TOB. F 3. DR & ZA & ALUC & BASW & /IOC,DL,TO.A & MEMW & IF R.RTN,,READY & NUM, $ +0013 1100000001001101 1110010111100011 0011011100010000 11011100 +; +;0000 +;0000 ;MACROCODES: +;0000 +; +;0014 MOVRR: ftLU, ,,FTOB.F & ALUC & BASW SW,SW & OR & 2A & IOC & /IF R.F, INV,HOLD 3. NUM, HLDF & NOC +0014 1100000000101111 1010101111110000 0111010101010100 11011100 +; +;0015 MOVMR: ALU DOUBLE, H 3. ftLUC & DR & 2ft 3. BASW 3. IDC,,TO.A & HLD +0015 1100000000101001 0110100111110001 0011011010010100 01011100 +; +;0016 ALU.& OR & 2A & BASW, SW ~< ftLUC & IOC,,TD.D 3. HLD +0016 1100000000101001 0110100111110000 1111010101010100 01011100 +; +;0017 ALU DOUBLE,PC.PC,FTOB.F & ALUC & OR & ZA & BASW & /MEMW & IF R.F,,READY & NUM, s & . IOC, DH, TO.A +0017 1100000001011111 1110010111100101 0011011111111110 11011100 +; +;0018 MOVRM: ALU DOUBLE, H & ALUC & OR & ZA & BASW & IOC,,TO.A & HLD +0018 1100000000101001 0110100111110001 0011011010010100 01011100 +; +;0019 ALU DOUBLE,PC,PC,FTOB.F & OR & ZA & ALUC & BASW & MMR & /IOC,,TO.A +0019 1100000000110101 0010010111010001 0011011111111110 11011100 +; +;001A ALU,,,FTOB.F & OR & DZ & BASW SW & ALUC & IOC & /NOC & IF R.F, INV, HOLD & NUM, HLDF +001A 1100000000101111 1010101111110000 0011010101010100 11011111 +; +;001B MVIR: INCPC & MMR +001B 1100000000110101 0010010111010001 0011011111111110 11000100 +; +;001C ALIJ, , ,FTOB. F & OR & DZ & ALUC & BASI.o.I SW & IDC / 3. NOC & IF R.F, INV, HOLD & NUM. HLDF +001C 1100000000101111 1010101111110000 0011010101010100 11011111 +; +;001D NALU +001D XXXXXXXXXXXXXXXX XXXXXX0XXXXXXXXX X011010101010100 01XXXXXX +; +;001E MVIM: NALU & MMR & IDe +001E 1100000000110101 0010010111010000 0011010101010100 01XXXXXX +; +;001F ALU,,,FTOB.F &. BASW & OR &. DZ & ALUC & IOC ,,TO.D s, HLD +001F 1100000000101001 0110100111110000 1011010101010100 11011111 +; +;0020 ALU DOUBLE,H & DR & ZA & ALUC & BASW & IOC,,TO.A & HLD +0020 1100000000101001 0110100111110001 0011011010010100 01011100 +; +;0021 ALU DOUBLE,PC,PC,FTOB.F & PLUS & ZA & ALUC & BASW & /MEMW & IF R.F,,READY & NUM, MMWF & IOC,DH,TO.A +0021 1100000000111111 1110010111100101 0011011111111110 11000100 +; +;0022 LXIB: INCPC & MMR +0022 1100000000110101 0010010111010001 0011011111111110 11000100 +; +;0023 ALU,,C,FTOB.F & OR & DZ & ALUC & BASW & HLD & IOC +0023 1100000000101001 0110100111110000 0011010101000010 11011111 +; +;0024 INCPC & MMR +0024 1100000000110101 0010010111010001 0011011111111110 11000100 +; +;0025 ALU,,B,FTOB.F, & OR & D2 & ALUC &. BASW &. NOC & /IF R.F,INY,HOLD & NUM,HLDF & IOC +0025 1100000000101111 1010100111110000 0011010101000000 11011111 +; +;0026 LDA: INCPC & MMR +0026 1100000000110101 0010010111010001 0011011111111110 11000100 +; +;0027 ALU DOUBLE,,jFTOB.F & OR & DZ & ALUC & BASW & HLD & lOC +0027 1100000000101001 0110100111110000 0011011101010100 11011111 +; +;0028 INCPC & MMR +0028 1100000000110101 0010010111010001 0011011111111110 11000100 +; +;0029 ALU,,,FTOB.F &. DR &. DZ &. ALUC 3, BASI.
Am9080/prom/microcode.mif Property changes : Added: svn:eol-style ## -0,0 +1 ## +CRLF \ No newline at end of property Index: Am9080/Am25139.vhd =================================================================== --- Am9080/Am25139.vhd (nonexistent) +++ Am9080/Am25139.vhd (revision 5) @@ -0,0 +1,94 @@ +---------------------------------------------------------------------------------- +-- Company: +-- Engineer: +-- +-- Create Date: 09/20/2017 11:51:21 PM +-- Design Name: +-- Module Name: Am25139 - Behavioral +-- Project Name: +-- Target Devices: +-- Tool Versions: +-- Description: +-- +-- Dependencies: +-- +-- Revision: +-- Revision 0.01 - File Created +-- Additional Comments: +-- +---------------------------------------------------------------------------------- + + +library IEEE; +use IEEE.STD_LOGIC_1164.ALL; + +-- Uncomment the following library declaration if using +-- arithmetic functions with Signed or Unsigned values +--use IEEE.NUMERIC_STD.ALL; + +-- Uncomment the following library declaration if instantiating +-- any Xilinx leaf cells in this code. +--library UNISIM; +--use UNISIM.VComponents.all; + +entity Am25139 is + Port ( nG1 : in STD_LOGIC; + B1 : in STD_LOGIC; + A1 : in STD_LOGIC; + nY1 : out STD_LOGIC_VECTOR (3 downto 0); + nG2 : in STD_LOGIC; + B2 : in STD_LOGIC; + A2 : in STD_LOGIC; + nY2 : out STD_LOGIC_VECTOR (3 downto 0)); +end Am25139; + +architecture Behavioral of Am25139 is + +signal sel1, sel2: std_logic_vector(1 downto 0); + +begin + +sel1 <= B1 & A1; +sel2 <= B2 & A2; + +decoder1: process(nG1, sel1) +begin + if (nG1 = '0') then + case sel1 is + when "00" => + nY1 <= "1110"; -- 0 + when "01" => + nY1 <= "1101"; -- 1 + when "10" => + nY1 <= "1011"; -- 2 + when "11" => + nY1 <= "0111"; -- 3 + when others => + null; + end case; + else + nY1 <= "1111"; + end if; +end process; + +decoder2: process(nG2, sel2) +begin + if (nG2 = '0') then + case sel2 is + when "00" => + nY2 <= "1110"; -- 0 + when "01" => + nY2 <= "1101"; -- 1 + when "10" => + nY2 <= "1011"; -- 2 + when "11" => + nY2 <= "0111"; -- 3 + when others => + null; + end case; + else + nY2 <= "1111"; + end if; +end process; + +end Behavioral;
Am9080/Am25139.vhd Property changes : Added: svn:eol-style ## -0,0 +1 ## +CRLF \ No newline at end of property Index: Am9080/Am25LS153.vhd =================================================================== --- Am9080/Am25LS153.vhd (nonexistent) +++ Am9080/Am25LS153.vhd (revision 5) @@ -0,0 +1,73 @@ +---------------------------------------------------------------------------------- +-- Company: +-- Engineer: +-- +-- Create Date: 09/24/2017 10:11:13 AM +-- Design Name: +-- Module Name: Am25LS153 - Behavioral +-- Project Name: +-- Target Devices: +-- Tool Versions: +-- Description: +-- +-- Dependencies: +-- +-- Revision: +-- Revision 0.01 - File Created +-- Additional Comments: +-- +---------------------------------------------------------------------------------- + + +library IEEE; +use IEEE.STD_LOGIC_1164.ALL; + +-- Uncomment the following library declaration if using +-- arithmetic functions with Signed or Unsigned values +--use IEEE.NUMERIC_STD.ALL; + +-- Uncomment the following library declaration if instantiating +-- any Xilinx leaf cells in this code. +--library UNISIM; +--use UNISIM.VComponents.all; + +entity Am25LS153 is + Port ( sel : in STD_LOGIC_VECTOR (1 downto 0); + n1G : in STD_LOGIC; + n2G : in STD_LOGIC; + in1 : in STD_LOGIC_VECTOR (3 downto 0); + in2 : in STD_LOGIC_VECTOR (3 downto 0); + out1 : out STD_LOGIC; + out2 : out STD_LOGIC); +end Am25LS153; + +architecture Behavioral of Am25LS153 is + +signal y1, y2: std_logic; + +begin + +selection: process(sel, in1, in2) +begin + case sel is + when "00" => + y1 <= in1(0); + y2 <= in2(0); + when "01" => + y1 <= in1(1); + y2 <= in2(1); + when "10" => + y1 <= in1(2); + y2 <= in2(2); + when "11" => + y1 <= in1(3); + y2 <= in2(3); + when others => + null; + end case; +end process; + +out1 <= y1 when (n1G = '0') else '0'; +out2 <= y2 when (n2G = '0') else '0'; + +end Behavioral;
Am9080/Am25LS153.vhd Property changes : Added: svn:eol-style ## -0,0 +1 ## +CRLF \ No newline at end of property Index: Am9080/Am25LS157.vhd =================================================================== --- Am9080/Am25LS157.vhd (nonexistent) +++ Am9080/Am25LS157.vhd (revision 5) @@ -0,0 +1,51 @@ +---------------------------------------------------------------------------------- +-- Company: +-- Engineer: +-- +-- Create Date: 09/24/2017 10:11:13 AM +-- Design Name: +-- Module Name: Am25LS157 - Behavioral +-- Project Name: +-- Target Devices: +-- Tool Versions: +-- Description: +-- +-- Dependencies: +-- +-- Revision: +-- Revision 0.01 - File Created +-- Additional Comments: +-- +---------------------------------------------------------------------------------- + + +library IEEE; +use IEEE.STD_LOGIC_1164.ALL; + +-- Uncomment the following library declaration if using +-- arithmetic functions with Signed or Unsigned values +--use IEEE.NUMERIC_STD.ALL; + +-- Uncomment the following library declaration if instantiating +-- any Xilinx leaf cells in this code. +--library UNISIM; +--use UNISIM.VComponents.all; + +entity Am25LS157 is + Port ( a : in STD_LOGIC_VECTOR (3 downto 0); + b : in STD_LOGIC_VECTOR (3 downto 0); + s : in STD_LOGIC; + nG : in STD_LOGIC; + y : out STD_LOGIC_VECTOR (3 downto 0)); +end Am25LS157; + +architecture Behavioral of Am25LS157 is + +signal y_internal: std_logic_vector(3 downto 0); + +begin + +y_internal <= a when (s = '0') else b; +y <= y_internal when (nG = '0') else "0000"; + +end Behavioral;
Am9080/Am25LS157.vhd Property changes : Added: svn:eol-style ## -0,0 +1 ## +CRLF \ No newline at end of property Index: Am9080/Am25LS257.vhd =================================================================== --- Am9080/Am25LS257.vhd (nonexistent) +++ Am9080/Am25LS257.vhd (revision 5) @@ -0,0 +1,52 @@ +---------------------------------------------------------------------------------- +-- Company: +-- Engineer: +-- +-- Create Date: 09/24/2017 10:11:13 AM +-- Design Name: +-- Module Name: Am25LS257 - Behavioral +-- Project Name: +-- Target Devices: +-- Tool Versions: +-- Description: +-- +-- Dependencies: +-- +-- Revision: +-- Revision 0.01 - File Created +-- Additional Comments: +-- +---------------------------------------------------------------------------------- + + +library IEEE; +use IEEE.STD_LOGIC_1164.ALL; + +-- Uncomment the following library declaration if using +-- arithmetic functions with Signed or Unsigned values +--use IEEE.NUMERIC_STD.ALL; + +-- Uncomment the following library declaration if instantiating +-- any Xilinx leaf cells in this code. +--library UNISIM; +--use UNISIM.VComponents.all; + +entity Am25LS257 is + Port ( a : in STD_LOGIC_VECTOR (3 downto 0); + b : in STD_LOGIC_VECTOR (3 downto 0); + s : in STD_LOGIC; + nOE : in STD_LOGIC; + y : out STD_LOGIC_VECTOR (3 downto 0)); +end Am25LS257; + +architecture Behavioral of Am25LS257 is + +signal y_internal: std_logic_vector(3 downto 0); + +begin + +y_internal <= a when (s = '0') else b; +y <= y_internal when (nOE = '0') else "ZZZZ"; + +end Behavioral; +
Am9080/Am25LS257.vhd Property changes : Added: svn:eol-style ## -0,0 +1 ## +CRLF \ No newline at end of property Index: Am9080/Am82S62.vhd =================================================================== --- Am9080/Am82S62.vhd (nonexistent) +++ Am9080/Am82S62.vhd (revision 5) @@ -0,0 +1,51 @@ +---------------------------------------------------------------------------------- +-- Company: +-- Engineer: +-- +-- Create Date: 09/24/2017 09:28:27 AM +-- Design Name: +-- Module Name: Am82S62 - Behavioral +-- Project Name: +-- Target Devices: +-- Tool Versions: +-- Description: +-- +-- Dependencies: +-- +-- Revision: +-- Revision 0.01 - File Created +-- Additional Comments: +-- +---------------------------------------------------------------------------------- + + +library IEEE; +use IEEE.STD_LOGIC_1164.ALL; + +-- Uncomment the following library declaration if using +-- arithmetic functions with Signed or Unsigned values +--use IEEE.NUMERIC_STD.ALL; + +-- Uncomment the following library declaration if instantiating +-- any Xilinx leaf cells in this code. +--library UNISIM; +--use UNISIM.VComponents.all; + +entity Am82S62 is + Port ( p : in STD_LOGIC_VECTOR (8 downto 0); + inhibit : in STD_LOGIC; + even : out STD_LOGIC; + odd : out STD_LOGIC); +end Am82S62; + +architecture Behavioral of Am82S62 is + +signal odd_internal: std_logic; + +begin + +odd_internal <= p(0) xor p(1) xor p(2) xor p(3) xor p(4) xor p(5) xor p(6) xor p(7) xor p(8); +even <= '0' when (inhibit = '1') else not odd_internal; +odd <= '0' when (inhibit = '1') else odd_internal; + +end Behavioral;
Am9080/Am82S62.vhd Property changes : Added: svn:eol-style ## -0,0 +1 ## +CRLF \ No newline at end of property Index: Am9080/rom256x12.vhd =================================================================== --- Am9080/rom256x12.vhd (nonexistent) +++ Am9080/rom256x12.vhd (revision 5) @@ -0,0 +1,182 @@ +---------------------------------------------------------------------------------- +-- Company: +-- Engineer: +-- +-- Create Date: 16:51:58 02/19/2017 +-- Design Name: +-- Module Name: tinyrom - Behavioral +-- Project Name: +-- Target Devices: +-- Tool versions: +-- Description: +-- +-- Dependencies: +-- +-- Revision: +-- Revision 0.01 - File Created +-- Additional Comments: +-- http://www.pastraiser.com/cpu/i8080/i8080_opcodes.html +---------------------------------------------------------------------------------- +library IEEE; +use IEEE.STD_LOGIC_1164.ALL; +use STD.textio.all; +use ieee.std_logic_textio.all; + +-- Uncomment the following library declaration if using +-- arithmetic functions with Signed or Unsigned values +use IEEE.NUMERIC_STD.ALL; + +-- Uncomment the following library declaration if instantiating +-- any Xilinx primitives in this code. +--library UNISIM; +--use UNISIM.VComponents.all; + +--use work.tinycpu_common.all; + +entity rom256x12 is + Port ( address : in STD_LOGIC_VECTOR (7 downto 0); + data : out STD_LOGIC_VECTOR (11 downto 0)); +end rom256x12; + +architecture Behavioral of rom256x12 is + +constant uPrgAddress_nop: std_logic_vector(11 downto 0) := X"086"; +constant uPrgAddress_hlt: std_logic_vector(11 downto 0) := X"082"; + +alias a8: std_logic_vector(7 downto 0) is address(7 downto 0); + +type rom_array is array(0 to 255) of std_logic_vector(11 downto 0); + +impure function char2hex(char: in character) return integer is +begin + case char is + when '0' to '9' => + return character'pos(char) - character'pos('0'); + when 'a' to 'f' => + return character'pos(char) - character'pos('a') + 10; + when 'A' to 'F' => + return character'pos(char) - character'pos('A') + 10; + when others => + assert false report "char2hex(): unexcpected character '" & char & "'" severity failure; + end case; + return 0; +end char2hex; + +impure function init_wordmemory(mif_file_name : in string; hex_file_name: in string; depth: in integer; default_value: std_logic_vector(11 downto 0)) return rom_array is + variable temp_mem : rom_array;-- := (others => (others => default)); + -- mif file variables + file mif_file : text open read_mode is mif_file_name; + variable mif_line : line; + variable char: character; + variable line_cnt: integer := 1; + variable isOk: boolean; + variable word_address: std_logic_vector(15 downto 0); + variable word_value: std_logic_vector(11 downto 0); + variable word_offset: integer; + variable hex_cnt: integer; + -- hex file variables + file hex_file : text open write_mode is hex_file_name; + variable hex_line : line; + variable checksum: integer; + +begin + -- fill with default value + for i in 0 to depth - 1 loop + temp_mem(i) := default_value; + end loop; + report "init_bytememory(): initialized " & integer'image(depth) & " bytes of memory to " & integer'image(to_integer(unsigned(default_value))) severity note; + -- parse the file for the data + report "init_bytememory(): loading memory from file " & mif_file_name severity note; + while not endfile(mif_file) loop --till the end of file is reached continue. + readline (mif_file, mif_line); + --next when mif_line'length = 0; -- Skip empty lines + report "init_mem(): line " & integer'image(line_cnt) & " read"; + isOk := true; + hex_cnt := 0; + word_offset := 0; + while isOk and (line_cnt < 1024) loop -- TODO: remove this hack + read(mif_line, char, isOk); + if (isOk) then + case char is + when ' ' => + report "init_wordmemory(): space detected"; + if (hex_cnt > 6) then + isOk := false; + end if; + when ';' => + report "init_wordmemory(): comment detected, rest of line is ignored"; + exit; + when '0' to '9'|'a' to 'f'|'A' to 'F' => + --report "init_mem(): hex char detected"; + case hex_cnt is + when 0 => + word_address := x"000" & std_logic_vector(to_unsigned(char2hex(char), 4)); + when 1|2 => + word_address := word_address(11 downto 0) & std_logic_vector(to_unsigned(char2hex(char), 4)); + when 3 => + word_address := word_address(11 downto 0) & std_logic_vector(to_unsigned(char2hex(char), 4)); + report "init_wordmemory(): address parsed"; + --assert unsigned(word_address) < depth; + when 4 => + word_value := x"00" & std_logic_vector(to_unsigned(char2hex(char), 4)); + when 5 => + word_value := word_value(7 downto 0) & std_logic_vector(to_unsigned(char2hex(char), 4)); + when 6 => + word_value := word_value(7 downto 0) & std_logic_vector(to_unsigned(char2hex(char), 4)); + temp_mem(to_integer(unsigned(word_address)) + word_offset) := word_value; + report "init_wordmemory(): word " & integer'image(word_offset) & " set."; + word_offset := word_offset + 1; + when others => + assert false report "init_wordmemory(): too many bytes specified in line" severity note; + exit; + end case; + hex_cnt := hex_cnt + 1; + when others => + assert false report "init_wordmemory(): unexpected char in line " & integer'image(line_cnt) severity note; + exit; + end case; + else + report "init_bytememory(): end of line " & integer'image(line_cnt) & " reached"; + end if; + end loop; + + line_cnt := line_cnt + 1; + end loop; -- next line in file + + file_close(mif_file); + + -- dump memory content to Intel hex-format like file + for i in 0 to (depth - 1) / 16 loop + write(hex_line, string'(": 10 ")); -- 16 bytes per line + hwrite(hex_line, std_logic_vector(to_unsigned(i * 16, 16)), RIGHT, 4); + write(hex_line, string'(" 00 ")); -- regular data line marker + checksum := 0; + for j in 0 to 15 loop + hwrite(hex_line, temp_mem(i * 16 + j), RIGHT, 3); + checksum := checksum + to_integer(unsigned(temp_mem(i * 16 + j))); + write(hex_line, string'(" ")); + end loop; + hwrite(hex_line, std_logic_vector(to_unsigned(0 - checksum, 8)), RIGHT, 2); + writeline(hex_file, hex_line); + end loop; + write(hex_line, string'(": 00 0000 01 FF")); -- last line marker + writeline(hex_file, hex_line); -- write last line + file_close(hex_file); + + return temp_mem; + +end init_wordmemory; + +constant data_from_file: rom_array := init_wordmemory("./prom/mapper.mif", "./prom/mapper.hex", 256, uPrgAddress_nop); + +constant data_from_inline: rom_array := +( + 0 => uPrgAddress_hlt, + others => uPrgAddress_nop +); + +begin + data <= data_from_file(to_integer(unsigned(a8))); + +end Behavioral; +
Am9080/rom256x12.vhd Property changes : Added: svn:eol-style ## -0,0 +1 ## +CRLF \ No newline at end of property Index: Am9080/rom32x8.vhd =================================================================== --- Am9080/rom32x8.vhd (nonexistent) +++ Am9080/rom32x8.vhd (revision 5) @@ -0,0 +1,88 @@ +---------------------------------------------------------------------------------- +-- Company: +-- Engineer: +-- +-- Create Date: 09/24/2017 01:49:44 PM +-- Design Name: +-- Module Name: rom32x8 - Behavioral +-- Project Name: +-- Target Devices: +-- Tool Versions: +-- Description: +-- +-- Dependencies: +-- +-- Revision: +-- Revision 0.01 - File Created +-- Additional Comments: +-- +---------------------------------------------------------------------------------- + + +library IEEE; +use IEEE.STD_LOGIC_1164.ALL; + +-- Uncomment the following library declaration if using +-- arithmetic functions with Signed or Unsigned values +--use IEEE.NUMERIC_STD.ALL; + +-- Uncomment the following library declaration if instantiating +-- any Xilinx leaf cells in this code. +--library UNISIM; +--use UNISIM.VComponents.all; + +entity rom32x8 is + Port ( nCS : in STD_LOGIC; + address : in STD_LOGIC_VECTOR (3 downto 0); + data : out STD_LOGIC_VECTOR (4 downto 0)); +end rom32x8; + +architecture Behavioral of rom32x8 is + +signal data_int: std_logic_vector(4 downto 0); + +begin + +sequence: process(address) +begin + case address is + when "0000" => + data_int <= "01000"; -- C + when "0001" => + data_int <= "01001"; -- R + when "0010" => + data_int <= "01011"; -- D + when "0011" => + data_int <= "01001"; -- R + when "0100" => + data_int <= "01000"; -- C + when "0101" => + data_int <= "00101"; -- SBR + when "0110" => + data_int <= "01001"; -- R + when "0111" => + data_int <= "00010"; -- RTN + when "1000" => + data_int <= "11010"; -- F + when "1001" => + data_int <= "00101"; -- SBR + when "1010" => + data_int <= "00000"; -- POP + when "1011" => + data_int <= "00001"; -- PR + when "1100" => + data_int <= "01001"; -- R + when "1101" => + data_int <= "00100"; -- PUSH + when "1110" => + data_int <= "01001"; -- R + when "1111" => + data_int <= "11010"; -- F + when others => + data_int <= "11111"; + end case; +end process; + +data <= data_int when (nCS = '0') else "ZZZZZ"; + +end Behavioral;
Am9080/rom32x8.vhd Property changes : Added: svn:eol-style ## -0,0 +1 ## +CRLF \ No newline at end of property Index: Am9080/rom512x56.vhd =================================================================== --- Am9080/rom512x56.vhd (nonexistent) +++ Am9080/rom512x56.vhd (revision 5) @@ -0,0 +1,366 @@ +---------------------------------------------------------------------------------- +-- Company: +-- Engineer: +-- +-- Create Date: 16:51:58 02/19/2017 +-- Design Name: +-- Module Name: tinyrom - Behavioral +-- Project Name: +-- Target Devices: +-- Tool versions: +-- Description: +-- +-- Dependencies: +-- +-- Revision: +-- Revision 0.01 - File Created +-- Additional Comments: +-- +---------------------------------------------------------------------------------- +library IEEE; +use IEEE.STD_LOGIC_1164.ALL; +use STD.textio.all; +use ieee.std_logic_textio.all; + +-- Uncomment the following library declaration if using +-- arithmetic functions with Signed or Unsigned values +use IEEE.NUMERIC_STD.ALL; + +-- Uncomment the following library declaration if instantiating +-- any Xilinx primitives in this code. +--library UNISIM; +--use UNISIM.VComponents.all; + +--use work.tinycpu_common.all; + +entity rom512x56 is + Port ( address : in STD_LOGIC_VECTOR (8 downto 0); + data : out STD_LOGIC_VECTOR (55 downto 0)); +end rom512x56; + +architecture Behavioral of rom512x56 is + +--type t_uinstruction is array (55 downto 0) of std_logic; +type t_word is array(15 downto 0) of std_logic; +type t_byte is array(7 downto 0) of std_logic; +type t_uinstruction512 is array(0 to 511) of std_logic_vector(55 downto 0); +constant uCode_nop: std_logic_vector(55 downto 0) := "11000000001011111010100111110000001101010101010001000000"; +constant uCode_default: std_logic_vector(55 downto 0) := "11111111111111111111111111111111111111111111111111111111"; + +type t_string16x4 is array(0 to 15) of string(1 to 4); +type t_string8x3 is array(0 to 7) of string(1 to 3); +type t_string8x5 is array(0 to 7) of string(1 to 5); +type t_string8x6 is array(0 to 7) of string(1 to 6); +type t_string4x4 is array(0 to 3) of string(1 to 4); +type t_string4x2 is array(0 to 3) of string(1 to 2); +type t_string2x2 is array(0 to 1) of string(1 to 2); +type t_string2x1 is array(0 to 1) of string(1 to 1); +constant cond_decode: t_string16x4 := ("Z ", "CY ", "P ", "S ", "AC ", "?(5)", "?(6)", "?(7)", "INT ", "RDY ", "HOLD", "?(B)", "F3 ", "F=0 ", "CN4 ", "TRUE"); +constant reg_decode: t_string16x4 := ("R_BC", "R_CB", "R_DE", "R_ED", "R_HL", "R_LH", "R_?A", "R_A?", "R_SP", "R_9?", "RAS1", "RBS2", "RZ38", "R38Z", "RES3", "R_PC"); +constant src_decode: t_string8x3 := ("AQ ", "AB ", "ZQ ", "ZB ", "ZA ", "DA ", "DQ ", "DZ "); +constant fct_decode: t_string8x5 := ("ADD ", "SUBR ", "SUBS ", "OR ", "AND ", "NOTRS", "EXOR ", "EXNOR"); +constant dst_decode: t_string8x5 := ("QREG ", "NOP ", "RAMA ", "RAMF ", "RAMQD", "RAMD ", "RAMQU", "RAMU "); +constant next_decode: t_string8x6 := ("C/R ", "D/R ", "C/SBR ", "R/RTN ", "F/SBR ", "POP/PR", "R/PUSH", "R/F "); +constant databusenable_decode: t_string4x2 := ("--", "YL", "YH", "FL"); +constant outputsteer_decode: t_string4x4 := ("----", "DATA", "ADDR", "INTE"); +constant immediatedatabus_decode: t_string2x1 := ("m", "-"); +constant size_decode: t_string2x2 := ("8 ", "16"); +constant instregenable_decode: t_string2x1 := ("i", "-"); +constant condpolarity_decode: t_string2x1 := ("-", "!"); + +alias a8: std_logic_vector(8 downto 0) is address(8 downto 0); + + +impure function char2hex(char: in character) return integer is +begin + case char is + when '0' to '9' => + return character'pos(char) - character'pos('0'); + when 'a' to 'f' => + return character'pos(char) - character'pos('a') + 10; + when 'A' to 'F' => + return character'pos(char) - character'pos('A') + 10; + when others => + assert false report "char2hex(): unexpected character '" & char & "'" severity failure; + end case; + return 0; +end char2hex; + +impure function decode_buscontrol(buscontrol: in std_logic_vector(5 downto 0)) return string is +begin + case buscontrol is + when "111110" => return "NOC "; + when "111100" => return "MEMW "; + when "111010" => return "MEMR "; + when "110110" => return "IOW "; + when "101110" => return "IOR "; + when "011110" => return "INTA "; + when "111111" => return "HLDA "; + when others => + return "??????"; + end case; +end decode_buscontrol; + +impure function decode_reg(reg: in std_logic_vector(3 downto 0)) return string is +begin + return reg_decode(to_integer(unsigned(reg))); +end decode_reg; + +impure function decode_cond(cond: in std_logic_vector(3 downto 0)) return string is +begin + return cond_decode(to_integer(unsigned(cond))); +end decode_cond; + +impure function decode_src(src: in std_logic_vector(2 downto 0)) return string is +begin + return src_decode(to_integer(unsigned(src))); +end decode_src; + +impure function decode_fct(fct: in std_logic_vector(2 downto 0)) return string is +begin + return fct_decode(to_integer(unsigned(fct))); +end decode_fct; + +impure function decode_dst(dst: in std_logic_vector(2 downto 0)) return string is +begin + return dst_decode(to_integer(unsigned(dst))); +end decode_dst; + +impure function decode_next(nxt: in std_logic_vector(2 downto 0)) return string is +begin + return next_decode(to_integer(unsigned(nxt))); +end decode_next; + +impure function decode_databusenable(busenable: in std_logic_vector(1 downto 0)) return string is +begin + return databusenable_decode(to_integer(unsigned(busenable))); +end decode_databusenable; + +impure function decode_outputsteer(outputsteer: in std_logic_vector(1 downto 0)) return string is +begin + return outputsteer_decode(to_integer(unsigned(outputsteer))); +end decode_outputsteer; + +impure function decode_immediatedatabus(immediatedatabus: in std_logic) return string is +begin + return immediatedatabus_decode(to_integer(unsigned'("" & immediatedatabus))); +end decode_immediatedatabus; + +impure function decode_size(size: in std_logic) return string is +begin + return size_decode(to_integer(unsigned'("" & size))); +end decode_size; + +impure function decode_instregenable(instregenable: in std_logic) return string is +begin + return instregenable_decode(to_integer(unsigned'("" & instregenable))); +end decode_instregenable; + +impure function decode_condpolarity(condpolarity: in std_logic) return string is +begin + return condpolarity_decode(to_integer(unsigned'("" & condpolarity))); +end decode_condpolarity; + +procedure dump_wordmemory(out_file_name: in string; depth: in integer; temp_mem: in t_uinstruction512; base: in integer) is + file out_file : text open write_mode is out_file_name; + variable out_line : line; + +begin + -- dump memory content in
format for verification + for i in 0 to (depth - 1) loop + + if ((i mod 32 = 0) and not ((base = 8) or (base = 16))) then + write(out_line, string'("-----------------------------------------------------------------------------------------"));writeline(out_file, out_line); + write(out_line, string'(" I D DIRECT-VALUE NXT P COND B SYSCTL OE OS A UK S C W AADR BADR DST FCT SRC"));writeline(out_file, out_line); + write(out_line, string'("-----------------------------------------------------------------------------------------"));writeline(out_file, out_line); + end if; + + hwrite(out_line, std_logic_vector(to_unsigned(i, 16))); + write(out_line, string'(" ")); + if (temp_mem(i) = ucode_default) then + write(out_line, string'("(uninitialized)")); + else + case base is + when 2 => + write(out_line, temp_mem(i)(55));write(out_line, string'(" ")); + write(out_line, temp_mem(i)(54));write(out_line, string'(" ")); + write(out_line, temp_mem(i)(53 downto 42));write(out_line, string'(" ")); + write(out_line, temp_mem(i)(41 downto 39));write(out_line, string'(" ")); + write(out_line, temp_mem(i)(38));write(out_line, string'(" ")); + write(out_line, temp_mem(i)(37 downto 34));write(out_line, string'(" ")); + write(out_line, temp_mem(i)(33));write(out_line, string'(" ")); + write(out_line, temp_mem(i)(32 downto 27));write(out_line, string'(" ")); + write(out_line, temp_mem(i)(26 downto 25));write(out_line, string'(" ")); + write(out_line, temp_mem(i)(24 downto 23));write(out_line, string'(" ")); + write(out_line, temp_mem(i)(22));write(out_line, string'(" ")); + write(out_line, temp_mem(i)(21 downto 20));write(out_line, string'(" ")); + write(out_line, temp_mem(i)(19));write(out_line, string'(" ")); + write(out_line, temp_mem(i)(18));write(out_line, string'(" ")); + write(out_line, temp_mem(i)(17));write(out_line, string'(" ")); + write(out_line, temp_mem(i)(16 downto 13));write(out_line, string'(" ")); + write(out_line, temp_mem(i)(12 downto 9));write(out_line, string'(" ")); + write(out_line, temp_mem(i)(8 downto 6));write(out_line, string'(" ")); + write(out_line, temp_mem(i)(5 downto 3));write(out_line, string'(" ")); + write(out_line, temp_mem(i)(2 downto 0)); + when 8 => + owrite(out_line, temp_mem(i)); + when 16 => + hwrite(out_line, temp_mem(i)); + when others => -- any other value will dump microcode "mnemonics" + write(out_line, decode_instregenable(temp_mem(i)(55)));write(out_line, string'(" ")); + write(out_line, decode_immediatedatabus(temp_mem(i)(54)));write(out_line, string'(" ")); + if (unsigned(temp_mem(i)(53 downto 42)) = i) then + write(out_line, string'("= location = ")); + else + write(out_line, temp_mem(i)(53 downto 42));write(out_line, string'(" ")); + end if; + write(out_line, decode_next(temp_mem(i)(41 downto 39)));write(out_line, string'(" ")); + write(out_line, decode_condpolarity(temp_mem(i)(38)));write(out_line, string'(" ")); + write(out_line, decode_cond(temp_mem(i)(37 downto 34)));write(out_line, string'(" ")); + write(out_line, temp_mem(i)(33));write(out_line, string'(" ")); + write(out_line, decode_buscontrol(temp_mem(i)(32 downto 27)));write(out_line, string'(" ")); + write(out_line, decode_databusenable(temp_mem(i)(26 downto 25)));write(out_line, string'(" ")); + write(out_line, decode_outputsteer(temp_mem(i)(24 downto 23)));write(out_line, string'(" ")); + write(out_line, temp_mem(i)(22));write(out_line, string'(" ")); + write(out_line, temp_mem(i)(21 downto 20));write(out_line, string'(" ")); + write(out_line, temp_mem(i)(19));write(out_line, string'(" ")); + write(out_line, temp_mem(i)(18));write(out_line, string'(" ")); + write(out_line, decode_size(temp_mem(i)(17)));write(out_line, string'(" ")); + write(out_line, decode_reg(temp_mem(i)(16 downto 13)));write(out_line, string'(" ")); + write(out_line, decode_reg(temp_mem(i)(12 downto 9)));write(out_line, string'(" ")); + write(out_line, decode_dst(temp_mem(i)(8 downto 6)));write(out_line, string'(" ")); + write(out_line, decode_fct(temp_mem(i)(5 downto 3)));write(out_line, string'(" ")); + write(out_line, decode_src(temp_mem(i)(2 downto 0))); + end case; + end if; + writeline(out_file, out_line); + end loop; + file_close(out_file); +end dump_wordmemory; + +impure function parseHex16(hex_str: in string) return std_logic_vector is + variable intVal: integer := 0; +begin + --report "parseHex16(" & hex_str & ")" severity note; + + for i in hex_str'left to hex_str'right loop + intVal := 16 * intVal + char2hex(hex_str(i)); + end loop; + return std_logic_vector(to_unsigned(intVal, 16)); +end parseHex16; + +impure function parseBinary8(bin_str: in string) return std_logic_vector is + variable val: std_logic_vector(7 downto 0) := "00000000"; +begin + --report "parseBinary8(" & bin_str & ")" severity note; + for i in bin_str'left to bin_str'right loop + case bin_str(i) is + when '0' => + val := val(6 downto 0) & "0"; + when '1'|'X' => -- interpret X as '1' due to bus signal being low active - this way is undefined microinstruction is executed, bus won't short! + val := val(6 downto 0) & "1"; + when others => + assert false report "parseBinary8(): unexpected character '" & bin_str(i) & "'" severity failure; + end case; + end loop; + + return val; +end parseBinary8; + +impure function parseBinary16(bin_str: in string) return std_logic_vector is +begin + --report "parseBinary16(" & bin_str & ")" severity note; + return parseBinary8(bin_str(1 to 8)) & parseBinary8(bin_str(9 to 16)); +end parseBinary16; + + +impure function init_wordmemory(input_file_name : in string; dump_file_name: in string; dump_file_base: in integer; depth: in integer; default_value: std_logic_vector(55 downto 0)) return t_uinstruction512 is + variable temp_mem : t_uinstruction512;-- := (others => (others => default_value)); + -- mif file variables + file input_file : text open read_mode is input_file_name; + variable input_line : line; + variable line_current: integer := 0; + variable line_cnt_accepted, line_cnt_ignored: integer := 0; + variable address: std_logic_vector(15 downto 0); + variable word: std_logic_vector(55 downto 0); + variable addr_str: string(1 to 3); + variable data16_str1, data16_str2, data16_str3: string(1 to 16); + variable data8_str: string(1 to 8); + variable addr_ok, data16_ok1, data16_ok2, data16_ok3, data8_ok : boolean; + variable firstChar: character; + +begin + -- fill with default value + for i in 0 to depth - 1 loop + temp_mem(i) := default_value; + --temp_mem(i) := std_logic_vector(to_unsigned(i, 9)) & "00000000000000000000000000000000000000000000000"; + end loop; + assert false report "init_bytememory(): initialized " & integer'image(depth) & " words of memory to default value " severity note; + + -- parse the file for the data + assert false report "init_bytememory(): loading memory from file " & input_file_name severity note; + loop + exit when endfile(input_file); --till the end of file is reached continue. + line_current := line_current + 1; + readline (input_file, input_line); + --next when input_line'length = 0; -- Skip empty lines + report "init_mem(): parsing line " & integer'image(line_current) severity note; + --report "[" & integer'image(input_line'left) & "]" severity note; + address := X"0000"; + word := X"00000000000000"; + + read(input_line, firstChar); + --exit when endline(input_line); + addr_ok := true; + report "addr_str='" & firstChar & "'" severity note; + case firstChar is + when ';' => + --report "Semicolon detected, line is treated as comment" severity note; + line_cnt_ignored := line_cnt_ignored + 1; + when '0' to '9' | 'A' to 'F' => + read(input_line, addr_str, addr_ok); + read(input_line, data16_str1, data16_ok1); + read(input_line, data16_str2, data16_ok2); + read(input_line, data16_str3, data16_ok3); + read(input_line, data8_str, data8_ok); + --if (addr_ok and data16_ok1 and data16_ok2 and data16_ok3 and data8_ok) then + address := parseHex16(firstChar & addr_str); + word := parseBinary16(data16_str1) & parseBinary16(data16_str2) & parseBinary16(data16_str3) & parseBinary8(data8_str); + + temp_mem(to_integer(unsigned(address))) := word; + line_cnt_accepted := line_cnt_accepted + 1; + report "init_bytememory(): line " & integer'image(line_current) & " parsed and accepted for address " & integer'image(to_integer(unsigned(address))) severity note; + --else + -- report "init_bytememory(): line " & integer'image(line_current) & " is ignored due to missing data" severity note; + -- line_cnt_ignored := line_cnt_ignored + 1; + --end if; + when others => + report "init_bytememory(): line " & integer'image(line_current) & " is ignored due to unrecognized 1st char" severity note; + line_cnt_ignored := line_cnt_ignored + 1; + end case; + end loop; -- next line in file + + file_close(input_file); + + report "init_bytememory(): " & integer'image(line_cnt_accepted) & " total lines parsed and accepted from file " & input_file_name severity note; + report "init_bytememory(): " & integer'image(line_cnt_ignored) & " total lines parsed and ignored from file " & input_file_name severity note; + + dump_wordmemory(dump_file_name, depth, temp_mem, dump_file_base); + + return temp_mem; +end init_wordmemory; + +constant data_from_file: t_uinstruction512 := init_wordmemory("./prom/microcode.mif", "./prom/microcode.lst", 0, 512, uCode_default); +--constant data_from_file: rom_array := init_wordmemory("./prom/microcode.mif", "./prom/microcode.hex", 2, 512, uCode_default); + +constant data_from_inline: t_uinstruction512 := +( + 0 => uCode_nop, + others => uCode_nop +); + +begin + data <= data_from_file(to_integer(unsigned(a8))); + +end Behavioral; +
Am9080/rom512x56.vhd Property changes : Added: svn:eol-style ## -0,0 +1 ## +CRLF \ No newline at end of property

powered by: WebSVN 2.1.0

© copyright 1999-2024 OpenCores.org, equivalent to Oliscience, all rights reserved. OpenCores®, registered trademark.