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
-