aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--compiler/elymasAsm.ey9
1 files changed, 9 insertions, 0 deletions
diff --git a/compiler/elymasAsm.ey b/compiler/elymasAsm.ey
index dbd993b..1482095 100644
--- a/compiler/elymasAsm.ey
+++ b/compiler/elymasAsm.ey
@@ -748,6 +748,15 @@
/four reg modrm11
} /jmpqReg deff
+ memoryAddressingVariants keys { ==variant memoryAddressingVariants variant . =*parse
+ { parse ==mem
+ mem .base regno %07 gt mem .idx regno %07 gt or
+ { 0 /none mem .idx mem .base rex } rep
+ %FF
+ /four mem .encode
+ } /jmpq variant defOp
+ } each
+
{ ==reg ==mem ==idx ==scale ==disp
reg bit32assert
mem bit64assert