Support for predefined routines has been added. Predefined routines
have to be declared in the initial cte and their body must be
implemented as a cfg (in the include-predefined-routines
function). This was implemented to have multiplication as routines and
save code space.
So far, 8x8 bit (unsigned) multiplication has been implemented using
this method, and seems to be working. Adding the other multiplication
routines should be easy since predefined routines work. Some
endianness issues might remain. More testing is in order.
The simulator has also been adapted to support multiplication (and any
other instruction with results that are more than 8 bits wide).