John Källén
John Källén
Several users have requested being able to intermingle assembler language and decompiled output, like this: ``` eax_1 = foo(ecx); ; push ecx ; call foo ; add esp,4 eax_3 =...
- [x] Nested sequences should probably be flattened. E.g. `SEQ(SEQ(a, b), c)` should become `SEQ(a, b, c)` - [ ] Sequences containing registers that form register pairs should probably be...
It's common to return register pairs or n-tuples from procedures when the return value exceeds the register size. For instance, in MS-DOS binaries, long pointers are returned in the `dx:ax`...
The following sequence of ARM Thumb instructions model setting `r7` to 1 or 0 depending on the value of the `Z` processor flag. ``` "14BF" + // ite ne "0127"...
@ptomin reports a regression in `fn03BB` in the CB80 sample. This is not caused by the code changes in PR #1111, but is exposed as a result of them. I'm...
The way Reko handles system calls is inconsistent across platforms, and is causing problems resolving #918. Not only that, Reko currently cannot handle the situation on x86 Linux where there...
The Reko scanner reorders instructions in the delay slots of afflicted architectures (SPARC, MIPS, PARISC etc) so that the generated code appears closer to code that a human might write....
The following PA-RISC sequence implements a C `switch` statement: ``` 22A20000 ldil L%00004000,r21 36B606B8 ldo 860(r21),r22 0ED42081 ldw,s r20(r22),r1 E820C000 bv r0(r1) 08000240 or r0,r0,r0 ``` Reko should be able...
The following IR code: ``` r31 = 0x00004000 r2 = r31 call r31 + 0x300 (0) ``` should be easily handled by the Reko scanner to generate: ``` r31 =...
The following code fragment ``` c Foo_struct_t s; s.x = 3; bar (&stack_obj); ``` is decompiled to ``` c fn0010000 (fp - 0x0000001C); ``` Dead code elimination removes the assignment...