aboutsummaryrefslogtreecommitdiff
path: root/crates/readrom/src/main.rs
diff options
context:
space:
mode:
Diffstat (limited to 'crates/readrom/src/main.rs')
-rw-r--r--crates/readrom/src/main.rs10
1 files changed, 6 insertions, 4 deletions
diff --git a/crates/readrom/src/main.rs b/crates/readrom/src/main.rs
index d3701d0..81b7e09 100644
--- a/crates/readrom/src/main.rs
+++ b/crates/readrom/src/main.rs
@@ -457,10 +457,12 @@ fn do_disassemble(
}
// If this is just a numeric value, take it as is.
- if let Some(address) = address
- && let Some(start) = parse_hex_value(address)
- {
- return print_range(bytes, start, None, memories, addresses, raw, None);
+ if let Some(address) = address {
+ let (start_addr, end_addr) = address.split_once('-').unwrap_or((address, ""));
+ if let Some(start) = parse_hex_value(start_addr) {
+ let end = parse_hex_value(end_addr);
+ return print_range(bytes, start, end, memories, addresses, raw, None);
+ }
}
// Otherwise, print the full range if possible.