
Writing software for embedded systems 307
Run-time libraries
The example assembler routines simply use the
predefined stack mechanisms to transfer data to and from
PASCAL. At no point does the routine actually know that the
data is coming from a high level language as opposed to an
assembler routine — let alone differentiate between C and
PASCAL. If a group of high level languages have common
transfer mechanisms, it should be possible to share libraries
and modules between them, without having to modify them or
know how they were generated. Unfortunately, this utopia has
not quite been realised, although some standards have been
put forward to implement ...