Files
DSA/dsa
zxq5 adfba876d2 megacommit:
- setup new UI layout using tiling and an action/message based system for updating global state based on interactions with individual tiles and vice versa
- added custom dialogs and UI helpers to create a more cohesive UI
- added a disassembler widget (WIP)
- added a documentation widget (WIP)
- refactored backend halt/pause logic to fix bugs.
- started emulator implementation documentation (to complement the ISA spec)
2026-07-19 01:18:00 +01:00
..
2026-07-19 01:18:00 +01:00
2026-07-19 01:18:00 +01:00

The DSA libraries form the foundation of the entire project, acting as a bridge between highlevel software and the specialized DSA hardware. Their primary responsibilities are:

  1. Instruction Set Core Library

    • Encapsulates all architectural primitives: opcodes, operand formats, and execution semantics.
    • Supplies utility functions to build, validate, and serialize instruction streams.
  2. Assembler Support

    • Translates DSA assembly language into binary instruction packets that the hardware can execute.
    • Implements directives for sectioning, alignment, and relocation handling.
  3. HighLevel Language Compiler (DSC) Runtime

    • Generates DSA bytecode from DSC source files, leveraging the core library for instruction encoding.
    • Offers debugging hooks, profiling counters, and exception handling mechanisms.
  4. Testing & Verification Utilities

    • Contains unit tests that run against both emulated and real hardware to ensure correctness.
    • Provides logging facilities for lowlevel bus transactions and performance metrics.