Manupulating pins in assembly

Version 1
    Question: How to write assembly code to manipulate pins in assembly?  The pins would not go high or low in my assembly code. For example, I have "mov [PRT1DR], 0x03" but it won't do anything.



     This is a common assembly mistake. The code above puts 0x03 into the RAM location whose address is that of PRT1DR, but not in the PRT1DR register. In order to correctly do this, the code should be changed to "mov reg[PRT1DR],0x03" for it to work.