Home | History | Annotate | Download | only in i386
      1  .macro try bytes:vararg
      2   .byte \bytes
      3   .byte 0x66, \bytes
      4   .byte 0x48, \bytes
      5   .byte 0x66, 0x48, \bytes
      6  .endm
      7 
      8  .text
      9 
     10 _start:
     11 	try	0x50
     12 	try	0x58
     13 
     14 	try	0x8f, 0xc0
     15 	try	0x8f, 0x00
     16 
     17 	try	0xff, 0xd0
     18 	try	0xff, 0x10
     19 
     20 	try	0xff, 0xe0
     21 	try	0xff, 0x20
     22 
     23 	try	0xff, 0xf0
     24 	try	0xff, 0x30
     25 
     26 	# push with a 1-byte immediate
     27 	try	0x6a, 0xff
     28 
     29 	# push with a 4-byte immediate
     30 	try	0x68, 0x01, 0x02, 0x03, 0x04
     31 
     32 	# push a segment register
     33 	try	0x0f, 0xa8
     34 	# with extraneous rex.B
     35 	try	0x41, 0x0f, 0xa8
     36 
     37 	# This is just to synchronize the disassembly.
     38 	# Any new cases must come before this line!
     39 	nop
     40