bulk: changing experiments structure and how i use it.
This commit is contained in:
parent
20d4c9d3b7
commit
521c5b0063
20 changed files with 802 additions and 0 deletions
29
machine/even-odd/create.py
Normal file
29
machine/even-odd/create.py
Normal file
|
@ -0,0 +1,29 @@
|
|||
import struct
|
||||
import time
|
||||
|
||||
bitWidth = 32
|
||||
startTime = time.time()
|
||||
|
||||
with open('isEven.bin', 'wb') as file:
|
||||
|
||||
file.write(b"\x31\xC0") # XOR EAX, EAX
|
||||
|
||||
for i in range(2**bitWidth):
|
||||
print(f"[{round(time.time() - startTime, 1)}s elapsed] status: {i}/{2**bitWidth} ({2**bitWidth - i} left) ", end='\r')
|
||||
|
||||
ib = struct.pack("<I", i) # Encode i as 32 bit little endian integer
|
||||
|
||||
file.write(b"\x81\xF9" + ib) # CMP ECX, i
|
||||
|
||||
if i%2 == 0:
|
||||
file.write(b"\x75\x03") # JNE +3
|
||||
file.write(b"\xFF\xC0") # INC EAX
|
||||
file.write(b"\xC3") # RET
|
||||
else:
|
||||
file.write(b"\x75\x01") # JNE +1
|
||||
file.write(b"\xC3") # RET
|
||||
|
||||
file.write(b"\xC3") # Fallback RET
|
||||
|
||||
print()
|
||||
print(f"took: {round(time.time() - startTime, 8)}s")
|
Loading…
Add table
Add a link
Reference in a new issue