RL78/G23 Inline Assembly Syntax using EWRL78

Hello, 

I’m currently working with the RL78/G23 microcontroller using IAR Embedded Workbench (EWRL78) version 5.10.3, and I need some assistance with inline assembly, specifically with the CLR1 and SET1 instructions.

I want to perform bit manipulation directly within my C code. Ideally, I’m looking to achieve something similar to the ICCRX  inline assembly syntax:

asm volatile("BSET %1, [%0]" : : "r" (sfr8_ptr), "r" (bit_num));

However, I’m not sure how to translate this into the correct syntax for EWRL78. Could someone guide me on how to use CLR1 and SET1 within the IAR EWRL78 environment to clear and set bits in a Special Function Register (SFR)?

Currently, I get Syntax Error  message even for   asm("clr1 IF0L_bit.no0"); 

This is an example of my C routine that I am trying to use inline assembly instead.

/**
 * @brief  Set the specified bit in the target SFR.
 *
 * @param[in] sfr8_ptr  8-bit SFR pointer
 * @param[in] bit_num   The bit number, 0 - 7.
 *
 **/
void SetSfr8Bit(TSfr8 *sfr8_ptr, uint8_t bit_num)
{
  *sfr8_ptr |= (0x01 << bit_num);
  // asm ("clr1 %1, [%0]" : : "r" (sfr8_ptr), "r" (bit_num));  // Ideal inline assembly instruction
}

Has anyone come across this before? Why the example that is stated in R01UH0896EJ0130 Rev.1.30 page 1097 cannot be implemented in EWRL78?

Any examples or pointers to relevant documentation would be greatly appreciated!

Thank you in advance for your help!