diff options
Diffstat (limited to 'cpu/epiphany.cpu')
-rw-r--r-- | cpu/epiphany.cpu | 9 |
1 files changed, 5 insertions, 4 deletions
diff --git a/cpu/epiphany.cpu b/cpu/epiphany.cpu index 9f873b3..02bce07 100644 --- a/cpu/epiphany.cpu +++ b/cpu/epiphany.cpu @@ -228,10 +228,11 @@ (set (ifield f-disp3) (and SI (ifield f-sdisp11) 7))) (sequence () ;decode (set (ifield f-sdisp11) - (sra SI (sll SI (or SI (sll (ifield f-disp8) 3) - (ifield f-disp3)) - 21) - 21))) + (sub SI (xor (and (or (sll (ifield f-disp8) 3) + (ifield f-disp3)) + #x7ff) + #x400) + #x400))) ) (dnmf f-imm16 "Short immediate for move/add/sub" () UINT (f-imm8 f-imm-27-8) |