iadd.java

来自「Java源码」· Java 代码 · 共 47 行

JAVA
47
字号
package AM.vm_impl.instruction;

import AM.am_data_structure.*;
import AM.vm_impl.util.*;
import AM.vm_impl.vm_data_structure.*;

/**
 * Created by IntelliJ IDEA. User: yellowicq Date: 2004-4-27 Time: 14:48:58
 * To change this template use File | Settings | File Templates.
 */
public class IADD
    implements Instruction {
  public IADD() {}

  public String Name() {
    return "iadd";
  }

  public int NumArguments() {
    return 0;
  }

  public String ToString() {
    return Name();
  }

  public void SI(AbstractMachineState state) {
    Tracer.debug("SI iadd");
    VM_DataArea VM_da = (VM_DataArea) state.getDataArea();
    VM_Program VM_prog = (VM_Program) state.getProgram();
    // Implementation of allocate semantics
    int value2 = ( (Integer) VM_da.stackFrame.pop()).intValue();
    int value1 = ( (Integer) VM_da.stackFrame.pop()).intValue();
    int result = value1 + value2;
    VM_da.stackFrame.push(new Integer(result));
    //move the cp pointer to next
    synchronized (this) {
      VM_prog.Next();
      VM_da.regs.setCP_GLOBAL(VM_prog.Consult_CP());
    }
  }

  public void Process(String args[]) {
    // Proces the text representation of the instruction
  }
}

⌨️ 快捷键说明

复制代码Ctrl + C
搜索代码Ctrl + F
全屏模式F11
增大字号Ctrl + =
减小字号Ctrl + -
显示快捷键?