public void dumpInstruction(TabbedPrintWriter writer)
			throws java.io.IOException {
		if (isDeclaration) {
			StoreInstruction store = (StoreInstruction) instr;
			LocalInfo local = ((LocalStoreOperator) store.getLValue())
					.getLocalInfo();
			writer.startOp(writer.NO_PAREN, 0);
			local.dumpDeclaration(writer);
			writer.breakOp();
			writer.print(" = ");
			store.getSubExpressions()[1].makeInitializer(local.getType());
			store.getSubExpressions()[1].dumpExpression(writer.IMPL_PAREN,
					writer);
			writer.endOp();
		} else {
			try {

				if (instr.getType() != Type.tVoid) {
					writer.print("PUSH ");
					instr.dumpExpression(writer.IMPL_PAREN, writer);
				} else
					instr.dumpExpression(writer.NO_PAREN, writer);
			} catch (RuntimeException ex) {
				writer.print("(RUNTIME ERROR IN EXPRESSION)");
			}
		}
		writer.println(";");
	}