Before any of the asms can be invoked, the XASM-part must be initialized. For this purpose, the generated C-code defines the function ``asm_main'' as follows:
The arguments to this function are given as strings which are parsed and transformed to corresponding ``ASMOBJs''. The actual invocation of the main asm can be made using the C-function ``run_mainasm'':
This kind of embedding is actually used in the implementation of the XASM-compiler itself: the static semantics check is carried out by an algorithm specified in XASM.
A number of external C-functions are already integrated into the runtime system. For example, external functions to communicate using UNIX-Sockets, string manipulation functions, file access functions etc. .