1. A method for simulation using multiple programming languages, comprising: receiving, at a pre-processor module that is communicative coupled to a processor and a memory, an annotated source having a first plurality of programming instructions written in a first programming language and an annotation having a second plurality of programming instructions written in a second programming language and associated with an annotated programming instruction from the first plurality of programming instructions, wherein the first programming language is an assembly programming language and the second programming language is a high-level programming language; extracting the second plurality of programming instructions to create a routine from the annotation; building a shared library that contains the routine; building an application object file by assigning an address to each annotated programming instruction of the first plurality of programming instructions, wherein the application object file is formatted into machine readable code; and creating an annotation table that associates the address for the annotated programming instruction with the routine.