Logo

Contents

  • Command-line reference
    • Install
    • Overview
    • Address syntax
    • dasmos disassemble — one-shot
      • Options
      • Worked example
    • dasmos init — scaffold a driver
      • Worked example
    • Discovery commands
  • Driver-script API
    • The minimal driver
    • Building the disassembler
    • Seeding the trace
    • Naming things: labels and constants
    • Assembler-neutral expressions
    • Indexed-base addresses and regions
    • Marking subroutines
    • Comments
    • Top-of-file preamble: header and build instructions
    • Load-and-run programs (exec / reload addresses)
    • Classifying data
    • Automatic string detection
    • Operand format hints
    • Putting it together: a fuller driver
    • Switching renderers
    • Hooking subroutines
    • Where to go next
  • Cookbook: expressions and macros
    • Recipe 1: an operand plus a constant
    • Recipe 2: the low byte of a label, minus one
    • Recipe 3: a masked difference of two labels
    • Recipe 4: forcing radix and character literals
    • Recipe 5: string operations — keep the meaning visible
    • Recipe 6: lift a repeated expression into a macro
    • All the operators
    • How it renders correctly everywhere
    • Reaching further
  • Cookbook: adopting index_base / index_region
    • 1. Sequence the work
    • 2. Find candidates — as leads, not as an oracle
    • 3. Decide per label, by reading
    • 4. index_region: use it only where it earns its place
    • 5. Wrap up
  • API reference
    • Top-level package
      • Align
      • Annotation
      • AnnotationStore
      • Banner
      • Comment
      • Cpu
      • CpuExtensionError
      • DasmosError
      • Disassembler
      • DisassemblerError
      • Extension
      • ExtensionError
      • FlowControl
      • FormatHint
      • IntermediateRepresentation
      • Opcode
      • OperandKind
      • Output
      • Renderer
      • RendererExtensionError
      • StructuredOutput
      • StructuredRenderer
      • TextOutput
      • TextRenderer
      • cpu_names()
      • create_cpu()
      • create_renderer()
      • describe_cpu()
      • describe_renderer()
      • renderer_names()
    • The Disassembler
    • Intermediate representation
    • Annotations: comments and banners
    • Format hints: renderer-agnostic operand-format intent
    • Expressions: the assembler-neutral DSL
      • BinOp
      • Binary
      • Expr
      • Group
      • Int
      • MacroCall
      • MacroDef
      • Param
      • Radix
      • Raw
      • Ref
      • Str
      • StrIndex
      • StrLen
      • StrSlice
      • Sym
      • Unary
      • UnaryOp
      • as_expr()
      • char()
      • declit()
      • fold()
      • group()
      • hexlit()
      • hi()
      • lit()
      • lo()
      • macro_arg()
      • param()
      • raw()
      • ref()
      • str_len()
      • string()
      • sym()
    • Output: text and structured
    • CPU extension point
    • Renderer extension point
    • Environment extension point
    • Extension base
    • Exceptions
dasmos
  • Overview: module code

All modules for which code is available

  • dasmos.core.annotations
  • dasmos.core.expr
  • dasmos.core.format_hint
  • dasmos.cpu
  • dasmos.disassembler
  • dasmos.environment
  • dasmos.exceptions
  • dasmos.extension
  • dasmos.ir
  • dasmos.output
  • dasmos.renderer

© Copyright 2026, Robert Smallshire.

Built with Sphinx using a theme provided by Read the Docs.