A student asks: Dr. Patt, On the assembly language program we did in class a few days ago (for the number of occurences of an input character in a file), I was wondering why you used a .BLKW pseudo-op instead of a .FILL to create a pointer to the file being examined. I know I'm asking this a little late, but I just read the section in the book that covered this a couple days ago. In the book, you used a .FILL and placed the numerical value of the address in that location in the program (page 146). Are the two ideas interchangeable? If so, I was wondering if there's a certain reason you chose to use .BLKW in class because I personally thought the latter idea made more sense. Thank you, < Actually, both will make sense. When I wrote the example for the book, I knew I would not be there to teach the student using the book and wanted to make sure the example was as clear as possible, and the .FILL is a little clearer, I think. When I did it in class last week, I decided I could add an additional notion that I could explain in class that would enhance your understanding. That is, the notion that the character count program can be used with any file we wish (love letter to grandma, War and Peace, etc.). The .BLKW 1 pseudo-op provides a place-holder for the starting address of the file that I wish to scan. The program we wrote is combined first with other .obj modules before executing our program. The idea is that prior to executing our program, another module loads FILEADDR with the starting address of the file to be scanned. It just makes the usage of the program we wrote more generally useful, and I decided to show that in class, but didn't in the book. Maybe I should have done that in the book. Maybe other professors teaching from my book use this as a way to show students that I don't know so much after all -- that I did not write the program so it could be used with a lot of different files. Thank you for noticing the discrepancy. Yale Patt