mpx.asm 1.8 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990
  1. ;Testname=mpx; Arguments=-felf -ompx.o -O0; Files=stdout stderr mpx.o
  2. BITS 32
  3. bndmk bnd1, [eax]
  4. bndmk bnd1, [0x399]
  5. bndmk bnd1, [ecx+0x3]
  6. bndmk bnd1, [eax+ecx]
  7. bndmk bnd1, [ecx*1]
  8. bndmk bnd1, [edx+1*eax+0x3]
  9. ; bndmov
  10. bndmov bnd1, [eax]
  11. bndmov bnd1, [0x399]
  12. bndmov bnd1, [ecx+0x3]
  13. bndmov bnd1, [eax+ecx]
  14. bndmov bnd1, [ecx*1]
  15. bndmov bnd1, [edx+1*eax+0x3]
  16. bndmov bnd0, bnd1
  17. bndmov [eax], bnd1
  18. bndmov [0x399], bnd1
  19. bndmov [ecx+0x3], bnd1
  20. bndmov [eax+ecx], bnd1
  21. bndmov [ecx*1], bnd1
  22. bndmov [edx+1*eax+0x3], bnd1
  23. bndmov bnd1, bnd0
  24. ; bndcl
  25. bndcl bnd1, [eax]
  26. bndcl bnd1, ecx
  27. bndcl bnd1, [0x399]
  28. bndcl bnd1, [ecx+0x3]
  29. bndcl bnd1, [eax+ecx]
  30. bndcl bnd1, [ecx*1]
  31. bndcl bnd1, [edx+1*eax+0x3]
  32. ; bndcu
  33. bndcu bnd1, [eax]
  34. bndcu bnd1, ecx
  35. bndcu bnd1, [0x399]
  36. bndcu bnd1, [ecx+0x3]
  37. bndcu bnd1, [eax+ecx]
  38. bndcu bnd1, [ecx*1]
  39. bndcu bnd1, [edx+1*eax+0x3]
  40. ; bndcn
  41. bndcn bnd1, [eax]
  42. bndcn bnd1, ecx
  43. bndcn bnd1, [0x399]
  44. bndcn bnd1, [ecx+0x3]
  45. bndcn bnd1, [eax+ecx]
  46. bndcn bnd1, [ecx*1]
  47. bndcn bnd1, [edx+1*eax+0x3]
  48. ; bndstx
  49. bndstx [eax+ebx*1+0x3], bnd0
  50. bndstx [eax+0x3,ebx], bnd0
  51. bndstx [eax+0x3], bnd0, ebx
  52. bndstx [eax+0x3], ebx, bnd0
  53. bndstx [ecx*1], bnd2
  54. bndstx [,ecx*1], bnd2
  55. bndstx [0,ecx*1], bnd2
  56. bndstx [0], bnd2, ecx
  57. bndstx [0], ecx, bnd2
  58. bndstx [edx+0x399], bnd3
  59. bndstx [1*ebx+3], bnd2
  60. bndstx [3,1*ebx], bnd2
  61. bndstx [3], ebx, bnd2
  62. bndstx [edx], bnd1
  63. ; bndldx
  64. bndldx bnd0, [eax+ebx*1+0x3]
  65. bndldx bnd2, [ebx+edx+3]
  66. bndldx bnd2, [ecx*1]
  67. bndldx bnd3, [edx+0x399]
  68. bndldx bnd2, [1*ebx+3]
  69. bndldx bnd2, [3], ebx
  70. bndldx bnd1, [edx]
  71. ; bnd
  72. bnd ret
  73. bnd call foo
  74. bnd jmp foo ; when it becomes a Jb form - short jmp (eb),
  75. ; bnd prefix is silently dropped
  76. bnd jmp near 0 ; near jmp (opcode e9)
  77. ; bnd jmp short 0 ; explicit short jmp (opcode eb) : error
  78. bnd jno foo
  79. foo: bnd ret