What chip are you using?
The interrupt control register should already be mapped in the INC file for that chip. This would be the name you use (instead of CONTROL) -> most likely INTCON. As it is CONTROL is a variable and when you do bsf _CONTROL,1 you're trying to set the flag on the register located at CONTROL (whatever that value happens to be at the time). So depending on how that variable is defined (or initialized) you may be setting a flag in the INTCON register or some where else. When you read CONTROL.1 you're just reading the variable, not the register (see you never change the variable in assembly - you try to set the flag in the register pointed to by CONTROL).

Just look at the INC file, but it would probably be something like this:

Code:
asm
bsf INTCON,1
endasm
...
IF INTCON.1 =1 THEN
;do action
ENDIF