fix movi20 and movi20s

This commit is contained in:
shrlnm
2019-11-19 11:43:58 +03:00
committed by GitHub
parent 4496e51b0b
commit d69dbe5c97

View File

@@ -91,7 +91,7 @@ define token instr32(32)
l_rm_20_23 = (20, 23)
l_rn_24_27 = (24, 27)
l_opcode_28_31 = (28, 31)
l_imm20_00_16 = (0, 16)
l_imm20_00_15 = (0, 15)
l_simm20_20_23 = (20, 23) signed
l_imm3_20_22 = (20, 22)
;
@@ -499,12 +499,12 @@ disppc2: @(disp,pc) is disp_00_07 & pc
l_rm_20_23 = zext(*:2 (disp + l_rm_20_23));
}
simm20: "#"value is l_simm20_20_23 & l_imm20_00_16
[ value = ((l_simm20_20_23 << 16) | l_imm20_00_16); ]
simm20: "#"value is l_simm20_20_23 & l_imm20_00_15
[ value = ((l_simm20_20_23 << 16) | l_imm20_00_15); ]
{ export *[const]:4 value; }
simm20s: "#"value is l_simm20_20_23 & l_imm20_00_16
[ value = ((l_simm20_20_23 << 16) | l_imm20_00_16) << 8; ]
simm20s: "#"value is l_simm20_20_23 & l_imm20_00_15
[ value = ((l_simm20_20_23 << 16) | l_imm20_00_15) << 8; ]
{ export *[const]:4 value; }