| OCR Text |
Show is translated to: ++reg.sp.l; return; 43 Note that a routine may contain several RTS instructions, and that the last instruction in a routine is not necessarily an RTS instruction. This is consonant with the C return statement. C allows multiple return statements to occur virtually anywhere in a function . 3.2.6.9 Unim lemented instructions. Not all of the MC68020 instructions are modeled. In general the unimplemented instructions fall into two categories : 1. Instructions that appear to be difficult to implement and are not commomly (in some cases never) generated by the HLL compiler. 2. Instructions that lack a clear semantic description, particularly in the context of a simulated machine. The first category is characterized by the binary coded decimal instructions, among them ABCD (add binary coded decimal), SBCD (subtract binary coded decimal), and NBCD (negate binary coded decimal). These instructions are not generated by the HLL compiler that produces the target assembly code that is decompiled. The precise modeling of these instructions is not beyond the power of the decompilation strategy. To do so, however, would require the generation of large amounts of C code that painfully performed the computation four bits at a time, making adjustments after each 4 bit computation to handle the binary coded decimal underflow or overflow. It was considered sufficient for this prototype implementation to simply observe that these instructions could be implemented, rather than actually implementing them. The second category is largely made up of system control instructions together with the coprocessor instructions. Representative of the control instructions are the RESET instruction and the TRAP instruction. In the context of executing a simulation model unde'r the Simon System, it was not clear how a RESET should be modeled. It would likely mean that some sort of message |