ABSTRACT

A stack machine means that no address is coded in an arithmetic or logical instruction, unary or binary. The stack machine code is an ideal intermediate language for two reasons. First, the compiling or translation job step is fast because the generated code has little room for optimization. Second, the interpretation process is sequential in nature. As far as hardware design is concerned, a stack machine cannot match the performance of a register machine due to the sequential nature of stack operations. A stack machine uses a working stack in lieu of working registers. Stack machine opcodes, and stack machine instructions are all synonymous. The virtual stack machine (VSM) executes on top of the operating system as an application program. All the registers of the target machine are declared as memory variables and all the target machine instructions are treated as data by the VSM.