kvisc/vm/in/SUPER

85 lines
1.8 KiB
Plaintext

# The OS/K Team licenses this file to you under the MIT license.
# See the LICENSE file in the project root for more information.
#---------------------------------------------------------------------------#
# Supervisor only instructions #
#---------------------------------------------------------------------------#
#
# Crash virtual machine (CRASH)
#
# THROW #1023
#
# Throws:
# #SYS if not in supervisor mode
# #ILL if disabled through DV
# #1023 otherwise
#
crash 0
#
# Initiate machine shutdown (STOP)
#
# THROW #SHT
#
# Throws:
# #SYS if not in supervisor mode
# #ILL if disabled through DV
# #SHT otherwise
#
stop 0
#
# Halt the processor until next E/I (HLT)
#
# Throws:
# #SYS if not in supervisor mode
#
hlt 0
#---------------------------------------------------------------------------#
# E/I handling instructions #
#---------------------------------------------------------------------------#
#
# Trap into exception handler (TRAP)
#
# Throw:
# #ILL if $1 > 255
# #($1+256) otherwise
#
trap 1
#
# Return from exception/interrupt (IRET)
#
# Throws:
# #SYS if not in supervisor mode
#
iret 0
#---------------------------------------------------------------------------#
# Device control instructions #
#---------------------------------------------------------------------------#
#
# Call an architecture-reserved function slot of device (DEVCTL)
#
# See dv/DEVAPI
#
# Throws:
# #SYS if not in supervisor mode
#
devctl 2
#
# Call a device-defined function slot of device (IOCALL)
#
# See dv/DEVAPI
#
# Throws:
# #SYS if not in supervisor mode
#
iocall 2