Package mars.mips.instructions.syscalls
Interface Syscall
- All Known Implementing Classes:
AbstractSyscall,SyscallClose,SyscallConfirmDialog,SyscallExit,SyscallExit2,SyscallInputDialogDouble,SyscallInputDialogFloat,SyscallInputDialogInt,SyscallInputDialogString,SyscallMessageDialog,SyscallMessageDialogDouble,SyscallMessageDialogFloat,SyscallMessageDialogInt,SyscallMessageDialogString,SyscallMidiOut,SyscallMidiOutSync,SyscallOpen,SyscallPrintChar,SyscallPrintDouble,SyscallPrintFloat,SyscallPrintInt,SyscallPrintIntBinary,SyscallPrintIntHex,SyscallPrintIntUnsigned,SyscallPrintString,SyscallRandDouble,SyscallRandFloat,SyscallRandInt,SyscallRandIntRange,SyscallRandSeed,SyscallRead,SyscallReadChar,SyscallReadDouble,SyscallReadFloat,SyscallReadInt,SyscallReadString,SyscallSbrk,SyscallSleep,SyscallTime,SyscallWrite
public interface Syscall
Interface for any MIPS syscall system service. A qualifying service must be a
class in the mars.mips.instructions.syscalls package that implements the
Syscall interface, must be compiled into a .class file, and its .class file
must be in the same folder as Syscall.class. Mars will detect a qualifying
syscall upon startup, create an instance using its no-argument constructor
and add it to its syscall list. When its service is invoked at runtime
("syscall" instruction with its service number stored in register $v0), its
simulate() method will be invoked.
-
Method Summary
-
Method Details
-
getName
String getName()Return a name you have chosen for this syscall. This can be used by a MARS user to refer to the service when choosing to override its default service number in the configuration file.- Returns:
- service name as a string
-
setNumber
void setNumber(int num)Set the service number. This is provided to allow MARS implementer or user to override the default service number.- Parameters:
num- specified service number to override the default.
-
getNumber
int getNumber()Return the assigned service number. This is the number the MIPS programmer must store into $v0 before issuing the SYSCALL instruction.- Returns:
- assigned service number
-
simulate
Performs syscall function. It will be invoked when the service is invoked at simulation time. Service is identified by value stored in $v0.- Parameters:
statement- ProgramStatement for this syscall statement.- Throws:
ProcessingException
-