m range addr
The m command moves a block of memory from one memory location to another.
Overlapping moves—those in which part of the block overlaps some of the current addresses—are always performed without loss of data. Addresses that could be overwritten are moved first. For moves from higher to lower addresses, the sequence of events is first to move the data at the block's lowest address and then to work toward the highest. For moves from lower to higher addresses, the sequence is first to move the data at the block's highest address and then to work toward the lowest.
Note that if the addresses in the block being moved will not have new data written to them, the data that was in the block before the move will remain. The m command copies the data from one area into another, in the sequence described, and writes over the new addresses—hence, the importance of the moving sequence.
To review the results of a memory move, use the d (Display Memory) command, specifying the same address you used with the m command.
range
Specifies the block of memory to be moved.
addr
Specifies the starting address at which the memory is to be relocated.
The following example first moves the data at address CS:110 to CS:510 and then moves the data at CS:10F to CS:50F, and so on, until the data at CS:100 is moved to CS:500:
mCS:100 110 CS:500