`include "opcode.v" module rom(address, data); input [11:0] address; output [7:0] data; assign data = ROM(address); function [7:0] ROM; input [11:0] address; case (address) 0: ROM = {`OUT_Im, 4'h3}; 1: ROM = {`OUT_Im, 4'h6}; 2: ROM = {`OUT_Im, 4'h6}; 3: ROM = {`OUT_Im, 4'hC}; 4: ROM = {`OUT_Im, 4'hC}; 5: ROM = {`OUT_Im, 4'h8}; 6: ROM = {`OUT_Im, 4'h8}; 7: ROM = {`OUT_Im, 4'h8}; 8: ROM = {`OUT_Im, 4'hC}; 9: ROM = {`OUT_Im, 4'hC}; 10: ROM = {`OUT_Im, 4'h6}; 11: ROM = {`OUT_Im, 4'h6}; 12: ROM = {`OUT_Im, 4'h3}; 13: ROM = {`OUT_Im, 4'h3}; 14: ROM = {`OUT_Im, 4'h1}; 15: ROM = {`JMP_Im, 4'h0}; 16: ROM = {4'h0, 4'h0}; 17: ROM = {`OUT_Im, 4'h1}; // 18: ROM = {`OUT_Im, 4'h2}; 18: ROM = {`MOV_A_Im, 4'h5}; // 19: ROM = {`OUT_Im, 4'h3}; 19: ROM = {`ADD_A_Im, 4'h3}; 20: ROM = {`JNC_Im, 4'hF}; 21: ROM = {4'hF,4'hC}; // 22: ROM = {4'hF,4'hF}; 256: ROM = {`OUT_Im, 4'h0}; 257: ROM = {`OUT_Im, 4'h1}; 258: ROM = {`OUT_Im, 4'h2}; 259: ROM = {`OUT_Im, 4'h3}; 260: ROM = {`OUT_Im, 4'h4}; 261: ROM = {`OUT_Im, 4'h5}; 262: ROM = {`OUT_Im, 4'h6}; 263: ROM = {`OUT_Im, 4'h7}; 264: ROM = {`OUT_Im, 4'h8}; 265: ROM = {`OUT_Im, 4'h9}; 266: ROM = {`OUT_Im, 4'hA}; 267: ROM = {`OUT_Im, 4'hB}; 268: ROM = {`OUT_Im, 4'hC}; 269: ROM = {`OUT_Im, 4'hD}; 270: ROM = {`OUT_Im, 4'hE}; 271: ROM = {`OUT_Im, 4'hF}; 272: ROM = {`OUT_Im, 4'h0}; 273: ROM = {`OUT_Im, 4'h1}; // 18: ROM = {`OUT_Im, 4'h2}; 274: ROM = {`MOV_A_Im, 4'h3}; // 19: ROM = {`OUT_Im, 4'h3}; 275: ROM = {`ADD_A_Im, 4'h1}; 276: ROM = {`JNC_Im, 4'h1}; 277: ROM = {4'h0,4'h3}; 4092:ROM = {`OUT_Im,4'h5}; 4093:ROM = {`OUT_Im,4'h3}; 4094:ROM = {`JMP_Im,4'h1}; 4095:ROM = {4'h0,4'h0}; // default: endcase // case(address) endfunction // ROM endmodule // rom