I have a function defined as
void soft_putch(char txPort, char txPin, char c)
{
// irrelevent code removed
clear_bit(txPort, txPin);
}
and it is called from my main loop as
soft_putch(portb,1,'a');
The compiler generates the proper code to call this function, and passes the parameters correctly as
param00_soft_putch 0000004D
param01_soft_putch 0000004E
param02_soft_putch 0000004F
But inside the function where clear_bit is called, the second parameter is not passed correctly, the compiler generated code i