Anghelo Carvajal 8c9ccc8483 Checkbox for disabling pseudo instructions for MIPS (#635)
Adds a new checkbox for disabling pseudo instructions on MIPS scratches
by passing the `-Mno-aliases` flag to `objdump`. This is disabled by
default.

![image](https://user-images.githubusercontent.com/7416381/209376892-47209728-6791-49ad-89c8-19abe7903ecf.png)

### Why is this useful?

Because GAS likes using the same pseudo instruction for multiple
instructions, which sometimes leads to confusion of "why this doesn't
match if it is the same instruction". Complains about this usually
happen with the `li` pseudo instruction.

Example ("both are `li`s, why it doesn't match?!?!?"):

![image](https://user-images.githubusercontent.com/7416381/209378149-b89c339b-2d29-4fb4-a0ff-0f17a2957ff2.png)
Disabling pseudos ("oh, they actually are different instructions"):

![image](https://user-images.githubusercontent.com/7416381/209378326-2bdb6544-a78c-418e-b69d-e7c727ca0b1f.png)

### Disadvantages

Some pseudos are clearer as pseudos than their actual raw instruction;
like for example the `nop`, which gets disassembled as `sll, zero, zero,
0x0`. `move` is also an example of this (even if the underlying
instruction changes depending on the assembler).
There doesn't seem to be any option in `objdump` to only allow some
pseudos.

`asm-differ` seems to have custom logic for handling `nop`s which gets
lost when disabling them, this can be seen in this screenshot:

![image](https://user-images.githubusercontent.com/7416381/209380469-cd14e671-4fd6-4a2b-aefe-a2dbd21646c6.png)
A workaround for this could be made in the `asm-differ` repo.


### Other

I also allowed passing the other objdump flags to PS1 and PS2.
2022-12-25 14:02:43 +09:00
2022-12-22 13:46:53 +09:00
2022-11-05 19:38:30 +00:00
2021-08-28 00:36:04 +01:00
2022-12-14 23:04:23 +09:00
2022-02-04 16:35:41 +09:00
2021-06-30 16:48:16 +09:00
2022-03-31 22:22:39 +09:00

decomp.me

Discord Server

A collaborative decompilation and reverse engineering website, built with Next.js and Django.

Contributing

Contributions are very much welcome! You may want to join our Discord server.

To learn more, see CONTRIBUTING.md

License

decomp.me uses the MIT license. All dependencies may contain their own licenses, which decomp.me respects.

Description
Collaborative decompilation and reverse engineering website
Readme MIT 42 MiB
Languages
TypeScript 51.2%
Python 38.6%
SCSS 4.4%
Assembly 2.5%
JavaScript 1.3%
Other 2%