Changeset 9754


Ignore:
Timestamp:
Jun 14, 2008, 12:56:14 AM (11 years ago)
Author:
rme
Message:

The TEST and XCHG instructions don't use a direction bit (which, in
many two-operand integer instructions, is bit 1 of the 1-byte primary
opcode) to indicate which operand is the source and which is the
destination.

(Operand order doesn't matter with TEST and XCHG.)

File:
1 edited

Legend:

Unmodified
Added
Removed
  • branches/ia32/compiler/X86/x86-asm.lisp

    r9544 r9754  
    27802780     #x85 #o000 #x48)
    27812781   (def-x86-opcode (testq :cpu64) ((:anymem :insert-memory) (:reg64 :insert-modrm-reg))
    2782      #x87 #o000 #x48)
     2782     #x85 #o000 #x48)
    27832783   (def-x86-opcode (testq :cpu64) ((:imm32s :insert-imm32s) (:acc :insert-nothing))
    27842784     #xa9 nil #x48)
     
    27932793     #x85 #o000 #x00)
    27942794   (def-x86-opcode testl ((:anymem :insert-memory) (:reg32 :insert-modrm-reg))
    2795      #x87 #o000 #x00)
     2795     #x85 #o000 #x00)
    27962796   (def-x86-opcode testl ((:imm32s :insert-imm32s) (:acc :insert-nothing))
    27972797     #xa9 nil #x00)
     
    28072807     #x85 #o000 #x00 #x66)
    28082808   (def-x86-opcode testw ((:anymem :insert-memory) (:reg16 :insert-modrm-reg))
    2809      #x87 #o000 #x00 #x66)
     2809     #x85 #o000 #x00 #x66)
    28102810   (def-x86-opcode testw ((:imm16 :insert-imm16) (:acc :insert-nothing))
    28112811     #xa9 nil #x00 #x66)
     
    28212821     #x84 #o000 #x00)
    28222822   (def-x86-opcode testb ((:anymem :insert-memory) (:reg8 :insert-modrm-reg))
    2823      #x86 #o000 #x00)
     2823     #x84 #o000 #x00)
    28242824   (def-x86-opcode testb ((:imm8s :insert-imm8s) (:acc :insert-nothing))
    28252825     #xa8 nil #x00)
     
    28672867     #x87 #o000 #x48)
    28682868   (def-x86-opcode (xchgq :cpu64) ((:anymem :insert-memory) (:reg64 :insert-modrm-reg))
    2869      #x89 #o000 #x48)
     2869     #x87 #o000 #x48)
    28702870
    28712871   (def-x86-opcode xchgl ((:reg32 :insert-modrm-reg) (:reg32 :insert-modrm-rm))
     
    28742874     #x87 #o000 #x00)
    28752875   (def-x86-opcode xchgl ((:anymem :insert-memory) (:reg32 :insert-modrm-reg))
    2876      #x89 #o000 #x00)
     2876     #x87 #o000 #x00)
    28772877
    28782878   (def-x86-opcode xchgw ((:reg16 :insert-modrm-reg) (:reg16 :insert-modrm-rm))
     
    28812881     #x87 #o000 #x00 #x66)
    28822882   (def-x86-opcode xchgw ((:anymem :insert-memory) (:reg16 :insert-modrm-reg))
    2883      #x89 #o000 #x00 #x66)
     2883     #x87 #o000 #x00 #x66)
    28842884
    28852885   (def-x86-opcode xchgb ((:reg8 :insert-modrm-reg) (:reg8 :insert-modrm-rm))
     
    28882888     #x86 #o000 #x00)
    28892889   (def-x86-opcode xchgb ((:anymem :insert-memory) (:reg8 :insert-modrm-reg))
    2890      #x88 #o000 #x00)
     2890     #x86 #o000 #x00)
    28912891
    28922892   ;; xlat
Note: See TracChangeset for help on using the changeset viewer.