1. A method of translating binary code instructions from a source format to a target format for processing by a target processor, said method comprising the steps of: a) Identifying a source instruction; b) Selecting a translation template corresponding to said identified source instruction, said template providing a set of target format instructions semantically equivalent to said identified source instruction; and c) Translating said identified instruction in accordance with said template; and d) Outputting said translated instruction for processing by said target processor.