took me only 30 minutes of CPU time but now i know if there's a more efficient* way to rotate a multibyte value by 2 bits in 8051 than just rotating by one bit twice (the anwer is no, there isn't**)pic.twitter.com/MbfNCFT1R2
U tweetove putem weba ili aplikacija drugih proizvođača možete dodati podatke o lokaciji, kao što su grad ili točna lokacija. Povijest lokacija tweetova uvijek možete izbrisati. Saznajte više
You should post this on code golf SE, someone might just come up with something better
as in, using instructions outside the model I'm using?
Looks neat! A taunting thought: this must be a nightmare to reverse engineer, especially for a decompiler (oh, my professional deformation).
I think it's not that bad! the reason I think so is because the framework I'm using proves this code correct with symbolic execution, and there's no reason a decompiler can't do the same thing.
really like that masked xor swap, could never have come up with that. i can't think of any way to improve most of them using other instructions except 4/12 (since xchd basically is doing the swap with mask 0x0f in one instruction), but I do wonder how the it scales to more bits
"could never have come up with that" means a lot coming from you :D
Isn't it just a composition of 2x the xor-4-times trick and the normal shift 2 routine? If it is like that shift 12 might be A) 1 xor trick but backwards B) 3 xor tricks
that "just" is doing a lot of work. it might be obvious to you, but not to me
i was idly wondering if any RE tools can join split integers like this - u16 -> 2x u8,, u64 -> 2x u32 - automatically, and i don't think they do, but seeing them try to reason about this would be fun
I’d love to hear more details of how you did this. I’ve been doing some rudimentary automatic equivalence proofs on x86 assembly, but this looks more advanced!
Twitter je možda preopterećen ili ima kratkotrajnih poteškoća u radu. Pokušajte ponovno ili potražite dodatne informacije u odjeljku Status Twittera.