### A good answer might be:

No.

# syscall

In even the simplest computer, putting a character on the screen involves many instructions and a detailed knowledge of the video card. Let's leave this topic until later (perhaps years later). SPIM includes a "trap handler" that simulates a tiny operating system that can do input from the keyboard and output to the monitor.

Assembly language programs request operating system services using the `syscall` instruction. (There is, unfortunately, no Ebert instruction). The `syscall` instruction transfers control to the operating system which then performs the requested service. Then control (usually) returns to the program. (This description leaves out many details).

    syscall          # ask the operating system to perform a service

Different operating systems use this instruction in different ways. For the SPIM trap handler it is used like this:

    li  $v0,code      # Load $v0 with the "code" number of an OS service.

    .......           # Put parameters for the service in
    .......           # registers $a0, $a1 or $f12 (see below).

    syscall           # Invoke the operating system.

                      # Return value (if any) is in $v0 or $f0
                      #

Different services use different registers, and not all services return values to the caller.

### QUESTION 2:

Is `syscall` a basic instruction or a pseudoinstruction?