diff options
author | Debbie Wiles <debs@dwiles.demon.co.uk> | 2002-06-08 19:30:14 +0000 |
---|---|---|
committer | Debbie Wiles <debs@dwiles.demon.co.uk> | 2002-06-08 19:30:14 +0000 |
commit | 0f65f885a4d1ffb374a2f0d8380381d8c3d58b64 (patch) | |
tree | 7d8ef90778c55a23ea9172990209461f69a52719 | |
parent | 059647580c71d0e0e8711aa25fa32bb79a3e383e (diff) | |
download | nasm-0f65f885a4d1ffb374a2f0d8380381d8c3d58b64.tar.gz |
Added *1 case support for NOSPLIT ([NOSPLIT EAX] to generate SIB with dword offset 0x0
-rw-r--r-- | assemble.c | 3 |
1 files changed, 3 insertions, 0 deletions
@@ -1291,6 +1291,9 @@ static ea *process_ea (operand *input, ea *output, int addrbits, int rfield, if (((s==2 && i!=R_ESP && !(input->eaflags & EAF_TIMESTWO)) || s==3 || s==5 || s==9) && b==-1) b = i, s--; /* convert 3*EAX to EAX+2*EAX */ + if (i==-1 && b!=R_ESP && (input->eaflags & EAF_TIMESTWO)) + i = b, b = -1, s = 1; + /* convert [NOSPLIT EAX] to sib format with 0x0 displacement */ if (s==1 && i==R_ESP) /* swap ESP into base if scale is 1 */ i = b, b = R_ESP; if (i==R_ESP || (s!=1 && s!=2 && s!=4 && s!=8 && i!=-1)) |