At the moment when you want to dump a memory range you have to give a start offset and end offset.
The end offset can be calculated by reusing the start offset and using an arithmetic expression to calculate the end offset. Or you can just use a value, that is larger then the start offset.
Example:
- dw 0:413,413+10 ; prints memory range from offset 413
; to offset 423 as double words
... ; output
or:
- dw 0:413,423
... ; output
However, it would be easier if there was an offset keyword that corresponds to the value of the first mentioned offset.
Example:
- dw 0:413,offset+10 ; here offset is equal to 413.
; So the arithmetic expression evaluates to 423.
This way you have an identifier without having to enter an exact arbitrary value.
This could be shortened to "off":
- dw 0:413,off+10 ; here offset keyword "off" is equal to 413.
; So the arithmetic expression evaluates to 423.
or just "o"
- dw 0:413,o+10 ; here offset keyword "o" is equal to 413.
; The arithmetic expression evaluates to 423.
or even better, you leave out the identifier and just add an arithmetic expression. The plus sign indicates that the initial offset should be used, to which the value after the plus sign is then added.
- dw 0:413,+10 ; here the first offset is used and 10 is added.
; So the arithmetic expression evaluates to 423.
; Thus the memory range 0:413,423 is printed
The plus sign way is chosen by DR-DOS SID / Debug I believe. But I don't like it because it violates the principles of lDebug's expression evaluator. Are you aware of
dw 0:413 l 10? In lDebug you can spell it asdw 0:413 length 10too, to be clearer.