Buenas.
El compilador sabe que es el registro Flags porque tu mismo se lo estas diciendo.
Cuando pones "bsf Flags, ReceivedCR" estas diciendo, pon a uno el bit 4 (ReceivedCR) del registro (Flags)
La direccion del registro Flags depende de la directiva CBLOCK.
Cuando se escribe
CBLOCK 0x20
registro1 -- -> Este tiene la dirección 0x20
registro2 -- -> Este tiene la dirección 0x21
registro3 -- -> Este tiene la dirección 0x22
Flags -- -> Este tiene la dirección 0x23
registro4 -- -> Este tiene la dirección 0x24
registro5 -- -> Este tiene la dirección 0x25
ENDC
A cada registro se corresponde una dirección, contadas a partir de la 0x20, que es el parámetro del CBLOCK