Commit Graph

13 Commits

Author SHA1 Message Date
Dr-Carlos 5a3de5aa17 Allow building fxos with Clang 2022-12-20 15:33:29 +10:30
Dr-Carlos e5cab0cca9 Add vector include to semantics.h 2022-10-24 06:27:03 +10:30
Dr-Carlos 12845a1675 Improve command classification 2022-04-15 06:09:18 +09:30
Lephenixnoir 29cd2815ec
refactor disassembly infrastructure and passes 2022-03-28 20:59:30 +01:00
Lephenixnoir e90ef447fc
more refactoring, still less exceptions: os 2022-03-27 17:39:42 +01:00
Lephenixnoir da69725697
more refactoring and minor style updates 2022-03-27 16:10:13 +01:00
Lephenixnoir 4c9b738247
(cosmetics) 2021-03-16 12:29:39 +01:00
Lephenixnoir d5c5fa6aeb
implement the syscall pass, and symbol resolution
New features:
* The syscall pass now resolves syscalls for the input target, provided
  that an OS is mapped on the ROM region.
* Formalized the variations of print's arguments as a sequence (tree, to
  be precise) of /promotions/.
* Added a short notion of Symbol and SymbolTable, and a loader for them.
  Data files of type "symbol" are read as such and provide name to
  syscalls or arbitrary addresses.

Code changes:
* The disassembly operation of the command-line interface is now finally
  in its own file with more room.
* Encoded the tree structure of promotions as a sequence of (mainly
  tail-calling) inter-calling methods in the print pass.
2020-02-15 18:42:14 +01:00
Lephenixnoir 08e26aee2e
improve the semantic model and implement the pcrel pass 2020-02-15 09:22:12 +01:00
Lephenixnoir 4d9edecad9
start with the analysis passes
-> The cfg pass loads the function into memory, annotates leaders and
   jumps, and resolves delay slots.
-> The pcrel pass currently computes locations for pc-relative moves and
   jumps, but does not yet compute the pc-relative moved data.
-> The print pass displays the results of analysis with various layout
   and formatting options.
2020-02-12 07:53:00 +01:00
Lephenixnoir b20731c829 basic setup for running disassembly passes 2019-12-29 19:17:33 +01:00
Lephenixnoir 8aaed3dd8c basic data structures for the disassembler 2019-12-20 19:33:41 +01:00
Lephenixnoir 5d63fb11e3
implement the abstract domain of relative constants 2019-12-20 11:17:09 +01:00
Renamed from include/fxos/operands.h (Browse further)