kvisc/vm/in/SUPER

85 lines
1.8 KiB
Plaintext
Raw Normal View History

2019-06-23 12:40:18 +02:00
# 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 #
#---------------------------------------------------------------------------#
2019-06-30 13:46:44 +02:00
#
# Crash virtual machine (CRASH)
#
# THROW #1023
#
# Throws:
# #SYS if not in supervisor mode
# #ILL if disabled through DV
# #1023 otherwise
#
2019-08-14 09:52:39 +02:00
crash 0
2019-06-30 13:46:44 +02:00
2019-06-23 12:40:18 +02:00
#
# Initiate machine shutdown (STOP)
#
# THROW #SHT
#
# Throws:
# #SYS if not in supervisor mode
# #ILL if disabled through DV
# #SHT otherwise
#
2019-08-14 09:52:39 +02:00
stop 0
2019-06-23 12:40:18 +02:00
#
# Halt the processor until next E/I (HLT)
#
2019-07-17 20:26:03 +02:00
# Throws:
# #SYS if not in supervisor mode
#
2019-08-14 09:52:39 +02:00
hlt 0
2019-06-23 12:40:18 +02:00
2019-07-17 20:26:03 +02:00
#---------------------------------------------------------------------------#
# E/I handling instructions #
#---------------------------------------------------------------------------#
#
# Trap into exception handler (TRAP)
#
# Throw:
# #ILL if $1 > 255
# #($1+256) otherwise
#
2019-08-03 17:41:44 +02:00
trap 1
2019-07-17 20:26:03 +02:00
#
# Return from exception/interrupt (IRET)
#
# Throws:
# #SYS if not in supervisor mode
#
2019-08-14 09:52:39 +02:00
iret 0
2019-07-17 20:26:03 +02:00
#---------------------------------------------------------------------------#
# Device control instructions #
#---------------------------------------------------------------------------#
2019-06-23 12:40:18 +02:00
#
# Call an architecture-reserved function slot of device (DEVCTL)
#
# See dv/DEVAPI
#
2019-07-17 20:26:03 +02:00
# Throws:
# #SYS if not in supervisor mode
#
2019-08-03 17:41:44 +02:00
devctl 2
2019-06-23 12:40:18 +02:00
#
# Call a device-defined function slot of device (IOCALL)
#
# See dv/DEVAPI
#
2019-07-17 20:26:03 +02:00
# Throws:
# #SYS if not in supervisor mode
#
2019-08-03 17:41:44 +02:00
iocall 2
2019-07-17 20:26:03 +02:00