qemu-cr16/target/cr16c/insn.decode
Jonas Bewig 005bf105aa
WIP
2025-04-14 09:07:59 +02:00

68 lines
4 KiB
Text

%param84_dest 56:4 48:4
@escape2_opc .... .... .... .... .... rd:4 rs1:4 rs2:4
@param4 .... .... .... imm:4
@param4_20 .... .... rd:4 imm:20
@param44 .... .... rs:4 rd:4
@param44_imm .... .... imm:4 rd:4
@param44_cmp_imm .... .... imm:4 rs:4
@param44_cmp .... .... rs2:4 rs1:4
@param84 .... .... cond:4 .... dest=%param84_dest
@param4_32 .... .... .... rd:4 imm:32
### Moves ###
MOVB_imm4_16 0101 1000 .... .... @param44_imm
MOVB_reg 0101 1001 .... .... @param44
MOVD_imm20 0000 0101 .... .... .... .... .... .... @param4_20
MOVD_imm32 0000 0000 0111 .... .... .... .... .... .... .... .... .... @param4_32
MOVD_imm4_16 0101 0100 .... .... @param44_imm
MOVD_reg 0101 0101 .... .... @param44
MOVW_imm4_16 0101 1010 .... .... @param44_imm
MOVW_reg 0101 1011 .... .... @param44
MOVXB 0101 1100 .... .... @param44
MOVXW 0101 1110 .... .... @param44
MOVZB 0101 1101 .... .... @param44
MOVZW 0101 1111 .... .... @param44
### Integer Arithmetic ###
ADDB_imm4_16 0011 0000 .... .... @param44_imm
ADDB_reg 0011 0001 .... .... @param44
ADDCB_imm4_16 0011 0100 .... .... @param44_imm
ADDCB_reg 0011 0101 .... .... @param44
ADDCW_imm4_16 0011 0110 .... .... @param44_imm
ADDCW_reg 0011 0111 .... .... @param44
ADDD_imm20 0000 0100 .... .... .... .... .... .... @param4_20
ADDD_imm32 0000 0000 0010 .... .... .... .... .... .... .... .... .... @param4_32
ADDD_imm4_16 0110 0000 .... .... @param44_imm
ADDD_rp 0110 0001 .... .... @param44
ADDUB_imm4_16 0010 1100 .... .... @param44_imm
ADDUB_reg 0010 1101 .... .... @param44
ADDUW_imm4_16 0010 1110 .... .... @param44_imm
ADDUW_reg 0010 1111 .... .... @param44
ADDW_imm4_16 0011 0010 .... .... @param44_imm
ADDW_reg 0011 0011 .... .... @param44
MACQW 0000 0000 0001 0100 1101 .... .... .... @escape2_opc
MACUW 0000 0000 0001 0100 1110 .... .... .... @escape2_opc
MACSW 0000 0000 0001 0100 1111 .... .... .... @escape2_opc
MULB_imm4_16 0110 0100 .... .... @param44_imm
MULB_reg 0110 0101 .... .... @param44
MULSB_reg 0000 1011 .... .... @param44
MULSW_reg 0110 0010 .... .... @param44
MULUW_reg 0110 0011 .... .... @param44
MULW_imm4_16 0110 0110 .... .... @param44_imm
MULW_reg 0110 0111 .... .... @param44
### Integer Comparison
CMPW_imm4_16 0101 0010 .... .... @param44_cmp_imm
CMPW_reg 0101 0011 .... .... @param44_cmp
### Jumps and Linkeage
BRCOND_disp8 0001 .... .... .... @param84
EXCP 0000 0000 1100 .... @param4