an x86 assembly programmer
Ftft. not all CPUs have an xor register with itself instruction.
Comment on Windows Defender Anti-vitus Bypassed Using Direct Syscalls & XOR Encryption
Neverclear@lemmy.dbzer0.com 6 days agoXOR cleartext once with a key you get ciphertext. XOR the ciphertext with the same key you get the original ciphertext. At its core this is the way the old DES cipher works.
A bit of useful trivia: If you XOR any number with itself, you get all zeros. You can see this in practice when an assembly programmer XOR’s a register with itself to clear it out.
an x86 assembly programmer
Ftft. not all CPUs have an xor register with itself instruction.
There are a lot more architectures than just x86 that are capable of XORing a register with itself (ie. ARM and RISC-V), and if you took OP to mean the accumulation register specifically, pretty much all CPUs going back as far as I can think have had that functionality.
Yes, but it’s not universal that xoring a register with itself is more performant than simply loading it with 0.
I never made that claim, nor did the person you corrected.
Apple had this undocumented function for screenshotting back on iOS 3.1, and kind of let you use it while waiting for better frameworks in iOS 4.0
At some point they started rejecting your app automatically if they found the symbol for that function in your app. I didn’t want to leave my 3.1 users in the dust for no reason, so I did the same trick to obfuscate the symbol name before dynamically linking it in.
It worked right up until they stopped supporting iOS 3.1 completely.
Quazatron@lemmy.world 6 days ago
That’s how it was done in the old days to save a few cycles in Z80 assembly. XOR A instead of LD A, 0.
InverseParallax@lemmy.world 6 days ago
I use that daily in my accelerator work.
Once you learn the trick, you just use it naturally.