From 9d084782ae2ac437869b94fa223f8ee1af4a25d1 Mon Sep 17 00:00:00 2001 From: Thomas Harte Date: Tue, 19 Mar 2024 12:22:19 -0400 Subject: [PATCH] Document. --- InstructionSets/ARM/Disassembler.hpp | 5 +++++ 1 file changed, 5 insertions(+) diff --git a/InstructionSets/ARM/Disassembler.hpp b/InstructionSets/ARM/Disassembler.hpp index 21e668728..a3061e870 100644 --- a/InstructionSets/ARM/Disassembler.hpp +++ b/InstructionSets/ARM/Disassembler.hpp @@ -15,6 +15,7 @@ namespace InstructionSet::ARM { +/// Holds a single ARM operand, whether a source/destination or immediate value, potentially including a shift. struct Operand { enum class Type { Immediate, Register, RegisterList, None @@ -31,6 +32,8 @@ struct Operand { } }; +/// Describes a single ARM instruction, suboptimally but such that all relevant detail has been extracted +/// by the OperationMapper and is now easy to inspect or to turn into a string. struct Instruction { Condition condition = Condition::AL; enum class Operation { @@ -125,6 +128,8 @@ struct Instruction { } }; +/// A target for @c dispatch that merely captures a description of the decoded instruction, being +/// able to vend it later via @c last(). template struct Disassembler { Instruction last() {