Committed on the Free edition of March Hare Software CVSNT Server. Upgrade to CVS Suite for more features and support: http://march-hare.com/cvsnt/ git-svn-id: http://moon:8086/svn/vhdl/trunk@556 cc03376c-175c-47c8-b038-4cd826a8556b
1087 lines
40 KiB
VHDL
1087 lines
40 KiB
VHDL
-------------------------------------------------------------------------
|
|
-- Project: JCPU, a portable 8-bit RISC CPU written in VHDL
|
|
-- This file: The ROM file for use in your VHDL design
|
|
--
|
|
-- Copyright (C) 2007 J. Ahrensfeld
|
|
--
|
|
-- This program is free software: you can redistribute it and/or modify
|
|
-- it under the terms of the GNU General Public License as published by
|
|
-- the Free Software Foundation, either version 3 of the License, or
|
|
-- (at your option) any later version.
|
|
--
|
|
-- This program is distributed in the hope that it will be useful,
|
|
-- but WITHOUT ANY WARRANTY; without even the implied warranty of
|
|
-- MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
|
-- GNU General Public License for more details.
|
|
--
|
|
-- You should have received a copy of the GNU General Public License
|
|
-- along with this program. If not, see <http://www.gnu.org/licenses/>.
|
|
--
|
|
-- For questions and ideas, please contact the author at jens@jayfield.org
|
|
--
|
|
--------------------------------------------------------------------------
|
|
|
|
LIBRARY ieee;
|
|
use IEEE.STD_LOGIC_1164.ALL;
|
|
USE ieee.numeric_std.ALL;
|
|
|
|
library work;
|
|
use work.cpu_pkg.all;
|
|
|
|
-- JASM_ROM_INSERT_HERE
|
|
ENTITY irom IS
|
|
Port
|
|
(
|
|
clk : in STD_LOGIC;
|
|
ce : in STD_LOGIC;
|
|
addr : in inst_addr_t;
|
|
dout : out inst_t
|
|
);
|
|
END irom;
|
|
|
|
ARCHITECTURE itest OF irom IS
|
|
|
|
type imem_rom_t is array (0 to 1023) of inst_t;
|
|
|
|
-- Assembled from itest.jsm
|
|
constant imem_rom : imem_rom_t :=
|
|
(
|
|
"110000" & X"010", -- 0x000: JMP 0x010
|
|
"110000" & X"288", -- 0x001: JMP 0x288
|
|
"000000" & X"000", -- 0x002:
|
|
"000000" & X"000", -- 0x003:
|
|
"000000" & X"000", -- 0x004:
|
|
"000000" & X"000", -- 0x005:
|
|
"000000" & X"000", -- 0x006:
|
|
"000000" & X"000", -- 0x007:
|
|
"000000" & X"000", -- 0x008:
|
|
"000000" & X"000", -- 0x009:
|
|
"000000" & X"000", -- 0x00A:
|
|
"000000" & X"000", -- 0x00B:
|
|
"000000" & X"000", -- 0x00C:
|
|
"000000" & X"000", -- 0x00D:
|
|
"000000" & X"000", -- 0x00E:
|
|
"000000" & X"000", -- 0x00F:
|
|
"111011" & X"03B", -- 0x010: CALL 0x03B
|
|
"101001" & X"000", -- 0x011: CIN R00, (0x00)
|
|
"100100" & X"000", -- 0x012: XOUT (0x00), R00
|
|
"111011" & X"04C", -- 0x013: CALL 0x04C
|
|
"000011" & X"010", -- 0x014: MOV R00, 0x01
|
|
"100100" & X"010", -- 0x015: XOUT (0x01), R00
|
|
"111011" & X"08D", -- 0x016: CALL 0x08D
|
|
"000011" & X"020", -- 0x017: MOV R00, 0x02
|
|
"100100" & X"010", -- 0x018: XOUT (0x01), R00
|
|
"111011" & X"0C9", -- 0x019: CALL 0x0C9
|
|
"000011" & X"030", -- 0x01A: MOV R00, 0x03
|
|
"100100" & X"010", -- 0x01B: XOUT (0x01), R00
|
|
"111011" & X"0DB", -- 0x01C: CALL 0x0DB
|
|
"000011" & X"040", -- 0x01D: MOV R00, 0x04
|
|
"100100" & X"010", -- 0x01E: XOUT (0x01), R00
|
|
"111011" & X"0ED", -- 0x01F: CALL 0x0ED
|
|
"000011" & X"050", -- 0x020: MOV R00, 0x05
|
|
"100100" & X"010", -- 0x021: XOUT (0x01), R00
|
|
"111011" & X"0FF", -- 0x022: CALL 0x0FF
|
|
"000011" & X"060", -- 0x023: MOV R00, 0x06
|
|
"100100" & X"010", -- 0x024: XOUT (0x01), R00
|
|
"111011" & X"115", -- 0x025: CALL 0x115
|
|
"000011" & X"070", -- 0x026: MOV R00, 0x07
|
|
"100100" & X"010", -- 0x027: XOUT (0x01), R00
|
|
"111011" & X"12B", -- 0x028: CALL 0x12B
|
|
"000011" & X"080", -- 0x029: MOV R00, 0x08
|
|
"100100" & X"010", -- 0x02A: XOUT (0x01), R00
|
|
"111011" & X"137", -- 0x02B: CALL 0x137
|
|
"000011" & X"090", -- 0x02C: MOV R00, 0x09
|
|
"100100" & X"010", -- 0x02D: XOUT (0x01), R00
|
|
"111011" & X"15A", -- 0x02E: CALL 0x15A
|
|
"000011" & X"0A0", -- 0x02F: MOV R00, 0x0A
|
|
"100100" & X"010", -- 0x030: XOUT (0x01), R00
|
|
"111011" & X"22A", -- 0x031: CALL 0x22A
|
|
"000011" & X"0B0", -- 0x032: MOV R00, 0x0B
|
|
"100100" & X"010", -- 0x033: XOUT (0x01), R00
|
|
"111011" & X"24D", -- 0x034: CALL 0x24D
|
|
"000011" & X"0C0", -- 0x035: MOV R00, 0x0C
|
|
"100100" & X"010", -- 0x036: XOUT (0x01), R00
|
|
"111011" & X"278", -- 0x037: CALL 0x278
|
|
"000011" & X"FF0", -- 0x038: MOV R00, 0xFF
|
|
"100100" & X"010", -- 0x039: XOUT (0x01), R00
|
|
"110000" & X"2FF", -- 0x03A: JMP 0x2FF
|
|
"000011" & X"000", -- 0x03B: MOV R00, 0x00
|
|
"000011" & X"001", -- 0x03C: MOV R01, 0x00
|
|
"000011" & X"002", -- 0x03D: MOV R02, 0x00
|
|
"000011" & X"003", -- 0x03E: MOV R03, 0x00
|
|
"000011" & X"004", -- 0x03F: MOV R04, 0x00
|
|
"000011" & X"005", -- 0x040: MOV R05, 0x00
|
|
"000011" & X"006", -- 0x041: MOV R06, 0x00
|
|
"000011" & X"007", -- 0x042: MOV R07, 0x00
|
|
"000011" & X"008", -- 0x043: MOV R08, 0x00
|
|
"000011" & X"009", -- 0x044: MOV R09, 0x00
|
|
"000011" & X"00A", -- 0x045: MOV R10, 0x00
|
|
"000011" & X"00B", -- 0x046: MOV R11, 0x00
|
|
"000011" & X"00C", -- 0x047: MOV R12, 0x00
|
|
"000011" & X"00D", -- 0x048: MOV R13, 0x00
|
|
"000011" & X"00E", -- 0x049: MOV R14, 0x00
|
|
"000011" & X"00F", -- 0x04A: MOV R15, 0x00
|
|
"111110" & X"000", -- 0x04B: RET
|
|
"000011" & X"100", -- 0x04C: MOV R00, 0x10
|
|
"001111" & X"100", -- 0x04D: CMP R00, 0x10
|
|
"111010" & X"3FF", -- 0x04E: JNE 0x3FF
|
|
"010001" & X"010", -- 0x04F: ADD R00, 0x01
|
|
"000010" & X"001", -- 0x050: MOV R01, R00
|
|
"001111" & X"111", -- 0x051: CMP R01, 0x11
|
|
"111010" & X"3FF", -- 0x052: JNE 0x3FF
|
|
"010001" & X"011", -- 0x053: ADD R01, 0x01
|
|
"000010" & X"012", -- 0x054: MOV R02, R01
|
|
"001111" & X"122", -- 0x055: CMP R02, 0x12
|
|
"111010" & X"3FF", -- 0x056: JNE 0x3FF
|
|
"010001" & X"012", -- 0x057: ADD R02, 0x01
|
|
"000010" & X"023", -- 0x058: MOV R03, R02
|
|
"001111" & X"133", -- 0x059: CMP R03, 0x13
|
|
"111010" & X"3FF", -- 0x05A: JNE 0x3FF
|
|
"010001" & X"013", -- 0x05B: ADD R03, 0x01
|
|
"000010" & X"034", -- 0x05C: MOV R04, R03
|
|
"001111" & X"144", -- 0x05D: CMP R04, 0x14
|
|
"111010" & X"3FF", -- 0x05E: JNE 0x3FF
|
|
"010001" & X"014", -- 0x05F: ADD R04, 0x01
|
|
"000010" & X"045", -- 0x060: MOV R05, R04
|
|
"001111" & X"155", -- 0x061: CMP R05, 0x15
|
|
"111010" & X"3FF", -- 0x062: JNE 0x3FF
|
|
"010001" & X"015", -- 0x063: ADD R05, 0x01
|
|
"000010" & X"056", -- 0x064: MOV R06, R05
|
|
"001111" & X"166", -- 0x065: CMP R06, 0x16
|
|
"111010" & X"3FF", -- 0x066: JNE 0x3FF
|
|
"010001" & X"016", -- 0x067: ADD R06, 0x01
|
|
"000010" & X"067", -- 0x068: MOV R07, R06
|
|
"001111" & X"177", -- 0x069: CMP R07, 0x17
|
|
"111010" & X"3FF", -- 0x06A: JNE 0x3FF
|
|
"010001" & X"017", -- 0x06B: ADD R07, 0x01
|
|
"000010" & X"078", -- 0x06C: MOV R08, R07
|
|
"001111" & X"188", -- 0x06D: CMP R08, 0x18
|
|
"111010" & X"3FF", -- 0x06E: JNE 0x3FF
|
|
"010001" & X"018", -- 0x06F: ADD R08, 0x01
|
|
"000010" & X"089", -- 0x070: MOV R09, R08
|
|
"001111" & X"199", -- 0x071: CMP R09, 0x19
|
|
"111010" & X"3FF", -- 0x072: JNE 0x3FF
|
|
"010001" & X"019", -- 0x073: ADD R09, 0x01
|
|
"000010" & X"09A", -- 0x074: MOV R10, R09
|
|
"001111" & X"1AA", -- 0x075: CMP R10, 0x1A
|
|
"111010" & X"3FF", -- 0x076: JNE 0x3FF
|
|
"010001" & X"01A", -- 0x077: ADD R10, 0x01
|
|
"000010" & X"0AB", -- 0x078: MOV R11, R10
|
|
"001111" & X"1BB", -- 0x079: CMP R11, 0x1B
|
|
"111010" & X"3FF", -- 0x07A: JNE 0x3FF
|
|
"010001" & X"01B", -- 0x07B: ADD R11, 0x01
|
|
"000010" & X"0BC", -- 0x07C: MOV R12, R11
|
|
"001111" & X"1CC", -- 0x07D: CMP R12, 0x1C
|
|
"111010" & X"3FF", -- 0x07E: JNE 0x3FF
|
|
"010001" & X"01C", -- 0x07F: ADD R12, 0x01
|
|
"000010" & X"0CD", -- 0x080: MOV R13, R12
|
|
"001111" & X"1DD", -- 0x081: CMP R13, 0x1D
|
|
"111010" & X"3FF", -- 0x082: JNE 0x3FF
|
|
"010001" & X"01D", -- 0x083: ADD R13, 0x01
|
|
"000010" & X"0DE", -- 0x084: MOV R14, R13
|
|
"001111" & X"1EE", -- 0x085: CMP R14, 0x1E
|
|
"111010" & X"3FF", -- 0x086: JNE 0x3FF
|
|
"010001" & X"01E", -- 0x087: ADD R14, 0x01
|
|
"000010" & X"0EF", -- 0x088: MOV R15, R14
|
|
"001111" & X"1FF", -- 0x089: CMP R15, 0x1F
|
|
"111010" & X"3FF", -- 0x08A: JNE 0x3FF
|
|
"010001" & X"01F", -- 0x08B: ADD R15, 0x01
|
|
"111110" & X"000", -- 0x08C: RET
|
|
"000011" & X"000", -- 0x08D: MOV R00, 0x00
|
|
"001111" & X"000", -- 0x08E: TST R00
|
|
"110010" & X"3FF", -- 0x08F: JNZ 0x3FF
|
|
"110011" & X"3FF", -- 0x090: JC 0x3FF
|
|
"001111" & X"000", -- 0x091: CMP R00, 0x00
|
|
"111010" & X"3FF", -- 0x092: JNE 0x3FF
|
|
"110101" & X"3FF", -- 0x093: JLT 0x3FF
|
|
"110110" & X"3FF", -- 0x094: JGT 0x3FF
|
|
"110111" & X"097", -- 0x095: JLE 0x097
|
|
"110000" & X"3FF", -- 0x096: JMP 0x3FF
|
|
"111001" & X"099", -- 0x097: JEQ 0x099
|
|
"110000" & X"3FF", -- 0x098: JMP 0x3FF
|
|
"111000" & X"09B", -- 0x099: JGE 0x09B
|
|
"110000" & X"3FF", -- 0x09A: JMP 0x3FF
|
|
"001111" & X"550", -- 0x09B: CMP R00, 0x55
|
|
"111001" & X"3FF", -- 0x09C: JEQ 0x3FF
|
|
"110101" & X"09F", -- 0x09D: JLT 0x09F
|
|
"110000" & X"3FF", -- 0x09E: JMP 0x3FF
|
|
"110111" & X"0A1", -- 0x09F: JLE 0x0A1
|
|
"110000" & X"3FF", -- 0x0A0: JMP 0x3FF
|
|
"111000" & X"3FF", -- 0x0A1: JGE 0x3FF
|
|
"110110" & X"3FF", -- 0x0A2: JGT 0x3FF
|
|
"000011" & X"550", -- 0x0A3: MOV R00, 0x55
|
|
"001111" & X"000", -- 0x0A4: TST R00
|
|
"110001" & X"3FF", -- 0x0A5: JZ 0x3FF
|
|
"110011" & X"3FF", -- 0x0A6: JC 0x3FF
|
|
"001111" & X"AA0", -- 0x0A7: CMP R00, 0xAA
|
|
"111001" & X"3FF", -- 0x0A8: JEQ 0x3FF
|
|
"111010" & X"0AB", -- 0x0A9: JNE 0x0AB
|
|
"110000" & X"3FF", -- 0x0AA: JMP 0x3FF
|
|
"110101" & X"0AD", -- 0x0AB: JLT 0x0AD
|
|
"110000" & X"3FF", -- 0x0AC: JMP 0x3FF
|
|
"110111" & X"0AF", -- 0x0AD: JLE 0x0AF
|
|
"110000" & X"3FF", -- 0x0AE: JMP 0x3FF
|
|
"110110" & X"3FF", -- 0x0AF: JGT 0x3FF
|
|
"001111" & X"550", -- 0x0B0: CMP R00, 0x55
|
|
"111001" & X"0B3", -- 0x0B1: JEQ 0x0B3
|
|
"110000" & X"3FF", -- 0x0B2: JMP 0x3FF
|
|
"111010" & X"3FF", -- 0x0B3: JNE 0x3FF
|
|
"110101" & X"3FF", -- 0x0B4: JLT 0x3FF
|
|
"110111" & X"0B7", -- 0x0B5: JLE 0x0B7
|
|
"110000" & X"3FF", -- 0x0B6: JMP 0x3FF
|
|
"110110" & X"3FF", -- 0x0B7: JGT 0x3FF
|
|
"111000" & X"0BA", -- 0x0B8: JGE 0x0BA
|
|
"110000" & X"3FF", -- 0x0B9: JMP 0x3FF
|
|
"000011" & X"AA0", -- 0x0BA: MOV R00, 0xAA
|
|
"001111" & X"000", -- 0x0BB: TST R00
|
|
"110001" & X"3FF", -- 0x0BC: JZ 0x3FF
|
|
"110011" & X"3FF", -- 0x0BD: JC 0x3FF
|
|
"001111" & X"550", -- 0x0BE: CMP R00, 0x55
|
|
"111001" & X"3FF", -- 0x0BF: JEQ 0x3FF
|
|
"111010" & X"0C2", -- 0x0C0: JNE 0x0C2
|
|
"110000" & X"3FF", -- 0x0C1: JMP 0x3FF
|
|
"110110" & X"0C4", -- 0x0C2: JGT 0x0C4
|
|
"110000" & X"3FF", -- 0x0C3: JMP 0x3FF
|
|
"111000" & X"0C6", -- 0x0C4: JGE 0x0C6
|
|
"110000" & X"3FF", -- 0x0C5: JMP 0x3FF
|
|
"110101" & X"3FF", -- 0x0C6: JLT 0x3FF
|
|
"110111" & X"3FF", -- 0x0C7: JLE 0x3FF
|
|
"111110" & X"000", -- 0x0C8: RET
|
|
"000011" & X"000", -- 0x0C9: MOV R00, 0x00
|
|
"000011" & X"001", -- 0x0CA: MOV R01, 0x00
|
|
"000010" & X"002", -- 0x0CB: MOV R02, R00
|
|
"000010" & X"013", -- 0x0CC: MOV R03, R01
|
|
"010001" & X"010", -- 0x0CD: ADD R00, 0x01
|
|
"010011" & X"001", -- 0x0CE: ADDC R01, 0x00
|
|
"010001" & X"012", -- 0x0CF: ADD R02, 0x01
|
|
"001111" & X"002", -- 0x0D0: CMP R02, 0x00
|
|
"111010" & X"0D4", -- 0x0D1: JNE 0x0D4
|
|
"010001" & X"013", -- 0x0D2: ADD R03, 0x01
|
|
"001111" & X"023", -- 0x0D3: CMP R03, 0x02
|
|
"111010" & X"0CD", -- 0x0D4: JNE 0x0CD
|
|
"001110" & X"020", -- 0x0D5: CMP R00, R02
|
|
"111010" & X"3FF", -- 0x0D6: JNE 0x3FF
|
|
"001110" & X"031", -- 0x0D7: CMP R01, R03
|
|
"111010" & X"3FF", -- 0x0D8: JNE 0x3FF
|
|
"000011" & X"000", -- 0x0D9: MOV R00, 0x00
|
|
"111110" & X"000", -- 0x0DA: RET
|
|
"000011" & X"000", -- 0x0DB: MOV R00, 0x00
|
|
"000011" & X"031", -- 0x0DC: MOV R01, 0x03
|
|
"000010" & X"002", -- 0x0DD: MOV R02, R00
|
|
"000010" & X"013", -- 0x0DE: MOV R03, R01
|
|
"010101" & X"010", -- 0x0DF: SUB R00, 0x01
|
|
"010111" & X"001", -- 0x0E0: SUBC R01, 0x00
|
|
"010101" & X"012", -- 0x0E1: SUB R02, 0x01
|
|
"001111" & X"FF2", -- 0x0E2: CMP R02, 0xFF
|
|
"111010" & X"0E6", -- 0x0E3: JNE 0x0E6
|
|
"010101" & X"013", -- 0x0E4: SUB R03, 0x01
|
|
"001111" & X"003", -- 0x0E5: CMP R03, 0x00
|
|
"111010" & X"0DF", -- 0x0E6: JNE 0x0DF
|
|
"001110" & X"020", -- 0x0E7: CMP R00, R02
|
|
"111010" & X"3FF", -- 0x0E8: JNE 0x3FF
|
|
"001110" & X"031", -- 0x0E9: CMP R01, R03
|
|
"111010" & X"3FF", -- 0x0EA: JNE 0x3FF
|
|
"000011" & X"000", -- 0x0EB: MOV R00, 0x00
|
|
"111110" & X"000", -- 0x0EC: RET
|
|
"000011" & X"030", -- 0x0ED: MOV R00, 0x03
|
|
"000011" & X"051", -- 0x0EE: MOV R01, 0x05
|
|
"101110" & X"050", -- 0x0EF: SUB 0x05, R00
|
|
"010101" & X"031", -- 0x0F0: SUB R01, 0x03
|
|
"001110" & X"010", -- 0x0F1: CMP R00, R01
|
|
"111010" & X"3FF", -- 0x0F2: JNE 0x3FF
|
|
"000011" & X"030", -- 0x0F3: MOV R00, 0x03
|
|
"000011" & X"051", -- 0x0F4: MOV R01, 0x05
|
|
"010100" & X"010", -- 0x0F5: SUB R00, R01
|
|
"101111" & X"000", -- 0x0F6: SUBC 0x00, R00
|
|
"001111" & X"010", -- 0x0F7: CMP R00, 0x01
|
|
"111010" & X"3FF", -- 0x0F8: JNE 0x3FF
|
|
"010001" & X"000", -- 0x0F9: ADD R00, 0x00
|
|
"010110" & X"001", -- 0x0FA: SUBC R01, R00
|
|
"001111" & X"041", -- 0x0FB: CMP R01, 0x04
|
|
"111010" & X"3FF", -- 0x0FC: JNE 0x3FF
|
|
"000011" & X"000", -- 0x0FD: MOV R00, 0x00
|
|
"111110" & X"000", -- 0x0FE: RET
|
|
"000011" & X"010", -- 0x0FF: MOV R00, 0x01
|
|
"001101" & X"5A0", -- 0x100: MOVC (0x5A), R00
|
|
"010101" & X"010", -- 0x101: DEC R00
|
|
"001101" & X"000", -- 0x102: MOVC (0x00), R00
|
|
"001010" & X"5A1", -- 0x103: MOVC R01, (0x5A)
|
|
"001100" & X"A51", -- 0x104: MOVC (R01), 0xA5
|
|
"001001" & X"010", -- 0x105: MOVC R00, (R01)
|
|
"001001" & X"011", -- 0x106: MOVC R01, (R01)
|
|
"010001" & X"5A1", -- 0x107: ADD R01, 0x5A
|
|
"001001" & X"010", -- 0x108: MOVC R00, (R01)
|
|
"001011" & X"000", -- 0x109: MOVC (R00), R00
|
|
"001001" & X"002", -- 0x10A: MOVC R02, (R00)
|
|
"001110" & X"002", -- 0x10B: CMP R02, R00
|
|
"111010" & X"3FF", -- 0x10C: JNE 0x3FF
|
|
"001011" & X"021", -- 0x10D: MOVC (R01), R02
|
|
"001001" & X"022", -- 0x10E: MOVC R02, (R02)
|
|
"001110" & X"012", -- 0x10F: CMP R02, R01
|
|
"111010" & X"3FF", -- 0x110: JNE 0x3FF
|
|
"010101" & X"011", -- 0x111: DEC R01
|
|
"010001" & X"010", -- 0x112: INC R00
|
|
"110010" & X"109", -- 0x113: JNZ 0x109
|
|
"111110" & X"000", -- 0x114: RET
|
|
"000011" & X"010", -- 0x115: MOV R00, 0x01
|
|
"001000" & X"600", -- 0x116: MOVX (0x60), R00
|
|
"010101" & X"010", -- 0x117: DEC R00
|
|
"001000" & X"060", -- 0x118: MOVX (0x06), R00
|
|
"000101" & X"601", -- 0x119: MOVX R01, (0x60)
|
|
"000111" & X"A51", -- 0x11A: MOVX (R01), 0xA5
|
|
"000100" & X"010", -- 0x11B: MOVX R00, (R01)
|
|
"000100" & X"011", -- 0x11C: MOVX R01, (R01)
|
|
"010001" & X"5A1", -- 0x11D: ADD R01, 0x5A
|
|
"000100" & X"010", -- 0x11E: MOVX R00, (R01)
|
|
"000110" & X"000", -- 0x11F: MOVX (R00), R00
|
|
"000100" & X"002", -- 0x120: MOVX R02, (R00)
|
|
"001110" & X"002", -- 0x121: CMP R02, R00
|
|
"111010" & X"3FF", -- 0x122: JNE 0x3FF
|
|
"000110" & X"021", -- 0x123: MOVX (R01), R02
|
|
"000100" & X"022", -- 0x124: MOVX R02, (R02)
|
|
"001110" & X"012", -- 0x125: CMP R02, R01
|
|
"111010" & X"3FF", -- 0x126: JNE 0x3FF
|
|
"010101" & X"011", -- 0x127: DEC R01
|
|
"010001" & X"010", -- 0x128: INC R00
|
|
"110010" & X"11F", -- 0x129: JNZ 0x11F
|
|
"111110" & X"000", -- 0x12A: RET
|
|
"000011" & X"AA0", -- 0x12B: MOV R00, 0xAA
|
|
"000011" & X"001", -- 0x12C: MOV R01, 0x00
|
|
"111100" & X"000", -- 0x12D: PUSH R00
|
|
"010001" & X"010", -- 0x12E: INC R00
|
|
"010101" & X"011", -- 0x12F: DEC R01
|
|
"110010" & X"12D", -- 0x130: JNZ 0x12D
|
|
"111101" & X"000", -- 0x131: POP R00
|
|
"010101" & X"011", -- 0x132: DEC R01
|
|
"110010" & X"131", -- 0x133: JNZ 0x131
|
|
"001111" & X"AA0", -- 0x134: CMP R00, 0xAA
|
|
"111010" & X"3FF", -- 0x135: JNE 0x3FF
|
|
"111110" & X"000", -- 0x136: RET
|
|
"000011" & X"550", -- 0x137: MOV R00, 0x55
|
|
"111100" & X"000", -- 0x138: PUSH R00
|
|
"000011" & X"000", -- 0x139: MOV R00, 0x00
|
|
"000011" & X"FF1", -- 0x13A: MOV R01, 0xFF
|
|
"111011" & X"151", -- 0x13B: CALL 0x151
|
|
"111101" & X"000", -- 0x13C: POP R00
|
|
"001111" & X"550", -- 0x13D: CMP R00, 0x55
|
|
"111010" & X"3FF", -- 0x13E: JNE 0x3FF
|
|
"000011" & X"010", -- 0x13F: MOV R00, 0x01
|
|
"000011" & X"481", -- 0x140: MOV R01, 0x48
|
|
"100110" & X"050", -- 0x141: COUT (0x05), R00
|
|
"111100" & X"001", -- 0x142: PUSH R01
|
|
"000011" & X"000", -- 0x143: MOV R00, 0x00
|
|
"000011" & X"3B1", -- 0x144: MOV R01, 0x3B
|
|
"100110" & X"050", -- 0x145: COUT (0x05), R00
|
|
"111100" & X"001", -- 0x146: PUSH R01
|
|
"111110" & X"000", -- 0x147: RET
|
|
"000011" & X"010", -- 0x148: MOV R00, 0x01
|
|
"000011" & X"501", -- 0x149: MOV R01, 0x50
|
|
"100110" & X"050", -- 0x14A: COUT (0x05), R00
|
|
"111100" & X"001", -- 0x14B: PUSH R01
|
|
"000011" & X"000", -- 0x14C: MOV R00, 0x00
|
|
"000011" & X"3B1", -- 0x14D: MOV R01, 0x3B
|
|
"100110" & X"050", -- 0x14E: COUT (0x05), R00
|
|
"111100" & X"001", -- 0x14F: PUSH R01
|
|
"111110" & X"000", -- 0x150: RET
|
|
"001110" & X"010", -- 0x151: CMP R00, R01
|
|
"111001" & X"155", -- 0x152: JEQ 0x155
|
|
"010001" & X"010", -- 0x153: INC R00
|
|
"110000" & X"158", -- 0x154: JMP 0x158
|
|
"010101" & X"010", -- 0x155: DEC R00
|
|
"010101" & X"011", -- 0x156: DEC R01
|
|
"111110" & X"000", -- 0x157: RET
|
|
"111011" & X"151", -- 0x158: CALL 0x151
|
|
"110000" & X"155", -- 0x159: JMP 0x155
|
|
"000011" & X"A50", -- 0x15A: MOV R00, 0xA5
|
|
"000011" & X"5A1", -- 0x15B: MOV R01, 0x5A
|
|
"101010" & X"000", -- 0x15C: SWAP R00
|
|
"001111" & X"5A0", -- 0x15D: CMP R00, 0x5A
|
|
"111010" & X"3FF", -- 0x15E: JNE 0x3FF
|
|
"101010" & X"000", -- 0x15F: SWAP R00
|
|
"001111" & X"A50", -- 0x160: CMP R00, 0xA5
|
|
"111010" & X"3FF", -- 0x161: JNE 0x3FF
|
|
"000011" & X"D20", -- 0x162: MOV R00, 0xD2
|
|
"101010" & X"000", -- 0x163: SWAP R00
|
|
"001111" & X"2D0", -- 0x164: CMP R00, 0x2D
|
|
"111010" & X"3FF", -- 0x165: JNE 0x3FF
|
|
"101010" & X"001", -- 0x166: SWAP R01
|
|
"001111" & X"2D0", -- 0x167: CMP R00, 0x2D
|
|
"111010" & X"3FF", -- 0x168: JNE 0x3FF
|
|
"001111" & X"A51", -- 0x169: CMP R01, 0xA5
|
|
"111010" & X"3FF", -- 0x16A: JNE 0x3FF
|
|
"000011" & X"2D0", -- 0x16B: MOV R00, 0x2D
|
|
"011110" & X"000", -- 0x16C: SHL R00
|
|
"001111" & X"5A0", -- 0x16D: CMP R00, 0x5A
|
|
"111010" & X"3FF", -- 0x16E: JNE 0x3FF
|
|
"011110" & X"000", -- 0x16F: SHL R00
|
|
"001111" & X"B40", -- 0x170: CMP R00, 0xB4
|
|
"111010" & X"3FF", -- 0x171: JNE 0x3FF
|
|
"011110" & X"000", -- 0x172: SHL R00
|
|
"001111" & X"680", -- 0x173: CMP R00, 0x68
|
|
"111010" & X"3FF", -- 0x174: JNE 0x3FF
|
|
"011110" & X"000", -- 0x175: SHL R00
|
|
"001111" & X"D00", -- 0x176: CMP R00, 0xD0
|
|
"111010" & X"3FF", -- 0x177: JNE 0x3FF
|
|
"011110" & X"000", -- 0x178: SHL R00
|
|
"001111" & X"A00", -- 0x179: CMP R00, 0xA0
|
|
"111010" & X"3FF", -- 0x17A: JNE 0x3FF
|
|
"011110" & X"000", -- 0x17B: SHL R00
|
|
"001111" & X"400", -- 0x17C: CMP R00, 0x40
|
|
"111010" & X"3FF", -- 0x17D: JNE 0x3FF
|
|
"011110" & X"000", -- 0x17E: SHL R00
|
|
"001111" & X"800", -- 0x17F: CMP R00, 0x80
|
|
"111010" & X"3FF", -- 0x180: JNE 0x3FF
|
|
"011110" & X"000", -- 0x181: SHL R00
|
|
"001111" & X"000", -- 0x182: CMP R00, 0x00
|
|
"111010" & X"3FF", -- 0x183: JNE 0x3FF
|
|
"000011" & X"841", -- 0x184: MOV R01, 0x84
|
|
"011111" & X"001", -- 0x185: SHR R01
|
|
"001111" & X"421", -- 0x186: CMP R01, 0x42
|
|
"111010" & X"3FF", -- 0x187: JNE 0x3FF
|
|
"011111" & X"001", -- 0x188: SHR R01
|
|
"001111" & X"211", -- 0x189: CMP R01, 0x21
|
|
"111010" & X"3FF", -- 0x18A: JNE 0x3FF
|
|
"011111" & X"001", -- 0x18B: SHR R01
|
|
"001111" & X"101", -- 0x18C: CMP R01, 0x10
|
|
"111010" & X"3FF", -- 0x18D: JNE 0x3FF
|
|
"011111" & X"001", -- 0x18E: SHR R01
|
|
"001111" & X"081", -- 0x18F: CMP R01, 0x08
|
|
"111010" & X"3FF", -- 0x190: JNE 0x3FF
|
|
"011111" & X"001", -- 0x191: SHR R01
|
|
"001111" & X"041", -- 0x192: CMP R01, 0x04
|
|
"111010" & X"3FF", -- 0x193: JNE 0x3FF
|
|
"011111" & X"001", -- 0x194: SHR R01
|
|
"001111" & X"021", -- 0x195: CMP R01, 0x02
|
|
"111010" & X"3FF", -- 0x196: JNE 0x3FF
|
|
"011111" & X"001", -- 0x197: SHR R01
|
|
"001111" & X"011", -- 0x198: CMP R01, 0x01
|
|
"111010" & X"3FF", -- 0x199: JNE 0x3FF
|
|
"011111" & X"001", -- 0x19A: SHR R01
|
|
"001111" & X"001", -- 0x19B: CMP R01, 0x00
|
|
"111010" & X"3FF", -- 0x19C: JNE 0x3FF
|
|
"000011" & X"C50", -- 0x19D: MOV R00, 0xC5
|
|
"100000" & X"000", -- 0x19E: ROL R00
|
|
"001111" & X"8B0", -- 0x19F: CMP R00, 0x8B
|
|
"111010" & X"3FF", -- 0x1A0: JNE 0x3FF
|
|
"100000" & X"000", -- 0x1A1: ROL R00
|
|
"001111" & X"170", -- 0x1A2: CMP R00, 0x17
|
|
"111010" & X"3FF", -- 0x1A3: JNE 0x3FF
|
|
"100000" & X"000", -- 0x1A4: ROL R00
|
|
"001111" & X"2E0", -- 0x1A5: CMP R00, 0x2E
|
|
"111010" & X"3FF", -- 0x1A6: JNE 0x3FF
|
|
"100000" & X"000", -- 0x1A7: ROL R00
|
|
"001111" & X"5C0", -- 0x1A8: CMP R00, 0x5C
|
|
"111010" & X"3FF", -- 0x1A9: JNE 0x3FF
|
|
"100000" & X"000", -- 0x1AA: ROL R00
|
|
"001111" & X"B80", -- 0x1AB: CMP R00, 0xB8
|
|
"111010" & X"3FF", -- 0x1AC: JNE 0x3FF
|
|
"100000" & X"000", -- 0x1AD: ROL R00
|
|
"001111" & X"710", -- 0x1AE: CMP R00, 0x71
|
|
"111010" & X"3FF", -- 0x1AF: JNE 0x3FF
|
|
"100000" & X"000", -- 0x1B0: ROL R00
|
|
"001111" & X"E20", -- 0x1B1: CMP R00, 0xE2
|
|
"111010" & X"3FF", -- 0x1B2: JNE 0x3FF
|
|
"100000" & X"000", -- 0x1B3: ROL R00
|
|
"001111" & X"C50", -- 0x1B4: CMP R00, 0xC5
|
|
"111010" & X"3FF", -- 0x1B5: JNE 0x3FF
|
|
"000011" & X"631", -- 0x1B6: MOV R01, 0x63
|
|
"100001" & X"001", -- 0x1B7: ROR R01
|
|
"001111" & X"B11", -- 0x1B8: CMP R01, 0xB1
|
|
"111010" & X"3FF", -- 0x1B9: JNE 0x3FF
|
|
"100001" & X"001", -- 0x1BA: ROR R01
|
|
"001111" & X"D81", -- 0x1BB: CMP R01, 0xD8
|
|
"111010" & X"3FF", -- 0x1BC: JNE 0x3FF
|
|
"100001" & X"001", -- 0x1BD: ROR R01
|
|
"001111" & X"6C1", -- 0x1BE: CMP R01, 0x6C
|
|
"111010" & X"3FF", -- 0x1BF: JNE 0x3FF
|
|
"100001" & X"001", -- 0x1C0: ROR R01
|
|
"001111" & X"361", -- 0x1C1: CMP R01, 0x36
|
|
"111010" & X"3FF", -- 0x1C2: JNE 0x3FF
|
|
"100001" & X"001", -- 0x1C3: ROR R01
|
|
"001111" & X"1B1", -- 0x1C4: CMP R01, 0x1B
|
|
"111010" & X"3FF", -- 0x1C5: JNE 0x3FF
|
|
"100001" & X"001", -- 0x1C6: ROR R01
|
|
"001111" & X"8D1", -- 0x1C7: CMP R01, 0x8D
|
|
"111010" & X"3FF", -- 0x1C8: JNE 0x3FF
|
|
"100001" & X"001", -- 0x1C9: ROR R01
|
|
"001111" & X"C61", -- 0x1CA: CMP R01, 0xC6
|
|
"111010" & X"3FF", -- 0x1CB: JNE 0x3FF
|
|
"100001" & X"001", -- 0x1CC: ROR R01
|
|
"001111" & X"631", -- 0x1CD: CMP R01, 0x63
|
|
"111010" & X"3FF", -- 0x1CE: JNE 0x3FF
|
|
"011100" & X"000", -- 0x1CF: XOR R00, R00
|
|
"000011" & X"C50", -- 0x1D0: MOV R00, 0xC5
|
|
"100010" & X"000", -- 0x1D1: ROLC R00
|
|
"111100" & X"000", -- 0x1D2: PUSH R00
|
|
"100010" & X"000", -- 0x1D3: ROLC R00
|
|
"111100" & X"000", -- 0x1D4: PUSH R00
|
|
"100010" & X"000", -- 0x1D5: ROLC R00
|
|
"111100" & X"000", -- 0x1D6: PUSH R00
|
|
"100010" & X"000", -- 0x1D7: ROLC R00
|
|
"111100" & X"000", -- 0x1D8: PUSH R00
|
|
"100010" & X"000", -- 0x1D9: ROLC R00
|
|
"111100" & X"000", -- 0x1DA: PUSH R00
|
|
"100010" & X"000", -- 0x1DB: ROLC R00
|
|
"111100" & X"000", -- 0x1DC: PUSH R00
|
|
"100010" & X"000", -- 0x1DD: ROLC R00
|
|
"111100" & X"000", -- 0x1DE: PUSH R00
|
|
"100010" & X"000", -- 0x1DF: ROLC R00
|
|
"111100" & X"000", -- 0x1E0: PUSH R00
|
|
"100010" & X"000", -- 0x1E1: ROLC R00
|
|
"001111" & X"C50", -- 0x1E2: CMP R00, 0xC5
|
|
"111010" & X"3FF", -- 0x1E3: JNE 0x3FF
|
|
"111101" & X"000", -- 0x1E4: POP R00
|
|
"001111" & X"620", -- 0x1E5: CMP R00, 0x62
|
|
"111010" & X"3FF", -- 0x1E6: JNE 0x3FF
|
|
"111101" & X"000", -- 0x1E7: POP R00
|
|
"001111" & X"B10", -- 0x1E8: CMP R00, 0xB1
|
|
"111010" & X"3FF", -- 0x1E9: JNE 0x3FF
|
|
"111101" & X"000", -- 0x1EA: POP R00
|
|
"001111" & X"580", -- 0x1EB: CMP R00, 0x58
|
|
"111010" & X"3FF", -- 0x1EC: JNE 0x3FF
|
|
"111101" & X"000", -- 0x1ED: POP R00
|
|
"001111" & X"AC0", -- 0x1EE: CMP R00, 0xAC
|
|
"111010" & X"3FF", -- 0x1EF: JNE 0x3FF
|
|
"111101" & X"000", -- 0x1F0: POP R00
|
|
"001111" & X"560", -- 0x1F1: CMP R00, 0x56
|
|
"111010" & X"3FF", -- 0x1F2: JNE 0x3FF
|
|
"111101" & X"000", -- 0x1F3: POP R00
|
|
"001111" & X"2B0", -- 0x1F4: CMP R00, 0x2B
|
|
"111010" & X"3FF", -- 0x1F5: JNE 0x3FF
|
|
"111101" & X"000", -- 0x1F6: POP R00
|
|
"001111" & X"150", -- 0x1F7: CMP R00, 0x15
|
|
"111010" & X"3FF", -- 0x1F8: JNE 0x3FF
|
|
"111101" & X"000", -- 0x1F9: POP R00
|
|
"001111" & X"8A0", -- 0x1FA: CMP R00, 0x8A
|
|
"111010" & X"3FF", -- 0x1FB: JNE 0x3FF
|
|
"011100" & X"011", -- 0x1FC: XOR R01, R01
|
|
"000011" & X"631", -- 0x1FD: MOV R01, 0x63
|
|
"100011" & X"001", -- 0x1FE: RORC R01
|
|
"111100" & X"001", -- 0x1FF: PUSH R01
|
|
"100011" & X"001", -- 0x200: RORC R01
|
|
"111100" & X"001", -- 0x201: PUSH R01
|
|
"100011" & X"001", -- 0x202: RORC R01
|
|
"111100" & X"001", -- 0x203: PUSH R01
|
|
"100011" & X"001", -- 0x204: RORC R01
|
|
"111100" & X"001", -- 0x205: PUSH R01
|
|
"100011" & X"001", -- 0x206: RORC R01
|
|
"111100" & X"001", -- 0x207: PUSH R01
|
|
"100011" & X"001", -- 0x208: RORC R01
|
|
"111100" & X"001", -- 0x209: PUSH R01
|
|
"100011" & X"001", -- 0x20A: RORC R01
|
|
"111100" & X"001", -- 0x20B: PUSH R01
|
|
"100011" & X"001", -- 0x20C: RORC R01
|
|
"111100" & X"001", -- 0x20D: PUSH R01
|
|
"100011" & X"001", -- 0x20E: RORC R01
|
|
"001111" & X"631", -- 0x20F: CMP R01, 0x63
|
|
"111010" & X"3FF", -- 0x210: JNE 0x3FF
|
|
"111101" & X"001", -- 0x211: POP R01
|
|
"001111" & X"C61", -- 0x212: CMP R01, 0xC6
|
|
"111010" & X"3FF", -- 0x213: JNE 0x3FF
|
|
"111101" & X"001", -- 0x214: POP R01
|
|
"001111" & X"8C1", -- 0x215: CMP R01, 0x8C
|
|
"111010" & X"3FF", -- 0x216: JNE 0x3FF
|
|
"111101" & X"001", -- 0x217: POP R01
|
|
"001111" & X"191", -- 0x218: CMP R01, 0x19
|
|
"111010" & X"3FF", -- 0x219: JNE 0x3FF
|
|
"111101" & X"001", -- 0x21A: POP R01
|
|
"001111" & X"331", -- 0x21B: CMP R01, 0x33
|
|
"111010" & X"3FF", -- 0x21C: JNE 0x3FF
|
|
"111101" & X"001", -- 0x21D: POP R01
|
|
"001111" & X"661", -- 0x21E: CMP R01, 0x66
|
|
"111010" & X"3FF", -- 0x21F: JNE 0x3FF
|
|
"111101" & X"001", -- 0x220: POP R01
|
|
"001111" & X"CC1", -- 0x221: CMP R01, 0xCC
|
|
"111010" & X"3FF", -- 0x222: JNE 0x3FF
|
|
"111101" & X"001", -- 0x223: POP R01
|
|
"001111" & X"981", -- 0x224: CMP R01, 0x98
|
|
"111010" & X"3FF", -- 0x225: JNE 0x3FF
|
|
"111101" & X"001", -- 0x226: POP R01
|
|
"001111" & X"311", -- 0x227: CMP R01, 0x31
|
|
"111010" & X"3FF", -- 0x228: JNE 0x3FF
|
|
"111110" & X"000", -- 0x229: RET
|
|
"000011" & X"A50", -- 0x22A: MOV R00, 0xA5
|
|
"101010" & X"000", -- 0x22B: SWAP R00
|
|
"111100" & X"000", -- 0x22C: PUSH R00
|
|
"011001" & X"0F0", -- 0x22D: AND R00, 0x0F
|
|
"001111" & X"0A0", -- 0x22E: CMP R00, 0x0A
|
|
"111010" & X"3FF", -- 0x22F: JNE 0x3FF
|
|
"111101" & X"000", -- 0x230: POP R00
|
|
"111100" & X"000", -- 0x231: PUSH R00
|
|
"011001" & X"0F0", -- 0x232: AND R00, 0x0F
|
|
"001111" & X"0A0", -- 0x233: CMP R00, 0x0A
|
|
"111101" & X"001", -- 0x234: POP R01
|
|
"111010" & X"3FF", -- 0x235: JNE 0x3FF
|
|
"101010" & X"001", -- 0x236: SWAP R01
|
|
"000011" & X"0F2", -- 0x237: MOV R02, 0x0F
|
|
"011000" & X"021", -- 0x238: AND R01, R02
|
|
"001111" & X"051", -- 0x239: CMP R01, 0x05
|
|
"111010" & X"3FF", -- 0x23A: JNE 0x3FF
|
|
"000011" & X"050", -- 0x23B: MOV R00, 0x05
|
|
"000011" & X"A02", -- 0x23C: MOV R02, 0xA0
|
|
"101010" & X"000", -- 0x23D: SWAP R00
|
|
"011010" & X"002", -- 0x23E: OR R02, R00
|
|
"001111" & X"F02", -- 0x23F: CMP R02, 0xF0
|
|
"111010" & X"3FF", -- 0x240: JNE 0x3FF
|
|
"101010" & X"000", -- 0x241: SWAP R00
|
|
"011011" & X"500", -- 0x242: OR R00, 0x50
|
|
"001111" & X"550", -- 0x243: CMP R00, 0x55
|
|
"111010" & X"3FF", -- 0x244: JNE 0x3FF
|
|
"000011" & X"011", -- 0x245: MOV R01, 0x01
|
|
"000011" & X"010", -- 0x246: MOV R00, 0x01
|
|
"011101" & X"010", -- 0x247: XOR R00, 0x01
|
|
"110010" & X"3FF", -- 0x248: JNZ 0x3FF
|
|
"011100" & X"010", -- 0x249: XOR R00, R01
|
|
"001111" & X"010", -- 0x24A: CMP R00, 0x01
|
|
"111010" & X"3FF", -- 0x24B: JNE 0x3FF
|
|
"111110" & X"000", -- 0x24C: RET
|
|
"000011" & X"030", -- 0x24D: MOV R00, 0x03
|
|
"100110" & X"030", -- 0x24E: COUT (0x03), R00
|
|
"101000" & X"020", -- 0x24F: XIN R00, (0x02)
|
|
"011011" & X"010", -- 0x250: OR R00, 0x01
|
|
"100100" & X"020", -- 0x251: XOUT (0x02), R00
|
|
"000000" & X"000", -- 0x252: NOP
|
|
"000000" & X"000", -- 0x253: NOP
|
|
"000000" & X"000", -- 0x254: NOP
|
|
"000000" & X"000", -- 0x255: NOP
|
|
"000000" & X"000", -- 0x256: NOP
|
|
"000000" & X"000", -- 0x257: NOP
|
|
"101000" & X"020", -- 0x258: XIN R00, (0x02)
|
|
"011001" & X"FE0", -- 0x259: AND R00, 0xFE
|
|
"100100" & X"020", -- 0x25A: XOUT (0x02), R00
|
|
"000000" & X"000", -- 0x25B: NOP
|
|
"000000" & X"000", -- 0x25C: NOP
|
|
"000000" & X"000", -- 0x25D: NOP
|
|
"000000" & X"000", -- 0x25E: NOP
|
|
"101001" & X"030", -- 0x25F: CIN R00, (0x03)
|
|
"011011" & X"800", -- 0x260: OR R00, 0x80
|
|
"100110" & X"030", -- 0x261: COUT (0x03), R00
|
|
"000000" & X"000", -- 0x262: NOP
|
|
"101001" & X"030", -- 0x263: CIN R00, (0x03)
|
|
"011011" & X"800", -- 0x264: OR R00, 0x80
|
|
"100110" & X"030", -- 0x265: COUT (0x03), R00
|
|
"000000" & X"000", -- 0x266: NOP
|
|
"101001" & X"030", -- 0x267: CIN R00, (0x03)
|
|
"011011" & X"800", -- 0x268: OR R00, 0x80
|
|
"100110" & X"030", -- 0x269: COUT (0x03), R00
|
|
"000000" & X"000", -- 0x26A: NOP
|
|
"101001" & X"030", -- 0x26B: CIN R00, (0x03)
|
|
"011011" & X"800", -- 0x26C: OR R00, 0x80
|
|
"100110" & X"030", -- 0x26D: COUT (0x03), R00
|
|
"000000" & X"000", -- 0x26E: NOP
|
|
"000000" & X"000", -- 0x26F: NOP
|
|
"000000" & X"000", -- 0x270: NOP
|
|
"000000" & X"000", -- 0x271: NOP
|
|
"000000" & X"000", -- 0x272: NOP
|
|
"000000" & X"000", -- 0x273: NOP
|
|
"000000" & X"000", -- 0x274: NOP
|
|
"000000" & X"000", -- 0x275: NOP
|
|
"000000" & X"000", -- 0x276: NOP
|
|
"111110" & X"000", -- 0x277: RET
|
|
"010101" & X"000", -- 0x278: SUB R00, 0x00
|
|
"110011" & X"3FF", -- 0x279: JC 0x3FF
|
|
"101011" & X"000", -- 0x27A: SETC
|
|
"110100" & X"3FF", -- 0x27B: JNC 0x3FF
|
|
"000000" & X"000", -- 0x27C: NOP
|
|
"010101" & X"000", -- 0x27D: SUB R00, 0x00
|
|
"110011" & X"3FF", -- 0x27E: JC 0x3FF
|
|
"000011" & X"000", -- 0x27F: MOV R00, 0x00
|
|
"010101" & X"000", -- 0x280: CLRC
|
|
"110011" & X"3FF", -- 0x281: JC 0x3FF
|
|
"101011" & X"000", -- 0x282: SETC
|
|
"110100" & X"3FF", -- 0x283: JNC 0x3FF
|
|
"000000" & X"000", -- 0x284: NOP
|
|
"010101" & X"000", -- 0x285: CLRC
|
|
"110011" & X"3FF", -- 0x286: JC 0x3FF
|
|
"111110" & X"000", -- 0x287: RET
|
|
"010001" & X"01E", -- 0x288: INC R14
|
|
"111111" & X"000", -- 0x289: RETI
|
|
"000000" & X"000", -- 0x28A:
|
|
"000000" & X"000", -- 0x28B:
|
|
"000000" & X"000", -- 0x28C:
|
|
"000000" & X"000", -- 0x28D:
|
|
"000000" & X"000", -- 0x28E:
|
|
"000000" & X"000", -- 0x28F:
|
|
"000000" & X"000", -- 0x290:
|
|
"000000" & X"000", -- 0x291:
|
|
"000000" & X"000", -- 0x292:
|
|
"000000" & X"000", -- 0x293:
|
|
"000000" & X"000", -- 0x294:
|
|
"000000" & X"000", -- 0x295:
|
|
"000000" & X"000", -- 0x296:
|
|
"000000" & X"000", -- 0x297:
|
|
"000000" & X"000", -- 0x298:
|
|
"000000" & X"000", -- 0x299:
|
|
"000000" & X"000", -- 0x29A:
|
|
"000000" & X"000", -- 0x29B:
|
|
"000000" & X"000", -- 0x29C:
|
|
"000000" & X"000", -- 0x29D:
|
|
"000000" & X"000", -- 0x29E:
|
|
"000000" & X"000", -- 0x29F:
|
|
"000000" & X"000", -- 0x2A0:
|
|
"000000" & X"000", -- 0x2A1:
|
|
"000000" & X"000", -- 0x2A2:
|
|
"000000" & X"000", -- 0x2A3:
|
|
"000000" & X"000", -- 0x2A4:
|
|
"000000" & X"000", -- 0x2A5:
|
|
"000000" & X"000", -- 0x2A6:
|
|
"000000" & X"000", -- 0x2A7:
|
|
"000000" & X"000", -- 0x2A8:
|
|
"000000" & X"000", -- 0x2A9:
|
|
"000000" & X"000", -- 0x2AA:
|
|
"000000" & X"000", -- 0x2AB:
|
|
"000000" & X"000", -- 0x2AC:
|
|
"000000" & X"000", -- 0x2AD:
|
|
"000000" & X"000", -- 0x2AE:
|
|
"000000" & X"000", -- 0x2AF:
|
|
"000000" & X"000", -- 0x2B0:
|
|
"000000" & X"000", -- 0x2B1:
|
|
"000000" & X"000", -- 0x2B2:
|
|
"000000" & X"000", -- 0x2B3:
|
|
"000000" & X"000", -- 0x2B4:
|
|
"000000" & X"000", -- 0x2B5:
|
|
"000000" & X"000", -- 0x2B6:
|
|
"000000" & X"000", -- 0x2B7:
|
|
"000000" & X"000", -- 0x2B8:
|
|
"000000" & X"000", -- 0x2B9:
|
|
"000000" & X"000", -- 0x2BA:
|
|
"000000" & X"000", -- 0x2BB:
|
|
"000000" & X"000", -- 0x2BC:
|
|
"000000" & X"000", -- 0x2BD:
|
|
"000000" & X"000", -- 0x2BE:
|
|
"000000" & X"000", -- 0x2BF:
|
|
"000000" & X"000", -- 0x2C0:
|
|
"000000" & X"000", -- 0x2C1:
|
|
"000000" & X"000", -- 0x2C2:
|
|
"000000" & X"000", -- 0x2C3:
|
|
"000000" & X"000", -- 0x2C4:
|
|
"000000" & X"000", -- 0x2C5:
|
|
"000000" & X"000", -- 0x2C6:
|
|
"000000" & X"000", -- 0x2C7:
|
|
"000000" & X"000", -- 0x2C8:
|
|
"000000" & X"000", -- 0x2C9:
|
|
"000000" & X"000", -- 0x2CA:
|
|
"000000" & X"000", -- 0x2CB:
|
|
"000000" & X"000", -- 0x2CC:
|
|
"000000" & X"000", -- 0x2CD:
|
|
"000000" & X"000", -- 0x2CE:
|
|
"000000" & X"000", -- 0x2CF:
|
|
"000000" & X"000", -- 0x2D0:
|
|
"000000" & X"000", -- 0x2D1:
|
|
"000000" & X"000", -- 0x2D2:
|
|
"000000" & X"000", -- 0x2D3:
|
|
"000000" & X"000", -- 0x2D4:
|
|
"000000" & X"000", -- 0x2D5:
|
|
"000000" & X"000", -- 0x2D6:
|
|
"000000" & X"000", -- 0x2D7:
|
|
"000000" & X"000", -- 0x2D8:
|
|
"000000" & X"000", -- 0x2D9:
|
|
"000000" & X"000", -- 0x2DA:
|
|
"000000" & X"000", -- 0x2DB:
|
|
"000000" & X"000", -- 0x2DC:
|
|
"000000" & X"000", -- 0x2DD:
|
|
"000000" & X"000", -- 0x2DE:
|
|
"000000" & X"000", -- 0x2DF:
|
|
"000000" & X"000", -- 0x2E0:
|
|
"000000" & X"000", -- 0x2E1:
|
|
"000000" & X"000", -- 0x2E2:
|
|
"000000" & X"000", -- 0x2E3:
|
|
"000000" & X"000", -- 0x2E4:
|
|
"000000" & X"000", -- 0x2E5:
|
|
"000000" & X"000", -- 0x2E6:
|
|
"000000" & X"000", -- 0x2E7:
|
|
"000000" & X"000", -- 0x2E8:
|
|
"000000" & X"000", -- 0x2E9:
|
|
"000000" & X"000", -- 0x2EA:
|
|
"000000" & X"000", -- 0x2EB:
|
|
"000000" & X"000", -- 0x2EC:
|
|
"000000" & X"000", -- 0x2ED:
|
|
"000000" & X"000", -- 0x2EE:
|
|
"000000" & X"000", -- 0x2EF:
|
|
"000000" & X"000", -- 0x2F0:
|
|
"000000" & X"000", -- 0x2F1:
|
|
"000000" & X"000", -- 0x2F2:
|
|
"000000" & X"000", -- 0x2F3:
|
|
"000000" & X"000", -- 0x2F4:
|
|
"000000" & X"000", -- 0x2F5:
|
|
"000000" & X"000", -- 0x2F6:
|
|
"000000" & X"000", -- 0x2F7:
|
|
"000000" & X"000", -- 0x2F8:
|
|
"000000" & X"000", -- 0x2F9:
|
|
"000000" & X"000", -- 0x2FA:
|
|
"000000" & X"000", -- 0x2FB:
|
|
"000000" & X"000", -- 0x2FC:
|
|
"000000" & X"000", -- 0x2FD:
|
|
"000000" & X"000", -- 0x2FE:
|
|
"110000" & X"2FF", -- 0x2FF: JMP 0x2FF
|
|
"000000" & X"000", -- 0x300:
|
|
"000000" & X"000", -- 0x301:
|
|
"000000" & X"000", -- 0x302:
|
|
"000000" & X"000", -- 0x303:
|
|
"000000" & X"000", -- 0x304:
|
|
"000000" & X"000", -- 0x305:
|
|
"000000" & X"000", -- 0x306:
|
|
"000000" & X"000", -- 0x307:
|
|
"000000" & X"000", -- 0x308:
|
|
"000000" & X"000", -- 0x309:
|
|
"000000" & X"000", -- 0x30A:
|
|
"000000" & X"000", -- 0x30B:
|
|
"000000" & X"000", -- 0x30C:
|
|
"000000" & X"000", -- 0x30D:
|
|
"000000" & X"000", -- 0x30E:
|
|
"000000" & X"000", -- 0x30F:
|
|
"000000" & X"000", -- 0x310:
|
|
"000000" & X"000", -- 0x311:
|
|
"000000" & X"000", -- 0x312:
|
|
"000000" & X"000", -- 0x313:
|
|
"000000" & X"000", -- 0x314:
|
|
"000000" & X"000", -- 0x315:
|
|
"000000" & X"000", -- 0x316:
|
|
"000000" & X"000", -- 0x317:
|
|
"000000" & X"000", -- 0x318:
|
|
"000000" & X"000", -- 0x319:
|
|
"000000" & X"000", -- 0x31A:
|
|
"000000" & X"000", -- 0x31B:
|
|
"000000" & X"000", -- 0x31C:
|
|
"000000" & X"000", -- 0x31D:
|
|
"000000" & X"000", -- 0x31E:
|
|
"000000" & X"000", -- 0x31F:
|
|
"000000" & X"000", -- 0x320:
|
|
"000000" & X"000", -- 0x321:
|
|
"000000" & X"000", -- 0x322:
|
|
"000000" & X"000", -- 0x323:
|
|
"000000" & X"000", -- 0x324:
|
|
"000000" & X"000", -- 0x325:
|
|
"000000" & X"000", -- 0x326:
|
|
"000000" & X"000", -- 0x327:
|
|
"000000" & X"000", -- 0x328:
|
|
"000000" & X"000", -- 0x329:
|
|
"000000" & X"000", -- 0x32A:
|
|
"000000" & X"000", -- 0x32B:
|
|
"000000" & X"000", -- 0x32C:
|
|
"000000" & X"000", -- 0x32D:
|
|
"000000" & X"000", -- 0x32E:
|
|
"000000" & X"000", -- 0x32F:
|
|
"000000" & X"000", -- 0x330:
|
|
"000000" & X"000", -- 0x331:
|
|
"000000" & X"000", -- 0x332:
|
|
"000000" & X"000", -- 0x333:
|
|
"000000" & X"000", -- 0x334:
|
|
"000000" & X"000", -- 0x335:
|
|
"000000" & X"000", -- 0x336:
|
|
"000000" & X"000", -- 0x337:
|
|
"000000" & X"000", -- 0x338:
|
|
"000000" & X"000", -- 0x339:
|
|
"000000" & X"000", -- 0x33A:
|
|
"000000" & X"000", -- 0x33B:
|
|
"000000" & X"000", -- 0x33C:
|
|
"000000" & X"000", -- 0x33D:
|
|
"000000" & X"000", -- 0x33E:
|
|
"000000" & X"000", -- 0x33F:
|
|
"000000" & X"000", -- 0x340:
|
|
"000000" & X"000", -- 0x341:
|
|
"000000" & X"000", -- 0x342:
|
|
"000000" & X"000", -- 0x343:
|
|
"000000" & X"000", -- 0x344:
|
|
"000000" & X"000", -- 0x345:
|
|
"000000" & X"000", -- 0x346:
|
|
"000000" & X"000", -- 0x347:
|
|
"000000" & X"000", -- 0x348:
|
|
"000000" & X"000", -- 0x349:
|
|
"000000" & X"000", -- 0x34A:
|
|
"000000" & X"000", -- 0x34B:
|
|
"000000" & X"000", -- 0x34C:
|
|
"000000" & X"000", -- 0x34D:
|
|
"000000" & X"000", -- 0x34E:
|
|
"000000" & X"000", -- 0x34F:
|
|
"000000" & X"000", -- 0x350:
|
|
"000000" & X"000", -- 0x351:
|
|
"000000" & X"000", -- 0x352:
|
|
"000000" & X"000", -- 0x353:
|
|
"000000" & X"000", -- 0x354:
|
|
"000000" & X"000", -- 0x355:
|
|
"000000" & X"000", -- 0x356:
|
|
"000000" & X"000", -- 0x357:
|
|
"000000" & X"000", -- 0x358:
|
|
"000000" & X"000", -- 0x359:
|
|
"000000" & X"000", -- 0x35A:
|
|
"000000" & X"000", -- 0x35B:
|
|
"000000" & X"000", -- 0x35C:
|
|
"000000" & X"000", -- 0x35D:
|
|
"000000" & X"000", -- 0x35E:
|
|
"000000" & X"000", -- 0x35F:
|
|
"000000" & X"000", -- 0x360:
|
|
"000000" & X"000", -- 0x361:
|
|
"000000" & X"000", -- 0x362:
|
|
"000000" & X"000", -- 0x363:
|
|
"000000" & X"000", -- 0x364:
|
|
"000000" & X"000", -- 0x365:
|
|
"000000" & X"000", -- 0x366:
|
|
"000000" & X"000", -- 0x367:
|
|
"000000" & X"000", -- 0x368:
|
|
"000000" & X"000", -- 0x369:
|
|
"000000" & X"000", -- 0x36A:
|
|
"000000" & X"000", -- 0x36B:
|
|
"000000" & X"000", -- 0x36C:
|
|
"000000" & X"000", -- 0x36D:
|
|
"000000" & X"000", -- 0x36E:
|
|
"000000" & X"000", -- 0x36F:
|
|
"000000" & X"000", -- 0x370:
|
|
"000000" & X"000", -- 0x371:
|
|
"000000" & X"000", -- 0x372:
|
|
"000000" & X"000", -- 0x373:
|
|
"000000" & X"000", -- 0x374:
|
|
"000000" & X"000", -- 0x375:
|
|
"000000" & X"000", -- 0x376:
|
|
"000000" & X"000", -- 0x377:
|
|
"000000" & X"000", -- 0x378:
|
|
"000000" & X"000", -- 0x379:
|
|
"000000" & X"000", -- 0x37A:
|
|
"000000" & X"000", -- 0x37B:
|
|
"000000" & X"000", -- 0x37C:
|
|
"000000" & X"000", -- 0x37D:
|
|
"000000" & X"000", -- 0x37E:
|
|
"000000" & X"000", -- 0x37F:
|
|
"000000" & X"000", -- 0x380:
|
|
"000000" & X"000", -- 0x381:
|
|
"000000" & X"000", -- 0x382:
|
|
"000000" & X"000", -- 0x383:
|
|
"000000" & X"000", -- 0x384:
|
|
"000000" & X"000", -- 0x385:
|
|
"000000" & X"000", -- 0x386:
|
|
"000000" & X"000", -- 0x387:
|
|
"000000" & X"000", -- 0x388:
|
|
"000000" & X"000", -- 0x389:
|
|
"000000" & X"000", -- 0x38A:
|
|
"000000" & X"000", -- 0x38B:
|
|
"000000" & X"000", -- 0x38C:
|
|
"000000" & X"000", -- 0x38D:
|
|
"000000" & X"000", -- 0x38E:
|
|
"000000" & X"000", -- 0x38F:
|
|
"000000" & X"000", -- 0x390:
|
|
"000000" & X"000", -- 0x391:
|
|
"000000" & X"000", -- 0x392:
|
|
"000000" & X"000", -- 0x393:
|
|
"000000" & X"000", -- 0x394:
|
|
"000000" & X"000", -- 0x395:
|
|
"000000" & X"000", -- 0x396:
|
|
"000000" & X"000", -- 0x397:
|
|
"000000" & X"000", -- 0x398:
|
|
"000000" & X"000", -- 0x399:
|
|
"000000" & X"000", -- 0x39A:
|
|
"000000" & X"000", -- 0x39B:
|
|
"000000" & X"000", -- 0x39C:
|
|
"000000" & X"000", -- 0x39D:
|
|
"000000" & X"000", -- 0x39E:
|
|
"000000" & X"000", -- 0x39F:
|
|
"000000" & X"000", -- 0x3A0:
|
|
"000000" & X"000", -- 0x3A1:
|
|
"000000" & X"000", -- 0x3A2:
|
|
"000000" & X"000", -- 0x3A3:
|
|
"000000" & X"000", -- 0x3A4:
|
|
"000000" & X"000", -- 0x3A5:
|
|
"000000" & X"000", -- 0x3A6:
|
|
"000000" & X"000", -- 0x3A7:
|
|
"000000" & X"000", -- 0x3A8:
|
|
"000000" & X"000", -- 0x3A9:
|
|
"000000" & X"000", -- 0x3AA:
|
|
"000000" & X"000", -- 0x3AB:
|
|
"000000" & X"000", -- 0x3AC:
|
|
"000000" & X"000", -- 0x3AD:
|
|
"000000" & X"000", -- 0x3AE:
|
|
"000000" & X"000", -- 0x3AF:
|
|
"000000" & X"000", -- 0x3B0:
|
|
"000000" & X"000", -- 0x3B1:
|
|
"000000" & X"000", -- 0x3B2:
|
|
"000000" & X"000", -- 0x3B3:
|
|
"000000" & X"000", -- 0x3B4:
|
|
"000000" & X"000", -- 0x3B5:
|
|
"000000" & X"000", -- 0x3B6:
|
|
"000000" & X"000", -- 0x3B7:
|
|
"000000" & X"000", -- 0x3B8:
|
|
"000000" & X"000", -- 0x3B9:
|
|
"000000" & X"000", -- 0x3BA:
|
|
"000000" & X"000", -- 0x3BB:
|
|
"000000" & X"000", -- 0x3BC:
|
|
"000000" & X"000", -- 0x3BD:
|
|
"000000" & X"000", -- 0x3BE:
|
|
"000000" & X"000", -- 0x3BF:
|
|
"000000" & X"000", -- 0x3C0:
|
|
"000000" & X"000", -- 0x3C1:
|
|
"000000" & X"000", -- 0x3C2:
|
|
"000000" & X"000", -- 0x3C3:
|
|
"000000" & X"000", -- 0x3C4:
|
|
"000000" & X"000", -- 0x3C5:
|
|
"000000" & X"000", -- 0x3C6:
|
|
"000000" & X"000", -- 0x3C7:
|
|
"000000" & X"000", -- 0x3C8:
|
|
"000000" & X"000", -- 0x3C9:
|
|
"000000" & X"000", -- 0x3CA:
|
|
"000000" & X"000", -- 0x3CB:
|
|
"000000" & X"000", -- 0x3CC:
|
|
"000000" & X"000", -- 0x3CD:
|
|
"000000" & X"000", -- 0x3CE:
|
|
"000000" & X"000", -- 0x3CF:
|
|
"000000" & X"000", -- 0x3D0:
|
|
"000000" & X"000", -- 0x3D1:
|
|
"000000" & X"000", -- 0x3D2:
|
|
"000000" & X"000", -- 0x3D3:
|
|
"000000" & X"000", -- 0x3D4:
|
|
"000000" & X"000", -- 0x3D5:
|
|
"000000" & X"000", -- 0x3D6:
|
|
"000000" & X"000", -- 0x3D7:
|
|
"000000" & X"000", -- 0x3D8:
|
|
"000000" & X"000", -- 0x3D9:
|
|
"000000" & X"000", -- 0x3DA:
|
|
"000000" & X"000", -- 0x3DB:
|
|
"000000" & X"000", -- 0x3DC:
|
|
"000000" & X"000", -- 0x3DD:
|
|
"000000" & X"000", -- 0x3DE:
|
|
"000000" & X"000", -- 0x3DF:
|
|
"000000" & X"000", -- 0x3E0:
|
|
"000000" & X"000", -- 0x3E1:
|
|
"000000" & X"000", -- 0x3E2:
|
|
"000000" & X"000", -- 0x3E3:
|
|
"000000" & X"000", -- 0x3E4:
|
|
"000000" & X"000", -- 0x3E5:
|
|
"000000" & X"000", -- 0x3E6:
|
|
"000000" & X"000", -- 0x3E7:
|
|
"000000" & X"000", -- 0x3E8:
|
|
"000000" & X"000", -- 0x3E9:
|
|
"000000" & X"000", -- 0x3EA:
|
|
"000000" & X"000", -- 0x3EB:
|
|
"000000" & X"000", -- 0x3EC:
|
|
"000000" & X"000", -- 0x3ED:
|
|
"000000" & X"000", -- 0x3EE:
|
|
"000000" & X"000", -- 0x3EF:
|
|
"000000" & X"000", -- 0x3F0:
|
|
"000000" & X"000", -- 0x3F1:
|
|
"000000" & X"000", -- 0x3F2:
|
|
"000000" & X"000", -- 0x3F3:
|
|
"000000" & X"000", -- 0x3F4:
|
|
"000000" & X"000", -- 0x3F5:
|
|
"000000" & X"000", -- 0x3F6:
|
|
"000000" & X"000", -- 0x3F7:
|
|
"000000" & X"000", -- 0x3F8:
|
|
"000000" & X"000", -- 0x3F9:
|
|
"000000" & X"000", -- 0x3FA:
|
|
"000000" & X"000", -- 0x3FB:
|
|
"000000" & X"000", -- 0x3FC:
|
|
"000000" & X"000", -- 0x3FD:
|
|
"000000" & X"000", -- 0x3FE:
|
|
"110000" & X"3FF" -- 0x3FF: JMP 0x3FF
|
|
);
|
|
|
|
begin
|
|
|
|
PROM_READ:
|
|
process(clk, ce)
|
|
begin
|
|
if rising_edge(clk) and ce = '1' then
|
|
dout <= imem_rom(to_integer(addr));
|
|
end if;
|
|
end process;
|
|
|
|
end itest;
|
|
|