> org 4 >int > movwf W_TEMP ; "W_TEMP" in Banks 0 and 1 > movf STATUS, w > bcf STATUS, RP0 ; Set to Bank 0 > movwf STATUS_TEMP ; "STATUS_TEMP" in Bank 0 > > : > > movf STATUS_TEMP, w ; Restore "STATUS" > movwf STATUS > swapf W_TEMP, f ; Restore "w" without > swapf W_TEMP, w ; affecting STATUS > retfie Ouch, Myke. I just realized that this is wrong. You can't use "movf STATUS, W" because it can (and will) change the Zero bit and affect the initial STATUS value. To move it into a temp location without affecting the original STATUS register, you have to use "swapf STATUS, W" and "movwf status_temp". Then to restore it, you just "swapf status_temp, W" and then use "movwf STATUS". --Andrew _________________________________________________________________ Get your FREE download of MSN Explorer at http://explorer.msn.com -- http://www.piclist.com hint: To leave the PICList mailto:piclist-unsubscribe-request@mitvma.mit.edu