Fixes other case for #1900: mov ebx, junk
This commit is contained in:
parent
4c1253b0c5
commit
6fe4d603ab
1 changed files with 10 additions and 6 deletions
|
|
@ -1013,23 +1013,27 @@ SETNP/SETPO - Set if No Parity / Set if Parity Odd (386+)
|
|||
return l;
|
||||
} else {
|
||||
int r0 = getreg (arg);
|
||||
int r1 = getreg (arg2);
|
||||
if (r0 == 0xff) {
|
||||
return 0;
|
||||
}
|
||||
if (r1 == 0xff) {
|
||||
return 0;
|
||||
}
|
||||
if (a->bits==64)
|
||||
if (*arg=='r')
|
||||
data[l++] = 0x48;
|
||||
data[l++] = 0x89;
|
||||
if (r0 == 0xff) {
|
||||
return 0;
|
||||
}
|
||||
if (delta) {
|
||||
if (isnum (a, delta)){
|
||||
data[l++] = 0x40 | r0 | getreg (arg2)<<3;
|
||||
data[l++] = 0x40 | r0 | r1<<3;
|
||||
data[l++] = getnum (a, delta);
|
||||
} else {
|
||||
data[l++] = getreg (arg2)<<3 | 0x4;
|
||||
data[l++] = r1<<3 | 0x4;
|
||||
data[l++] = (getreg (delta)<<3 ) | r0;
|
||||
}
|
||||
} else {
|
||||
data[l++] = getreg (arg2)<<3 | r0 | pfx;
|
||||
data[l++] = r1<<3 | r0 | pfx;
|
||||
}
|
||||
}
|
||||
return l;
|
||||
|
|
|
|||
Loading…
Reference in a new issue