Working register is very important in PIC microcontroller all literal values used to perform arithmetic operation or to move into any port or file register first move into WREG than other function will perform. Similarly in PIC16F877A when we want to move a data from one port/register to another Port/register we have to move that data into WREG first and then move it into any other port/register.
ADDWF:
f => address of file register
d => use to save result in either working register or file register
Function: Use to add data in working register and file register, destination of result of addition is control by 'd'
if d = W then result of addition is stored in Working register.
if d = F then result of addition is stored in File register.
ANDWF:
Santax: ANDWF f,d
f => address of file register
d => use to save result in either working register or file register
Function: Use to perform AND operation on data in working register and file register, destination of result is control by 'd'.
if d = W then result of addition is stored in Working register.
if d = F then result of addition is stored in File register.
CLRF:
Santax: CLRF f
f => address of file register
Function: Use to clear file register.
CLRW:
Santax: CLRW
Function: Use to clear Working register.
COMF:
Santax: COMF f,d
f => address of file register
d => use to save result in either working register or file register
Function: Use to take complement of file register, destination of result is control by 'd'.
if d = W then result of addition is stored in Working register.
if d = F then result of addition is stored in File register.
DECF:
Santax: DECF f,d
f => address of file register
d => use to save result in either working register or file register
Function: Use to decrease one number from file register, destination of result is control by 'd'.
if d = W then result of addition is stored in Working register.
if d = F then result of addition is stored in File register.
DECFSZ:
Santax: DECFSZ f,d
f => address of file register
d => use to save result in either working register or file register
Function: Use to decrease one number from file register, and skip next instruction if result is equal to zero. Destination of result is control by 'd'.
if d = W then result of addition is stored in Working register.
if d = F then result of addition is stored in File register.
INCF:
Santax: INCF f,d
f => address of file register
d => use to save result in either working register or file register
Function: Use to increase one number from file register, destination of result is control by 'd'.
if d = W then result of addition is stored in Working register.
if d = F then result of addition is stored in File register.
INCFSZ:
Santax: INCFSZ f,d
f => address of file register
d => use to save result in either working register or file register
Function: Use to increase one number from file register, and skip next instruction if result is equal to zero. Destination of result is control by 'd'.
if d = W then result of addition is stored in Working register.
if d = F then result of addition is stored in File register.
IORWF:
Santax: IORWF f,d
f => address of file register
d => use to save result in either working register or file register
Function: Use to perform OR operation on data in working register and file register, destination of result is control by 'd'.
if d = W then result of addition is stored in Working register.
if d = F then result of addition is stored in File register.
MOVF:
Santax: MOVF f,d
f => address of file register
d => use to save result in either working register or file register
Function: Use to move data in file register to working register,
commonly d = W to move data in working register.
MOVWF:
Santax: MOVWF f
f => address of file register.
Function: Use to move data from working register to file register.
NOP:
Santax: NOP
Function: perform no operation used to waste one instruction cycle.
RLF:
Santax: RLF f,d
f => address of file register
d => use to save result in either working register or file register
Function: Use to move data in file register from right to left, destination of result is control by 'd'.
if d = W then result of addition is stored in Working register.
if d = F then result of addition is stored in File register.
RRF:
Santax: RRF f,d
f => address of file register
d => use to save result in either working register or file register
Function: Use to move data in file register from left to right, destination of result is control by 'd'.
if d = W then result of addition is stored in Working register.
if d = F then result of addition is stored in File register.
SUBWF:
Santax: SUBWF f,d
f => address of file register
d => use to save result in either working register or file register
Function: Use to subtract data in working register from file register, destination of result is control by 'd'.
if d = W then result of addition is stored in Working register.
if d = F then result of addition is stored in File register.
SWAPF:
Santax: SWAPF f,d
f => address of file register
d => use to save result in either working register or file register
Function: Use to swap nibbles in file register, destination of result is control by 'd'.
if d = W then result of addition is stored in Working register.
if d = F then result of addition is stored in File register.
XORWF:
Santax: XORWF f,d
f => address of file register
d => use to save result in either working register or file register
Function: Use to perform XOR operation on data in working register and file register, destination of result is control by 'd'.
if d = W then result of addition is stored in Working register.
if d = F then result of addition is stored in File register.
No comments:
Post a Comment