1 package com.tapina.robe.runtime.instruction; 2 3 import com.tapina.robe.runtime.Environment; 4 5 import java.io.Writer; 6 import java.io.IOException; 7 8 /*** 9 * Abstract superclass of actual multiple-register data transfers. 10 */ 11 public abstract class MultipleTransfer { 12 /*** 13 * Execute the data transfer. 14 * @param env 15 * @param destinationRegisters 16 * @param address 17 * @param baseRegisterValue 18 * @param useBaseValue 19 * @param psrForceUser 20 * @return true if we need to flush pipeline afterwards. 21 */ 22 public abstract boolean transfer(Environment env, int[] destinationRegisters, int address, int baseRegisterValue, boolean useBaseValue, boolean psrForceUser); 23 24 public abstract void dumpJavaSource(Writer out, int[] destinationRegisters, boolean useBaseValue, boolean psrForceUser) throws IOException; 25 }