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
|
|
|
|
#
|
|
|
|
crash
|
|
|
|
|
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
|
|
|
|
#
|
|
|
|
stop
|
|
|
|
|
|
|
|
#
|
|
|
|
# Halt the processor until next E/I (HLT)
|
|
|
|
#
|
2019-07-17 20:26:03 +02:00
|
|
|
# Throws:
|
|
|
|
# #SYS if not in supervisor mode
|
|
|
|
#
|
2019-06-23 12:40:18 +02:00
|
|
|
hlt
|
|
|
|
|
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
|
|
|
|
#
|
|
|
|
trap ri
|
|
|
|
|
|
|
|
#
|
|
|
|
# Return from exception/interrupt (IRET)
|
|
|
|
#
|
|
|
|
# Throws:
|
|
|
|
# #SYS if not in supervisor mode
|
|
|
|
#
|
|
|
|
iret
|
|
|
|
|
2019-07-18 22:49:31 +02:00
|
|
|
#
|
|
|
|
# Clear or set interrupt flag (CLI/STI)
|
|
|
|
#
|
|
|
|
# Throws:
|
|
|
|
# #SYS if not in supervisor mode
|
|
|
|
#
|
|
|
|
cli
|
|
|
|
sti
|
|
|
|
|
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-07-18 22:49:31 +02:00
|
|
|
devctl r r
|
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-07-04 20:33:49 +02:00
|
|
|
iocall ri ri
|
2019-07-17 20:26:03 +02:00
|
|
|
|