If you have no problem understanding how a 16 bit value ends up as part of the program, you can feel comfortable deleting this message. But, if this still troubles you, I hope this helps. A student writes: Dear Dr. Patt One thing that i want to ask you is that in the example you showed us in the e-mail, you just manually load the large mask in the memory location? or you include it in your program lines?? I include it in the program lines. how would i describe this......ummm.... The same way I include any 16 0's and 1's in a program I write. did you manually put the mask value in the memory location when you test the program? No. Then I would have to provide instructions for anyone using my program in the future to do that, which would severely limit the program's usefulness. or you did this... say from x3000 to x3040 is your program, and you do trap x25 to halt the program... so.. that's the end of your program... and you put the mask value in loaction x3041????? is that gonna work??? if i manually put the mask vaule in to the memory location when i test the program... how will the graders know what mask value i put in the memory location when they test my program?? Thanx..... <> So, let's take it from the top: How do I get any 16 bit quantity into a memory location as part of any machine language program you write? ...whether it be an instruction or data? On the first line of your program, you write the starting address (often in our examples 0011000000000000, which means x3000). If the first line does contain x3000, the 16 0's and 1's on the second line will contain the 16 0's and 1's you want to be in x3000. The 16 0's and 1's in the third line will contain the 16 0's and 1's you want to be in x3001. ...etc. Usually, each of these 16 0's and 1's represents an instruction. For example, if I wanted x3002 to contain an instruction that adds R1 to R2 and puts the result in R3, I would write on the fourth line 0001011001000010. If I wanted x3002 to contain the mask xF0F0, then I would write on the fourth line 1111000011110000. This is PART of the program. It is not being put in manually when the program is tested. You are writing a program that could be shipped anywhere in the world, and it is expected to be able to execute shipping along with it a set of instructions for the user to load manually constants that could just as easily be part of the program. Users generally don't appreciate having to do that. Perhaps you have used Microsoft Word. There are a lot of masks in that program. How would you feel if every time you went to use it, you first had to type in 6,253 masks? Good luck with the rest of this assignment. Yale Patt