Perhaps the homework assignment says to use a Masked Move MVM instruction just so that you can learn what it does.
I personally cannot see a need to use a MVM to load Timer presets (with one exception I will mention later).
When dealing with Masked data, try not to think of them as decimal numbers, or you will get confused. MVM comes into its element when dealing with bit patterns, and is often used to "look-at" specific bits in an input "word", or to modify only specific bits in an output "word".
The essential thing is that Masked instructions don't care (inputs), and don't change (outputs) any bits where the mask bit is a "0"
An example :
you have a jig that a robot places one of 3 parts into...
the jig has 7 sensors that tell the system which part has been placed, so that it knows what to do with it...
those sensors are wired into an input module containing other inputs, not relevant to the 7 sensors...
you need to extract the sensor inputs and decode them somehow, so you can use a MVM to read the input "word" as a whole, and mask the other input bits that aren't relevant...
now it is easier to "compare" what you have against fixed data (constants) at the word level, without having to build a much larger bit-level matrix to decide what part is present.
The exception I mention above.... Many people use some maths to determine a preset for a Timer. Sometimes that calculation can give a negative answer, and if that negative number gets loaded into a Timer Preset (or Accumulator) with a MOV, the next time it is scanned, the processor will Major Fault.
So some people use a MVM, masking off the sign bit, and no-one knows that the process is happily running with a positive time delay, when the maths said it should be less than zero.
Good "housekeeping" i.e. belt and braces range-checking is good practice.