Are there any instructions in the x86 assembly that exist only in 64-bit mode?

Some old x86 undefined instructions in 64-bit mode. For example, LDS, LESand LSSor short codes operations teams INC r16( 40 + rw) and INC r32( 40 + rd).

Are there any instructions that are defined only in 64-bit mode, and not in 32-bit protected mode?

Edit: Context is the development of an x86 processor. I want to make sure that I am compatible with the specification.

+3
source share
6 answers

, 32 : . 32- ( ), 64 (r) ip.

,

mov rbx,$100[rip]

x86-64,

mov ebx,$100[eip]

x86.

+5

, 64- ( , ), , 64-: syscall sysret.

+3

Intel Architectures, 2C A ( ):

A-1. , Opcode

...

o64 64-

...

:

  • REX ( , )
  • MOVSXD
  • SYSCALL, SYSRET
  • SWAPGS

, , 5.16 (64-BIT MODE INSTRUCTIONS):

  • CDQE
  • CMPSQ
  • CMPXCHG16B RDX: RAX m128
  • LODSQ qword (R) SI RAX
  • MOVSQ qword (R) SI (R) DI
  • MOVZX (64-) ,
  • STOSQ Store RAX RDI
+3

You can always search in different manuals http://www.intel.com/products/processor/index.htm?iid=dev_center+tech_hw_design+prods+processors to find such instructions. There will be a lot of work tough;)

-1
source

the opposite is much easier to come up with;) like cmpxchg8b .... you will never use it in 64-bit mode.

-1
source

PUSHA exists only in 32-bit mode. It does not exist in 64 bit mode

-1
source

Source: https://habr.com/ru/post/1719270/


All Articles