summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorCyrill Gorcunov <gorcunov@gmail.com>2010-06-25 15:45:19 +0400
committerCyrill Gorcunov <gorcunov@gmail.com>2010-06-25 18:28:15 +0400
commitf85cd55731bd4be6638a37855c41b9c93d858f91 (patch)
tree0624b50147a80821e01c3c03c97b6bbbf123966b
parentefb358339d92548d97022585ee7f09eb29b95a88 (diff)
downloadnasm-f85cd55731bd4be6638a37855c41b9c93d858f91.tar.gz
BR 3020760: insns.dat -- confirm push imm32 on x86-64 explicitly
PUSH imm64 confuses ones who is trying to find this instruction in processor programming manuals. Actually it was introduced in a sake of "push `size' imm" consistency. In other words -- to allow users to state "PUSH qword imm32" in 64bit code, though on byte level (ie generated) code it still has a correct and valid sign-extended "PUSH imm32" instruction. To get rid of this ambiguie bite we make explicit "PUSH imm32" being valid in 64bit code. This also makes "PUSH dword imm32" valid in 64bit code as well. Signed-off-by: Cyrill Gorcunov <gorcunov@gmail.com>
-rw-r--r--insns.dat1
1 files changed, 1 insertions, 0 deletions
diff --git a/insns.dat b/insns.dat
index 01c1e2ca..00d0a7f2 100644
--- a/insns.dat
+++ b/insns.dat
@@ -1026,6 +1026,7 @@ PUSH imm8 \1\x6A\274 186
PUSH imm16 \320\144\x68\140 186,AR0,SZ
PUSH imm32 \321\154\x68\150 386,NOLONG,AR0,SZ
PUSH imm32 \321\154\x68\150 386,NOLONG,SD
+PUSH imm32 \323\154\x68\250 X64,AR0,SZ
PUSH imm64 \323\154\x68\250 X64,AR0,SZ
PUSHA void \322\1\x60 186,NOLONG
PUSHAD void \321\1\x60 386,NOLONG