28 event.resolution_info.push_back({
29 .after_relative = operand,
30 .resolved_operand = operand,
50 auto& resolution_info =
event.resolution_info[i];
62 resolution_info.after_relative =
instruction.operands[i];
66 base_address =
memory.get(0);
67 event.base_address = *base_address;
70 if (!
memory.is_valid_address(*base_address)) {
75 FF offset = resolution_info.after_relative;
79 resolution_info.after_relative = Operand::from<FF>(
offset);
87 resolution_info.after_relative =
97 resolution_info.resolved_operand = resolution_info.after_relative;
99 resolution_info.resolved_operand =
memory.get(resolution_info.after_relative.as<
MemoryAddress>());
100 if (!
memory.is_valid_address(resolution_info.resolved_operand)) {
110 resolution_info.error = e;
117 return info.error.has_value();
126 resolved_operands.reserve(
event.resolution_info.size());
127 for (
const auto&
info :
event.resolution_info) {
128 resolved_operands.push_back(
info.resolved_operand);
130 return resolved_operands;