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 }