immwarn.asm 1.4 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071727374757677787980818283848586878889909192
  1. ;Testname=onowarn; Arguments=-Ox -DOPT=1 -DWARN=0 -fbin -oimmwarn.bin; Files=stdout stderr immwarn.bin
  2. ;Testname=owarn; Arguments=-Ox -DOPT=1 -DWARN=1 -fbin -oimmwarn.bin; Files=stdout stderr immwarn.bin
  3. ;Testname=nowarn; Arguments=-O0 -DOPT=0 -DWARN=0 -fbin -oimmwarn.bin; Files=stdout stderr immwarn.bin
  4. ;Testname=warn; Arguments=-O0 -DOPT=1 -DWARN=1 -fbin -oimmwarn.bin; Files=stdout stderr immwarn.bin
  5. %ifndef WARN
  6. %define WARN 1
  7. %endif
  8. bits 16
  9. push 1
  10. %if WARN
  11. push 0ffffffffh
  12. %endif
  13. push -1
  14. push 0ffffh
  15. push byte 0FFFFh
  16. add ax,0FFFFh
  17. %if WARN
  18. add ax,0FFFFFFFFh
  19. %endif
  20. add ax,-1
  21. add ax,byte 0FFFFh
  22. %if WARN
  23. add ax,byte 0FFFFFFFFh
  24. %endif
  25. add ax,-1
  26. add cx,0FFFFh
  27. %if WARN
  28. add cx,0FFFFFFFFh
  29. %endif
  30. add cx,-1
  31. add cx,byte 0FFFFh
  32. %if WARN
  33. add cx,byte 0FFFFFFFFh
  34. %endif
  35. add cx,-1
  36. bits 32
  37. push 1
  38. push 0ffffffffh
  39. push -1
  40. push 0ffffh
  41. push byte 1
  42. %if WARN
  43. push byte 0ffffh
  44. %endif
  45. push byte -1
  46. push word 1
  47. push word 0ffffh
  48. push word -1
  49. push dword 1
  50. push dword 0ffffffffh
  51. push dword -1
  52. add eax,0FFFFh
  53. add eax,0FFFFFFFFh
  54. add eax,-1
  55. add ecx,0FFFFh
  56. add ecx,0FFFFFFFFh
  57. add ecx,-1
  58. bits 64
  59. mov eax,7fffffffh
  60. mov eax,80000000h
  61. mov rax,7fffffffh
  62. mov rax,80000000h
  63. %if WARN
  64. mov rax,dword 80000000h
  65. %endif
  66. add rcx,0FFFFh
  67. %if WARN
  68. add rcx,0FFFFFFFFh
  69. %endif
  70. add rcx,-1
  71. add ecx,0FFFFh
  72. add ecx,0FFFFFFFFh
  73. add ecx,-1
  74. push byte 1
  75. %if WARN
  76. push byte 0ffffffffh
  77. %endif
  78. push byte -1