⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 cpu.vhd

📁 51内核单片机的VHDL语言的实现,从功能到编译都有详细说明,包括源码
💻 VHD
📖 第 1 页 / 共 4 页
字号:
               nr_bytes_a  <= 2;
               nr_cycles_a <= 2;
            when ADD_IR0    =>
               nr_bytes_a  <= 1;
               nr_cycles_a <= 2;
            when ADD_IR1    =>
               nr_bytes_a  <= 1;
               nr_cycles_a <= 2;
            when ADD_R0     =>
               nr_bytes_a  <= 1;
               nr_cycles_a <= 2;
            when ADD_R1     =>
               nr_bytes_a  <= 1;
               nr_cycles_a <= 2;
            when ADD_R2     =>
               nr_bytes_a  <= 1;
               nr_cycles_a <= 2;
            when ADD_R3     =>
               nr_bytes_a  <= 1;
               nr_cycles_a <= 2;
            when ADD_R4     =>
               nr_bytes_a  <= 1;
               nr_cycles_a <= 2;
            when ADD_R5     =>
               nr_bytes_a  <= 1;
               nr_cycles_a <= 2;
            when ADD_R6     =>
               nr_bytes_a  <= 1;
               nr_cycles_a <= 2;
            when ADD_R7     =>
               nr_bytes_a  <= 1;
               nr_cycles_a <= 2;
         
            -------------------------------------
            -- 30h
            -------------------------------------
            when JNB_BIT    =>
               nr_bytes_a  <= 3;
               nr_cycles_a <= 4;
            when ACALL_1    =>
               nr_bytes_a  <= 2;
               nr_cycles_a <= 4;
            when RETI       =>
               nr_bytes_a  <= 1;
               nr_cycles_a <= 4;
            when RLC_A      =>
               nr_bytes_a  <= 1;
               nr_cycles_a <= 2;
            when ADDC_N     =>
               nr_bytes_a  <= 2;
               nr_cycles_a <= 2;
            when ADDC_ADDR  =>
               nr_bytes_a  <= 2;
               nr_cycles_a <= 2;
            when ADDC_IR0   =>
               nr_bytes_a  <= 1;
               nr_cycles_a <= 2;
            when ADDC_IR1   =>
               nr_bytes_a  <= 1;
               nr_cycles_a <= 2;
            when ADDC_R0    =>
               nr_bytes_a  <= 1;
               nr_cycles_a <= 2;
            when ADDC_R1    =>
               nr_bytes_a  <= 1;
               nr_cycles_a <= 2;
            when ADDC_R2    =>
               nr_bytes_a  <= 1;
               nr_cycles_a <= 2;
            when ADDC_R3    =>
               nr_bytes_a  <= 1;
               nr_cycles_a <= 2;
            when ADDC_R4    =>
               nr_bytes_a  <= 1;
               nr_cycles_a <= 2;
            when ADDC_R5    =>
               nr_bytes_a  <= 1;
               nr_cycles_a <= 2;
            when ADDC_R6    =>
               nr_bytes_a  <= 1;
               nr_cycles_a <= 2;
            when ADDC_R7    =>
               nr_bytes_a  <= 1;
               nr_cycles_a <= 2;
         
            -------------------------------------
            -- 40h
            -------------------------------------
            when JC         =>
               nr_bytes_a  <= 2;
               nr_cycles_a <= 4;
            when AJMP_2     =>        
               nr_bytes_a  <= 2;
               nr_cycles_a <= 4;
            when ORL_ADDR_A =>
               nr_bytes_a  <= 2;
               nr_cycles_a <= 2;
            when ORL_ADDR_N =>
               nr_bytes_a  <= 3;
               nr_cycles_a <= 4;
            when ORL_A_N    =>
               nr_bytes_a  <= 2;
               nr_cycles_a <= 2;
            when ORL_A_ADDR =>
               nr_bytes_a  <= 2;
               nr_cycles_a <= 2;
            when ORL_A_IR0  =>
               nr_bytes_a  <= 1;
               nr_cycles_a <= 2;
            when ORL_A_IR1  =>
               nr_bytes_a  <= 1;
               nr_cycles_a <= 2;
            when ORL_A_R0   =>
               nr_bytes_a  <= 1;
               nr_cycles_a <= 2;
            when ORL_A_R1   =>
               nr_bytes_a  <= 1;
               nr_cycles_a <= 2;
            when ORL_A_R2   => 
               nr_bytes_a  <= 1;
               nr_cycles_a <= 2;
            when ORL_A_R3   => 
               nr_bytes_a  <= 1;
               nr_cycles_a <= 2;
            when ORL_A_R4   =>
               nr_bytes_a  <= 1;
               nr_cycles_a <= 2;
            when ORL_A_R5   =>
               nr_bytes_a  <= 1;
               nr_cycles_a <= 2;
            when ORL_A_R6   =>
               nr_bytes_a  <= 1;
               nr_cycles_a <= 2;
            when ORL_A_R7   =>
               nr_bytes_a  <= 1;
               nr_cycles_a <= 2;
         
            -------------------------------------
            -- 50h
            -------------------------------------
            when JNC        =>
               nr_bytes_a  <= 2;
               nr_cycles_a <= 4;
            when ACALL_2    =>
               nr_bytes_a  <= 2;
               nr_cycles_a <= 4;
            when ANL_ADDR_A =>
               nr_bytes_a  <= 2;
               nr_cycles_a <= 2;
            when ANL_ADDR_N =>
               nr_bytes_a  <= 3;
               nr_cycles_a <= 4;
            when ANL_A_N    =>
               nr_bytes_a  <= 2;
               nr_cycles_a <= 2;
            when ANL_A_ADDR =>
               nr_bytes_a  <= 2;
               nr_cycles_a <= 2;
            when ANL_A_IR0  =>
               nr_bytes_a  <= 1;
               nr_cycles_a <= 2;
            when ANL_A_IR1  =>
               nr_bytes_a  <= 1;
               nr_cycles_a <= 2;
            when ANL_A_R0   =>
               nr_bytes_a  <= 1;
               nr_cycles_a <= 2;
            when ANL_A_R1   =>
               nr_bytes_a  <= 1;
               nr_cycles_a <= 2;
            when ANL_A_R2   =>
               nr_bytes_a  <= 1;
               nr_cycles_a <= 2;
            when ANL_A_R3   =>
               nr_bytes_a  <= 1;
               nr_cycles_a <= 2;
            when ANL_A_R4   =>
               nr_bytes_a  <= 1;
               nr_cycles_a <= 2;
            when ANL_A_R5   =>
               nr_bytes_a  <= 1;
               nr_cycles_a <= 2;
            when ANL_A_R6   =>
               nr_bytes_a  <= 1;
               nr_cycles_a <= 2;
            when ANL_A_R7   =>
               nr_bytes_a  <= 1;
               nr_cycles_a <= 2;
         
            -------------------------------------
            -- 60h
            -------------------------------------
            when JZ         =>
               nr_bytes_a  <= 2;
               nr_cycles_a <= 4;
            when AJMP_3     =>        
               nr_bytes_a  <= 2;
               nr_cycles_a <= 4;
            when XRL_ADDR_A =>   
               nr_bytes_a  <= 2;
               nr_cycles_a <= 2;
            when XRL_ADDR_N =>   
               nr_bytes_a  <= 3;
               nr_cycles_a <= 4;
            when XRL_A_N    =>   
               nr_bytes_a  <= 2;
               nr_cycles_a <= 2;
            when XRL_A_ADDR =>   
               nr_bytes_a  <= 2;
               nr_cycles_a <= 2;
            when XRL_A_IR0  =>   
               nr_bytes_a  <= 1;
               nr_cycles_a <= 2;
            when XRL_A_IR1  =>   
               nr_bytes_a  <= 1;
               nr_cycles_a <= 2;
            when XRL_A_R0   =>   
               nr_bytes_a  <= 1;
               nr_cycles_a <= 2;
            when XRL_A_R1   =>   
               nr_bytes_a  <= 1;
               nr_cycles_a <= 2;
            when XRL_A_R2   =>   
               nr_bytes_a  <= 1;
               nr_cycles_a <= 2;
            when XRL_A_R3   =>   
               nr_bytes_a  <= 1;
               nr_cycles_a <= 2;
            when XRL_A_R4   =>   
               nr_bytes_a  <= 1;
               nr_cycles_a <= 2;
            when XRL_A_R5   =>   
               nr_bytes_a  <= 1;
               nr_cycles_a <= 2;
            when XRL_A_R6   =>   
               nr_bytes_a  <= 1;
               nr_cycles_a <= 2;
            when XRL_A_R7   =>   
               nr_bytes_a  <= 1;
               nr_cycles_a <= 2;
         
            -------------------------------------
            -- 70h
            -------------------------------------
            when JNZ        =>   
               nr_bytes_a  <= 2;
               nr_cycles_a <= 4;
            when ACALL_3    =>
               nr_bytes_a  <= 2;
               nr_cycles_a <= 4;
            when ORL_C_BIT  =>   
               nr_bytes_a  <= 2;
               nr_cycles_a <= 4;
            when JMP_A_DPTR =>   
               nr_bytes_a  <= 1;
               nr_cycles_a <= 4;
            when MOV_A_N    =>   
               nr_bytes_a  <= 2;
               nr_cycles_a <= 2;
            when MOV_ADDR_N =>   
               nr_bytes_a  <= 3;
               nr_cycles_a <= 4;
            when MOV_IR0_N  =>   
               nr_bytes_a  <= 2;
               nr_cycles_a <= 2;
            when MOV_IR1_N  =>   
               nr_bytes_a  <= 2;
               nr_cycles_a <= 2;
            when MOV_R0_N   =>   
               nr_bytes_a  <= 2;
               nr_cycles_a <= 2;
            when MOV_R1_N   =>   
               nr_bytes_a  <= 2;
               nr_cycles_a <= 2;
            when MOV_R2_N   =>   
               nr_bytes_a  <= 2;
               nr_cycles_a <= 2;
            when MOV_R3_N   =>   
               nr_bytes_a  <= 2;
               nr_cycles_a <= 2;
            when MOV_R4_N   =>   
               nr_bytes_a  <= 2;
               nr_cycles_a <= 2;
            when MOV_R5_N   =>   
               nr_bytes_a  <= 2;
               nr_cycles_a <= 2;
            when MOV_R6_N   =>   
               nr_bytes_a  <= 2;
               nr_cycles_a <= 2;
            when MOV_R7_N   =>    
               nr_bytes_a  <= 2;
               nr_cycles_a <= 2;
         
            -------------------------------------
            -- 80h
            -------------------------------------
            when SJMP          =>
               nr_bytes_a  <= 2;
               nr_cycles_a <= 4;
            when AJMP_4        =>        
               nr_bytes_a  <= 2;
               nr_cycles_a <= 4;
            when ANL_C_BIT     =>
               nr_bytes_a  <= 2;
               nr_cycles_a <= 4;
            when MOVC_A_PC     =>
               nr_bytes_a  <= 1;
               nr_cycles_a <= 4;
            when DIV_AB        =>
               nr_bytes_a  <= 1;
               nr_cycles_a <= 8;
            when MOV_ADDR_ADDR =>
               nr_bytes_a  <= 3;
               nr_cycles_a <= 4;
            when MOV_ADDR_IR0  =>
               nr_bytes_a  <= 2;
               nr_cycles_a <= 4;
            when MOV_ADDR_IR1  =>
               nr_bytes_a  <= 2;
               nr_cycles_a <= 4;
            when MOV_ADDR_R0   =>
               nr_bytes_a  <= 2;
               nr_cycles_a <= 4;
            when MOV_ADDR_R1   =>
               nr_bytes_a  <= 2;
               nr_cycles_a <= 4;
            when MOV_ADDR_R2   =>
               nr_bytes_a  <= 2;
               nr_cycles_a <= 4;
            when MOV_ADDR_R3   =>
               nr_bytes_a  <= 2;
               nr_cycles_a <= 4;
            when MOV_ADDR_R4   =>
               nr_bytes_a  <= 2;
               nr_cycles_a <= 4;
            when MOV_ADDR_R5   =>
               nr_bytes_a  <= 2;
               nr_cycles_a <= 4;
            when MOV_ADDR_R6   =>
               nr_bytes_a  <= 2;
               nr_cycles_a <= 4;
            when MOV_ADDR_R7   =>
               nr_bytes_a  <= 2;
               nr_cycles_a <= 4;
         
            -------------------------------------
            -- 90h
            -------------------------------------
            when MOV_DPTR_N    =>
               nr_bytes_a  <= 3;
               nr_cycles_a <= 4;
            when ACALL_4    =>
               nr_bytes_a  <= 2;
               nr_cycles_a <= 4;
            when MOV_BIT_C     =>
               nr_bytes_a  <= 2;
               nr_cycles_a <= 4;
            when MOVC_A_DPTR   =>
               nr_bytes_a  <= 1;
               nr_cycles_a <= 4;
            when SUBB_N        =>
               nr_bytes_a  <= 2;
               nr_cycles_a <= 2;
            when SUBB_ADDR     =>
               nr_bytes_a  <= 2;
               nr_cycles_a <= 2;
            when SUBB_IR0      =>
               nr_bytes_a  <= 1;
               nr_cycles_a <= 2;
            when SUBB_IR1      =>
               nr_bytes_a  <= 1;
               nr_cycles_a <= 2;
            when SUBB_R0       =>
               nr_bytes_a  <= 1;
               nr_cycles_a <= 2;
            when SUBB_R1       =>
               nr_bytes_a  <= 1;
               nr_cycles_a <= 2;
            when SUBB_R2       =>
               nr_bytes_a  <= 1;
               nr_cycles_a <= 2;
            when SUBB_R3       =>

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -