Timeline for Tips for golfing in x86/x64 machine code
Current License: CC BY-SA 4.0
2 events
| when toggle format | what | by | license | comment | |
|---|---|---|---|---|---|
| Oct 27, 2021 at 17:27 | comment | added | Peter Cordes | The Linux x32 ABI (ILP32 in 64-bit mode) puts all addresses, including stack, in the low 32 bits of virtual address space. You can say you're targeting that if you want to add edi, 4 instead of add rdi,4. (Although in that specific example, scasd will increment RDI by 4, assuming you haven't changed DF and it doesn't segfault). You can copy a 64-bit pointer in 2 bytes with push/pop, and maybe get away with only comparing the low 32 bits (of pointers to the same array), so there's a lot you can do while still being mostly 64-bit clean. | |
| Jan 27, 2021 at 23:18 | history | answered | EasyasPi | CC BY-SA 4.0 |