diff options
| author | Drahflow <drahflow@gmx.de> | 2017-02-21 02:56:27 +0100 |
|---|---|---|
| committer | Drahflow <drahflow@gmx.de> | 2017-02-21 02:56:27 +0100 |
| commit | 6335e78f7349a0fa46654c2876050347514d1a31 (patch) | |
| tree | 7354d6c3567f55c04b310d16b68f280edf28c159 /compiler/elymasAsmOps.ey | |
| parent | 818b3e2105deaff43ac2371491b73070be437d4c (diff) | |
Support rip-relative addressing
Diffstat (limited to 'compiler/elymasAsmOps.ey')
| -rw-r--r-- | compiler/elymasAsmOps.ey | 8 |
1 files changed, 7 insertions, 1 deletions
diff --git a/compiler/elymasAsmOps.ey b/compiler/elymasAsmOps.ey index 150a863..0e02abe 100644 --- a/compiler/elymasAsmOps.ey +++ b/compiler/elymasAsmOps.ey @@ -22,7 +22,7 @@ [ /two /dl /dx /edx /rdx /xmm2 ] { 2 -01 defv }' each [ /three /bl /bx /ebx /rbx /xmm3 ] { 3 -01 defv }' each [ /four /sib /spl /ah /sp /esp /rsp /xmm4 ] { 4 -01 defv }' each - [ /five /bpl /bp /ebp /rbp /xmm5 ] { 5 -01 defv }' each + [ /five /rip /bpl /bp /ebp /rbp /xmm5 ] { 5 -01 defv }' each [ /six /sil /si /esi /rsi /xmm6 ] { 6 -01 defv }' each [ /seven /dil /di /edi /rdi /xmm7 ] { 7 -01 defv }' each [ /r8b /r8w /r8d /r8 /xmm8 ] { 8 -01 defv }' each @@ -267,6 +267,12 @@ disp imm32 } /encode deff > } ==MemIndexScaleDisp32 + # rip relative adressing pointing at label + { < ==lbl /rip ==base /none ==idx { ==r + r /rip modrm00 + lbl labelRel32 + } /encode deff > + } ==RipLbl32 > ==memoryAddressingVariants { ==opcode ==mnemonic |
