Suppose you compile the (nonsense) code below under
'standard' settings (see below for my settings, but is does
not really matter for now) Then there is no problem.
However, if you activate the 8 bit integer option -mint8
you get an error:
code_Test.s:75: Error: number must be less than 256
void TestCBR(void) __attribute__ ((naked, used));
void TestCBR(void)
{ asm volatile (
"cbr r31, 0xC0 \n\t" /* This value passes */
"cbr r31,%[_A_] \n\t" /* This value passes */
"sbr r31,%[_B_] \n\t" /* This value passes */
"cbr r31,%[_B_] \n\t" /* This may generate an error */
"ret \n\t"
"" ::
[_A_] "i" (0x70),
[_B_] "i" (0xC0)); }