Guest User

calc_spd.asm

a guest
May 25th, 2021
18
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 1.75 KB | None | 0 0
  1. public calculate_xors
  2. public calculate_xchgs
  3. public get_cpuinfo
  4.  
  5. .data
  6. real_num dd 0
  7.  
  8. .code
  9. calculate_xors proc
  10. xor r8, r8
  11. xor r9, r9
  12.  
  13. rdtsc
  14. or r8, rdx
  15. shl r8, 32
  16. or r8, rax
  17.  
  18. mov rcx, 10000
  19.  
  20. loopmark:
  21. xor r9, r8
  22. xor r8, r9
  23. xor r9, r8
  24. xor r9, r8
  25. xor r8, r9
  26. xor r9, r8
  27. xor r9, r8
  28. xor r8, r9
  29. xor r9, r8
  30. xor r9, r8
  31. xor r8, r9
  32. xor r9, r8
  33.  
  34. xor r9, r8
  35. xor r8, r9
  36. xor r9, r8
  37. xor r9, r8
  38. xor r8, r9
  39. xor r9, r8
  40. xor r9, r8
  41. xor r8, r9
  42. xor r9, r8
  43. xor r9, r8
  44. xor r8, r9
  45. xor r9, r8
  46.  
  47. loop loopmark
  48.  
  49. rdtsc
  50. or r9, rdx
  51. shl r9, 32
  52. or r9, rax
  53.  
  54. mov rax, r9
  55. sub rax, r8
  56.  
  57. ret
  58. calculate_xors endp
  59.  
  60. calculate_xchgs proc
  61. xor r8, r8
  62. xor r9, r9
  63.  
  64. rdtsc
  65. or r8, rdx
  66. shl r8, 32
  67. or r8, rax
  68.  
  69. mov rcx, 10000
  70.  
  71. loopmark:
  72. xchg r8, r9
  73. xchg r8, r9
  74. xchg r8, r9
  75. xchg r8, r9
  76.  
  77. xchg r8, r9
  78. xchg r8, r9
  79. xchg r8, r9
  80. xchg r8, r9
  81.  
  82. loop loopmark
  83.  
  84. rdtsc
  85. or r9, rdx
  86. shl r9, 32
  87. or r9, rax
  88.  
  89. mov rax, r9
  90. sub rax, r8
  91.  
  92. ret
  93. calculate_xchgs endp
  94.  
  95. get_cpuinfo proc
  96. push rax
  97.  
  98. mov r8, rcx
  99.  
  100. mov eax, 80000002h
  101. cpuid
  102.  
  103. mov [r8+0], eax
  104. mov [r8+4], ebx
  105. mov [r8+8], ecx
  106. mov [r8+12], edx
  107. add r8, 16
  108.  
  109. mov eax, 80000003h
  110. cpuid
  111.  
  112. mov [r8+0], eax
  113. mov [r8+4], ebx
  114. mov [r8+8], ecx
  115. mov [r8+12], edx
  116. add r8, 16
  117.  
  118. mov eax, 80000004h
  119. cpuid
  120.  
  121. mov [r8+0], eax
  122. mov [r8+4], ebx
  123. mov [r8+8], ecx
  124. mov [r8+12], edx
  125. add r8, 16
  126.  
  127. pop rax
  128. ret
  129. get_cpuinfo endp
  130. end
  131.  
Advertisement
Add Comment
Please, Sign In to add comment