Кодировка микрокода

Кодировка микрокода. DEPTH = 64; % количество слов % WIDTH = 24; % размер слова в битах % ADDRESS_RADIX = DEC; % система счисления для адреса % DATA_RADIX = BIN; % система счисления для данных % CONTENT BEGIN [0 63] : 0; % по умолчанию везде нули % % Инициализация % 0: 10110001110110; % IR_HI = NOP(PC); READ % 1: 10111101101100010; % PC = ADD(PC, IR_HI) % 2: 101100010; % IR_LO = NOP(PC); READ % 3: 000100011001010; % DECODE % % ADD Rx, Ry, Rz % 4: 011010; % Rx = ADD(Ry, Rz); JMP 62 % % NAND Rx, Ry, Rz % 12: 0111010; % Rx = NAND(Ry,Rz); JMP 62 % % SHR Rx, Ry % 20: 0101010; % Rx = SHR(Ry); JMP 62 % % JC address % 28: 100110011001000011011110; % Temp0 = NOP(Temp0); JC 30 % 29: 10011001100100001010; % JMP 62 % 30: 10011011000010; % PC = NOP(IR_LO); JMP 0 % % DEC Rx, Ry % 36: 1101000110010010; % Temp0 = SHR(IR_HI) % 37: 10011001100100110; % Temp0 = NAND(Temp0, Temp0) % 38: 00001001011010; % Rx = ADD(Ry,Temp0); JMP 62 % % SUB Rx, Ry, Rz % 44: 1101000110010010; % Temp0 = SHR(IR_HI) % 45: 10010000100100010; % Temp0 = ADD(Temp0, Rz) % 46: 10011001100100110; % Temp0 = NAND(Temp0, Temp0) % 47: 10011101100100010; % Temp0 = ADD(Temp0, IR_HI) % 48: 00001001011010; % Rx = ADD(Ry, Temp0); JMP 62 % % LD Rx, address % 52: 11110001000010001010; % Rx = NOP(IR_LO); READ; JMP 62% % ST Ry, address % 60: 0110010; % Temp0 = NOP(Ry) % 61: 1001100101001010; % Temp0 = NOP(IR_LO, Temp0); WRITE; JMP 62 % 62: 101111011011000110; % PC = ADD(PC, IR_HI); JMP 0 % END ;