Support for predefined routines has been added. Predefined routines
commit1b345a2a478603a9d90eb004fa9ad38c68eb6c7b
authorVincent St-Amour <stamourv@iro.umontreal.ca>
Mon, 6 Apr 2009 04:35:34 +0000 (6 00:35 -0400)
committerVincent St-Amour <stamourv@iro.umontreal.ca>
Mon, 6 Apr 2009 04:35:34 +0000 (6 00:35 -0400)
tree0a24e171124c44eb9976274ae2485e657ee67b53
parent0ae94af5ce3e3d6fd8c09dcbd1a8bd606f73232b
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).
cfg.scm
code-generation.scm
cte.scm
parser.scm
pic18-sim.scm
six-comp.scm
utilities.scm