【正文】
E status IS WHEN 0= 狀態(tài)0 IR = M_data_in amp。 MDR = (OTHERS=39。039。)。) THEN 清零 IR = (OTHERS=39。 END IF。 END IF。 WHEN 1 = IF IR(15 DOWNTO 12) = Stop THEN status = 1。 地址寄存器 SIGNAL status: integer RANGE 0 TO 6。為寫 M_address: OUT std_logic_vector(11 DOWNTO 0)。USE 。 CONSTANT swap : std_logic_vector(3 DOWNTO 0) :=1010。 CONSTANT move : std_logic_vector(3 DOWNTO 0) :=0010。3. 將簡單的處理器模塊和存儲器模塊連接形成簡單的計算機(jī)系統(tǒng)。4. 將指令序列存入存儲器,然后分析指令執(zhí)行流程。 CONSTANT addx : std_logic_vector(3 DOWNTO 0) :=0011。 CONSTANT jmp : std_logic_vector(3 DOWNTO 0) :=1011。USE 。 地址線 M_data_in: IN std_logic_vector(7 DOWNTO 0)。 狀態(tài)寄存器 BEGIN status_change: PROCESS(reset, clock, status ) BEGIN IF reset = 39。 ELSE status = 2。 WHEN 4 = status = 5。 END PROCESS status_change。039。 R1 := (OTHERS=39。)。039。 00000000。 WHEN 10= A:= R2。 WHEN OTHERS = NULL。 WHEN 01= temp :=(R1(7) amp。 R2:=temp(7 DOWNTO 0)。 WHEN subp = Rx:= Rx A。 A(7 DOWNTO 0)) + 1。 WHEN OTHERS= temp :=(R3(7) amp。 WHEN 10= R2:= A。039。039。 39。 END CASE。 CASE IR(11 DOWNTO 10) IS WHEN 00= R0:=R0 OR A。 WHEN 10= R2:=R2 XOR A。 WHEN 1001= R1:=R2。 WHEN OTHERS= NULL。 END CASE。 MAR = IR(11 DOWNTO 0)。 WHEN 5 = 狀態(tài)5 MAR = PC。139。 M_data_out = MDR。圖3 波形圖1圖4 波形圖2解釋如下: 圖5 指令含義通過本實(shí)驗我學(xué)到很多有用知識,不僅提高了我的系統(tǒng)設(shè)計和軟件編程的能力,還讓我對計算機(jī)組成原理實(shí)驗課程有了更一步的掌握和認(rèn)識。139。 WHEN OTHERS= NULL。 END IF。 取雙字節(jié)指令的后半部分 PC := PC+1。 WHEN OTHERS = NULL。 WHEN 0010= R2:=R0。 END CASE。 WHEN 10= R2:=R2 OR A。 CASE IR(11 DOWNTO 10) IS WHEN 00= R0:=R0 AND A。 WHEN 10= R2:= A( 6 DOWNTO 0 ) amp。 A( 7 DOWNTO 1 )。 A( 7 DOWNTO 1 )。