259 c1_tx_fifo_in_gc++; \ 0000001C .... LDI R30, LOW(c1_tx_fifo_in_gc) \ 0000001E .... LDI R31, HIGH(c1_tx_fifo_in_gc) \ 00000020 .... LDI R19, (c1_tx_fifo_in_gc) >> 16 \ 00000022 BF3B OUT 0x3B, R19 \ 00000024 8100 LD R16, Z \ 00000026 9503 INC R16 \ 00000028 8300 ST Z, R16 260 c1_tx_fifo_in_gc &= (MAX_TX_FIFO - 1); \ 0000002A 9110.... LDS R17, LWRD(c1_tx_fifo_in_gc) \ 0000002E 9310.... STS LWRD(c1_tx_fifo_in_gc), R17 \ 00000032 E000 LDI R16, 0 \ 00000034 BF08 OUT 0x38, R16
please explain the above, I am unable to understand the Assembly routines for the above two "C Statements".
I am concerned of assemly because, in my program I am trying to send some data out through USART using buffres.
That reasoning doesn't work. That is no reason to start worrying about assembly code. More so if you don't know enough assembly to be able to do that yourself.
If you want to worry about something, worry about the code you wrote, not about the code the compiler created out of it.
But , there is no proper data from USART as I expected (i.e., I am not getting, that I have sent).
Telling us what you don't get doesn't help anyone solve your problem. What do you get, instead? What is not "proper" about that?