`timescale 1ns / 1ps module inst_mem(clka, addra, douta); input clka; input [15:0] addra; output reg[15:0] douta; always @(addra) begin case(addra) 0: douta <= 16'h3101; // LDC R1, 0x01 1: douta <= 16'h3003; // LDC R0, 0x03 2: douta <= 16'h4001; // SUB R0, R0, R1 3: douta <= 16'h3FFF; // LDC R15, 0xFF 4: douta <= 16'h5002; // JMPZ R0, +2 5: douta <= 16'h70fd; // JMP -3 6: douta <= 16'hb000; // END default: douta <= 16'h0000; endcase end endmodule