caoss.simulator.instructions

## Class SysCall

- java.lang.Object
- - caoss.simulator.instructions.SysCall

- All Implemented Interfaces:
    Instruction

      public class SysCall
      extends java.lang.Object
      implements Instruction

  Class representing a system call instruction
  Author:
    Herve Paulino

- - ### Constructor Summary

    Constructors
    Constructor and Description
    `SysCall(SysCallNumber number, int[] arguments)` Constructor

  - ### Method Summary

    All Methods Instance Methods Concrete Methods
    Modifier and Type | Method and Description
    --- | ---
    `int` | `getCPUClocks()` The number of the CPU clocks the instruction takes to execute
    `SysCallNumber` | `getNumber()` Retrieve the system call's identifier
    `void` | `run(CPUCore cpuCore)` The implementation of the instruction
    `java.lang.String` | `toString()`

    - ### Methods inherited from class java.lang.Object

      `equals, getClass, hashCode, notify, notifyAll, wait, wait, wait`

- - ### Constructor Detail

    - #### SysCall

          public SysCall(SysCallNumber number,
                         int[] arguments)

      Constructor
      Parameters:
        `number` - The system call identifier
        `arguments` - The system call's arguments

  - ### Method Detail

    - #### getNumber

          public SysCallNumber getNumber()

      Retrieve the system call's identifier
      Returns:
        The identifier

    - #### run

          public void run(CPUCore cpuCore)
                   throws java.lang.Exception

      Description copied from interface: `Instruction`
      The implementation of the instruction
      Specified by:
        `run` in interface `Instruction`
      Parameters:
        `cpuCore` - The CPU core where the instruction is running
      Throws:
        `java.lang.Exception` - Raised if the instruction accesses resources it should not

    - #### getCPUClocks

          public int getCPUClocks()

      Description copied from interface: `Instruction`
      The number of the CPU clocks the instruction takes to execute
      Specified by:
        `getCPUClocks` in interface `Instruction`
      Returns:
        The number of the CPU clocks

    - #### toString

          public java.lang.String toString()

      Overrides:
        `toString` in class `java.lang.Object`