# The OS/K Team licenses this file to you under the MIT license. # See the LICENSE file in the project root for more information. #---------------------------------------------------------------------------# # Misc. instructions # #---------------------------------------------------------------------------# # # Do nothing (NOOP) # # (nothing) # # Throws: # (nothing) # # Preserves all flags # nop # # Pause the CPU for a very short amount of time (PAUSE) # Used in spin-like loops # pause # # Pause the CPU for a relatively long time (XPAUSE) # # Throws: # #SYS if not in supervisor mode # xpause # # Get timestamp in seconds # time r # # Get timestamp in µseconds # utime r # # CPU Identification Number # # Does nothing (for now) # cpuid #---------------------------------------------------------------------------# # Clean-up misc. instructions # #---------------------------------------------------------------------------# # # Clear base volatile registers (CLR) # # RAX = RBX = RCX = RDX = 0 # RSX = RBI = RDI = RSI = 0 # clr # # Clear argument registers (CLA) # # AX0 = AX1 = AX2 = AX3 = 0 # AX4 = AX5 = AX6 = AX7 = 0 # cla #---------------------------------------------------------------------------# # Byte-wise / bit-wise manipulation instructions # #---------------------------------------------------------------------------# # # Byte/word/dword swap (xSWAP) # # Change endianness # bswap r r wswap r r dswap r r