Re: mixing C and assembly



Neil wrote:
Walter Banks wrote:

Neil wrote:

Walter Banks wrote:
Vladimir Vassilevsky wrote:

You have to resort to assembly in the two special cases:

1. The system level work like switching the contexts of the tasks, C
startup code, etc.

2. The parts of code where the performance is very critical.
In your second point I would qualify it to parts of code
requiring exact timing on anything that we have released
recently that seems to be the only limitation.


Do not forget the startup code

Our startup code is in C.

w..



I am not sure how that works. I am talking about the code that jumps to main after setting up the C environment.

So is he.

There are small bits of the startup that must be in assembler (I use embedded assembly within the C code - Walter uses C extensions in his compilers that translate directly to matching assembly). But most of it can be written perfectly well in C. For example, code to copy the initialised data from flash to ram, and to zero the bss, can be written in C.
.