# 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 cli 0 sti 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