📄 cpu.vhd
字号:
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 + -